PDA

View Full Version : Why are we taught Java?



iampriteshdesai
January 7th, 2009, 07:02 PM
There are very few Java applications the only one which comes easily to mind is limewire.
They require the JRE to be installed
It isn't as elegant as C/C++.
I have just started learning JAVA and I'm wondering why am I studing it?
The input output statements are so pathetic.

forrestcupp
January 7th, 2009, 07:18 PM
I'm with you, but Java lets you make GUI apps that are standardized for every platform. With C++, you have to figure out which one of a thousand GUI frameworks you're going to use, and everyone is doing something different. Also, it's easier to integrate Java apps/games on the web than a C++ project.

I personally like C++ much more, too. But I have seen a lot more Java apps out there than what you're making it seem.

Kvark
January 7th, 2009, 07:59 PM
Yeah for cross platform desktop applications it's probably better to use C/C++ or Python and use wxWidgets as one GUI that looks native on different platforms or forget about looking native and use GTK or Qt on Windows.

There is a lot more to software than the desktop and workstation though. Many different fields of business need specialized software for what they're doing.

Java is a good language to use on the server side because it is not as messy as PHP, has better performance than PHP and unlike .NET it runs on Linux servers.

I've got the impression Java is also very popular for programming machinery and other hardware devices but my insight into that area is very limited and could be completely wrong.

PS. With any language move away from input/output statements as soon as you're allowed to. Most users want GUI or web based interfaces so get used to making those. Also get used to real debugging methods instead of the horrible habit of using input/output statements for debugging.

igknighted
January 7th, 2009, 07:59 PM
Java teaches you good programming habits, is more straightforward than C/C++, but makes you pay attention to details in ways that languages liek Python don't. Sure it isn't my first choice for my next programming project, but it is a great learning tool.

gnomeuser
January 7th, 2009, 08:11 PM
During my recent trip to college I was also taught Java. In a previous trip to enginnering college I was taught C++ and ASM. I will say that the method they used in the java classes was much more productive. Instead of doing hello world they attacked the problem at a object level then worked their way down to actual code. In use were BlueJ and greenfoot.

Within 7 weeks people learned programming, structuring problems for solving. People with no prior experience in that timeframe learned to program very advanced behavioral patterns (basically the exam was simulating ant colony behavior, seeking out food, leading other ants to the food once found). This approach and effect would not have been possible in a lower level langauge.

That being said those of use who knew programming in advance were all moaning that the course was not being run using C# and .NET as that is a much nicer environment to exist in as a programmer.

andamaru
January 7th, 2009, 08:19 PM
Java is the most popular language used by companies. When you get hired chances are you're going to be coding in Java.

that's what my professors told me, and just by simple observation I do see a lot of Java.

forrestcupp
January 7th, 2009, 09:02 PM
Java is the most popular language used by companies. When you get hired chances are you're going to be coding in Java.

that's what my professors told me, and just by simple observation I do see a lot of Java.

That's not really what I've seen. Everything I've seen is pretty much Visual Basic and C# with .Net, or for web based stuff, ASP and PHP. I guess it depends on what the company does, though.

andamaru
January 7th, 2009, 09:46 PM
That's not really what I've seen. Everything I've seen is pretty much Visual Basic and C# with .Net, or for web based stuff, ASP and PHP. I guess it depends on what the company does, though.

ya, all those languages plus Java is what everyone is using right now

marcelkoopman
January 7th, 2009, 09:55 PM
Java has a lot of advantages:
1) its easy to learn
2) you dont have to worry about memory management directly, see garbage collection
3) it has good multithreading support, try writing multithreaded apps in C++ and see how long that takes you
4) good tooling available like JUnit, profiling, etc...
5) lots of open source frameworks to use like Spring, Struts, etc...

jespdj
January 7th, 2009, 10:32 PM
That's not really what I've seen. Everything I've seen is pretty much Visual Basic and C# with .Net, or for web based stuff, ASP and PHP. I guess it depends on what the company does, though.
Java is one of the most used programming languages in enterprise computer systems. Doing Java projects has been my job for the past nine years.

Most of the software that I write is custom software, for different companies. Sometimes the software has a GUI, but often it doesn't.

Microsoft's stuff is also used a lot, but I think Java is still bigger than .NET.

Java is indeed not used much for end-user desktop applications, but most software that professional programmers write is not end-user desktop applications.

Maheriano
January 7th, 2009, 11:03 PM
From experience I thought the same thing. I had no idea how I was going to get employment just because I can write Java code. But once I got out there and started getting jobs I realized something very important:
University doesn't teach you what you need to know for the working world, they teach you how to learn what you need to know. Because I learned Java and touched on C, I knew how general syntax worked and was able to pick up JSP, PHP, .NET and a pile of other things while on the job within a matter of days. Now I can learn pretty much any language out there within a week or two of messing around with code and a good editor/compiler.

You may even get a job where you have no idea how to program in the language they're using but they'll hire you because you can easily learn it and have the desire to do so. I'm proof!

shadylookin
January 7th, 2009, 11:43 PM
java is easy to learn

teaches good habits

you can write programs quickly

you don't have too fool around with memory management

it's cross platform

supposedly it's used a lot in enterprise development.

forrestcupp
January 8th, 2009, 02:50 AM
University doesn't teach you what you need to know for the working world, they teach you how to learn what you need to know. Because I learned Java and touched on C, I knew how general syntax worked and was able to pick up JSP, PHP, .NET and a pile of other things while on the job within a matter of days. Now I can learn pretty much any language out there within a week or two of messing around with code and a good editor/compiler.

Yeah. The way all these programming languages work is so similar that I wonder why we even have different languages.

jimi_hendrix
January 8th, 2009, 03:02 AM
i dont see a lot of java off of the web...imo its built for guis and to run everywhere natively...other than that its not that great

Frak
January 8th, 2009, 03:28 AM
Java is the defacto language in every place I've applied. If you don't know it, you don't have a job. After that, they want expertise in C/C++ and then Python (weirdly). For web development, they usually want PHP first, HTML second (takes two seconds to learn), Javascript third, Actionscript fourth, and Java last. I'm probably ignoring SQL in there somewhere.