Software > Software

Programming: The best to learn?

(1/4) > >>

Hal9000:
Hi there everyone,

I've not been on the boards recently because i'm on placement.

However, something's been bugging me for ages now

I already know a bit of Java, a bit of C, c++ and Visual basic 2005, as well as Assembly language and some SQL, HTML and otehr stuff

Thing is, I really want to concentrate on one language out of c, c++ and Java to become really good at. I know they are all kinda similar in syntax and that Java and C++ are the ones with OO capabilities, but, you know, it's so hard to know where the markets are going, especially since I am still a student, i'm not sure what job i will be getting. i really want to get into a job where I am constantly learniong about new things, and maybe even a communications/interfacing job of sorts.

I'm thinking c++, but is it more likely that another language will help me get a job? What about certification? Do people normally need Java certification to go into certain places?

pokey:
If your aim is to earn a living at this, perhaps you should hit the job boards like monster and look at the ads for embedded developers. Yes, IT moves fast, but some specializations are rather conservative and tend to stick with languages and tools that have been around for a long time, like C. Besides, if you're good at C, picking up other languages should be easier.

I have just started farting around with this stuff as a hobby and am playing with a TINI board from Imsys. It comes with a JVM and a good set of APIs. It's easy to get stuff working, but I don't imagine there's much commercial demand for embedded Java.

Hal9000:
Cheers for the reply :)

See, I think you have just outlined the two major issues I have.

While I do like embedded systems, there is also the IT sector

Whereas the embedded systems market relies more heavily on C, the IT sector will rely probably on anything BUT C, (right?), since these have object oriented features making them more powerful/easier to build.

From the way I see it,  C is a language which has a lot of depth, C++ i'm told is something it would take a lifetime to get hold of properly, and Java, it would seem, is developed to be easy and powerful.

I believe things are moving forward with Java in a big way, but I am more at home with C for the moment, leading me in this path.

Cheers for the advice, I will look on various websites. I already get the IET magazine though, so I can't be going far wrong lol.

dunk:
hi Hal9000,
while it is always advisable to look at what the job are out there
it also a good idea to think about where there are skill shortages.

i don't know the programming field that well so i will use my own experience as an example.

i started working with computers because it seemed like a nice indoor job with no heavy lifting to pass the winter months. (i'd spent the previous winter moving sailing yachts round northern europe. can you say cold while being bounced around the deck of a storm swept yacht?)
when researching job possibilities i deliberately avoided anything that there were loads of people coming from collage allready qualified to do.
i did a 2 month course on how to fix ordinary PCs and walked straight into a good job the same day it finished.
i was getting paid far more to turn up with a toolkit and fix broken PCs than all the people coming from collage who knew how to program and design them.
why? because there is a shortage of the skills i possessed after that short course.

moving on, i taught myself a lot about Linux.
i agree there are far more people out there using windows PCs but there is a large chunk of industry running on Linux and a big shortage of people with the skills to operate and administer them.
also it is an area there aren't many professional qualifications in so being self taught is no disadvantage.
again, this meant i could find work easily.

at the moment i'm a network engineer.
again it's an area that you can only get to by experience and being interested.
there are courses you can learn about some of this stuff but it's of little use on it's own without experience of real world networks.

i'm not suggesting you follow my path (in fact, please don't. it's easier for me if there is a shortage of people with my skillset.)
but i would encourage you to look for areas that there is a shortage of people working in.
also, the IT industry changes very quickly so try to stay flexible. if you have to pick a programming language to specialise in, make sure it's one you will learn techniques that will be usefull in other languages.

so applying this to your situation,
i would brouse a lot of job websites.
make up a big chart compairing salary to skillset. (salary is a good indication of whether there is a skills shortage in a particular area).
are C jobs paying more than Java jobs for people with similar levels of experience?
what about interpreted languages? PHP, Python, Ruby, etc? or will one of these go out of fashion and leave you with unusable experience in the future?

o, and if you are still reading, my most important piece of advice,
a job should be fun.
you have to spend a lot of your time doing it. don't get stuck doing one you don't enjoy.

dunk.
(who has always quit jobs he has stopped enjoying.)

Tsukubadaisei:
Try C#. Or like Dunk said, instead of learning a new language learn Linux.
I did a part-time job and I had to learn a closed language (a language developed by the company and only that company used). In that case there was nothing to study in advance, only 10 hours of classes they gave me. The only thing you have to have is determination.
My personal favorite approach is learning how to use the IDE and improve your current knowledge on your programming languages. For example, you said you know a bit of c++. Then I think you should download VS 2005 express for free ( or buy the Academic version for about $50 which is very good) from MS and learn how to use it. Also learn some DirectX, OpenGL and third party libraries. Learn how to write Windows applications. Try to learn some thing about AI and so on. Do the same with linux(or mac).
For me the most important is quality not quantity. I know Java, C, C++, Pascal, and the one above which I cannot say the name(industrial secret). But I barely can write command line apps in Java or pascal. I already can see the day I will forget both of them. On the other hand I can do almost anything with my C/C++. From robotics to to DirectX game programming with advanced AI and fuzzy logic. And the high standard of my C/C++ education(that I am proud of and try to keep and/or improve every day) helps a lot not only my research but everytime I need a part-time job.

There are also non-programming approaches like learning CADs, or Image manipulation software, MATlab, Mapple, SonicStage, WebDesign(not only HTML) and lots of stuff, the possibilities are infinity. Only programming is actually quite boring.

Navigation

[0] Message Index

[#] Next page

Go to full version