PDA

View Full Version : What Language is in Demand?


Emancipated
Sep 28th, 2005, 03:03 PM
I briefly spoke with someone who was in charge of a department about getting a programming job and he asked if I knew Java. Java was all he muttered and cared about.

What's the new holy grail in programming these days? Nothing too speicalized like SAP or ORACLE, but in the general sense where its homogeneous nature can be advantageous in many facets. Should I brush up on Java (J2EE) or .NET? Is Java still king of the hill?

"write once, debug everywhere" which of the two does this statement apply to most?

Emancipated
Sep 28th, 2005, 03:25 PM
Where's the programming love?

;)

sleepyguy
Sep 28th, 2005, 03:36 PM
I can't stand programming but I quite a few programmers... these are the order that I think most of them know...

- JAVA
- Access / SQL
- Oracle

itsmypostoffice
Sep 28th, 2005, 03:38 PM
programming's very focused so you might want to mention which industry you're working in. for example perle is always useful but you're competing with tonnes of skilled workers. on the other hand, SAS is quite out dated in several industries (and even universities) but it's highly sought after for core applications/industries and remains a viable career skill to build upon. would i retrain my sas skills? unlikely. but i know when i need a qualified programmer it's going to cost me a lot more than someone with java/perle qualifications.

Jucius Maximus
Sep 28th, 2005, 04:24 PM
I just came back from a big career fair in Waterloo and the #1 programming language they asked about was Java. Second place was a tie between C and C++.

Menace
Sep 28th, 2005, 04:41 PM
The language of love ;)


C C++ is always popular.

George W. Bush
Sep 28th, 2005, 04:41 PM
For web - PHP, mySQL.

JEDI-MASTER
Sep 28th, 2005, 04:41 PM
JAVA is #1 and according to my prof. it will replace C/C++ in the future. JAVA is portable and more reliable than C/C++.

B0000rt
Sep 28th, 2005, 05:34 PM
JAVA is #1 and according to my prof. it will replace C/C++ in the future. JAVA is portable and more reliable than C/C++.
That's what they said about C for Cobol. Java has ONLY gotten Multiple Inheritence in the last version, of while, Eiffel designed by our father, Bertrand Mayer, has had it from the beginning. Sure you can argue that C++ has had it, but face it, who wants to deal with C++'s implementation of Multiple Inheritence?

Object Oriented Technology, imo is still in it's infancy, sure Java's the one to popularize it, but we shall see new and better OOLs in the future.

I guess I'll try to sum it up, know C down packed. C++ less so, and Java even less so.

I guess that's the order in which I think is necessary for what _I_ plan on doing :D Java's too high level for me :D

temporalillusion
Sep 28th, 2005, 06:24 PM
When I was jobhunting a few months ago Java and .NET were the top two languages people were looking for.

"Write once, debug everywhere" is a bullet on a marketing slide. :D

And as has been said, different industries and products tend to use different things. Oil and Gas in Calgary has lots of Oracle for example.

Programming languages are tools.. To some people, they have a hammer and everything is a nail. To others, they have a toolbox and they know that some tools are better suited to specific tasks than others.

Some of the stuff I'm working on right now I'd hate to do in C++ (or god forbid, C). It'd take me 10x the code and 100x the time.

Other stuff I'm working on I'm forced to use Java; if I could use C I'd love it because I could do so much more (because of the lower level access). But then I'd lose the portability (such as it is).

EDIT: And if there's one area I always feel like I'd like to brush up on and learn more about, it's design and analysis rather than an individual language :)

B0000rt
Sep 28th, 2005, 06:35 PM
EDIT: And if there's one area I always feel like I'd like to brush up on and learn more about, it's design and analysis rather than an individual language :)

That's all they teach us in school nowadays. I sometimes complain that they don't give us enough assignments, go figure! :P

I have a whole frigging class dedicated to Software Engineering Requirements!

toalan
Sep 28th, 2005, 07:16 PM
I have no idea what object oriented is. I do alot of embedded stuff so I do quite a bit of embedded C, for embedded applications C is a chore since many of the C functions have very little utility on a Microcontroller, but people go through amazing lengths to make everything ANSI compliant which make no sense to me. But alas it seems the best languages for almost any embedded architecture is C based, so there is no escaping many of the nonsensical C functions for embedded platforms.

