Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re:Hey look! (Score 1) 199

Java was successful not because of its object system but because it was C-like and free of charge at a time when Smalltalk was very expensive. C++ is a mess, I doubt its SIMULA inspired object system had anything to do with its success. Python was only the sane alternative to Perl.

Ruby and Objective-C are the closest to Smalltalk and are very successful because of that.

I don't understand how you can extrapolate that to say that Smalltalk's object system failed. Even more so when the OP's idea of ruling the world is not limited to how successful a language is due to its object system, but how influential it has been the last 30+ years.

We are still catching up with the past.

P. S. By the way, Java was so slow at the beginning that Sun Microsystems acquired Strongtalk (a statically typed Smalltalk) and the result of that was the HotSpot VM.

Comment Re:Ignorance, mainly. (Score 0) 133

You have tried so many programming languages and you don't know JavaScript is severely broken? Shame on you.

Let's look at your criteria for loving JavaScript:

It does the job
It does it quickly
Works in browsers and mainframes.
Potential gateway drug

That's a very low demanding list of requirements.

Comment Re:depends (Score 1) 343

First, C++ was designed as C with Simula-67 classes, and did a good job of being that. Second, aside from syntax, what's the difference between sending a message and calling a member function? In both cases, the object in question has to know how to deal with it.

Calling a member function requires that the type of the object is known and includes such member function. Sending a message instead doesn't need to know anything about the object, only that it responds to the message; and even if the message is not understood then a method is called that manages that situation (doesNotUndertand in Smalltalk, method_missing in Ruby) which can be very useful when metaprogramming. For instance implementations of the proxy pattern or the active record pattern are simplified a lot by it.

Comment Re:Mind blowing (Score 1) 343

You are obviously biased towards static typing, which is fine. But then, why are you commenting on a Smalltalk story, I wonder. Do you care? Smalltalk is obviously not in your list of interests.

Now, calling out Ruby for being terrible for server-side code though is plain ignorant.

Why do you think Ruby is a toy language? what are you comparing it with?
Crappy support for exceptions? What are you talking about here? Please specify. Again, what are you comparing it with?
What's wrong with multi-threading in Ruby?

Comment Re:depends (Score 1) 343

1) its absolute simplicity and minimalism of syntax

Count me out. I don't feel like building mounds of advanced syntax out of primitives over and over, I'd rather have my complex syntax pre-baked and only re-implement syntax when I really meed a DSL.

2) its live coding/debugging environment (as well as the "image")

Implementation feature, not a language feature, though granted much easier to implement on some languages than others.

Do you even know what you are talking about?

minimalism of syntax means it is easy to learn and so there's less room for someone to make a mistake, because there are less rules to learn and less keywords to watch out for.

Smalltalk for instance has no keywords at all. It does have six pseudo-variables: true, false, nil, self, super, and thisContext. These are bindings that the programmer cannot change. Other than those you can use any identifier for yourself.

You don't "re-implement syntax"... get serious. If you don't care about Smalltalk that's fine. Just stop spreading misinformation.

Comment Re:Cures cancer? Gives sight to the blind? Regrows (Score 1) 343

If operator precedence is the only "wart" you can mention that stops you from using Smalltalk then you can't really speak about Smalltalk with authority.

FYI, there are no operators. Just messages sent to receivers. Is your mind blowing yet? No?

There are neither conditional statements nor control structures in the *language* yet Smalltalk programmers use them all the time. How is that possible? Non-sense? Mind blowing yet?

Comment Re:object oriented programming (Score 1) 343

You have very well indoctrinated in static typing, that's fine.

Let's try an exercise. Look deeply into those "generics" and "templates" and "dynamic casts" and most of those "design patterns"[1] you have to learn. If look deep enough you will be able to see through them and find out that they are solutions to problems caused by static typing, which enable you to escape for static typing and make it more dynamic!

[1] http://www.norvig.com/design-p...

Slashdot Top Deals

"The following is not for the weak of heart or Fundamentalists." -- Dave Barry