Results 1 to 14 of 14
Thread: Java Learning Curve
- 10-13-2008, 05:18 PM #1
Java Learning Curve
Continued from the thread: What are you using to write your code? - we are discussing the best way to learn Java. The basic question is whether to use an IDE or text editor and compiler to understand the things in the deep:
I completely agree with you - although I didn't have such experiences now in Java (I am too new to Java for such experiences) but I can imagine, that there are several problems that need deep knowhow in what is going on "behind the scenes" (or what should go on behind the scenes ;) ).
Similar issues are for instance if developers do program for windows 2000/XP and do hardcode the path "C:\Documents and Settings\" or "C:\Program Files" which then runs only on english OS. - So they should know more about the system and read those paths from the registry for instance.
I really do not want to avoid understanding all those basics. The problem for me is that learning Java I read so many new abbrevations, rules, concepts, libraries etc. that I clearly cannot deal with everything at the same time. So I have to get to it step by step. And here I prefer (in some cases) the top-down when learning. Ant is a good example here: Why do I have to learn the ant at the same time when learning java? - Why not using a tool at the beginner level that will do it right yet. There will come the time when I have some special desire that will make me dig into Ant. But again, I cannot learn everything at the same time. The same applies for knowing the libraries and methods by heart.
As I already mentioned, this is something I am very happy about that in our company it is not this way - components are more separated and there are not working many programmers on the same component (not more than two as far as I know).
Here I do completely disagree - IDE helps a very lot. Either if you know the class names and methods by heart. Sample: Fixing the imports - with this feature when using a new class the needed import is added to the beginning of the class code. In Notepad I would have to scroll up to the beginning and then find the line again where I stopped coding. Very annoying.
Another sample: Simply less characters to type with the autocomplete feature. This even helps the advanced developer.
Another sample: Building GUI - When doing purely in code, how many attempts to run and look if it is ok would it need?
Another sample: Coming from VB I very often forget the semicolon at the end of a statement. I know it from the eightees when learning different programming languages at the same time that it can be very annoying starting compilation and then get those syntax errors. With the IDE I will fix these errors without all the manual failing attempts to compile.
Here you are right - using an IDE you need to learn not only Java but also the IDE that is correct and learning the IDE also takes several days - no doubt about that. But I think regarding the IDE it is worth investing additional time here in learning it because it saves you from a lot of annoyances while learning Java then.Greetings, Martin Wildam.
- 10-13-2008, 05:33 PM #2
One of my biggest problems learning Java: I never heard so many new words and abbrevations before when learning a new programming language (and I learned a lot). So often when reading an article I have to google or wikipedia at least two words to know what that article is about.
As I started looking at web development, a few samples here: Spring, Hibernate, JSF, MyFaces, JVM, JavaFX, ...Greetings, Martin Wildam.
- 10-13-2008, 06:18 PM #3
Senior Member
- Join Date
- Jun 2008
- Posts
- 2,366
- Rep Power
- 7
That I think, is part of the problem (either in our misunderstanding or your learning, if you immediately started with this). I have no problem, what-so-ever with learning all of the extraneous stuff while on the IDE. I am speaking of core Java, and the basic command line tools (those are all you ever really need, anyway, everything is possible with those alone). Bye core Java I mean the lang and basic parts of some of the other packages (i.e. io, util, not nio or anything javax). Once you are past this, and have a grasp of the working "structural" parts of the language, by all means, advance to an IDE.
If you started out by immediately attempting to learn all these frameworks and the like, then, IMHO, you were led astray. Either by yourself, or by someone who advised you. Once you have a good grasp of the basics, and the command tools (as outlined above), the rest of this comes (well I won't say easy, but you get the picture).Last edited by masijade; 10-13-2008 at 06:21 PM.
- 10-13-2008, 06:41 PM #4
No, I didn't start immediately with all those frameworks. But apart from that I do not know all the libraries and methods by heart. I have to often scroll a little through the available methods of an object to find the matching one.
And then there are the typos. So the IDE helps me a lot immediately popping up with the javadoc and marking lines with syntax errors. I don't think, that I should rather try it "by hand" manually. After some hello world tests I think I understood the most important basics. After the initial first steps I think it is already worth using an IDE when trying to write your first samples from books etc.
Maybe I do not have very much patience. I am used to being more productive - but this is also because with the years I have created my own libraries and now everything was just putting existing things together. Now - new on Java - a lot of things start at zero. This is not easy to accept for me.Greetings, Martin Wildam.
- 10-17-2008, 12:36 AM #5
Member
- Join Date
- Oct 2008
- Posts
- 3
- Rep Power
- 0
Hello!!!
Hi to all! :)
Im new to this site.
I want to learn java... I ran into some problems in my code.
I copying the code from the book I just bought.everything seems to be correctly copied so far.
but I keep on having an " Illegal start of statement " .
don't know how to resolve this? can someone help me?
I'll post the complete code next time.
- 10-17-2008, 01:55 AM #6
Senior Member
- Join Date
- Sep 2008
- Posts
- 564
- Rep Power
- 5
I feel that a big part of my experience with Java was learning how to properly use packages and libraries, which I don't get the same sense of concentration when using Eclipse.
I also feel that using Eclipse makes me lazier and more prone to trying to program a solution all the way through, instead of doing one method at a time, as it looks (at least to Eclipse) to be correct, though the functionality may not be.
- 10-17-2008, 04:03 AM #7
to IDE or not to IDE, that is the question
I know a lot of folks here say use a simple editor and run javac from the shell, rather than using an IDE to learn java. I disagree.
Or at least, while I respect that opinion, my opinion is that an IDE automates a lot of cruft that can get in the way of learning.
Libraries are nearly transparent, with Netbeans just click on "fix imports" and you are done.
But the fact is that programming is hard, and doing it well takes skills. The only way to get the skills is to practice.
So get to the woodshed and get to work.
- 10-17-2008, 04:31 AM #8
It's not either/or, its when. Too early and the student won't learn the basics because the IDE does it all. Using a tool can make you a cripple, unable to function without it.
Another OFs opinion.
- 10-17-2008, 09:10 AM #9
Basically if I have tried it once by hand - and understood it - then you are done with understanding those basics.
Myself I already forgot how to specify particular commandline parameters of the java compiler and here I can also understand the notepad-freaks, but: If it is done for me by the IDE, so who cares?Greetings, Martin Wildam.
- 10-17-2008, 09:29 AM #10
Senior Member
- Join Date
- Jun 2008
- Posts
- 2,366
- Rep Power
- 7
You don't need to necessarily remember what all the commandline options are, as long as you know where to look to find them, and understand that commandline options are being used, and for what.
If any thing happens that you don't have the IDE in that moment (for whatever reason and it is not nearly as far-fetched as you might think) you will need to be able to use those command line options. And those that start with an IDE, or haven't ever actually used any of those commandline options but only did a very simple and straight forward compile from the commandline, don't know/understand them, and so are lost.
I.E. They must run something from the command line (or out of a script, as, eventually things move into production and so are not run out of an IDE) and the app needs more than the standard 64mb heap space. The developer has always simply set the option in the IDE and has never had to do this from the commandline, but now that is not applicable. He has no idea that this even can be changed from the command line, or how to do it, all he has ever run from the commandline was his first helloworld. A large chunk of the "productivity" that he initially gained by immediately using an IDE, he loses now.
- 10-17-2008, 09:34 AM #11
Different strokes for different folks.
When I started Java about 15 months ago, I had only the vaguest idea about OOP but nearly 20 years on and off experience in programming in a wide variety of disparate languages. I don't think I would have had the patience to go through the tutorials one by one, and I don't think it would have speeded up my learning process.
I was attracted to Java as the only easily available platform for me to make some small applications for my mobile phone. So I scouted around, got me a free NetBeans CD, and got started.
Initially, even the API didn't make much sense. In my first few MIDlets, I allowed NetBeans to "implement all abstract methods" and only after that googled to know something about the MIDlet life cycle and what should go in those methods. And it was a few months before I even learned what makes a method abstract, and why it has to be implemented.
While such features may jump-start a seasoned (if amateur) programmer, I feel they could hinder the learning required to build a proper foundation of knowledge and understanding needed for a serious student who is looking ahead to a lifetime of professional development.
So my view would be: If you're young, learning Java as a first programming language (or among the first half-dozen, really) a few months of sticking with a decent code editor, one that provides syntax highlighting and indentation, wouldn't hurt. Getting familiar with the command line can serve in other ways not related to Java.
On the other hand, if you have decent experience in developing in more than one language, are familiar with programming idioms like control flow and variable scope, starting rightaway with an IDE can actually help you to learn the nuances of Java that didn't apply to the languages you worked in earlier.
Just my 0.02 (ok in terms of bulk 0.04 ;))
db
- 10-17-2008, 10:34 AM #12
[QUOTE=masijade;39195]If any thing happens that you don't have the IDE in that moment (for whatever reason and it is not nearly as far-fetched as you might think) you will need to be able to use those command line options./QUOTE]
Maybe that is the point I am missing in my thoughts. As I didn't debug or compile my projects at customer productive system I am always assuming to have the IDE at hand.Greetings, Martin Wildam.
- 10-17-2008, 11:04 AM #13
Member
- Join Date
- Oct 2008
- Posts
- 39
- Rep Power
- 0
Hi all, im new to Java and would like to know how to add color to text, please help?
public class greetingApp extends JApplet {
public static void main(String args[]) {
System.out.println("Hi Peter" foreground.color.blue);
System.out.println("from Stuart to Peter");
System.out.println(" University");
}
}
- 10-17-2008, 11:09 AM #14
Similar Threads
-
how to begin with learning to develope in JAVA
By Triji in forum New To JavaReplies: 1Last Post: 08-11-2008, 02:25 PM -
How to draw Curve using QuadCurve2D
By Java Tip in forum java.awtReplies: 0Last Post: 06-23-2008, 11:20 PM -
How to Draw Curve with mouse
By Java Tip in forum java.awtReplies: 0Last Post: 06-23-2008, 11:20 PM -
Java Machine Learning Library 0.0.12
By JavaBean in forum Java SoftwareReplies: 0Last Post: 10-20-2007, 05:56 PM -
How to start learning Java
By hiranya in forum New To JavaReplies: 2Last Post: 06-28-2007, 02:55 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks