Is Java is a bad language for beginners?

Please compose all posts in Emacs.

Moderators: phlip, Moderators General, Prelates

Re: Is Java is a bad language for beginners?

Postby EvanED » Tue Nov 22, 2011 1:48 pm UTC

I still don't get why we're putting "is used professionally" as more than an incidental benefit when discussing languages to learn.
EvanED
 
Posts: 3766
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI

Re: Is Java is a bad language for beginners?

Postby Yakk » Tue Nov 22, 2011 2:00 pm UTC

Some people want to be working as soon as possible after learning or mastering a language. Like most of the world's population, they might not be financially stable or supported by others. So it seems to be a reasonable thing to quantify.

Learning an esoteric language might give you long term skills, but it probably won't get you a job in a few months.

On top of that, many people are motivated by practicality, perceived or otherwise.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
User avatar
Yakk
 
Posts: 10039
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Is Java is a bad language for beginners?

Postby Steax » Tue Nov 22, 2011 2:16 pm UTC

Yakk wrote:On top of that, many people are motivated by practicality, perceived or otherwise.


I found this to be particularly true.

It's not uncommon for people to ask me about Java, and when I ask them about their choice, they respond with "well, all the universities and corporate systems use it, can't be wrong, right?"
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 2711
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Is Java is a bad language for beginners?

Postby EvanED » Tue Nov 22, 2011 3:18 pm UTC

Yakk wrote:Some people want to be working as soon as possible after learning or mastering a language. Like most of the world's population, they might not be financially stable or supported by others. So it seems to be a reasonable thing to quantify.

Learning an esoteric language might give you long term skills, but it probably won't get you a job in a few months.

I can see it in that situation... but who is really on that short of a timeline? Most people learning it for their own edification aren't. Almost no one going through a CS intro sequence is. (I suppose there might be a couple.)

Steak wrote:It's not uncommon for people to ask me about Java, and when I ask them about their choice, they respond with "well, all the universities and corporate systems use it, can't be wrong, right?"

Not true of the "best" CS schools, though.

(I went through the US News & World Report top 10 or 20 a few months ago, and I think it came out roughly 50/50 between Java/C/C++ (almost all Java) and Python/Scheme/ML (mostly Python).)
EvanED
 
Posts: 3766
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI

Re: Is Java is a bad language for beginners?

Postby 0x783czar » Wed Nov 23, 2011 11:10 pm UTC

OK, I'll dive in too, (why not).

Java is a great language for beginning Object-Oriented Programming. However I would not say it is the best for starting out in general. I also don't feel that BASIC is the best beginners language (although I started out on QBASIC, myself and still feel fond of it). I think that MIT has it right by teaching Python first. Python may not be the perfect all-purpose language, but it teaches basic concepts while constraining the programmer to use good programming style. After Python I would graduate the coder to Java to learn good OOP concepts, then migrate them over to C++ to introduce them to a true compiled language with OOP capabilities, as well as introduce more advanced OOP concepts, and have them learn how to implement a wide array of GUI libraries. From that point on, I'd consider them fully fledged programmers and they can begin their life-long quest to refine their skills.

Also, teaching them Python, C++, & Java will have taught them three majorly marketable programming languages and introduced them to the concepts of Scripting, as well as given them a well-rounded knowledge of the C-Paradigm.

After that they can discover the joy of Objective-C programming! :P

