LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices


Reply
  Search this Thread
Old 01-17-2009, 05:49 PM   #1
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware14.2 64-Bit Desktop, Devuan 2.0 ASCII Toshiba Satellite Notebook
Posts: 3,079

Rep: Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913
Red face Rant: Java java java.....


So this Friday I finally signed up for courses at uni. after whittling the semesters at a community college getting as much of my core out of the way, (because it's cheaper). I've been going around unis. checking out CS (counter science) programs that are offered. Not really much difference, all require physics, maths, etc. But what really hit me as a surprise, is that they all seem to favor only java now. (This is at UNT (University of North Texas)).


This really confused and rather annoyed me. Annoyed because I have reservations about java. Nevermind that it is derived from C, and so it coding isn't too different, but just how java works, and my preference with C/C++, I could never warm up to java. So then I asked one of the advisors that was helping me sign up for courses, if there would be any C/C++ courses taught. "No, only java."

Is this really a good idea? I mean I know that java is in demand, but if you are learning to be a software programmer, particularly in designing OSs, you won't be coding in java! And there are courses about OS theory and such. Yet there are no actually C/C++ , hell not even assembly, (not that I want to take that kind of course).


When I was also touring a different university (University of Texas Dallas (UTD)), same thing. Only java!


To me this is rather absurd; and from what I found out, it is because high schools (at least here in TX), seem to be emphasizing java, and not paying attention to C/C++ anymore. I'm not saying that there shouldn't be java, but what kind of CS major program is this, where only Java is looked at, and C/C++ is not even given a glance, or mention?


Maybe I should complain to the Dean or something...
 
Old 01-17-2009, 07:13 PM   #2
Mega Man X
LQ Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 65
Well, it could be worse, it could have been C#/.NET only, pretty much locking you into Windows* .

Another thing good with Java is, as I see it, lots of people I know develop in Windows, Mac or Linux. I suppose a lot of students would need to use the same architecture to put everything taught in a C++ class into practice. What I mean is, very rarely you will get Linux code written to compile with gcc to compile in Visual C++ without changing the code. That is much less likely to happen with Java. While Windows still dominates on desktop and casual users, I really noticed a lot of developers and students going Mac or Linux, so portability for the students is very important.

And as you mentioned, there is also a larger demand for Java programmers these days**, compared to C++. I read newspapers daily, since I want to find another job and I rarely see anyone recruiting C++ programmers. It's always Java, C# and PHP. So if you look at it that way, it is a better deal for the student as well, increasing the possibilities to get a job right after, or even during, the course.

Besides, it is not that difficult for a Java programmer to learn Java or the other way around. In fact, what separates one language from another is most likely the syntax anyway. The way you approach problem solving is very similar, regardless the language you program with.

Personally, I think Java is the best language you can learn: Well documented, mature, open source, plenty of tools (mostly free and open source as well, like Eclipse and Netbeans), widely used, very portable, arguably easier to learn than C++, higher demand for Java programmers than C++ (read: more possibilities to get a job) and above all else, it teaches you how to think OOP, which is important today with applications getting bigger and bigger (read: I don't mean applications getting bloated. I can explain this if necessary).

* There is mono and DotGNU, for example, but it is still not good for production, in my humble opinion.
** May vary from one region to another.

Last edited by Mega Man X; 01-17-2009 at 07:15 PM.
 
Old 01-17-2009, 07:13 PM   #3
jhwilliams
Senior Member
 
Registered: Apr 2007
Location: Portland, OR
Distribution: Debian, Android, LFS
Posts: 1,168

Rep: Reputation: 211Reputation: 211Reputation: 211
I see this switch as having occurred in 2004. High school CS courses moved to Java because the AP exam had, and colleges moved to Java because the high schoolers knew Java. These are symptoms of a deeper shift in industry. Java application development costs less, as it is easier to learn and many wheels have already been invented. You will do well to learn Java as there are many, many, jobs available in Java technologies.

From an academic standpoint, one has to decide whether it is better to acquire useful skills that will make them more employable, or to come to a better understanding of the discipline, which may or may not be even more useful. I whole heartedly agree that learning C is of pinnacle importance to a computer scientist as most languages were largely (if not wholly) inspired by it.

There are practically no jobs writing operating systems in comparison to jobs writing applications; do not deceive yourself. My advice would be to run with Java in school, learn it thoroughly, and develop C in your own time. Hey, Java sucks, but so do a lot of things. The good news is that people at Linux Forums like C.

I have no comments on C++ at this time.

Last edited by jhwilliams; 01-17-2009 at 07:16 PM.
 
Old 01-17-2009, 07:31 PM   #4
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware14.2 64-Bit Desktop, Devuan 2.0 ASCII Toshiba Satellite Notebook
Posts: 3,079

Original Poster
Rep: Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913
Quote:
Originally Posted by Mega Man X

Well, it could be worse, it could have been C#/.NET only, pretty much locking you into Windows*
Thats true, and your comment has already reminded me of the nightmares of C# (), since I did also take a C# course, bleh!!

I guess it also comes down to the reason I hate this language is it's IDE. You mentioned Eclipse, and maybe I will have a go at that as a Java IDE. I'm sorry but NetBeans is just horrid. The amount of memory alone it takes up, even without loading or starting a project is atrocious, (and people complain about Visual Studio!?). Of course this was ~3 years ago, I haven't revisited NetBeans to see if it's memory usage has been improved. All I know is 200MB+ and not having any projects running or loaded, is just a mystery to me. Even VS didn't take that much resources.

Don't get me wrong, I hate Visual Studio as well, only because of it's entanglement with this .NET rubbish. Visual Studio was actually a fine IDE (yes, you read right, I did think quite highly of VS), but that was the days of pre-.NET. Visual Studio 8 was actually a gem, for me anyways.

Maybe Sun's Studio has it's own Java IDE? Hopefully not NetBeans.

It is true that Java is derived from C, as well is everything else, so that makes it easier. It's just it's quirkyness and its heavy use of classes never caught onto me.

The only reason why I comment on C++ more, is that was what I started learning first.
 
Old 01-18-2009, 07:55 AM   #5
easuter
Member
 
Registered: Dec 2005
Location: Portugal
Distribution: Slackware64 13.0, Slackware64 13.1
Posts: 538

Rep: Reputation: 62
Quote:
Is this really a good idea? I mean I know that java is in demand, but if you are learning to be a software programmer, particularly in designing OSs, you won't be coding in java! And there are courses about OS theory and such. Yet there are no actually C/C++ , hell not even assembly, (not that I want to take that kind of course).
Wow, ONLY Java in the entire course is weird. I thought my university was going a bit overboard with Java by using it in all the introductory programming/algorithms subjects (Programming I and II, Data Structures I). But we still work with other languages: Assembly (MIPS) in the Computer Architecture classes; C/C++ in the OS, Networks and Data Structures II classes; Prolog and Haskell for some other subjects I dont have yet.
Not to mention we have a "class" where we are given a project to build over the length of a semester, and we can implement it in any language we chose.

You might find this article interesting (I whole heartedly agree with it):

http://www.stsc.hill.af.mil/CrossTal...Schonberg.html

Java certainly has its place, but I cant see why so many Colleges are trying to turn it into a "one language to rule them all": it certainly doesnt have the "clout" to hold that position.
 
Old 01-18-2009, 09:08 AM   #6
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by Jeebizz View Post
Is this really a good idea? I mean I know that java is in demand, but if you are learning to be a software programmer, particularly in designing OSs, you won't be coding in java! And there are courses about OS theory and such. Yet there are no actually C/C++ , hell not even assembly, (not that I want to take that kind of course).
Java could have be picked because it has certain advantages over C/C++. Think about it: you can create application without worrying about underlying operating system, you can embed your applications into web pages, and you already have standard gui toolkit. You are saved from deployment nightmares, selecting "right" gui toolkit with right license, worrying about cross-platform issues, and so on. So basically, they could pick java because with it it will be easier to start earning money quickly (in reality, though, this decision will only overflow market with java programmers, so their salaries will decrease, so teaching only java is probably stupid idea). And about OS programming: not many people are going to program OS. I think (just a guess, not supported by facts) that there will be more demand for flashy gui applications, and anything that is somehow related to web.
 
Old 01-18-2009, 02:24 PM   #7
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware14.2 64-Bit Desktop, Devuan 2.0 ASCII Toshiba Satellite Notebook
Posts: 3,079

Original Poster
Rep: Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913Reputation: 913
Quote:
Originally Posted by ErV

Java could have be picked because it has certain advantages over C/C++. Think about it: you can create application without worrying about underlying operating system, you can embed your applications into web pages, and you already have standard gui toolkit.
And it will run rather slow, and the swing interface is rather mediocre as far as I'm concerned.

Quote:
Originally Posted by ErV

So basically, they could pick java because with it it will be easier to start earning money quickly (in reality, though, this decision will only overflow market with java programmers, so their salaries will decrease, so teaching only java is probably stupid idea).
Thats how I feel. Don't get me wrong, I will take the class and learn java, but the fact that there are NO C/C++ courses ANYMORE AT ALL, is just absurd to me. I don't like how colleges follow trends. Its ok to kinda keep up with them, I mean by offersing java courses, but you're right. Once x amount of graduate come out knowing only java, demand will shrink again. Then what happens when the job market needs system engineers, and REAL software programmers (I say real, because I just can't consider Java as a REAL application in my opinion). There won't be any, because all they know now is java. Having java in the education system is fine, but it should not be a replacement. Fundamental programming langauges like C, and C++ are there for a reason.

As I said before. I don't see computer operating systems written in java, or actual standard applications like word processors, or whatever written in java, and if there are some, I don't want to know about it.
 
Old 01-20-2009, 11:37 AM   #8
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184Reputation: 3184
Aside from the fact that, "when I went to school, high schools taught typing..." ... ... there's always the consideration, from the instruction-designer's point of view, of what languages are easiest to teach, and most likely to foster good program design practices among fairly-inexperienced students.

It's definitely easier to teach Java because it isn't computer-dependent. Students who are using Macintoshes, Windows boxes, or Linux boxes can all do their stuff in the same environment, albeit on entirely-different computers.

It's relevant to teach Java because a great many computer applications these days don't particularly have to worry about execution speed: there is more-than-enough CPU power available to throw at any problem. "C/C++" are important, say, for implementing a Java Runtime Environment, but you don't have to spend a lot of time these days writing new programs in them. (Remember that instructors at this level are focusing on "the writing of new software," not "maintenance." You have to set the scope of the course somewhere...)

There isn't time in many cases to provide a lot of breadth and a lot of depth. It could therefore be argued (and has been argued in many a teacher's meeting...) that "depth is more-important here." Those students who are really good at it will branch-out into all sorts of other languages anyway. The middle-of-the-road folks who learn more slowly will get more on-the-job payback from depth. They'll have been exposed to more concepts that they can subsequently apply to whatever they are now seeing on-the-job at their job.