One of the languages that no on talks about but has really gained alot of ground is Matlab. Kinda like C, but faster with matrices and complex mathematical stuff, but much slower in anything else. I know many financial and engineering companies use it, and in every release they add wicked cool stuff. I just learned Neural networks and Fuzzy logic by reading the manual provided with matlab.

With Java I have no idea, I still think the internet is a fad so I will skip Java:)

I am trying to learn visual C++ .Net but it is awfully confusing for me, class this class that, constructor, destructor, I am like WTF I just wanna put the data in a register and do a freakin bitshift.

My opinion based on my own requirements as to what is the most important languages to learn are as follows

-C/C++ (bread an butter language)
-Matlab (I can not live without many of the built in math functions for data manipulation and analysis)
-Visual C++ (Still learning it, the world is "Windows" so every self respecting programmer should know this)
-Java (I will learn it one day as it is good to have in your back pocket when you need it)

The reason I need to learn all these languages is that, I like to dream up cool hardware/software stuff and be able to implement my idea from begining to end. It is so tough to find someone who posses the skills you need that actually has any motivation to lift a finger to help you and themselves.

soymilk
Sep 28th, 2005, 07:21 PM
you programmers are geniuses, a course of C++ two years ago was killing me. :confused:

x86asm
Sep 28th, 2005, 07:25 PM
First of all, I DOUBT Java will replace C. I heard some guy said that his professor told his class that COBOL would rule the programming world around 2000 - 2001. I mean I dont know how much further you can be from the truth lol.

It all depends on what you want to do.

Low-level porgramming (i.e OS, Drivers, Firmware, game consoles) almost exclusively use C/C++ (maybe some assembly)

Application Programming - The .NET has really caught on in this respect. People usually use Visual Basic, C# or Java as mentioned earlier.

Just look around in which section you want to enter and learn the languages that are in demand (look in the job postings and stuff). I myself want to become a hardware engineer but just in case I decide to go into low-level programming. I have picked up C , learned a bit of C++ and learned assembly language for various microprocessors/microcontrollers.

BTW, I am very comfortable Win32 development, just try my SMS emu (link in my sig). It was written in Win32 C and x86 assembly.

ukhan
Sep 28th, 2005, 07:55 PM
C++ is a real complex language. Not a lot of people can say they have mastered it. But once you know alot of C++, you can basically program in any other language easily.....

I myself love the power of C++. Java is too much typing for me....but its much easier than C++

Also another language which I love and is powerful is Perl. Its amazing how much you can do with Regular Expressions. You can do the same thing in one line of Perl that you can do in 10-20 lines in C++...

siriuskao
Sep 28th, 2005, 08:30 PM
For web - PHP, mySQL.
Acutally I've seen very little job posting that ask for php/mysql. It's popular but I think it's among really small companies.

Most job posting I've seen are for Java, C#(ASP.NET), C++, C.

Not to mention different type of jobs, embedded, web app, desktop app.

frogeee
Sep 28th, 2005, 08:31 PM
Lets not forget about .Net (C#, VB.Net, Managed C++)

windwaker
Sep 28th, 2005, 08:40 PM
"I have no idea what object oriented is." - Treat everything as an object which has states & behaviours. Like a car, it is white & moving, etc. Now put those in a class. You have a car object or car base class.

Java isn't JavaScript, and isn't a Web-only language. If you're talking about Java games, it's Java applets: it is slightly different from a window program. Like how you draw stuff.

Java can be used to do front & back ends: the user interface & server program. Or it can be used to do a standalone desktop app like notepad.

The only downside is that it takes a long time to do a decent-looking window in Java.

If you ask me, I'd take C# any day. It's slightly faster than Java. It's like a mix of C++ & Java. MS VS.NET can't be topped. The whole window is done by drag-n-drop. The programmer can focus on programming, rather than UI. The runtime/complier library is free.

I'd say Java & .NET are in demand right now.

temporalillusion
Sep 28th, 2005, 09:56 PM
Java won't replace C or even C++, they fill different roles...

Java too much typing vs. C++?? Java takes like 1/10th the amount of code to accomplish the same task. :D But I agree, if you really get a good grip on C++ most other languages will be easier to pick up. You have to be careful though because there are lots of C programmers who program in C++ but are really just writing C.. and then those programmers pick up Java, write C programs in Java and complain how hard it is to work with.

Things like .NET and Java require a different way of thinking about things; object oriented vs. procedural. C++ straddles the fence because it can go either way.

If I'm writing a client application I'll probably pick C# unless I had to worry about platforms other than Windows.

DON'T pick Java for client apps, Java apps typically suck because the GUI stuff is so, um, "challenging". Java excels on the server however with tons of open source and commercial stuff out there.

.NET is ok on the server but that ties you in to Microsoft (well mostly, there are ways around it but they're commercial) and lots of people don't want to go that way (for various reasons).

Cyber6
Sep 28th, 2005, 11:50 PM
Programming languages are tools.. To some people, they have a hammer and everything is a nail. To others, they have a toolbox and they know that some tools are better suited to specific tasks than others.


Couldn't have said it better... I remember awhile back I was asked to do a simple little macro on perfectscript (don't even ask.. was ages ago for a WordPerfect application)... after 3 days of going crazy I realize that it was just impossible to do this "simple" macro on perfectscript.. with Perl it took less than 100 lines.

I don't believe Java will go away... don't believe the internet is a fad.. and do remember that .NET is the baby jesus of Microsoft.. ;)

