James Gosling on Java 356
prostoalex writes "It's been ten years since the official introduction of Java - a programming language combined with virtual machine and a class library. ZDNet published an interview with James Gosling, the creator of Java, who talks about the project's past, present and future."
Want to talk to The Man? (Score:5, Informative)
Re:Want to talk to The Man? (Score:3)
I should hope so! He did invent the thing, after all!
Re:Want to talk to The Man? (Score:3, Interesting)
I'm not sure what bad social skills you speak of, but here's how I usually approach that: if someone is really capable, they can be eccentric, even arrogant. If they're stupid, forget it. Gosling is definately a skilled individual, so he gets some asshole points, imho.
Re:Want to talk to The Man? (Score:3, Insightful)
What I've found is that people who are really, really sharp don't need to be assholes. They're smart, everyone knows they are smart, and they don't have anything to prove. It's the wanna-be's who try to pull off the "I'm a brooding gen
Re:Want to talk to The Man? (Score:2)
I'm sorry, but Gosling's not a wanna-be. He be.
Re:Want to talk to The Man? (Score:5, Insightful)
In what way is that amazing? I think that most of us here on Slashdot are in a reasonably high percentile when it comes to intelligence, and probably fewer than 10% of the members here have social skills any better than an 11-year-old girl's.
On a side note, I somehow doubt he's going to hang out at DevShed so much after your soon-to-be +5 comment generates traffic. Imagine the personal e-mail equivalent of a good, old-fashioned Slashdotting.
Re:Want to talk to The Man? (Score:2)
No, I think he likes attention. And anyway, my guess is that a lot of people already know he hangs there. It's not like it's a private club...
But yes, my comment about social skills was a little stupid.
Re:Want to talk to The Man? (Score:3, Insightful)
Re:Want to talk to The Man? (Score:2)
Re:Want to talk to The Man? (Score:3, Insightful)
Highly illogical (Score:5, Insightful)
Stereotypical pseudo-rational geek attitude.
The inconsequential "chitchat and small talk" are the manner in which we find out more about the person we're dealing with before things get more serious, allowing us to "feel our way round" when we are unsure. This may apply to both strangers and people we're currently unsure of; don't bring on the heavy stuff first. They're the manner in which we show respect by asking questions about the other person that may not *directly* involve the business we have with them; of course, this may open up opportunities we hadn't considered, possibly leading to friendship and/or greater business involvement.
Not everyone is equally good at this. Not everyone places equal importance on it. That's part of the healthy mix of personalities that push some people to work in public-facing jobs, and others to work in more "human-phobic" areas (such as the more technical aspects of computer hardware). It's okay to not be a "small talk" person, as you are.
On the other hand, to criticise it for being "useless" (because it doesn't serve any obvious purpose) smacks of blinkered short-sightedness and the kind of (phoney) rationalisation of their own behaviour that geeks like to indulge in.
Frankly, the kind of people who come out with this kind of stuff probably consider themselves "rational". Actually, that displays a laughable (and verging-on-the-autistic) lack of self-awareness. Geeks are no more "rational" than a lot of other people; they have their own neuroses and obsessions that are obvious when you take a step back. For example, to use the same surface "rationalisation", what purpose does being fanatical about "Star Trek", an entirely fictitious TV show serve? None. Surely it's more rational or logical (*) to live in the real world.
Of course, the fan will explain how it represents the problems of today's world in a semi-abstract manner, blah blah... the more insightful will mention that it provides an outlet for the geek personality type. Point is; if they are forced to explain it in depth, they'll put the effort into considering their own behaviour that they won't even waste considering anyone else's. (Although they won't explain it as an excuse to escape the real world or dress in fantasy costumes; that would be too close to the bone).
So, to get back to the point, your failure to even recognise the purpose of small talk (whether you like it or not) smacks of the most arrogant and deluded abuse of rationality to justify your own shortcomings and behaviour.
(*) Reminds me of a friend I had in my early teens who was into sci-fi, had a crap geeky sense-of-humour and an obsession with Spock and "logic". He was no more logical than anyone else; in fact, sometimes he was downright weird. In retrospect, I reckon he was (slightly) autistic in some form.
Re:Highly illogical (Score:4, Interesting)
So you are right no matter what and you want to have the last word in this. That's different from a five-year-old how?
Anyway, your long rant about stupid people behaving in a stupid way and your superiority over them doesn't touch the topic of smart people and how they interact. Small talk may prevent people from reaching Borg collective efficiency in terms of communication, but there is a lot more to it. You didn't figure that out yet, and you seem to be determined to keep it that way in the future. Good luck with that attitude!
Re:Highly illogical (Score:3, Interesting)
No. *You* missed on several points. This isn't about my personality. This isn't about that part of *your* personality either. As I said, "It's okay to not be a 'small talk' person, as you are." That's your choice.
You don't have to *like* anyone else's approach to life, but your inability to understand the purpose of smalltalk is so w
Re:Want to talk to The Man? (Score:3, Insightful)
First of all, for some people it's surprisingly difficult to do just that. Social phobiae, anxiety disorders and similar disorders are surprisingly common, especially in the geek-population. For peopl e with one of these conditions, smalltalk is difficult and something rather avoided.
Secondly, The 'skill' is not just being
Re:Want to talk to The Man? (Score:3, Insightful)
Re:Want to talk to The Man? (Score:4, Funny)
Not surprising.
The bastard took my pointers and templates away. My *pointers and templates*!
Rude fucker.
C
Snicker. (Score:2)
Re:Want to talk to The Man? (Score:3, Funny)
But your pointers? He's gonna keep those. Cause you've been bad.
Re:Want to talk to The Man? (Score:2)
Re:Want to talk to The Man? (Score:3, Informative)
Not a bad interview (Score:5, Insightful)
Why the hell did the interviewer decide to turn it into a "how did/does/will Java work with MS technologies" diatribe?
I mean, theyre so disparate in ideaology, while I can understand some of the relationships, why on earth bring them up with the creator of a language that MS has deliberately shunned when they couldnt get it to work "their way"?
Very puzzling. Poor journalism in my opinion.
Re:Not a bad interview (Score:5, Informative)
I mean, theyre so disparate in ideaology, while I can understand some of the relationships, why on earth bring them up with the creator of a language that MS has deliberately shunned when they couldnt get it to work "their way"?
Because neither Microsoft
Java is evolving to work better with MS technologies in three ways: First, the Desktop Integration APIs, which allow the portable use of Browsers and features like the systray within Java applications, Secondly, by developing Java GUIs to make them indistinguishable from other Windows applications on Longhorn without losing portability, and Thirdly, with the use of Web Services to allow
Exactly (Score:2)
Ruby on Rails driving change? (Score:3, Interesting)
Also, why does Sun waste all the effort on NetBeans? I'm sure it's a very capable IDE, but isn't nearly everyone else using Eclipse? Where would Java or Eclipse be if Sun put all the engineering time from NetBeans into a more useful project? I guess here I don't see the value of the competition as much...
Re:Ruby on Rails driving change? (Score:2)
Re:Ruby on Rails driving change? (Score:4, Informative)
2. Out of the box EJB support that is good.
3. Out of the box webservices support.
4. A much better, more mature GUI Editor that's going to get even better in 4.2. (Not sure if VE is in eclipse 3.1)
5. Cool auto comment tool
6. Bundled Tomcat and Full J2EE compliant app server.
7. This guy's [sun.com] blog to read :)
8. This one is subjective but to me... i don't find the interface as cluttered or ugly as Eclipse. Obviously other's disagree. Also even the the windows are not native, the layout is much closer to what native dialogs look like on windows. With Eclipse, the dialog boxes just seem weird. Error messages look and feel like they don't belong, etc.
Re:Ruby on Rails driving change? (Score:2, Informative)
Re:Ruby on Rails driving change? (Score:2, Interesting)
When I first started using JBuilder instead of gvim, I was pretty impressed - there were all sorts of things it did that you just couldn't do in a standard text editor - code completion, refactoring, etc.
Then I tried Eclipse, and I saw how good those features can be when they actually work.
At my workplace most of the other Java developers use JBuilder, because that's what we
Re:Ruby on Rails driving change? (Score:2, Interesting)
jbuilder = eclipse (Score:3, Interesting)
Borland announces JBuilder Roadmap; future will be Eclipse-based
The jist of the story is that in the first half of 2006, JBuilder will ship a new version, code-named "Peloton", which will be completely Eclipse-based !!!
http://www.theserverside.com/news/thread.tss?threa d_id=34246 [theserverside.com]
below is much of the article text in case it gets swamped.
Borland has announced their technical roadmap for JBuil
Re:Ruby on Rails driving change? (Score:2)
Not really. Ruby on Rails is in many ways a rather old fashioned approach. While almost all new systems work from the idea that the object model is the centre of design, Rails works from the database design. The idea that objects could be automatically and dynamically created from database tables was done in Smalltalk at least a decade ago.
Also, why does Sun waste all the effort on Net
Re:Ruby on Rails driving change? (Score:2)
Abstracting RoR out to the more general JavaScript/DHTML/AJAX stuff, it's worth noting that James Gosling invented this form of application interface. The NeWS [wikipedia.org] system was everything that AJAX is today. If Sun hadn't tried to keep NeWS proprietary, we might have never seen the Web Browser as we know it today, and X-Windows would be nothing more than a footnote in history.
Driven by competition against MS (Score:2)
MS is a one stop shop. You get their
On the other hand, the complexity of some of the
I'm sure that's it because that's the type of feedback they've received from a lot of big companies (inc
Re:Ruby on Rails driving change? (Score:2, Troll)
Using Netbeans here. Don't care for Eclipse. Go figure.
Re:Ruby on Rails driving change? (Score:3, Interesting)
Re:Ruby on Rails driving change? (Score:2, Informative)
underhyped? (Score:5, Funny)
Uh, Scott; that's not the way the rest of us remember it.
Re:underhyped? (Score:2)
How about (Score:5, Interesting)
Now ten years later you talk about "java" and all anyone remembers are those horrible, sluggish AWT applets, running on netscape 4.0's broken JVM, which they used during the initial Java hype push. But almost nobody these days knows about the success Java met in unglamorous areas after the hype push had died off.
Job Descriptions by Committee (Score:5, Funny)
Re:Job Descriptions by Committee (Score:2, Funny)
In 1999, I was asked for a minimum of four years experience in Windows 98.
In 2002, I was asked for a minimum of six years experience in Windows 2000.
Thankfully, no one is asking for an amount of TCP/IP experience that predates the protocol as I would have been a kid at the time. Telecom is so much more straightforward to get a job in than end-user desktop support. Though... I did once get asked for twenty years experience in
Re:Job Descriptions by Committee (Score:3, Informative)
One former professor of mine uses the phrase "10 years of Java experience" as an indicator of when to throw out a resume. He does some consulting work, and companies tend to ask him to go over the resumes of their applicants and junk those that he feels are unqualified. First, those who don't have CS or SE degrees get thrown out. Second, he throws out anything with obvious lies such as "10 years of Java experience".
When you posted that, I immediately thought of that st
Re:Job Descriptions by Committee (Score:3, Insightful)
And most skilled developers with long experience do NOT have CS degrees, as most skilled artists don't have art degrees. Those of us from a physics background tend to bring more math skills to a job than those with CS degrees. Those with degrees in other domains are also frequently more valuable that CS degree holders, since most development tasks are more ab
Re:Job Descriptions by Committee (Score:5, Insightful)
Basically every job requires you to become a salesman. You sell yourself on a piece of paper, then come in to close the deal. News flash, employers: I'M NOT A SALESMAN, nor am I trying to be.
I sit behind a desk in a dark corner of your offices and make stuff work. Human interaction is a very small part of the deal. And there's no salesmanship at all. So... why do job interviews and the whole stupid hiring process treat me like I should be this expert salesman?
All they'll get from this process is some snake oil salesman pretending to be a systems administrator / programmer / IT person / etc that will have no idea what he is doing, but since he's such a MAGNIFICENT "people person", they look the other way!
But when *I* screw up, Mr. Anti-Social, it's not the same.
Complete crap. And yes, I, too, am fucking bitter. Sue me.
Re:Job Descriptions by Committee (Score:2)
WTF!?
Page 2 and scripting languages (Score:5, Informative)
1. Kudos to the Groovy [codehaus.org] authors. They've even garnered James Gosling's attention. If you write Java code and consider yourself even a little bit of a forward thinker, look up Groovy. It's a very important JSR (JSR-241 specifically).
2. He talks about Javascript solely from the point of view of the browser. Yes, I agree that Javascript is predominently implemented in a browser, but it's reach can be felt everywhere. Javascript == ActionScript (Flash scripting language). Javascript == CFScript (ColdFusion scripting language). Javascript object notation == Python object notation.
But what about Javascript and Rhino's [mozilla.org] inclusion in Java 6 [sun.com]? I've been using Rhino as a server side language for a while now because Struts is way too verbose for my taste. I just want a thin glue layer between the web interface and my java components. I'm sick and tired of endless xml configuration (that means you, too, EJB!). A Rhino script on the server (with embedded Request, Response, Application, and Session objects) is the perfect glue that does not need xml configuration. (See also Groovy's Groovlets for a thin glue layer).
3. Javascript has been called Lisp in C's clothing. Javascript (via Rhino) will be included in Java 6. I also read that Java 6 will allow access to the parse trees created by the javac compiler (same link as Java 6 above).
Java is now Lisp? Paul Graham writes about 9 features [paulgraham.com] that made Lisp unique when it debuted in the 50s. Access to the parse trees is one of the most advanced features of Lisp. He argues that when a language has all 9 features (and Java today is at about #5), you've not created a new language but a dialect of Lisp.
I am a Very Big Fan of dynamic languages that can flex like a pretzel to fit my problem domain. Is Java evolving to be that pretzel?
Re:Page 2 and scripting languages (Score:2)
It is getting that way, but I suspect that Groovy will get there first.
Until then, there are plenty of dynamic languages (including LISP) that run on the Java Virtual Machine.
What is with java people and groovy? (Score:2)
Re:What is with java people and groovy? (Score:3, Interesting)
Well, if you work for Sun (Score:2)
At least with Jython you can check the cvs log and see that commits are indeed happening.
Re:What is with java people and groovy? (Score:3, Informative)
Why choose at all? Why not use the Bean Scripting Framework [apache.org] (originally from IBM's Alpha Works [ibm.com], IIRC) and let the customer choose whichever language they prefer? BSF lets you embed any scripting language that has a conforming wrapper. BSF wrappers are available for Groovy, Jython, BeanShell, Rhino,
Scripting language talk... (Score:4, Insightful)
From TFA:
This is nit-picking, I know, but I was under the impression that scripting languages were actually defined by the presence of an actively-running interpreter during execution, making it possible to, e.g., construct and execute statements at runtime with things like PHP's exec() or Lua [lua.org]'s do(file|string) functions (see: http://www.lua.org/pil/8.html [lua.org] for discussion on dofile and Lua's status as a scripting language). I wasn't aware that capability for rapid prototyping or language speed had anything to do with it.
Taking that into consideration, then, would Java with JIT [wikipedia.org] qualify as an interpreted or compiled language? I'm not sure, myself---any thoughts?
That aside, a solid interview. Java looks to be pretty interesting; though in its current form it does bug the hell out of me (System.out.println()? Yeah, yeah, OO, but come on, three nested levels of scope just to get to a command line?), its progress has been impressive, and it's an innovative idea.
In java's defense (Score:3, Insightful)
Re:Scripting language talk... (Score:5, Insightful)
Not necessarily. There have been many languages that have actively running interpreters, and even compilers that are available to modify code at run-time (Smalltalk and LISP are examples), but they are still not considered 'scripting' languages.
The definition of 'scripting' languages has become blurred.
Taking that into consideration, then, would Java with JIT qualify as an interpreted or compiled language? I'm not sure, myself---any thoughts?
Not by itself, as you can't type new expressions or interact with the code once it has started running. There are some interesting tools such as 'BeanShell', which does allow this to be done with Java code.
(System.out.println()? Yeah, yeah, OO, but come on, three nested levels of scope just to get to a command line?),
It makes sense once you get used to it. The 'System' class provides globally available (static) objects. One of these is 'out' - an instance of an output object that is bound to 'stdout'. println() is simply a method of that object.
Previous versions of Java have required code to be explicit about the classes providing such static objects. The latest version (5.0) allows (after the correct 'import' statements) you to write
out.println();
Re:Scripting language talk... (Score:2)
Re:Scripting language talk... (Score:2)
Interesting point.
This is exactly how modified JSP (Java Server Pages) files are translated to Java code and then compiled to Java class files while a Web Application is still running.
Re:Scripting language talk... (Score:2)
Re:Scripting language talk... (Score:3, Insightful)
TFA makes it clear that making "hello world" easier was not the priority, making large systems easier was.
10 years (Score:3, Funny)
And the damn thing still hasn't finished loading.
Java Script (two words) (Score:2)
Gosling: Yeah. All the Java libraries are available to things written in Groovy. And Java applications can use Groovy. They can incorporate Groovy scriptlets.
Scriptable Java! Why wasn't I informed?!? 0__0
Does anybody have any practical experience/advice using Groovy in a production environment?
java/ sun finally starting to get it (Score:2)
It's all about the sandbox (Score:5, Interesting)
There are other attacks, but most of the "exploits" are due to a buffer overflow (90% of all exploits? 95%?). Heck, if I'm am not mistaken it was a buffer overflow that put an end to the "x years without a hole in the default OpenBSD install" slogan :(
Now how many buffer overflow did happen in the JVM in the last 10 years?
I think the answer is zero. And if it's not zero, it's only some implementation of the JVM that was at fault.
For me it's all about the sandbox. Java, Jython, Groovy, you-name-it... I don't care. As long as it targets the JVM. It's tried, lean, mean, rock solid technology. You just ain't escaping it.
In TFA (yup, I did read it), Gosling says that "The only serious divide is they (C# / .Net) have this unsafe mode which they use a lot. One of the principles I believe in is there shouldn't be an unsafe mode."
That's a good principle to believe in.
Java is practical for some applications (Score:5, Interesting)
There are some applications where it does not make sense to implement in java. However, I say that java is a great choice for the top layer of a web application server stack. There are a lot of web apps that take the form of:
1. Gather data from one or more databases.
2. Perform some consolidation and express the output in html.
In this example, java is a consolidator of data from disparate data sources. It needs to hang on to several network connections and do some simple IO but it does not need to burn the CPU at 100% because it spends most of it's time blocked on IO. Java is a great choice for applications like this because there is a very large and active community working to make java dynamic web serving better and better. Every year your organization can, for free, upgrade to a new version of java and simple app server like Tomcat and reap the rewards of the communities improvements. Also, in my experience with server applications, the promise of portability is real. I've ported from windows to solaris and then to linux without changing the java application.
Re:Java is practical for some applications (Score:3, Insightful)
Java in Research Applications (Score:2, Interesting)
Somehow 'application researchers' like me are fascinated by the extent of its use.. (drawing nice GUIs or plotting graph with existing Jars)
With regards to ques
The little train that should (Score:3, Insightful)
The fact is I can code a quick app in Java on my Mac, compile and send it my Dad on his Wintel and he won't have a clue what to do with it. I then have to spend 5 minutes on the phone explaining either how to install the JRE, or how to run it from the CLI. Whats worse is that once its running, it looks like I can't code, as Java, by default runs noticably slower as you wait for the JRE to bootstrap and then for the JIT to get all the important bits compiled. Why would I do that to myself?
Java is a great concept. But it has systematically failed on the desktop. What I want is a write once, compile anywhere. Same scenario, I want to have a compiler that I can target a Wintel platform from my mac and just send my dad the executable or installer, so all he has to do is double click - like he would any other app, and it run as well as a VB app (ie a little slower than native is fine). I would keep a few things from Java. I love GC for quick hack apps, fine grained memeory management has its place, but you can often feel like you reinventing the wheel, and its a gapping whole for the script kiddies to drive their payload through. I also love the central API. I can see the purists arguing against exceptions, but they do make debugging very easy, and they're not that expensive really. I also like the ease you can do threads. I don't like the GUI performance or the end user experience.
If MS isn't going to play ball, and support various runtime environments from a fresh install, or if Java continue on insisting on a 20MB JRE download I can't see anyway around the byte code problem except to distribute binaries. Qt is a good start. Mono and C# are good candidates, but to be honest I'd be tempted to take Java, bolt Qt onto it, and use GCC to create targeted binaries. Is that out of the question?
Re:My favorite quote (Score:2, Informative)
Re:My favorite quote (Score:2, Informative)
Re:My favorite quote (Score:3, Insightful)
On the 10th anniversary of Java - a joke that was out of date 5 years ago. (And, I remember the same thing being said about C++ 20 years ago).
Re:My favorite quote (Score:2)
Re:My favorite quote (Score:2)
You seem to have either misunderstood the term 'out of date', or have got your sense of time mixed up after reading the earlier '100 Years of Special Relativity' topic.
Re:My favorite quote (Score:3, Insightful)
Nonsense. I was using C++ for development in 1985, as were many others. The c-front translator for C to C++ was released in 1983.
Since when has widespread use of a language been any measure of its performance?
Java on the other hand is 14 years old and people are still talking about its slowness.
Yes, because those who object to it not being open-source have a p
Re:My favorite quote (Score:2)
1983 is nothing -- a pretty good C to C++ translator has been included with every Unix since the 70's. They call it "cat".
Re:My favorite quote (Score:2)
What's the point of a "platform-independent platform" if it's really only meant to run well on one platform?
Re:My favorite quote (Score:5, Informative)
That's not how I remember it. I remember in 1996-1997 people were scoffing at C++ because it was "slower than C".
Re:My favorite quote (Score:2)
In reality, C++ is often faster than C, and Java is plenty capable of handling 90% or more of what until recently has been C's exclusive purview.
That said, I still prefer LISP.
Re:My favorite quote (Score:2)
C++ was 14 around 1997 and was widely used and known for its high performance.
Doesn't that say something to you?"
Yes, it says that there are plenty of ill informed bigots out there who say such things because they just dont like Java.
Re:My favorite quote (Score:3, Insightful)
Re:Gosling? (Score:3, Funny)
tard.
Re:Article Summary: (Score:5, Informative)
As Java is now used in real-time control applications, that is certainly avoidable.
bloated: the java class libraries are huge and so deploying a java environment (and you can't assume a decent java system will already be installed by default) is a huge undertaking
Not really. Java can be installed as a single rpm or tgz. Its over 10 mb, but given the size of a CD-ROM, or broadband download speeds, that is hardly a 'huge undertaking'.
and who would seriously wan't to release thier software as java bytecode when jad is arround?
There are plenty of bytecode obfuscators around.
Re:Real Time control applications? (Score:2)
Yes.
You're proably stretching the meaning of the word "real time". Components are probably written in Java, but the interrupt control or tight loop governing the "real time" aspects are probably written in another language.
Nice try, though.
A flippant and ignorant attempt to rubbish Java.
Why not do some actual research before posting?
Java has been used in embedded and real-time control systems for years.
Re:Real Time control applications? (Score:2)
Re:Real Time control applications? (Score:2)
Please don't be so silly. Attempting to classify someone who mentions 'embedded' along with 'real time' as irrational does not help your argument.
Much real-time processing is done by embedded systems. This is where software is included effectively as part of the 'hardware' of the device.
*bashes it into your head* Native code is faster than emulated
Re:Article Summary: (Score:2, Insightful)
Re:Article Summary: (Score:3, Informative)
Sure its slow to start because ther is a 2nd process. But Java 1.5 addresses this to some degree. As for inconvient GC cycles, that is the programmers fault. You have to do your own GC when you think you have time. The JVM will only GC when its full...
bloated: the java class libraries are huge and so deploying a java environme
Re:Article Summary: (Score:3, Interesting)
Indeed a problem for garbage collectors, luckily Java ships with several different algorithms. The one used by default (full halt for a step in generational GC) has the best throughput.
If you are more worried about short pauses you have two other alternatives however. The concurrent low pause pause collector will halt the application threads only in some phases of the collection, it is ac
Re:If only (Score:5, Interesting)
Yes, Java is slower to run than C++. However Java is faster to write than C++; and I think that's the real issue.
In terms of power of expressivity, I think they're about the same, but I find Java easier to read than C++, and I find that mid-level programmers make far fewer subtle "shoot yourself in the foot" mistakes in Java than they do in C++. The run-time array bounds checking, lack of pointers, checked exceptions, and the lovely NullPointerException serve to keep a lot of people out of trouble. The embarrassing wealth of pre-written, tested, free, source-available modules Java has, over the reinvent-the-wheel approach of C++ goes a long way in improved programmer productivity. Here's a test for you: have one of your middle-skilled programmers do some network communication in Java and C++ and see which program takes less time to write and works better.
Re:If only (Score:2)
It doesn't have to be that way, but it's not the holy grail that Sun made it out to be, either.
Re:If only (Score:2)
Think of the horror of C or C++ programs that had the same bugs but did not throw the exceptions. (I remember developing with C++ in the 80s on MSDOS, and in place of runtime exceptions we got random graphics on the screen, or software jams). Give me Java any day.
Re:If only (Score:2)
Java's catching up on the type safety, but I swear that the language should forbid empty catch blocks. At least force the programmer to output something FFS!
Re:If only (Score:3, Informative)
The "barfing runtime exceptions" was exactly my point. It
Re:If only (Score:2)
Sure, new Matrix(A.negate().multipliedBy(C)).addedTo(D) is so much clearer than -A*C + B...
Re:If only (Score:2)
Java uses references -- not pointers. Hell, even the implementation of references in some VMs is handle rather than pointer based.
Re:If only (Score:3, Informative)
If you ran some actual benchmarks (with modern Java) you will find you are mistaken. Modern Java VMs include an optimiser that tweaks the machine code for speed and efficiency just as you describe. Last year, a set of benchmarks for numerical computation showed Java within 4-5% of optimised C cod
Re:Java - unfulfilled promisses (Score:5, Insightful)
My opinion is that Java is the best thing that could have possibly happened in the software development field in the last 20 years. The fact that it is an openly specified object-oriented runtime suitable for a *huge* variety of configurations (desktop, middleware, embedded, etc) is a blessing. Developers have been able to learn one language and develop any kind of applications on any platforms (while reusing many of the skills). Also, vendors can target a much wider market when they do not have to focus on a single platform. Not mentioning that Linux owes a lot of its success to Java.
Re:Java - unfulfilled promisses (Score:3, Insightful)
Your post is FUD.
Re:Java - unfulfilled promisses (Score:3, Interesting)
Re:Java - unfulfilled promisses (Score:2)
What a complete and utter lie.
Re:All that time, and they still haven't figured o (Score:2)
Re:indeed, it was "facing problems" (Score:5, Insightful)
And Sun, instead, creates millions of lines of untested, immature C code and adds it to their Sun Java implementation (just look at the Java2D code). Frankly, I trust even Microsoft's libraries more than that.
Microsoft's claim that sprinkling "unmanaged code" everywhere in your system is superior to linking to external libraries is very strange.
Unsafe statements are explicitly marked in C#, and they are limited to unsafe modules. C# is exactly the same as JNI in that regard, but C# provides you with a much better language to write JNI-like modules in, a language that is far safer than C/C++ even in unsafe mode, and a language that actually works across systems.
What does the phrase "tightly limit unsafe code to just the statements where it is needed, often just a single statement" mean? How can you limit something that can be everywhere?
It means that as a programmer developing a piece of code that needs to do something unsafe, it's better for me if I can compile almost all of my code in safe mode and only have a single line of unsafe code, than being forced to write an entire JNI module in C/C++.
Now they're claiming it's okay to put buffer overflow vulnerabilities in your code because it's convenient for the programmer. They just don't seem to understand security.
You keep confusing safety and security; safety is neither necessary nor sufficient for security. Most Java applications are, in fact, not secure at all.
C# supports runtime safety in a well-designed and time-tested framework, which is helpful for building secure systems. But forcing people to use only safe constructs does not improve security any further, it actually makes it worse.