A Conversation for Java - the Programming Language
Language of Choice?
The Wisest Fool Started conversation Jul 28, 1999
Java started out as a project to create a computer language for controlling smart domestic appliances like toasters and washing machines. It was only later that the creators started to look at how it could be implemented as a language for PCs and the web.
The article states that 'all computers understand' Java. Not true.
In order to get Java to run on a computer, someone somewhere has to create a Java Virtual Machine (or JVM for short), a kind of intermediary program that can convert Java code into machine code. If no-one writes a JVM for your piece of hardware it can't understand Java at all.
I'm not sure just how widely used Java actually is when it comes to the web.
JavaScript (which despite the name is NOT Java) and VBScript seem to be used a lot more on web pages and on the server side there's a lot of ASP stuff based on VBScript and a hell of a lot of Perl is used in CGI work because it has been ported to Unix, Windows and Mac and is ideal for quickly processing large chunks of text.
Netscape Navigator keeps telling you how it's "Loading Java" but that's usually just a bridge for plug-ins like Shockwave and Flash.
Actually HTML is slowly gaining more and more programming features within it based on tags, so surely HTML has more chance of being called THE programming language of the web. The W3C standards committee that sets guidelines for standardisation of the implementation of HTML are not run solely by and for large software companies, unlike Java which is still pretty much in the thrall of Sun and IBM.
So I guess this long post indicates that the bitter programming war continues apace.
Language of Choice?
The Magpie Posted Jul 30, 1999
Language of choice?? It all depends on what you want it to do. You are right in that JavaScript (or ECMAScript to give it it's proper name) is very widely used. This is mainly down to the fact that JScript (and VB Script) are not interpreted languages and so don't need large amounts of time to run (unlike Java... we've all seen the grey boxes). Unfortunately this advantage in processing time comes with the penalty of the language being very restrictive (there are relatively few things that you can do with JavaScript compared to Java). As a web developer, I can say that for the things that Java does, it does them very well. Database integration is particularly elegant through Java 2, as are a number of other features.
There are still differences thrown up by different versions of VM's, but Java is still the most portable language for the web at the moment.
So is it the language of choice for the web??? It is in our office!!!!
Mag
Language of Choice?
WebMink Posted Sep 3, 1999
Excuse the delay replying; I've been away for all of August and to be honest I'd assumed this page would never again see daylight after its brief outing at JavaOne. Imagine my surprise (etc etc)
The answer to several of your points is 'artistic license and brevity', as my aim was to create an entry that was slightly amusing, covered the topic obliquely and was arguably true. You may wish to have my artistic license endorsed or even suspended.
I also have to declare an interest, of course; see http://www.software.ibm.com/developer/speakers/phipps/ and http://java.sun.com/features/1999/08/phipps.html for the full ugly truth. But I stand behind what I've said; Java is just what the web needs and is increasingly being used in preference to ASP and Perl at many sites due to its superior portability (making server scaling so much easier).
On the client side, ECMAscript (sounds like a skin disease IMO) is prevalent for *scripting* but for *programming* (where the alternatives are native code plug-ins or ActiveX controls, both with attendant security and support issues) then Java is still most common. Splitting a hair, perhaps.
Note that I don't think the battle is over...
Regards
WebMink
More war
The Wisest Fool Posted Sep 3, 1999
I still think the line "...produces programs any computer can understand" is incorrect. You could just as easily say "any computer can understand Delphi or Visual Basic". The fact that no-one has ported those languages to run on the OMYGOD AX2000 (and mapped out all the underlying Win32 API calls or rewritten any slabs of x86 assembler code within them) is no different than no-one YET having written a JVM for it.
Yes, I admit because so many JVMs have been written for a number of platforms then I guess it's a given that it's "easier" to write a JVM for a new system than to port one that is OS dependent. But you'd have a job to get Java to run on a 1K ZX80.
I'm a bit worried that your evangelism may have led to you getting a bit carried away with what you'd like Java to be, rather than what it is
- The Wisest Fool
More war
WebMink Posted Sep 4, 1999
I was going to use the 'artistic license' defence again but actually I think the statement is close to the truth. Java runs on all the computers I have here except, indeed, the ZX81 I built all those years ago. It's even on my PalmPilot. I expect to find Java in some form on all the computers anyone cares about today because:
* It's a matter of porting a CPU simulator, not a platform-specific run-time like VB or Delphi
* The source code is available
* There are enthusiasts and commercial interests around to make it happen
* The benefits in terms of code portability and pre-existing industry support for your brand new platform are huge
As it happens I think I've seen enough of the bad of Java (e.g. Java 1.0.x and the AWT) to be pretty realistic about it, but I still think it's the best hope of an open future that we have. It will become the dominant mechanism for creating the payload of web servers and over the next few years we will gradually see it spread into the client side of computing.
Regards
WebMink
Peace breaks out
The Wisest Fool Posted Sep 4, 1999
Artistic licence. Hmmm as in Magritte's "This is not a pipe" possibly?
OK, pax
I'm not anti-Java, actually quite like the idea of any language that gets rid of the dreaded platform-dependence. In fact I'd quite like to play with Java under something likr BeOS.
What do you reckon to this idea -
If someone somewhere developed a neat and powerful IDE on a par with Delphi or something like Macromedia's Dreamweaver to use with Java which ran on Linux, Win32 and MacOS (and maybe BeOS too) and GAVE IT AWAY FREE it could revitalise the software development industry.
Question - I understand you can use most Java compilers to make executable files (you may find the idea anathema, but bear with me). In terms of size and performance, how do 'functionally similar' executables compare between those compiled from Java and those made from Visual C or Delphi? Are we talking factors of ten or are they reasonably close? And if so, which Java IDE's come with profiling tools and performance optimisation?
Language of Choice?
Sorcerer Posted Sep 7, 1999
JavaScript may not BE Java, but it is so named because it can interact directly with Java applets and the formatting is similar to Java.
Peace breaks out
WebMink Posted Sep 9, 1999
Actually, been there, done that, got the tee-shirt. You can download a full, free copy VisualAge for Java Entry Edition via http://www.software.ibm.com/ad/vajava - it's way cool, allowing a purely drag-and-drop visual programming style, and there are versions for Win32 and Linux (among others). No Mac or Be yet though, sorry. I have a few CDs if the download is too big.
The performance question: On current JVMs, programs using the same object-oriented programming techniques should have comparable performance on Java as on native code systems; I'm trying to track down a URL for the comparative figures. File sizes I'm not sure about, I would expect them to be comparable across the systems but I've never checked.
Regards
WebMink
Peace breaks out
The Wisest Fool Posted Sep 9, 1999
Cheers for the URL WebMink, I'll have a go at downloading it at work tomorrow.
BTW I wasn't talking about JVM performance, but compiling to platform-specific machine code in an EXE. If JVMs are approaching the speed of compiled C code then I'm frankly amazed. When I made my first (and so far only) attempt at programming in Java using Symantec Cafe v.1 about 2 or 3 years ago, the resultant applet was overtaken by several Galapagos tortoises, a sloth and Montgomery Burns
Peace breaks out
WebMink Posted Sep 10, 1999
They are certainly getting fast, but not up there with portable assembler (C code) yet. What I meant was a program written using OO programming with garbage collection using another language (e.g. C++) and compiled to native code would be likely to run with comparable performance to the same function in Java using, say, the new 1.1.8 JVM or Java 2. But it's certainly up there with the speed of, say, tortoises dropped from aircraft.
Sure, the native code cross-compilers give you code just like Delphi does, no big differences. And they make reasonable sense for server-side code.
Regards
WebMink
Judas?
The Wisest Fool Posted Sep 10, 1999
Your evangelism appears to have got to me.
There I was a few weeks ago preparing to dance with the Devil over the grave of Java. Now I find myself skulking at the back of the church wondering where the collection plate is and preparing to bang the tambourine.
However, I must admit that the line '..can't write viruses...they thought of that' is the biggest draw. I do like a good challenge
Virus tips
WebMink Posted Sep 11, 1999
I'm sure you can write an affective virus if you use certain variants of Java (such as the one that allows use of ActiveX controls), and denial-of-service attacks are feasible, but I'm pretty sure that a cross-platform virus in 100% pure Java is impossible.
Regards
WebMink
Virus tips
xava Posted Nov 19, 1999
As far as I know, you can write viruses. Applets are a small portion of what can be done with Java, and it's the pesky sandbox model which can allegedly protect you from naughty-code... if your security profile is correctly configured, and nobody has messed up your ClassLoader... but anything that runs outside of the sandbox can infect or basically do whatever it was coded to do.
Disclaimer: I come from the Land of Square Brackets (aka: Smalltalk) so I could be wrong...
Virus tips
Sorcerer Posted Nov 25, 1999
You could write virii which alter files, however Java is designed so that you cannot access memory directly, which is how most virii work.
Utilitarian Language of Choice?
David Posted Dec 2, 1999
I use java servlets for all things web. They are quick, reliable, portable, and easy to develop.
I'm not sure if they'll run on every web server (see the incredibly exciting thread on "java doesn't run on my teapot" ) but they run properly on all of the web servers I use.
If I had to use anything else to develop for the web, then I'd be less happy.
JAVA is just hype
kristofer.carlson Posted Jun 12, 2000
One day we'll all have fiber connectivity and computer processors running at several Gigahertz, so I'm sure that JAVA Virtual Machines will seem fast. But I've rarely seen a JAVA applet that couldn't be done better and made to run faster using some other application or programming language.
The only people I've seen who think differently are the rabid anti-Microsoft types, people who are willing to accept bad software and outdated hardware as long as it will deny Bill Gates even the smallest amount of profit.
When you think about it, it seems kind of amusing that Microsoft has written a better, faster Jave Virtual Machine that Sun Microsystems has been able to.
Kris Carlson
P.S. I don't work in the high tech industry, I just use their products.
JAVA is just hype
Researcher 142393 Posted Jul 2, 2000
Ok, Java Virtual Machines are already matching exisiting C and C++ applications in terms of performance.
And Microsoft lost the "fastest JVM" crown over a year ago. That's down to competition in the market for Java
Virtual Machines between engineering teams at Sun, IBM and many other companies.
Bad softw....
Hold on a second....
....
Just had to reboot a Windows machine which is locking up while idling.
... anyway you were saying about bad hardware?
Dj
Language of Choice?
Pedantic Programmer Posted Mar 24, 2007
I thought that JavaScript was interpreted and Java compiled into bytecode?
Key: Complain about this post
Language of Choice?
- 1: The Wisest Fool (Jul 28, 1999)
- 2: The Magpie (Jul 30, 1999)
- 3: WebMink (Sep 3, 1999)
- 4: The Wisest Fool (Sep 3, 1999)
- 5: WebMink (Sep 4, 1999)
- 6: The Wisest Fool (Sep 4, 1999)
- 7: Sorcerer (Sep 7, 1999)
- 8: WebMink (Sep 9, 1999)
- 9: The Wisest Fool (Sep 9, 1999)
- 10: WebMink (Sep 10, 1999)
- 11: The Wisest Fool (Sep 10, 1999)
- 12: WebMink (Sep 11, 1999)
- 13: xava (Nov 19, 1999)
- 14: Sorcerer (Nov 25, 1999)
- 15: David (Dec 2, 1999)
- 16: kristofer.carlson (Jun 12, 2000)
- 17: Researcher 142393 (Jul 2, 2000)
- 18: Pedantic Programmer (Mar 24, 2007)
More Conversations for Java - the Programming Language
Write an Entry
"The Hitchhiker's Guide to the Galaxy is a wholly remarkable book. It has been compiled and recompiled many times and under many different editorships. It contains contributions from countless numbers of travellers and researchers."