To follow up on Matthias's thread:<div><br></div><div>2025: Companies are forced to install soundproofing when the voices of NL programmers in their 4'x4' cubicles bother their neighbors in the "social marketing" department</div>
<div><br></div><div>2035: A command reportedly issued by a POTUS "with a bad cold" to national SIRI causes the first ever worldwide internet shutdown</div><div><br></div><div>2045: Langbot creates code to search the past for old/new programming paradigms</div>
<div><br></div><div>2046: Skynet goes active</div><br><div class="gmail_quote">On Wed, May 9, 2012 at 1:53 PM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
1983: Pascal doesn't have closures, so I built records once I understood the concept. But -- and that is a HUGE but -- I didn't really understand the concept of a closure until I had programmed in Scheme. In reality I couldn't imagine programming with closures when my boss told me it was possible and argued we could do it in Pascal.<br>
<br>
1998: C programmers didn't know about objects until they worked in Java for a while. I am sure, however, that they could have managed with structs and function pointers.<br>
<br>
2012: I am certain that Java-ists don't understand modules like MLers do.<br>
<br>
2020: I also don't think Haskellians understand macros the way Racketeers do.<br>
<br>
These programmers are just too lazy to immerse themselves in something novel and truly learn. Now let's do some real work -- Matthias<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
On May 9, 2012, at 4:31 PM, Grant Rettke wrote:<br>
<br>
> Java doesn't have a nice module system but most people use IoC<br>
> containers for the same thing.<br>
><br>
> On Wed, May 9, 2012 at 3:16 PM, J. Ian Johnson <<a href="mailto:ianj@ccs.neu.edu">ianj@ccs.neu.edu</a>> wrote:<br>
>> The abstractions and protections an API can provide are entirely fueled by the language its implementation (and its consumers) is written in, however. Is this not the case?<br>
>> -Ian<br>
>> ----- Original Message -----<br>
>> From: "Grant Rettke" <<a href="mailto:grettke@acm.org">grettke@acm.org</a>><br>
>> To: "racket" <<a href="mailto:users@racket-lang.org">users@racket-lang.org</a>><br>
>> Sent: Wednesday, May 9, 2012 3:42:06 PM GMT -05:00 US/Canada Eastern<br>
>> Subject: [racket] The value of a language<br>
>><br>
>> Hi,<br>
>><br>
>> Hope this is on topic, if it is not a substantive contribution I apologize.<br>
>><br>
>> I just want to share a conversation from work. Bunch of experienced<br>
>> developers who are all very thoughtful reached the conclusion that the<br>
>> most important thing in a language choice is the APIs that come with<br>
>> it. Basically talking through it, that is the thing that speeds up<br>
>> work, and people can basically "think in any language they like" and<br>
>> then "mentally compile it down" to whatever is the implementation<br>
>> language. I generally agree in a corporate environment because you do<br>
>> want save your customers time and therefore money and I have never<br>
>> tried a non-mainstream language there such that I had real evidence<br>
>> there is a more productive way to do things.<br>
>><br>
>> This was the same day that I finally read about syntax/parse and was<br>
>> thinking about how much nicer it would be to use that than the<br>
>> plumbing work I had to do to get nice error reporting, so perhaps I<br>
>> was more struck with their observation. It was just funny to hear<br>
>> everybody keep saying "the language doesn't matter" because it is so<br>
>> different than how I think, and how I think other lispers think, and<br>
>> even PLT people in general.<br>
>><br>
>> I thought this was a funny coincidence because I wanted to talk about<br>
>> how great syntax/parse, and well I did talk to my one buddy about it<br>
>> :).<br>
>><br>
>> Best wishes,<br>
>><br>
>> Grant<br>
>><br>
>> --<br>
>> <a href="http://www.wisdomandwonder.com/" target="_blank">http://www.wisdomandwonder.com/</a><br>
>> ACM, AMA, COG, IEEE<br>
>> ____________________<br>
>> Racket Users list:<br>
>> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
><br>
><br>
><br>
> --<br>
> <a href="http://www.wisdomandwonder.com/" target="_blank">http://www.wisdomandwonder.com/</a><br>
> ACM, AMA, COG, IEEE<br>
><br>
> ____________________<br>
> Racket Users list:<br>
> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
<br>
____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br>