development

Scaling and Dynamic Languages

March 24, 2006 13:12:47.156

In reference to the last post on this topic, there are a few things that back up Alan's comments in the thread. If dynamic languages can't scale, then an awful lot of people at Amazon, Google, and EBay are doing something very wrong. There's heavy use of "scripting" languages at all three of those, and - the last time I looked - their scaling needs are above and beyond the needs of almost every web project that falls into the so called "Enterprise" space.

In Gosling's follow up, he tries to wave away the "most time is spent in I/O argument", and well he should try to wave it off - because it invalidates most of the rest of what he says. The reality is, most web projects spend a lot of time grabbing results from the database, massaging them for display, grabbing results from the submission, and dropping them into the database. Being dramatically faster at floating point math doesn't mean anything for that kind of thing. For situations where it does, sure - pick the right tool for the job. The mistake Gosling and others make is of extension - since Java is faster for a few things like math, they think it should be used everywhere for consistency.

Heck, if that's his argument, he should just pick Fortran.

Comments

most time is spent in I/O argument

[Isaac Gouy] March 24, 2006 13:34:19.131

he tries to wave away the "most time is spent in I/O argument"
No James, Mr Gosling clearly says "I've strongly made this argument in the past, and it's quite valid."

most web projects...
Remember "Gosling's rather clueless comments"?
Mr Gosling actually said of "things like PHP and Ruby" "if all you want to do is generate web pages, they work pretty well".
Mr Gosling actually said "Lots of people do the web presentation layer in PHP and analytics in Java, because Java's really good for doing high performance analytics."

[] March 24, 2006 14:00:20.154

Java is dreadful for doing math.  It optimises the language for math in its primitive types (double, int etc.), which makes writing generic code impossible, but then unoptimises again by disallowing operators on user defined types, making calculations on complex types unreadable.

 If you want to do complex analytics, you're much better of using Fortran, K, Ada or even Python -- the Numeric extension makes working on large matrices efficient and easy compared to Java.

 "Premature optimisation it the root of all evil in programming."

 

Re: Scaling and Dynamic Languages

[ James Robertson] March 24, 2006 14:11:48.058

Comment by James Robertson

If those are his good points, I can just keep laughing. He clearly has no idea how people are using Ruby, Smalltalk, PHP (et. al.) in the real world. He's gotten too much "Enterprise" on his hands, and needs to scrape it back off.

Gosling is an expert

[ Troy Brumley] March 24, 2006 14:33:06.335

Comment by Troy Brumley

And I'm reminded of this quote:

Always listen to experts. They'll tell you what can't be done, and why. Then do it.--Lazarus Long in Time Enough for Love

Speed is about the quality of the compiler

[Bryce Kampjes] March 24, 2006 16:32:14.319

If people want fast floating point in Smalltalk then they can have it. It is possible to build, but just find the money to cover the costs. Just add dynamic method inlining, an SSA based optimiser, and induction variable analysis to the right kind of Smalltalk compiler and it should be about as fast a C for most things. If you want more details come to Smalltalk Solutions.

From my experience, I'd rather do a large complex project in Smalltalk than in a statically typed C style language. But that's because I'd expect to discover that some of my original decisions were wrong, and the added flexability makes it easier to correct the mistakes as I learn. Of course in some domains it's easier to get things right than in language implementation where we only have 40-50 years of well documented experience to design from.

Amazon, Google, and EBay

[Isaac Gouy] March 24, 2006 16:48:24.027

James Amazon, Google, and EBay... heavy use of "scripting" languages
Are you trying to suggest they don't also use Java :-)
Do any of them use Smalltalk :-)

Smalltalk versus statically typed C style language

[Isaac Gouy] March 24, 2006 16:57:30.188

I'd rather do a large complex project in Smalltalk than in a statically typed C style language
Would you rather do a large complex project with a compiler that exists or one that doesn't?
Would you rather... in Haskell or Smalltalk, in OCaml or Smalltalk, in Python or Smalltalk, in Ruby or Smalltalk?

Isaac Gouy - self-appointed butler of Gosling and question boy troll of the internet

[Dick Ford] March 24, 2006 17:17:09.611

Isaac, does any of this matter to you since you obviously only have time for being a blog /forum troll?

name-calling is failure

[Isaac Gouy] March 24, 2006 18:09:24.257

When the strongest argument we can find is to distort James Gosling's words into a strawman - we've failed.

When the strongest argument Dick Ford can find is name-calling - he has nothing to say.

A spade is a spade

[Dick Ford] March 24, 2006 18:33:47.800

    Isaac, you're a known troll.  Maybe if you actually knew something you wouldn't have to ask so many questions.

[J Pfersich] March 26, 2006 3:53:49.011

Heck, if that's his argument, he should just pick Fortran.

And what's wrong with Fortran? ;^)

 Share Tweet This
-->