ELC 2010: Standing Roundtable - AmbientTalk, BitC, Caja, Mirrors, Newspeak, Type Classes and More

Download this episode

Download Video


A group of us gathered after a long day of language sessions at ELC 2010 and a conversation just happened. Sure, we talked about doing this before the camera started rolling, but I pressed record only when the time was right—when EROS creator and BitC designer Jonathan Shapiro asked Newspeak's Gilad Bracha about his stance on type classes. We then move around the standing circle of language designers and meet E/Caja's Mark S. Miller and one of the AmbientTalk designers, Tom Van Cutsem. It doesn't get any more impromptu than this and we geek out big time. Tune in.



Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • N2Cheval

      In case the lack of comments might might make you think that no one enjoyed the chat, I'll step in to say nicely done Charles.


      One thing, just looking through the links and I'm wondering how fast we're moving away from Alan Turing's definition of a programming language towards Terry Pratchett's science magic.

    • Charles

      Glad you liked it. Not sure I understand your last remark, however. I see no deviation from what Turing established. What do you mean?



      PS: What do you think about mirrors?

    • exoteric

      Mirrors sound like "safe reflection" and sounds like it goes well together with object capability based security where objects are secure by construction. I remember them from previous appearances that Gilad has made on Channel 9 where he also discussed object capability based security, etc.


      C#, Cω, Spec#, Sing#, F#, Java, Scala, BitC, Newspeak, Haskell, ML, etc. -- it's a violent research storm out there, a race to find the language(s) that facilitate the most robust, scalable, efficient, secure, interoperable and lightweight libraries, right down to the driver level. It's not hard to see why Jonathan Shapiro was hired by Microsoft, although it would be interesting to know why he left so early - a difference in philosophy perhaps.


      It would also be cool to have Erik grill some of these guys, some time.


      Been too long since we've seen Eric Smiley

    • Charles

      Erik will return to 9 in the near future. He's really busy planning how to change the world (again). One thing, I hope it's not expected that any conversation with domain experts must be an E2E. I mean, believe it or not, I do possess at lease some useful knowledge and know how to carry on a conversation with people much smarter and knowledgeable than myself Smiley


      You will see more Erik and Brian (and Yuri and...). No fear.


    • exoteric

      Not at all Charles, you're doing a great job! - I remember when Scoble did most interviews and you took over, it was quite a relief; I have nothing against Scoble but the interviews just got that much more technical and interesting - without loosing a sense of humor and with some laidback cool. It's just that domain experts, especially highly charismatic ones like Erik and Brian are super fun and educational to observe. The more interesting people, the merrier, yourself included, especially because of your countless interviews with highly technical people, which gives you a somewhat unique inter-disciplinary, cross-domain perspective, which it's always good to see pop up in interviews.

    • staceyw

      Wouldn't a Mirror in .Net be the same as cloning an object and doing reflection on the clone.  Security handled by Clone() command that checks rights and can only reflect on clones.  Or is a mirror more then that?

    • Charles

      In principle, as discussed in the conversation, sort of (since it was described as reflection via object proxy only). That said we only scratched the surface. Did you read ?


    • felix9

      Hey, this is exactly the kind of content I  expected from c9 Smiley thank you !

    • N2Cheval

      Charles, my point (while being likley over dramatic) is Turning had the idea of given a set of symbols/blocks/components, you just had to put them together in the right order to make a computer/machine work. Whereas Pratchett likes to illustrate having the idea of any science complex enough will seem like magic to a layman, we have, for example, mirrors which is a conceptual tool where depending on the situation might be useful or a hinderance to use. Not only that there are multiple ways of "viewing one self"; reflection, mirrors, introspection, intercession, self modification, etc. It is more conceptual programming rather than practical programming.


      Re thoughts on mirrors? I think they are a good idea to get around the problems with reflection, but the more I read and learn, the more I'm thinking that we're trating the symptoms of our programming limitations rather than the cause.


      Anyway, I'm biased as I'm not a programmer, developer, engineer, computer scientist or the like, but an assembler. I take components, patterns and practices to make software, so during the day if you want anything more, my repsponse is "I've got data, screens and 5 minutes, where/what/when/how and especially why are you going to help?"

    • Charles

      You'll want to watch today's ELC conversation with Jonathan Edwards (publish date/time = ~1PM PST, 08/05/2010). His thinking actually mirrors (pun intended) yours with respect to programming problems and the right level of abstraction to solve them reliably. I still think you are stretching Turing's postulation a bit too far, especially in the context of this conversation... But, that's fine. It's awesome that you are thinking about this stuff!



    • N2Cheval

      If I might finish my train of thought with one final thing...


      Right on time for an example of (loosely described) "practical programming" is here.


      Charles, I'm looking forward to the ELC video, just a half day out so have to look at it tonight.



    • aL_

      great conversation Smiley

      often when i hear these kinds of discussions though i cant help feeling like what they are talking about is really an api, not a language. i mean the main innovations in newspeak seems [to me] to be the IDE it self, is that really a language? does ambient talk really need to be a language? it sounds more like a service api..


      i dont mean to troll or anything, but how much has the actual languages really changed the last 10 years? it almost always seems like this or that idea came from language x or y that was invented 50 years ago.


      i dont think that has to be a bad thing though, rather, doesnt it honor those people back then? they really did a good job Smiley and i dont mean to devalue anthing these people are doing, they are doing really cool things. im just asking if its really languages they're designing and not apis and ideas that are kind of language independent..


      i guess what im saying is that i feel its getting less and less liekly that some completely new way of expressing programs is going to come.. that might be a boring in some ways but maybe it will enable us to focus on other things, kind of the philosophy of the problems rather than the actual words we use to express and solve them..


      but hey.. i dunno nothing really Wink

    • Charles

      Well, langauges are more than means to consume APIs. Sure, libraries are super important and in many ways capable of abstracting away computing complexity and providing substantial functionality much more than a language can. That said, Newspeak is attempting at least two very important things that a library can't: no object hierachy and a virtual type system (the opposite of type classes, for example). In terms of AmbientTalk, I don't know if you could implement it easily as  Java library(just because it is written in Java does not mean it could just have been built as a Java library). You should read more about both of these to get a better sense of what I'm trying to say. Surely, the authors of these languages will be able to provide you with the answers you seek - read their papers.



    • aL_

      i guess what i mean is that the the term laguage design is a little hazy.. its just hard to define where the language stops and the api begins. consider smalltalk for example, everything is an api almost.


      Jonathan Edwards said "The biggest problem with programming is that we don’t agree on what the problem is" and i think part of that problem is that we should think more about what to say rather than what words to use. i dont belive a language it self can solve any problem, its more a means to express the solution once you figured it out. once you've figured it out, does it really matter if you use a static or dynamic language? i think it doesnt. at that point its more about personal preference


      i think my point is that i think language design has in a significant part drifted into beeing api design instead, and if we embrace that i think alot more cross pollination across "religious" bounderies (static vs dynamic, interative vs functional vs declarative) could happen Smiley



    • Charles

      All I can say in response to this is what Jonathan said and what you quoted: "The biggest problem with programming is that we don't agree on what the problem is."


      There's much wisdom in that remark.



    • aL_

      agreed Smiley

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.