So, take the courses as they're offered. I'm sure that you will be one of the ones who branches-out on your own to lots of other things. (Be considerate and don't "rant.")

In a couple of years, when you are finished, definitely give the instructors and the department some feedback ... positive or negative. They will appreciate it.

Last edited by sundialsvcs; 01-20-2009 at 11:46 AM.
 
Old 01-20-2009, 01:47 PM   #9
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by Jeebizz View Post
And it will run rather slow, and the swing interface is rather mediocre as far as I'm concerned.
As far as I know, Qt/Trolltech offers java libraries right now.
Demo is available here. It seems to be a tiny bit slower than C++ version, but otherwise it looks pretty nice.

Quote:
Originally Posted by Jeebizz View Post
(I say real, because I just can't consider Java as a REAL application in my opinion).
You know, there are eclipse, azeurus, jedit, jin, etc... All looks real enough to me. There are even two 3D games written in java: il2-sturmovik (some claim it is best/most realistic flight simulator ever made) and chrome 3d action game. So they are real applications. Also check stuff on Ken Perlin's homepage.

Last edited by ErV; 01-20-2009 at 02:02 PM.
 
Old 01-20-2009, 01:49 PM   #10
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292
The switch came right after I finished my CS courses in high school. Us students got to keep all the crappy, torn, soiled C++ books because the very next year they were all switching to java. At that point I kinda felt sorry for those that would come after me ... actually my brother took java, and he hated it (too), and he never got anything out of it. I can still remember how to program in C++, although I usually don't use the OOP part so I instead opt for using C. My brother has been pushed away from programming perhaps forever ...

[RANT]

Since this is a rant, let me add that I hate java. Programs written in java are almost always bloated, slow, resource hogs, unstable, and buggy. Some would say to me, it isn't java's fault, it's the programmers who make crappy programs using java. Really ? Then there must be a s***load of bad java programmers out there, because I have yet to find a java program that uses a reasonable amount of memory, that is not buggy, and that is fast. I have never seen a single java program ever written that does anything useful and that meets these requirements. I now avoid java programs like the plague, if it's written in java, I don't use it, because I'm 99.9 % sure it will suck, just from all the past experiences I've had with these programs. Every single time I've installed a program written in java, I uninstalled it within 5-10 minutes of install, because it sucked so badly. Seriously, WTF ?! How can it be that bad ?! It's not that I want to blame java or the programmers, it's not that I want it to suck, it's that it SUCKS ! Any way you look at java, it SUCKS !

There you go my rant is over.

Last edited by H_TeXMeX_H; 01-20-2009 at 01:50 PM.
 
Old 01-20-2009, 01:53 PM   #11
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by H_TeXMeX_H View Post
Any way you look at java, it SUCKS !
You are completely wrong here. I mentioned few nice applications in previous post, by the way.
 
Old 01-20-2009, 02:07 PM   #12
schneidz
LQ Guru
 
Registered: May 2005
Location: boston, usa
Distribution: fedora-30
Posts: 5,289

Rep: Reputation: 916Reputation: 916Reputation: 916Reputation: 916Reputation: 916Reputation: 916Reputation: 916Reputation: 916
i went to engineering school and there is 1 into course in c.

but other courses like microprocessors, and assembly/ machine language use c.

i had a minor in cs and most of my classes were in c++ but my last year my oop course was taught in java and the pre-req's got new books focusing in java.

Last edited by schneidz; 01-20-2009 at 02:09 PM.
 
Old 01-20-2009, 02:23 PM   #13
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292Reputation: 1292
Quote:
Originally Posted by ErV View Post
You are completely wrong here. I mentioned few nice applications in previous post, by the way.
Well, sure you can say that, you can believe that ... but my experience says otherwise, that's all. What about the memory usage of these programs, have you checked ? Last time I checked, a simple, rather crappy 3D java game used approximately 400 MB or RAM. No kidding. That's what I call efficiency.
 
Old 01-20-2009, 02:32 PM   #14
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by H_TeXMeX_H View Post
Well, sure you can say that, you can believe that ... but my experience says otherwise, that's all. What about the memory usage of these programs, have you checked ? Last time I checked, a simple, rather crappy 3D java game used approximately 400 MB or RAM. No kidding. That's what I call efficiency.
Modern crappy games normally use gigabytes of RAM, and it doesn't really matter what language they use.
And if application is a resource hog, the first one to blame is programmer, not language. People that created IL2 wrote articles about improving performance, by the way.

Last edited by ErV; 01-20-2009 at 03:17 PM.
 
Old 01-20-2009, 03:13 PM   #15
jay73
LQ Guru
 
Registered: Nov 2006
Location: Belgium
Distribution: Ubuntu 11.04, Debian testing
Posts: 5,019

Rep: Reputation: 132Reputation: 132
Quote:
That's what I call efficiency.
No, that is what I call not knowing what you are talking about. The JVM behaves pretty much like an OS inside your OS. This means that "memory usage" is to be taken with a serious pinch of salt as most of it is just reserved or cached and will be released immediately if the real operating system needs it. Not to mention that maximum memory usage can be specified - and many java applications will base this limit on the amount of physical RAM; the more you have,the higher the limit. And I have not mentioned the JLWGL libraries yet, JGC fine-tuning, GCJ, etc.

Last edited by jay73; 01-20-2009 at 03:17 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
What do you think about Java as an academic language? (WARNING: rant) vxc69 General 37 02-01-2018 08:11 AM
Java plugin installed correctly for Firefox but not able to view any java applet tvn Linux - Software 10 04-15-2010 03:13 AM
Ubuntu 7.10 64bit - how to set java path to/redirect java to libjvm.so ? Thane Ubuntu 1 03-25-2008 06:52 PM
LXer: Java news met with cautious optimism in free Java community LXer Syndicated Linux News 0 11-14-2006 11:21 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 08:24 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration