Welcome to Gaia! ::

So I took a Java class about a year ago, and I hated Java. I'm taking another one this semester with a different teacher, and I don't dislike it so much now. I actually enjoy it a bit. Does that mean I had a bad professor the first time around? In between I took a C++ class with a professor that explained everything pretty well, so maybe this professor isn't much better, but due to my knowledge of a related language Java seems easier and more fun.

What do you think?
Dudironimis
So I took a Java class about a year ago, and I hated Java. I'm taking another one this semester with a different teacher, and I don't dislike it so much now. I actually enjoy it a bit. Does that mean I had a bad professor the first time around? In between I took a C++ class with a professor that explained everything pretty well, so maybe this professor isn't much better, but due to my knowledge of a related language Java seems easier and more fun.

What do you think?
A lot of people don't like Java when they take their first whack at it. It could be the professor, or it could be preconceived notions you had from things said about Java 10 years ago when it sucked even more. You can probably still find courses that base their coursework on Java 1.0 or 1.1.
29582351c3
Dudironimis
So I took a Java class about a year ago, and I hated Java. I'm taking another one this semester with a different teacher, and I don't dislike it so much now. I actually enjoy it a bit. Does that mean I had a bad professor the first time around? In between I took a C++ class with a professor that explained everything pretty well, so maybe this professor isn't much better, but due to my knowledge of a related language Java seems easier and more fun.

What do you think?
A lot of people don't like Java when they take their first whack at it. It could be the professor, or it could be preconceived notions you had from things said about Java 10 years ago when it sucked even more. You can probably still find courses that base their coursework on Java 1.0 or 1.1.

I had no idea Java had a bad rap before, so it wasn't that. I think my professor was just kind of crappy. For Scanner he said "put Scanner keyboard = ....." He never explained that keyboard was a variable and that you could put anything you wanted, and other things like that.
Dudironimis
29582351c3
Dudironimis
So I took a Java class about a year ago, and I hated Java. I'm taking another one this semester with a different teacher, and I don't dislike it so much now. I actually enjoy it a bit. Does that mean I had a bad professor the first time around? In between I took a C++ class with a professor that explained everything pretty well, so maybe this professor isn't much better, but due to my knowledge of a related language Java seems easier and more fun.

What do you think?
A lot of people don't like Java when they take their first whack at it. It could be the professor, or it could be preconceived notions you had from things said about Java 10 years ago when it sucked even more. You can probably still find courses that base their coursework on Java 1.0 or 1.1.

I had no idea Java had a bad rap before, so it wasn't that. I think my professor was just kind of crappy. For Scanner he said "put Scanner keyboard = ....." He never explained that keyboard was a variable and that you could put anything you wanted, and other things like that.
That might do it. Probably makes homework easy for him to check though. Ha ha ha.
Lanackse-Kanvae's avatar
  • 200
  • 100
  • 200
The teacher can make a huge difference to one's learning experience. Teaching and programming are completely different skill sets and don't always meet in a person.

Waiting for Sitwon to come and bring his extensive library and knowledge but I can recommend the following book if you want to give Java another crack without bad teachers:

Name: Java In A Nutshell
Covers: Java 5.0
Author: Flanagan
Publisher: O'Reilly (they have a very good track record on their books as I have another of theirs which is also damned thorough)
ISBN: 978-0-596-00773-7

Oh yeah the cover of Java In A Nutshell also has a tiger on it that looks like it took far too much of the other kind of Java.

Sorry if I come off as a bit of an O'Reilly fangirl. sweatdrop
Sitwon's avatar
  • 50
  • 100
  • 150
You'll have to step away from thinking about Java as being in any way similar to C++. This is where most professors get it wrong, they teach Java through the C++ world view.

The best book I've found is Just Java 2, which actually teaches not just how to programming in Java, but how to think in Java. It teaches you Java from the Java world view, allowing you to appreciate the design choices and understand how to apply Java properly in different situations.
Sitwon
You'll have to step away from thinking about Java as being in any way similar to C++. This is where most professors get it wrong, they teach Java through the C++ world view.

