How Nested Functions Work, part 2

Jeremie Pelletier jeremiep at gmail.com
Mon Sep 21 12:29:13 PDT 2009


language_fan wrote:
> Mon, 21 Sep 2009 14:01:27 -0400, bearophile thusly wrote:
> 
>> Justin Johansson:
>>
>>> I'd be interested to know how good D is for implementing
>>> scripting/dynamic languages .. maybe that could change the odds?<
>> You can surely implement Ruby or JS or other dynamic languages with D1.
>> But I don't know how this can change the diffusion of D a lot.
>>
>> A possible way to use (and spread) D on the web is to compile D (with
>> LDC) for NaCl: http://code.google.com/p/nativeclient/
> 
> The native client has a rather static policy model. I suppose the future 
> of mobile code is in dynamic languages like JVM & .NET based ones, 
> Actionscript and Javascript. Of course you all disagree, you are free to 
> do so. It just makes sense to me to use e.g. Java since it is not only 
> faster than D in many cases, but it has a nice security model and a nice 
> class loader (both of which are not perfect, though)

It really just comes down to what the language allows you to do. You can 
easily write portable code in any language given the right platform 
abstraction, some of them just have that abstraction in the language 
itself at the cost of losing most of your freedoms.

Java is mostly popular in academic contexts, it may have nice features 
but I don't see it getting popular among systems programmers anytime 
soon. C# and .NET have some nice features but just like Java they lack 
what systems languages provide: liberty.

Its no wonders why companies like amazon and ebay write their web 
applications in systems languages, they get so much load that using 
anything else would require them to spend way more on more servers than 
they would on more competent programmers. Google also wrote their own 
web server program to get every ounce of performance they can out of a 
machine, something no scripting or "safe" language can achieve.

In the end, different languages have different target audiences, dynamic 
languages target mostly the people who don't want to learn the full 
semantics of how computer works and quickly develop small to medium 
scale applications. Systems languages target programmers who understand 
how the computer works at its lowest levels and write real time or large 
scale programs.

That's what most people I met who praised CS around failed to grasp: 
there are no "wrong" languages, and no "better" languages. But when you 
spent 3+ years of your life studying something your ego can get the best 
of you when you're given something else :)



More information about the Digitalmars-d mailing list