Hacker News new | past | comments | ask | show | jobs | submit login

This is quite an accusation, could you please back it up? I assume you use OO also?



an object is something that has identity and responds to messages. this is not what java is.

http://www.appliedthought.com/peter/smalltalkvsjava.html

If anything, Java promotes class-oriented programming, not object-oriented programming.

edit: if you disagree, please explain so i can learn.


The link you provided just seems to be some guy who prefers Smalltalk to Java, but does not in any way say that Java is not Object Oriented Programming, or that Java sucks at Object Oriented Programming.

OOP, at the moment, is recognized as being what C++, Java, .NET are. There are certain concepts that allow you do OOP, and Java fulfills all of these concepts pretty well. Java, as a language, is really not bad at all. As a representative of the contemporary definition of OOP, it performs very well.

Now, if you have worked a lot with OOP, and you have independently come to the conclusion that Java is a worse OO language than C++ or .NET, then you are entitled to your opinion. If, however, you are primarily a scripting language user, and you read the opinion on Slashdot or so, then I would suggest that you first read in somewhat more detail about this before making such judgements.


I made the original statement that Java set back OOP by 20 years. And I stand by it. I used Java extensively for 8 years. I also programmed in Smalltalk for 10 years prior. Your assertion that "OOP, at the moment, is recognized as being what C++, Java, .NET are" is precisely the problem. People don't know their history.

Java is not a horrible language. It did set back good OOP by about 20 years. There is no reason to bring C++ into the debate. Prior to Java, the C++ community understood that C++ was not a great OOP language. C++ was C++ and people chose it for its unique characteristics, none of which was that it was a great OO language.

Next invested heavily in Objective-C for precisely the reason that they needed to get closer to the metal but knew that C++ was not great at OOP.


I am not suggesting that Java is bad! In fact, it is pretty interesting, and facilitates a certain kind of development that has a huge place in the world. But it isn't really OOP. It is something different, that has some OOP features. I agree with jhancock's post that is a sibling to this one, and won't repeat his explanation about history, or his contention about the hijacking of the term OOP here.




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

Search: