Timeline for Did the developers of Java consciously abandon RAII?
Current License: CC BY-SA 3.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Dec 22, 2016 at 5:18 | comment | added | Justin Time - Reinstate Monica | @Giorgio I believe we can expect modules... sometime this century, at the rate the proposal is advancing. It's been a work in progress for a while, but they keep postponing it yet because it's not ready. | |
May 14, 2013 at 22:16 | history | edited | gnat | CC BY-SA 3.0 |
quote from the referenced link
|
Nov 8, 2011 at 19:53 | comment | added | Giorgio | @Jeremy: Well, for example, Modula2 appeared in 1978 and, still, C++ does not have a decent module concept: I cannot say "import ClassA from ModuleB;" and have the compiler search for the appropriate module / class definition. ;-) | |
Nov 8, 2011 at 18:24 | comment | added | Jeremy | @Giorgio Sure, there have been innovations since the development of C++ that account for many of the features you find lacking there. Are any of those features that they should have found looking at languages established before the development of C++? That's the kind of homework we are talking about with Java - there is no reason for them not to consider every C++ feature in the develpoment of Java. Some like multiple inheritance they intentionally left out - others like RAII they seem to have overlooked. | |
Nov 7, 2011 at 21:22 | comment | added | Giorgio | @Gnawme: "Java seems to have missed the boat on a number of issues, some of which relate directly to RAII": can you mention these issues? The article you posted does not mention RAII. | |
Nov 7, 2011 at 21:04 | comment | added | Giorgio | Typo, I meant: "I did not say that Java designers did their homework." | |
Nov 7, 2011 at 20:58 | comment | added | Giorgio | I did not say that Java designers did not do their homework. I said that C++ designers did not do it either. C++ has RAII and I miss it when using Java. Java is simpler and cleaner and I miss it when using C++. | |
Nov 7, 2011 at 20:53 | comment | added | JoelFan | @Gnawme, but C# didn't learn RAII :) | |
Nov 7, 2011 at 20:33 | comment | added | Jeremy | @Giorgio Studying existing languages in a particular paradigm and language family is indeed a part of the homework required for new language development. This is one example where they simply whiffed it with Java. They had C++ and Smalltalk to look at. C++ didn't have Java to look at when it was developed. | |
Nov 7, 2011 at 20:29 | comment | added | Gnawme | @Giorgio: The point of the article is, Java seems to have missed the boat on a number of issues, some of which relate directly to RAII. Regarding C++ and its impact on Java, Eckels notes: "You must keep in mind the primary design decision upon which everything in C++ hung: compatibility with C. This was a huge constraint, and has always been C++'s greatest strength... and its bane. It also fooled the Java designers who didn't understand C++ well enough." The design of C++ influenced Java directly, while C# had the opportunity to learn from both. (Whether it did so is another question.) | |
Nov 7, 2011 at 20:15 | comment | added | Giorgio | This sounds like a Java versus C++ answer, rather than focusing on RAII. I think C++ and Java are different languages, each with its strengths and weaknesses. Also the C++ designers didn't do their homework in many areas (KISS principle not applied, simple import mechanism for classes missing, etc). But the focus of the question was RAII: this is missing in Java and you have to program it manually. | |
Nov 7, 2011 at 19:00 | history | answered | Gnawme | CC BY-SA 3.0 |