(However, of course, they're going to be Web-Programmers, then they should be taught Java-Script in conjunction with HTML, followed by PHP and beyond.)
User avatar
0x783czar
 
Posts: 7
Joined: Fri Sep 12, 2008 12:15 pm UTC

Re: Is Java is a bad language for beginners?

Postby Meteorswarm » Fri Nov 25, 2011 4:22 am UTC

0x783czar wrote:OK, I'll dive in too, (why not).

Java is a great language for beginning Object-Oriented Programming. However I would not say it is the best for starting out in general. I also don't feel that BASIC is the best beginners language (although I started out on QBASIC, myself and still feel fond of it). I think that MIT has it right by teaching Python first. Python may not be the perfect all-purpose language, but it teaches basic concepts while constraining the programmer to use good programming style. After Python I would graduate the coder to Java to learn good OOP concepts, then migrate them over to C++ to introduce them to a true compiled language with OOP capabilities, as well as introduce more advanced OOP concepts, and have them learn how to implement a wide array of GUI libraries. From that point on, I'd consider them fully fledged programmers and they can begin their life-long quest to refine their skills.

Also, teaching them Python, C++, & Java will have taught them three majorly marketable programming languages and introduced them to the concepts of Scripting, as well as given them a well-rounded knowledge of the C-Paradigm.

After that they can discover the joy of Objective-C programming! :P

(However, of course, they're going to be Web-Programmers, then they should be taught Java-Script in conjunction with HTML, followed by PHP and beyond.)


Truly, spoken like someone who's never used a lambda in their life.

I still fail to see the usefulness of placing object-orientedness on such a pedastel. Sure, it has advantages in architecting large intricate systems where you need certain kinds of modularity. Why on earth push it on beginners, who, universally, aren't writing such programs?

RE practicality, I think it's important to keep in mind the goals of your introductory course. If you want to produce someone capable of working as a low-grade code writer in industry ASAP, then perhaps you want to start off with a language they'll use. But in a university setting, where you've got 3-4 years between your class and graduation, there's no need to. Presumably, your CS program will expose them to enough languages by the end of it that the original language's particulars will be irrelevant, so you should pick something that will get them started on the best foot, and not necessarily something with the most usefulness down the road.
The same as the old Meteorswarm, now with fewer posts!
User avatar
Meteorswarm
 
Posts: 980
Joined: Sun Dec 27, 2009 12:28 am UTC
Location: Ithaca, NY

Re: Is Java is a bad language for beginners?

Postby lalop » Fri Nov 25, 2011 12:10 pm UTC

I've been thinking "where does clojure fall into this?" which may be bit of a rushed question since clojure is still in development, but it seems to me clojure has the capacity to become the most popular lisp (JVM compatibility + libraries make all the difference in the world). The issue however, is that it seems to be a pain in the ass to learn, what with all the Java details. But, given that a lisp is something that schools should teach, clojure seems to be something you shouldn't miss out on.
lalop
 
Posts: 120
Joined: Mon May 23, 2011 5:29 pm UTC

Re: Is Java is a bad language for beginners?

Postby EvanED » Fri Nov 25, 2011 1:22 pm UTC

lalop wrote:I've been thinking "where does clojure fall into this?" which may be bit of a rushed question since clojure is still in development, but it seems to me clojure has the capacity to become the most popular lisp (JVM compatibility + libraries make all the difference in the world). The issue however, is that it seems to be a pain in the ass to learn, what with all the Java details. But, given that a lisp is something that schools should teach, clojure seems to be something you shouldn't miss out on.

Clojure has a ton of good stuff going for it; it's already easily my favorite Lisp as a whole.

To be fair however, JVM compatibility isn't completely new; SISC is an implementation of Scheme that runs on the JVM and has coherent integration with Java. (It's not quite as nice as Clojure -- e.g. there are still separate Scheme types and Java types in SISC.)

However, I'm not sure what you mean by it's obnoxious to learn with all the Java details; I mean, if you're talking about teaching a language in a class, you don't have to do that at all, at least for quite a while. You can treat it as just a Lisp from a pedagogical perspective. This is especially true in a class setting, where the instructor can write wrappers if there is a Java library they want to bring into the class. If anything, I'd say that the biggest impediment to learning is that for some reason I find using the Clojure documentation to be about as easy as trying to take out a bad guy at 100 meters with a staple gun after spinning around in circles. (I just got done watching maybe 30 minutes of Zero Punctuation... I think I might be channeling a little Yahtzee in that comparison.)
EvanED
 
Posts: 3766
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI

Re: Is Java is a bad language for beginners?

Postby Servant-of_Christ » Fri Apr 13, 2012 10:12 pm UTC

Our high school offers Java as it's only language, in AP comp. sci. I will be taking it next year. so far my expierience with coding is:
a little HTML (the old HTML, not really a programming language, but it's where I started)
some BASIC(I think) for batch files in windows
my TI-92
Am i prepared for java?
Servant-of_Christ
 
Posts: 14
Joined: Wed Mar 14, 2012 10:55 pm UTC

Re: Is Java is a bad language for beginners?

Postby Yakk » Sat Apr 14, 2012 2:40 am UTC

Asking if you are ready for Java is like asking if you are ready to read a book. I do not know what is in the book - It could be see Dick run' or it could be War and peace - and I do not know what material you will be taught in Java.

But probably yes. An intro course is an intro course. You might fail but little in your level of prep will allow us to determine if you will grok programming or not.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
User avatar
Yakk
 
Posts: 10039
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Is Java is a bad language for beginners?

Postby Meem1029 » Sat Apr 14, 2012 3:48 am UTC

An intro to programming class should focus on teaching you programming using Java as a tool, not teaching you Java. This is also true for the AP test. I have a friend who took the AP CS test and now a year later is still taking the class he could have tested out of since he says he doesn't know Java and never really learned it for the test.
cjmcjmcjmcjm wrote:If it can't be done in an 80x24 terminal, it's not worth doing
Meem1029
 
Posts: 377
Joined: Wed Jul 21, 2010 1:11 am UTC

Re: Is Java is a bad language for beginners?

Postby freeTheInfo » Fri May 04, 2012 3:28 pm UTC

I took an intro CS class in Java at college, and I hated every minute of it.

For one thing, we were forced into using Eclipse.
This meant that it was a monumental effort to debug even the simplest of errors, and that it took a good minute to get going on a project.
Our assignments typically gave us source code which pulled all the data and stuff out of files, because all of the TA's time would have been consumed with dealing with errors popping up from that otherwise.

And you are required to use an enormous amount of unnecessary class abstractions to do anything useful.

But I still managed to get 95's on all the Exams, so there is that.

I also learned Python at the same time for work, doing Django dev work at the Chemistry department. There was a night and day difference. I see no reason why we didn't teach in Python. The only result of teaching in Java was to ensure inexperienced but hopeful kids who wanted to learn CS decided on another major, and kids who already knew programming got annoyed.
freeTheInfo
 
Posts: 4
Joined: Fri May 04, 2012 2:26 pm UTC

Re: Is Java is a bad language for beginners?

Postby cjmcjmcjmcjm » Sat May 05, 2012 8:58 pm UTC

freeTheInfo wrote:I took an intro CS class in Java at college, and I hated every minute of it.

For one thing, we were forced into using Eclipse.
This meant that it was a monumental effort to debug even the simplest of errors, and that it took a good minute to get going on a project.
Our assignments typically gave us source code which pulled all the data and stuff out of files, because all of the TA's time would have been consumed with dealing with errors popping up from that otherwise.

And you are required to use an enormous amount of unnecessary class abstractions to do anything useful.

But I still managed to get 95's on all the Exams, so there is that.

I also learned Python at the same time for work, doing Django dev work at the Chemistry department. There was a night and day difference. I see no reason why we didn't teach in Python. The only result of teaching in Java was to ensure inexperienced but hopeful kids who wanted to learn CS decided on another major, and kids who already knew programming got annoyed.

I do understand the part about giving pre-written file loading code. It's not like people actually sanitize their files in real life.
frezik wrote:Anti-photons move at the speed of dark

DemonDeluxe wrote:Paying to have laws written that allow you to do what you want, is a lot cheaper than paying off the judge every time you want to get away with something shady.
User avatar
cjmcjmcjmcjm
 
Posts: 1008
Joined: Tue Jan 05, 2010 5:15 am UTC
Location: Anywhere the internet is strong

Re: Is Java is a bad language for beginners?

Postby Derek » Tue May 08, 2012 2:32 pm UTC

freeTheInfo wrote:For one thing, we were forced into using Eclipse.
This meant that it was a monumental effort to debug even the simplest of errors,

How so? My experience with Eclipse is limited, but from what I've seen the debugger is pretty good. Certainly much better than just using jdb. What do you suggest as a better debugger?
Derek
 
Posts: 965
Joined: Wed Aug 18, 2010 4:15 am UTC

Re: Is Java is a bad language for beginners?

Postby sam_i_am » Thu Jul 19, 2012 1:30 am UTC

When I was taking java in class, we used emacs(and i personally started using gedit instead), and compiled with the command line. By the time I graduated however, that same class was using Eclipse.
User avatar
sam_i_am
 
Posts: 531
Joined: Mon Jun 18, 2012 3:38 pm UTC
Location: Urbana, Illinois, USA

Re: Is Java is a bad language for beginners?

Postby Pingouin7 » Tue Sep 25, 2012 4:45 pm UTC

My progression went:

C
C#

Used Dev-C++ for C and command-line compiling with csc for C# before moving on to Visual Studio.
Dason wrote:
Kewangji wrote:I confess I am actually scared of peanuts, and tend to avoid them, given how lethal they are to some people. Those t-shirts seem a bit obnoxious though.

I'm not. I do my part in the fight against peanuts by destroying them with my powerful teeth. Take that peanut! How does being digested feel!?
Pingouin7
 
Posts: 62
Joined: Thu Oct 27, 2011 4:50 pm UTC
Location: [insert location here]

Re: Is Java is a bad language for beginners?

Postby tkbx » Wed Sep 26, 2012 12:24 am UTC

Java is a bad language altogether. Were it not so cross-compatible, whitespace and brainfuck would be better.
tkbx
 
Posts: 0
Joined: Wed Sep 26, 2012 12:22 am UTC

Re: Is Java is a bad language for beginners?

Postby Trasvi » Sun Sep 30, 2012 7:52 am UTC

tkbx wrote:Java is a bad language altogether. Were it not so cross-compatible, whitespace and brainfuck would be better.


Some mighty strong feelings there. Care to explain?
Trasvi
 
Posts: 271
Joined: Thu Feb 17, 2011 12:11 pm UTC

Previous

Return to Religious Wars

Who is online

Users browsing this forum: Bakstoola, ingdu50A and 4 guests