Right now if you are a Java developer.. there are 100's of jobs for you... too bad there are 100,100's java developers out there. The number for .Net jobs and developers are more evenly matched...... :D


C.

recordman
Sep 29th, 2005, 12:45 AM
For a while, people have been saying Java will be replacing C/C++. No matter how fast the hardware gets, apps written in C/C++ will be faster than Java. :)

Now imagine if all the apps and background processes in Windows are written in Java. How long will it take Windows to start up? :confused:

My old P3 on Windows 3.1 loads up faster than my new dual Opteron on Windows XP. :mad: Hardware got much faster, but software got more bloated.

ah802
Sep 29th, 2005, 12:53 AM
In truth.... learning the language 'French' will get you a better paid and easier job in the long run.

BoxsterS
Sep 29th, 2005, 12:59 AM
Managed code is the future. Java is currently the #1 language in the world.

temporalillusion
Sep 29th, 2005, 01:04 AM
There's lots of circumstances where modern Java apps can perform on par with and even outperform C++. The whole Java is slow thing went away quite a while ago.

Unless you're talking about desktop apps, then yeah Swing/AWT sucks.

manixc
Sep 29th, 2005, 01:13 AM
C++ and Java are pretty much all you need to know.

recordman
Sep 29th, 2005, 01:49 AM
A bad algorithm in C/C++ will often be slower than a good algorithm in Java. Generally, it's algorithm first and then the language. In those circumstances you mentioned, I'm sure you can redo the bad C/C++ code and have it beat Java.

There's lots of circumstances where modern Java apps can perform on par with and even outperform C++. The whole Java is slow thing went away quite a while ago.

Unless you're talking about desktop apps, then yeah Swing/AWT sucks.

windwaker
Sep 29th, 2005, 09:22 AM
My old P3 on Windows 3.1 loads up faster than my new dual Opteron on Windows XP.

The fastest I could get my 486 to boot 3.1 was less than 10 seconds. My XP boots up in 15 secs. I disable all non-essential services & startup proggies.

Hardware got much faster, but software got more bloated.

True that. That's what MS wants. They're pushing customers to upgrade their PCs every time a new Windows is released.

gman
Sep 29th, 2005, 09:32 AM
A bad algorithm in C/C++ will often be slower than a good algorithm in Java. Generally, it's algorithm first and then the language.

A bad algorithm is always bad. It does not matter what language it is.
Java is not more reliable than C. It is the programmer who can make more mistake in C than in Java. However, Java sucks. There is a lot of thing it can't do or doing in funny way. Java is not mature enough and there are many things they can't replace C. For example, real time. It is still in its infant stage. Thread control is another black box. Yes, Java takes care of it BUT the VM itself is often buggy. You can write a perfect Java program and works but it does not mean it will work perfectly in all platform. Works everywhere is the idea but in real life, not really. At least, not without the help of jni.

TenzoR
Sep 29th, 2005, 09:42 AM
assembly :D

deep
Sep 29th, 2005, 09:47 AM
Cantonese/Mandarin/Hindi.

divx
Sep 29th, 2005, 09:53 AM
Cantonese/Mandarin/Hindi.

you mean english/mandarin, know those 2 and you can speak to most people in the world.

deep
Sep 29th, 2005, 10:03 AM
Yeah, but I'm assuming everyone here manages English....although actually, reading some posts on this board, that is a foolish assumption to make.