LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   General (http://www.linuxquestions.org/questions/general-10/)
-   -   What do you think about Java as an academic language? (WARNING: rant) (http://www.linuxquestions.org/questions/general-10/what-do-you-think-about-java-as-an-academic-language-warning-rant-593125/)

vxc69 10-19-2007 04:39 PM

What do you think about Java as an academic language? (WARNING: rant)
 
This is a bit of a rant, so don't take it too seriously. ;)


I'm now studying java as part of my first year in university. Talk with most of the senior students who do computer science tell me that Java is what we learn mainly throughout.

I'm jumping ahead of myself here so I might sound arrogant when I say this (then again I might only be arrogant because of my ignorance, hence I'm looking for LQ's opinion on it, so cast your pearls of wisdom upon me :) ).

I feel like this isn't a very good university education. I came to learn things much more low level like Assembler/C. Learning Java makes me feel like a corporate stooge who's being trained to use the corporations products, if you get what I mean.

No really, if I wanted to learn how to use Java and it's libraries I'd stay at home, save my money, and learn it online with the help of a good book!!!

End of Rant


vxc
p.s: Don't tell me to get a blog, I've heard that one before! :p

Mega Man X 10-19-2007 05:25 PM

Quote:

Originally Posted by vxc69 (Post 2930096)
No really, if I wanted to learn how to use Java and it's libraries I'd stay at home, save my money, and learn it online with the help of a good book!!!

Doesn't the same apply to C/Assembler as well? Or cooking? Or dancing? Why do we pay to learn anything, really? Unless you need a license to practice some profession (like a doctor or a layer), we are all wasting money. If anything, Java is much, much more used than Assembler and C nowadays, so if you were actually paying to learn assembler, now that would be a waste of money... with Java, you may at least get a job (if that is your goal)

ilikejam 10-19-2007 07:27 PM

I think you may be missing the point a bit. You don't go to Uni to become skilled, you go to become enlightened.

The purpose of University programming courses is not to teach you a language, but to teach you *how* to program, and how to *think* about programming. Teaching this is more efficiently done in high level languages like Java - no messing about with pointer aliasing, memory leaks and endian-ness while you're trying to learn the bigger picture.

Once you know how to program (properly) you should be able to pick up a new language in a matter of weeks, if not days. In my case we went from Ada95 in 1st year (thank the deity of your choice you're not using Ada. Seriously.) to Java and Haskell in 2nd year (pure functional languages bend the mind), to Java and whatever-you-liked in 3rd and 4th year.

Jargon files:
http://www.catb.org/jargon/html/J/Java.html

Dave

lamar_air 10-22-2007 02:52 PM

I agree with the previous post. I too went to university expecting to learn programming languages as well but in fact that's not the point of most university courses. You will learn fundamental concepts and to demonstrate the concepts you use programming languages to excersize them. Programming languages come and go so if you went to university to learn programming languages you could find your education out dated eventually.. not to say however that the concepts won't change.. eventually.

You might be learning a lot of object oriented concepts in your program and that could be one reason you're using Java. Arguably.. Java can be said to be one of the better structured object oriented languages and has an easy to use API so it's good for academic purpuses for that reason.

If you understand the underlying concepts that the programming languages use and are built on then you won't have trouble picking up other languages as you go.

rsashok 10-22-2007 05:36 PM

I think it depends what are you trying to learn. If you doing EE, then generic Assembly and C would make more sense then Java, and you probably learn more about Software-Hardware interaction. But if you study Java as a generic programming language, then it is good as any other of them. Other posters are right, it is more important to understand the concepts of programming rather then concentrate on certain languages.

I don't know where one of the poster took the statistic on more frequent use of Java then C. The whole Linux is written in C, kernel and drivers. And in the embedded word nobody heard about C++, Java, C# ..., it is all plain vanilla C.

turbo_spool 10-22-2007 06:22 PM

I see what you are saying, but it is hard for me to comment since I don't go to your school, at least I am assuming that. :)

Anyway, my first year of college we learned Java. Over the summer, I studied the C programming language with just Kernighan, Ritchie and myself. The point is similar to what has already been mentioned: learn how to program. Picking up languages is easy once you do. However, I don't know about using Java all the way though an undergraduate degree. In my second year I wrote C and Java code. For instance, in an operating systems class I used Java to implement a paging algorithm simulation. We had a choice of languages, Java made it simple, such that I got an A.

Programming languages are a tool, a (good) programmer is the one who knows when to use which tools.

Mega Man X 10-22-2007 06:30 PM

I didn't take any statistic (and I won't) to show that Java is more used than C or assembly because statistics can easily be manipulated to prove anything you want :D.

But, always when I search for jobs as a programmer, they almost always ask for .NET/C#, Java or PHP. The majority of it is for the web, as it is to be expected. Very few ask for C++ and I personally never saw any company around here requesting any sort of knowledge in Assembler/C. Ever. This most likely will be different from where you live, I guess. Well, just take a look at the local newspaper and you will see...

I am not saying that C and Assembler are inferior/superior/easier/harder... all I am saying is market-wise, the need for C/Assembler programmers are far less than Java programmers (again, at least around here).

rsashok 10-22-2007 07:18 PM

I agree statistic might be manipulated, misleading and deceiving, and depend on on who conducts information gathering, but for this particular site please look at:

http://www.linuxquestions.org/questi...nguage-579542/

And give you vote!

Mega Man X 10-22-2007 08:58 PM

Thanks for the link mate. I already voted for Java in that one a long time ago. There are so few options to chose from in that poll which is not even fun.

But that thread is a good example of what I said. Programming languages may vary from one place to another. In a Linux forum, I am sure that Java would rate very low. At least bellow C, C++, Perl, Python and every other single scripting language commonly used in Linux.

Try posting the same question on a Microsoft forum, then the same question on Sun Microsystems forums and we would get quite a different result. But in this site (and every other Linux site), C will dominate, because most know that Linux kernel is written in C, thus the "De facto" option. How many of those that voted for "C" can actually program anything beyond a hello world-type of program is nobody's guess though...

sundialsvcs 10-22-2007 09:00 PM

Quote:

Originally Posted by ilikejam (Post 2930232)
I think you may be missing the point a bit. You don't go to Uni to become skilled, you go to become enlightened.

The purpose of University programming courses is not to teach you a language, but to teach you *how* to program, and how to *think* about programming. Teaching this is more efficiently done in high level languages like Java - no messing about with pointer aliasing, memory leaks and endian-ness while you're trying to learn the bigger picture.

Once you know how to program (properly) you should be able to pick up a new language in a matter of weeks, if not days. In my case we went from Ada95 in 1st year (thank the deity of your choice you're not using Ada. Seriously.) to Java and Haskell in 2nd year (pure functional languages bend the mind), to Java and whatever-you-liked in 3rd and 4th year.

Read carefully what this person is saying! :D

rsashok 10-22-2007 10:34 PM

Quote:

I'm jumping ahead of myself here so I might sound arrogant when I say this (then again I might only be arrogant because of my ignorance, hence I'm looking for LQ's opinion on it, so cast your pearls of wisdom upon me ).
I guess this as the original question, and the link I privided gives a rugh idea who is who in Linux world, at least it summurizes LQ members opinion subject matter. And probably it would be a good idea to see how the language popularity breaks down at Microsoft, Sun, Mac, TI, ARM, MIPS, PowerPC, FreeScale and you name it forums. But we probably already know the answer, aren't we?

Dragineez 10-23-2007 09:23 AM

Only Regionally Useful
 
Knowing the Javanese language would only really be useful in Indonesia. It might be interesting as an intellectual pursuit, but outside of Malaysia wouldn't be any more useful than Latin. Sure it's one of the most populous countries on the planet, but for me at least learning the language would be pointless.

And Haskell? I've never heard of it. A derivative of "Eddy Haskell" speak from "Leave It To Beaver"? You know, like "Hello Mrs. Cleaver! You're looking very lovely today!" - which in Haskell means "Let me distract you from my nefarious plans so I won't get into trouble." Poor dumb Eddy never realized that Mrs. Cleaver was fluent in Haskell.

vxc69 10-23-2007 10:09 AM

Quote:

Originally Posted by Dragineez
Knowing the Javanese language would only really be useful in Indonesia. It might be interesting as an intellectual pursuit, but outside of Malaysia wouldn't be any more useful than Latin. Sure it's one of the most populous countries on the planet, but for me at least learning the language would be pointless.

And Haskell? I've never heard of it. A derivative of "Eddy Haskell" speak from "Leave It To Beaver"? You know, like "Hello Mrs. Cleaver! You're looking very lovely today!" - which in Haskell means "Let me distract you from my nefarious plans so I won't get into trouble." Poor dumb Eddy never realized that Mrs. Cleaver was fluent in Haskell.

LOL!


Now I have the feeling that the majority here are right and I may have been a bit arrogant. I have to learn from scratch the way they teach it, BlueJ and all that jazz, or else I will, like ilikejam said, miss the big picture, regardless of whether it'll be useful or not for everyday programming.


Thanks to all. :)
vxc

Mega Man X 10-23-2007 11:07 AM

They thought me Java at Uni with BlueJ too (before moving to Eclipse). While not a bad program, I thought BlueJ to be a big waste of time. I can see how it "helps" to understand the classes structure through some nice UML-like diagrams. However, I think UML should be thought separately in any OOP courses.

Still, most Java courses start with BlueJ. Give me Eclipse any day :)

mkhan919 10-23-2007 11:42 AM

i don't know about you dude but where i come from (pakistan) at my university you study c++/java combination. and they KILL YOU if you even try using an IDE for java. its all simple JDK and command line. ..lol (well you can use ant though).

And yes OO Analysis and Design is generally a separate course.
Just had to get that off my chest.


All times are GMT -5. The time now is 02:36 AM.