Well, lets be clear. I am not going to get into a programming language pissing match with anyone. We all have our favorite languages... What I am going to focus on here is the role the diverse languages available play, and the real-world pragmatic aspects of each language.
My main point about Java is not the 'run anywhere' aspect- in this sense you are sort of putting words in my mouth. Java has significantly better client side cross-platform performance than just about anything out there. Server side, I've never not been able to write test and deploy on arbitrary platforms. But this is just the icing on the cake.
I suppose it sshould be noted that a lot of platform -independence breaks come from platforms intentionally breaking JAVA as a move in their business model (Microsoft and Apple come to mind)
The main aspect of Java is what it brings to the table in terms of Object Orientation and software design- its perhaps the only modern and widely adopted language that was designed from the ground-up with an eye on Software Architecture issues. Of course, smalltalk had high-level features superior to JAVA- but alas, it is little more than a historical curiosity.
Please note, I am not a great fan of EJB, and I believe the en-mass stampede of the Java professional community in that direction is a mistake- so please do not cast that stone (many .NETers criticize EJB- and a few of those criticisms are valid and founded, and even a few of those are actually problems with EJB, not how poor programmers emply EJB). Thankfully, as seen in the Spring framework and Hybernate- the 'real' level-headed Java engineers are taking back the field. So I have great hope for the future of server side JAVA
Server side JAVA, also, in its modern form is very secure. Not something that one can say about C/C++/C#, PHP, etc.
The .NET framwework is by no means 'bad'. It has a lot going for it. However, it suffers from the habitual in-elegance of Microsoft 'thought' (I know! Lets just 'GLUE' together every legacy language into one ginormous blob and make it work on the web!!! ), and also from the insane quasi-sociopathic business model of Microsoft. In my humble opinion, and in the opinion of most of the Software Engineers I respect- its in decline.
PHP has certain powers, but it has only a few big success stories- Yahoo, I think, uses PHP (I could be WAAAY WRONG here)- but they use it only because their system architecture (BSD linux) was not very friendly to JAVA. PHP is a fine solution, but it really really doesn't scale well (and for all the PHP advocates off the web who might want to start a war over this- please lets not bother). It worked well for Yahoo, but only really becase they had already implemented from the ground-up in their own shop-local scripting language. In fact, I would put my money on Google stock primarily because I think Yahoo may have a larger hurdle to jump to create new services and integrate them seamlessly than Google will. PHP is great. It develops domain-specific, light-load software extremely quickly- and it should be kept to just that. (Though I must admit, lets see where Apache Server goes in the next few years in the 'framework' sense)
Perl- /. uses perl, but /. is just a little message board with a lot of bells and whistles. In my humble opinion, Perl lacks the Design elegance of JAVA, though I must admit my experience with Perl is very limited.
C/C++ I cut my teeth on. Powerful, and capable of great implementation-level elegance. I will always be fond of that language lineage, no matter how much JAVA I do. The tools 'bolted on' to C++ to make it more tractable for large projects are really not up to the level of what JAVA offers. Unfortunately, a lot of the low-level power and elegance of the C lineage, the very same elegance that makes it such a joy, are deadly to cross-platform compatibility. I like to think of C++ as a an American Porche-eating muscle car. Old Heavy Metal tricked out with a blower, hard suspension, huge tires and Quad Exhaust. It can keep up with the real innovative technology- but its cranky, fragile, impractical and massively overvalued. But damn fun to work on ;-)
Now, ML has attributes that, if software engineers were more Symbolic Logic inclined (recall, most of them are just people out of jr. college with certs, or out of a state university that focuses on job-skills), could turn into a GREAT language top to bottom for both implementation and architecture.
I am very surprised about your statement about Javascript. Given the quality of this message board, I'll have to look back into that.
Space/Science » in reply to "Write once, run anywhere"
re: "Write once, run anywhere" -- will never happen, not even with Java
The whole thread (45 posts)
- a comment on the go for shuttle launch
- re: a comment on the go for shuttle launch
- re: a comment on the go for shuttle launch
- my view as posted on msnbc.com
- Could you imagine what the doctors would say if you had a backup heart?
- Intermittent problems are tough to fix
- re: Intermittent problems are tough to fix
- It's like the "array out of bounds" bug in C programming
- which is itself the best argument against C.
- re: It's like the "array out of bounds" bug in C programming