The best book I've found is Just Java 2, which actually teaches not just how to programming in Java, but how to think in Java. It teaches you Java from the Java world view, allowing you to appreciate the design choices and understand how to apply Java properly in different situations.

I saw that in the book list thread and picked up a copy. I figured I was gonna stop taking computer classes at a CC this semester and just read some books about it. Most these professors suck and tell us to get crap books. Plus it's all online so all we do is read the book then do the assignment. Why not do it with a better book if that's what I'm doing anyway?

As far as the C++ thing, he doesn't teach it like C++, but there are things I now understand, like keyboard being a variable. I probably wouldn't have understood that if I didn't take C++ first...well before this time around anyway.
Dudironimis
So I took a Java class about a year ago, and I hated Java. I'm taking another one this semester with a different teacher, and I don't dislike it so much now. I actually enjoy it a bit. Does that mean I had a bad professor the first time around? In between I took a C++ class with a professor that explained everything pretty well, so maybe this professor isn't much better, but due to my knowledge of a related language Java seems easier and more fun.

What do you think?


While high level languages are great and help with developer productivity, in my opinion it's a horrible idea to teach people higher level languages first.

- Start with Assembly (it doesn't have to be x86, there are simplified archs designed for education that only run in a VM).

- Then learn the basics of C (esp. pointer arithmetic!) and how C is converted to Assembly.

- Then learn the basics of C++ (esp. classes) and how they are implemented as essentially syntax sugar.

Then, and only then, should people learn about higher level languages. Otherwise people get stuck with misconceptions which can take a long time to unlearn.

It's also important to learn the basics of how a garbage collector works. Perhaps this should be taught in C++ first.

Of course, you don't need to use Assembly to program in Java but the understanding of how your toolchain works is invaluable.

After this I would highly recommend learning even higher level languages (F# or Haskell or some equivalent). Even if you don't use these commonly, your experience will change how you program in languages like Java.

It seems like your C++ class has helped you unlearn your misconceptions.
Lanackse-Kanvae's avatar
  • 200
  • 100
  • 200
I would say that learning the basics of programming is more important then learning Assembly. Things such as:

How to plan a program effectively.
Comment, comment, comment your programs.
How to name your variables properly (it sucks how many people I've seen that name their variables as something completely ******** up and wonder why no one will touch the project with a 10' pole).
The differences between global variables and the non-global variables (s**t that term always escapes me).
Structure types.
Parents, inheritors, and classes.
Re-using code.

There's probably more to cover but yeah....
Lanackse-Kanvae
The differences between global variables and the non-global variables (s**t that term always escapes me).
Local variables?
The20
Lanackse-Kanvae
The differences between global variables and the non-global variables (s**t that term always escapes me).
Local variables?
Variables that can only be called inside the class they were created in rather than ones that can be called from anywhere.. I think that's what she meant.. Also I probably got that wrong too...
Final Fantasy Bandit
The20
Lanackse-Kanvae
The differences between global variables and the non-global variables (s**t that term always escapes me).
Local variables?
Variables that can only be called inside the class they were created in rather than ones that can be called from anywhere.. I think that's what she meant.. Also I probably got that wrong too...
So, class variables and instance variables (or private versus public)?
Lanackse-Kanvae

How to name your variables properly (it sucks how many people I've seen that name their variables.

OMG I was looking at some of the other students programs and they used i, j, x,y,z, and w for every variable they had. Is it so hard to put "avg" for average? IT'S TWO EXTRA CHARACTERS!
Dudironimis
Lanackse-Kanvae

How to name your variables properly (it sucks how many people I've seen that name their variables.

OMG I was looking at some of the other students programs and they used i, j, x,y,z, and w for every variable they had. Is it so hard to put "avg" for average? IT'S TWO EXTRA CHARACTERS!
Sadly, this is all too common. Many people go on to get jobs programming and continue to write code like that, only to cause maintenance nightmares.

It's half the reason good programmers are paid as well as they are.

Quick Reply

Submit
Manage Your Items
Other Stuff
Get Items
Get Gaia Cash
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff