Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> So prototype-based OO fails to deliver both in terms of expressiveness and maintainability. It is just a worse technique, when considering the facts. Trying to pretend it's good at things it clearly isn't good at doesn't make much sense to me.

You are focusing too much on prototype OO.

The models offered by Smalltalk, Beta, CLOS, Haskell and quite a few others are different approaches to the classical model known to the average developer.

This is the main problem in the "offshore everything model" that looks for cheap dumb developers able to work like cogs and not required to think.

> And there's no "language war". C and C++ do the vast bulk of real work today. No other languages today can compare to them, and the ones that try still depend very heavily on one or both.

When I started developing (1986), C was just another language that most people did not care about. In fact I only cared to write some C code around 1993.

The current situation came to be due to UNIX's influence in the enterprise and the fact that any developer worth his salary isn't not going to rewrite the full stack from zero.

It has nothing to do with their suitability for OO development.



I focus on JavaScript and its attempt at prototype-based OO because there's a huge amount of such code that already exists, and more is being written each day. It poses practical problems affecting many developers today.

While Smalltalk, BETA, CLOS, Haskell and other languages do have their own approaches, we really don't see them being used anywhere near as much as JavaScript, C++ or Java are. Realistically, Haskell is seen rarely outside of academia, aside from some very isolated projects. C++, and then Java, put an end to any real momentum that Smalltalk had gained during the 1980s and 1990s. BETA and Common Lisp see very little usage these days, too. They are pretty much irrelevant in a discussion of applied software development.

I wouldn't attribute C's success and C++'s success purely to UNIX or enterprise users. In fact, many of the most significant users are open source projects. They're successful because what they offer is what developers need. Flexibility, performance, portability and in C++'s case, sensible and practical object-orientation. People go out of their way to use C and C++, even when it isn't as practical (such as under Windows and various embedded platforms). This is quite different from people using JavaScript, which is used mainly because it's the only practical option available for browser-based scripting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: