Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Fri, 09 May 2003
Dynamic language tidbits
James Strachan is conflating the language and the IDE. It is not impossible to write an Eclipse-like IDE for a dynamic language. Python and Perl are not the only dynamic languages in the world. Just because you don't see them for Python, Perl or Ruby doesn't mean they aren't there. Look at some of the environments for like Lisp and Smalltalk. I want the combination of the most productive language and the best environment.
Tim Bray weighs in with some good points:
[11:38] |
[computers/programming] |
# |
TB |
F |
G |
2 Comments |
The languages in the "R.I.P." list above do have some other advantages beyond strong typing. One of the big ones is memory footprint: if you're writing a big system with big complex in-memory data structures (which every big system I've ever worked on has had), their size can spiral out of control insanely fast in any of those dynamic languages. These things want you to build all your structures around hashes and dictionaries, which we all know perfectly well only work well when sparsely populated; work it out.The memory bloat argument also applies to Java and C# (unless you are doing unsafe programming).
Secondly, and in the same spirit, there do remain performance issues. There are is some (small) number of people who have to write low-level webserver code, and if you've ever done this under the gun of a million-hits-a-day load, you quickly become a control freak with an insane desire to remove as many as possible of the layers which separate your code from the silicon.The performance argument is valid one, but again, you have to take Java and C# off the list of good languages. Today's modern Lisps in can outperform Java and C# code running on their respective VM's. And under some, but not all circumstances, a good Lisp compiler can get you close to C. But I agree that there'll be a place for C for quite some time. Sam quotes Sean McGrath. As much as I like Python, Python and Perl were not the world's first dynamic languages, and many of the criticisms levelled at them don't apply to languages like Lisp and Smalltalk. Dave Winer adds another dimension:
And going dynamic is just the beginning. Add an integrated object store to the language and you really start flying.To which I can only say, YEP!
Oh yeah. An integrated object store. I see that scaling real well.
And Lisp. That's the kind of clear, concise, highly readable and maintainable language that exemplifies all the advantages of scripting languages.
Come on.
A strong argument can be made for so-called 'dynamic languages' (who came up with that awful terminology?) but let's not wish upon a fairy star.
Posted by Bo at Fri May 9 17:44:10 2003
And Lisp. That's the kind of clear, concise, highly readable and maintainable language that exemplifies all the advantages of scripting languages.
Come on.
A strong argument can be made for so-called 'dynamic languages' (who came up with that awful terminology?) but let's not wish upon a fairy star.
Posted by Bo at Fri May 9 17:44:10 2003
Why would an object store not scale? Are there technical reasons that enable relational to scale better, or is this just a wild assertion? As to the denigrating comments about Lisp syntax - anything you don't know looks odd. Here's an exercise.
1) Find some Cobol guys who don't know C, C++, Java (et. al.)
2) Show them Java code, Smalltalk code, and Lisp code for the same (small) problem. See which ones they follow most easily.
Posted by James Robertson at Mon May 12 08:07:03 2003
1) Find some Cobol guys who don't know C, C++, Java (et. al.)
2) Show them Java code, Smalltalk code, and Lisp code for the same (small) problem. See which ones they follow most easily.
Posted by James Robertson at Mon May 12 08:07:03 2003
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk