[RESOLVED] Starting Java Programmer ...
I’m a fairly experienced programmer (Pascal, C, C++, VB6) and I distribute some of my specialised (Windows/VB6) applications on the Internet. The time has come when I need to re-write these applications to run on other platforms - Mac/Linux as well as the various flavours of Windows. I understand that Java may be the answer.
What say you?
Assuming that the answer is a resounding ‘Yes!’ …
I’ve never programmed in Java – and don’t have any system tools, etc. – what would be the best place to acquire those tools together with suitable training? Free or very cheap would be good. :blush:
Any information or advice very gratefully received. :)
Dave
Re: Starting Java Programmer ...
All of the Java tools are free. Point your web browser to java.sun.com. You can download the latest version of the Java Development Kit (JDK) which is in its 6th version along with the Java Runtime Environment (JRE).
I'm guessing that you really wouldn't want to pull up the command prompt to manually compile your Java programs. There are two excellent IDE's that I'm aware of for Java: Eclipse and Programmer's Notepad. Eclipse is a full blown Java IDE that supports everything from Applets to Beans and Servlets. It is weighty on memory costs so if that's a concern of yours then I suggest PN. You'll have to manually configure PN for shortcut keys to the compiler and the like but it's probably the best one in my opinion.
As far as training goes, I've found some Java books to be absolute failures in teaching you the appropriate things. Your best bet is to either search the internet for tutorials, read the tutorials on the Java web site, download as much sample code as you possibly can, and just play with the language to get a feel for it. Java is nothing but OOP at its core.
Re: Starting Java Programmer ...
To try and assist you better with your coding, I would suggest Netbeans (thisis what im using atm).
I think you'll find that programming in java is so much different to in c++ as for one, you don't have pointers, and have a strange way of calling methods compared to c++. Nevertheless, you should be able to pick it up fairly easy coz of ur programming background.
Regards,
Re: Starting Java Programmer ...
Yes it is, moving from C++ to Java can be confusing. Same thing happened to me when I try to learn C++. What I feel is that working with Java is so simple, because to working with Java you have to deal with lower level of language concepts, Java not like that.
My suggestion is, used Netbeans or IntelliJ IDEA. Both of them are excellent IDEs for Java. I have use both, and they have different advantages and dis-advantages.
Re: Starting Java Programmer ...
Thanks for the advice Gentlemen. I’ve downloaded the Netbeans IDE (as well as the Eclpilse thingy – what is that about? :confused: ) and have had a good look around for tutorials and examples. At first sight, the language syntax looks very similar to C++ - so no real problems there – but the tutorials seem to range from trivial/useless to downright confusing. I suppose the problem is that you have to wade through the dross to accumulate enough understanding for the examples to make sense. I’m getting there but it’s hard work!
Thanks again for your help.
Dave
Re: Starting Java Programmer ...
The Eclipse thingy is a very portable IDE, just copy and paste it on any computer or any OS and it'll work just fine. Eclipse is deigned to be a pluggable IDE. It can be used for Java, C++, Flex, and many other technologies. For example Andriod (The next generation of mobile platforms) has a plugin that works just fine with Eclipse.
On the other hand. Netbeans has much more features when it comes to GUI design (it's a big issue for Java developers btw).
If you're just developing simple Java applications or applets Eclipse is the IDE to use. But if you're working on mobile apps (JME) or web applications (JSP, Servlets, Struts, JSFs) Netbeans is the IDE to go to, especially with all those gadgety plugins you can install on it.
About the problem of not finding good tutorials for Java is that Java covers every single aspect of computer technologies much like C++ which makes it very hard to focus on a single subject from the begining to the end without diverting every now and then to some other topic.
I'd recommend learning Java from a book instead of using tutorials, because books will teach you the basics for almost everything. Then you can look for tutorials as you go deeper into specifics.
Always keep a link in your favorites/bookmarks pointing to the Java Doc, because as a Java developer it's your bible.
EDIT: Netbeans is the official Java IDE
Re: [RESOLVED] Starting Java Programmer ...
Thanks for that ComputerJy.
At this particular time I’m trying to concentrate on converting my existing VB6 apps – which are desktop based - so I'm trying to concentrate on the various aspects of Java that will be immediately useful.
The focus is on ballistic calculations and graphical representation of same. The calculations involved are fairly intensive (take a lot of machine cycles) and, since Java is interpreted, I’m a little concerned that it may not be up to the job.
Any thoughts?
I’ve downloaded the Netbeans IDE and am exploring it – with the help of the Sun documentation – at the moment. I take your point about learning from a book rather than on-line tutorials. Any suggestions?
TIA
Dave
Re: [RESOLVED] Starting Java Programmer ...
Java IS NOT an interpreted language. Java is a byte-code compiled language that runs on a virtual machine.
As for a book to learn Java: Java How To Program Is a good book. I've read the 6th edition and it was useful
Re: [RESOLVED] Starting Java Programmer ...
Wow, that’s a fine distinction. :) The point is that the compiled byte-code is not directly executable on the target machine – an additional step is required to convert the byte-code into the machine code of the target machine. That’s where the portability comes from. :cool: You call it compilation, I call it interpretation. But no matter. Semantics apart, I wrote a little prog last night that has me convinced that the overall execution rate is probably good enough (on Win 32 anyway).:thumb:
Thanks for the book link … “Probably the best single volume introduction to Java, programming and design” Sounds good!
ATB
Dave
Re: [RESOLVED] Starting Java Programmer ...
Quote:
Originally Posted by Harry's Lad
The point is that the compiled byte-code is not directly executable on the target machine – an additional step is required to convert the byte-code into the machine code of the target machine.
Java is a compiled language. It is compiled into bytecode which is a set of instructions for a virtual machine. JVM's (Java Virtual Machines) executes the bytecode by either strictly interpreting them or by dynamically compiling them into native machine instructions first. Native Java compilers either skip the bytecode altogether or statically compile the bytecode into native instructions and store them in native executable files.
Most modern JVM's use one form or another of dynamic compiling rather than strict interpretation.
Re: [RESOLVED] Starting Java Programmer ...
I bow to your obviously superior knowledge of the Java Virtual Machine. The process that you describe is certainly not operating effectively with my Win 32 installation - but that’s probably something that I’m doing/not doing correctly or some flag that I have/haven’t set. I’m new to this remember. :) Yesterday’s little test shows that the Java code produces identical results to compiled C++ code but takes 16% longer to do it. However, the promise of portability makes that tolerable.
ATB
Dave
Re: [RESOLVED] Starting Java Programmer ...
Quote:
Originally Posted by Harry's Lad
I bow to your obviously superior knowledge of the Java Virtual Machine. The process that you describe is certainly not operating effectively with my Win 32 installation - but that’s probably something that I’m doing/not doing correctly or some flag that I have/haven’t set. I’m new to this remember. :) Yesterday’s little test shows that the Java code produces identical results to compiled C++ code but takes 16% longer to do it. However, the promise of portability makes that tolerable.
ATB
Dave
Yeah I know, that's the reason we use Java :D