![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
James Gosling, the "father of Java," has called on developers to stop using Emacs because his own company's IDE, Netbeans, "fits together components well" and has kept up with Moore's Law whereas Emacs has not.
As I see it, what he's saying is that one should tackle a steep learning curve and adopt a power-hungry monstrosity written in a non-cross-platform languange like Java, rather than use what used to laughingly referred to as "Eight Megs And Constantly Swapping" but has, over time, become lean, mean, and definitely user-friendly (although it's picky about who it's friends are).
And pimping a Java package is just absurd: Java, despite being less than 15 years old, already has a reputation similar to Cobol: it's a downslope language if ever there was one: you get paid big bucks to write in it because it's a boring language popular with big, faceless corporations with a lot of legacy work, not because it's an interesting and career-worthy language that excites developers. Every Java programmer I know would rather be working in something more spicy and productive like Python, Ruby, or (Gods help us all) Haskell, or getting down closer to the heavy metal and doing high-performance C/C++ stuff. Java is a hellish limbo with neither the "portable assembly" of C nor the developer productivity curve of modern languanges.
And as for IDEs, I find Emacs is simply more productive than anything else. Gosling's wrong about how "the only thing that's been added since 1984 is syntax highlighting"; he's never used the outlining, organizing, mind-mapping, revision-tracking and indexing tools. You can take Emacs out of my cold, dead hands only when you present me with something better.
Heck, my LJ entries are written with Emacs.
As I see it, what he's saying is that one should tackle a steep learning curve and adopt a power-hungry monstrosity written in a non-cross-platform languange like Java, rather than use what used to laughingly referred to as "Eight Megs And Constantly Swapping" but has, over time, become lean, mean, and definitely user-friendly (although it's picky about who it's friends are).
And pimping a Java package is just absurd: Java, despite being less than 15 years old, already has a reputation similar to Cobol: it's a downslope language if ever there was one: you get paid big bucks to write in it because it's a boring language popular with big, faceless corporations with a lot of legacy work, not because it's an interesting and career-worthy language that excites developers. Every Java programmer I know would rather be working in something more spicy and productive like Python, Ruby, or (Gods help us all) Haskell, or getting down closer to the heavy metal and doing high-performance C/C++ stuff. Java is a hellish limbo with neither the "portable assembly" of C nor the developer productivity curve of modern languanges.
And as for IDEs, I find Emacs is simply more productive than anything else. Gosling's wrong about how "the only thing that's been added since 1984 is syntax highlighting"; he's never used the outlining, organizing, mind-mapping, revision-tracking and indexing tools. You can take Emacs out of my cold, dead hands only when you present me with something better.
Heck, my LJ entries are written with Emacs.
no subject
Date: 2008-03-05 04:08 pm (UTC)That's probably true, but the key words there are "compile" and "available libraries for the architecture". Not everyone has the time or inclination to pull down the source, figure out the dependencies, find the libraries to resolve them, download them, compile them, tweak them as necessary for their system, and then compile the actual code that they want to run. And if it's not open source then unless the manufacturer has compiled it for your architecture, you're out of luck. I realize that that is a worst-case scenario that I provided and it's not usually that bad... but my experiences with it haven't, on the whole, been much better either. It's very possible that I simply wasn't doing something right, or I had the misfortune to be interested primarily in poorly constructed packages, but that's how it's been for me.
With Java, on the other hand, you pretty much just need the JVM. Pull down the application, run it, and away you go. Even with many of the open source projects you generally also get a compiled binary that you can just run once you've pulled it down. While many open source C projects also have precompiled binaries available, it seems that the range of architectures for which they are generally provided tends to be lower than that available to Java.
~laugh~ And I think I'm getting to the point where I really haven't done enough research to hold up my end of the discussion without blatantly saying "I have no idea whether this is actually true beyond what I've seen, but it's what I feel in my gut based on what I have experienced so far"
The general impression that I am getting is that it would probably behoove me to at least familiarize myself a little bit more with one or two of these up-and-coming languages (like Python).
But then I'm an open source bigot, and the idea that all you get is the binaries offends me the way a toaster or blender without screws offends me.
I perceive this as a different matter since it applies to projects in every language. There are lots of open-source Java projects out there, and there are lots of products written in C where all you get are the binaries.
~wry grin~ And to go off on a tangent for a moment, with Groovy you can take any Java binary and selectively override its existing methods. Of course, if it wasn't open-source to begin with then you're probably violating the license by doing so, but it does, essentially, provide a way to get inside a blender even if it doesn't have screws. (Disclaimer: I haven't personally worked with this too much and so I am not familiar enough with the caveats to say exactly how far into the blender it would let you get, but it's farther than you could probably go into a compiled C binary... and with that incredibly mixed metaphor, I'd better stop ~grin~)
Yay for servicing "non-user serviceable" parts! ~salutes you with tiny screwdriver~ ^_^