Jump to content
xisto Community
FearfullyMade

Languages Worth Learning What languages should I learn?

Recommended Posts

Hello all.Right now I'm a Computer Science major in college. After I graduate (hopefully in three years) I'm wanting to get a job programming. At the moment I'm not too picky about the type of job, as long as it involves programming. So what I'm wanting to know is what languages would be worth learning while I'm in college. There are a lot of languages out there, and I'm not sure which ones are extensively used. I'm wondering what languages any programmers out there use at your job or have heard of people using. I want to be sure to have the knowledge needed to get a good job out of college. I don't want to miss out on an opportunity just because I didn't take the time to learn a language.Right now I feel comfortable using C++, C#, and Java. I've heard that COBOL is still around in many companies so I'm thinking about taking a class in it. I might learn some assembly, but I'm not sure how much and where it is used anymore. Other than those two I have no idea what might useful to learn.So if anyone has any suggestions let me know. Also, if you do suggest a language it would be nice if you could point me in the direction of any good books or online resources you know of for learning that language.

Share this post


Link to post
Share on other sites

Dear FearfullyMade,

 

My two cents:

 

You choice of C++, C#, and Java is a very good one.

 

With your knowledge of C++, you will certainly have possibilities in the job market. Be it in client-server model programming or in GUI-based programming, even in the game industry.

 

With your knowledge of C#, you will certainly have possibilities in the job market that is based on the Microsoft dotNET stable. Thinking in an Object-Oriented way will give you an edge over traditionnal programming.

 

The same is true for JAVA. With your knowledge of JAVA, you will certainly have possibilities in the job market that is based on the JAVA stable. Be it in client-server model programming or in GUI-based programming, or even in the small world of embedded devices, like cell-phones, set-top boxes, the automotive industry, and the like.

 

 

If you want to consider other languages, like COBOL, keep in mind that it is still around in many companies, mainly on the large central systems that were build in the seventies and the eighties, and that the craze in the nineties about COBOL programmers shortage was due to the year-2000-effect, that caused many COBOL programs to be reviewed and inspected for the Y2K bug. COBOL is a relatively easy language to learn. Applying the right program algorythms is the hard thing - as it is in any language. Furthermore, the companies that used to use COBOL are now switching mainly to JAVA, under the influence of IBM's choice for that language.

 

Besides pure programming languages, please do not forget to try to become an ace in SQL. Were data-bases are concerned, you will soon find that your programming efforts will be interspersed with SQL statements. So, learn SQL, both the SQL Data Definition Language and the SQL Data Manipulation Language parts of it. Visit SQL.org.

 

 

Concerning assembly language: there is no such thing as an assembly language !

There are as many assembly languages as there are processor types !

Assembly language for the 8086 - now Pentium - is radically different from the assembly language for the Power-PC and the assembly language for the ARM and the assembly language for the {fill in yourself}.

So, really, concidering assembly language would be a thing when the job requires it.

But, nevertheless, looking in one of those assembly languages is never a bad thing: you will have learned an approach to how to learn it!

 

 

Many will say that you must learn JavaScript - or Perl - or PHP - or Python - or Ruby - or even Visual Basic. You must not. If you have the right programming algorythms in your fingers, then you can code in those languages with the reference manual on your knees - or the reference PDF in a window on the side of your screen. It is not the grammar of a language or the vocabulary of a language that is important. It are the algorythms.

 

My two cents

Share this post


Link to post
Share on other sites

Dear Signatureimage, your two cents are very important and helpful. I hope Fearfullymade have got his answer. I would like to add one more very popular language in this list that is Visual Basic. If you want to go for Microsoft Technologies job that you have to learn this. It is very easy to learn and very interesting also. And if you want to go for System Programming you have to learn Visual C++ which is commonly used for system programming. Visual Basic is for Desktop application programming.

Share this post


Link to post
Share on other sites

Well I think that you should learn Languages depending on what you will be doing (like web work, making programs like Window?) But I hear that C++ and Java are the need to know no matter what you are doing (because a lot of other programs are derived from these two)

Share this post


Link to post
Share on other sites

Thanks everyone for your input. I'll keep your suggestions in mind when I'm bored and need something to do.signatureimage,Thanks for suggesting SQL. That is something I forgot about but I am sure will be important. Database programming doesn't sound very exciting but it is something that I need to learn. Part of my problem with learning something like SQL is I don't know what to make with it. I could just read about it and do some cheesy tutorials, but I like to actually make something while I'm learning. That's how I learned how to program in the first place, by making games. For me it is easier to see the importance of what you are learning when you are making a real program as opposed to some little pointless example.I did know that each processor has its own assembly language, but that is about all I know about assembly. If I do study assembly my goal would be to gain a basic understanding of it. That way if I ever need to actually use it woun't take long to figure out.

Share this post


Link to post
Share on other sites

well... there are too many programming languages!!!!!!The freat thing about C and c++ is that you can "translate" it to other codes... Meaning, you can do your program in C++ and "translate" it to a pic (from microchip) asm language directly, suin picC for example...not only proccesors have there own assembly language, microcontrolers (for ex, the one that calculatros use) too!

Share this post


Link to post
Share on other sites

I would recommend Microsoft Visual Basic as it is an easy to use development enviornment, and a lot more logical and readable than C\C++, I've been working with it for many years to create all sorts of private solutions for myself, especially when I am required to make reptetitive operations, using VB I can quickly whip out a perfect solution.

Share this post


Link to post
Share on other sites

Hello FearfullyMade,I can say that the market is focussing in the web and mobile devices, for web i will say the most important platforms are J2EE and .NET, and for mobile devices it depends on the device: for pocket pc's .NET has a compact framework very useful, for palm's the best language i can say is C, C++, and for smartphones java has a platform called J2ME, that i think is the best for programming for this devices.I hope this help's you.But remember one thing, the important part is not learning languages but is learn the basics of computer science and software engenieering, then, the languages are going to be the easy part. :DBye

Share this post


Link to post
Share on other sites

advice from a student : don't be locked into languages and programming...you should know programming but not every teeny biny langauge. I would recomend to limit your skill set and focus on making more projects in selected few langauges.SQL is most important from job point of view. You will also need to know XML (not just how to make it ..but inside out ..apparently its very in demand these days). Also Java especially J2EE is in dmenad. C/C++ is always in dmenad. Make sure that you dont lock you self with one vendor and know to do things in almost any environment. I would recomend to stay away with C# as much as possible and concentrate on JAVA. Its not like C# will be fading away any time soon ..but JAVA is much better technology and more mature. (Some prejudice involved here..i hate Microsoft ..:P ..but i will be applying for their interview next year) Make sure you get trained for these..or if you have courses like these ..pay very close attention to them (for pure Software Engineering point of view) Software Engineering Object Orriented ProgrammingDatabasesProject ManagementOperations ManagemntThese are just for software engineering. And these are failry tough courses . The most in demand skills these days is PROJECT MANAGEMENT (if you dont believe me go ask some of your teacher.)And last but not least....Please don't take it in person . I think you can improve on you written english (your grammer needs littile polishing) It will help you ALOT my friend. I know I also suck at gramer and typos alot..But its due to laziness and not because i dont know :D

Share this post


Link to post
Share on other sites

but JAVA is much better technology and more mature. (Some prejudice involved here..i hate Microsoft ..smile.gif ..but i will be applying for their interview next year)

Wow, that is cool!! Working with Microsoft. Well, since you hate Microsoft, can we trust you that you're not going to mess up their company secretly with uber subtlety? Maybe you're going to defect the softwares and such. Tsk tsk... I don't know why people hate Microsoft so much!!

 

I have to say that, even though I'm 15 years old, each programming language is different. Some are used for these kind of programs, and some are for web-based, etc. For example, C is mainly used in embedded softwares/programs, like the features in a mobile phone that allows the user to connect to a network and transfer data, etc.

 

JAVA is becoming popular these days, from what I heard and what I've seen. I mean, it is!! JAVA games, JAVA applications, JAVA run-time errors, ahem. Anyway...

 

Project management is a good skill too. I heard Cpanel is hiring web project managers / administrators having to do with programming and managing - paying something like $25,000~$60,000 yearly salary. I don't know about you guys but in a country poor like this, that is a hell 'uva amount of money. Oh, don't forget taxes too.

 

In my personal opinion, I think companies and the world is expecting more and more out of us each ongoing year. It was really cool too know C and C++ many years ago, but what about now? It's like "You have to know those or you won't be even considered"... like a basic... a BASIC requirement!! Where is this WORLD COMING TO?!!?!

 

Sigh...

 

Well, since you know C/C++ and JAVA, that's pretty good. That's a good start.

 

Like hatim says:

 

Databases (becoming quite important)

Project Management (becoming really important)

Software Engineering (important) LOL

Share this post


Link to post
Share on other sites

If you are looking for a language to learn that would benefit your field, I recomend French. There are many more componies in programming in Europe than in Mexico. Also, microsofts C++ and Java are used more widely in Europe.

Share this post


Link to post
Share on other sites

Well i inssist.. C is the best language.. why???Beacuse of the number of aplication made to "translate" it into another language.. for example, i have a texas calculator, i can write my program in c and convert it into asm...Same with my pic and motrola microcontrollers, i can write the program in c and have it transalated to asm....Same with numeberless aplcations!!!!!Java is a pretty great language also!!!!!jejej, Spanish... ESTE I ES EL MEJOR DE TODOS LOS LENGUAJES HABIDOS Y POR HABER!!!!!!

Share this post


Link to post
Share on other sites

Well i inssist.. C is the best language.. why???

 

Beacuse of the number of aplication made to "translate" it into another language.. for example, i have a texas calculator, i can write my program in c and convert it into asm...

 

Same with my pic and motrola microcontrollers, i can write the program in c and have it transalated to asm....

 

<{POST_SNAPBACK}>


Yea, those programs that "translate" it to ASM, they're called "Compilers". Again, this is why I recomend books to anyone that is learning C/C++. In the introduction to nearly every book on the subject, they explain what the compiler does, what the linker does, ect. ect. This is something every programmer should know.

 

Anyway, back to the topic at hand. COBOL is indeed still widely used, particularly on custom-made UNIX mainframes. Heck, there's even an episode of Dilbert about thier mainframe and it's COBOL programming. However, most of the jobs dealing with those large COBOL code bases are already taken. Beyond that, the mainframes are being slowly but surely replaced.

 

I would recomend that you get very good at C++. Explore all the possibilites of classes and templates. Learn as many data orgonization techniques as you can, such as linked lists, binary search trees, hierarcial object node systems and the like.

 

Suplement that with learning new languages just for the fun of it. For example, pick up Python, even if you only use it for a week. Already done Python? OK, go with Pearl. Heck, just Google around and try to find some obscure language that on one uses, and use it for a week.

 

The point I am trying to make here is that languages change at a rapid pace. The key to being a good programmer isn't knowing every language under the sun, it's simply to be a good programmer. Once you can code circles around your friends in any language, you'll be able to do the same in every language.

 

Good luck!

QBRADQ

Share this post


Link to post
Share on other sites

can we trust you that you're not going to mess up their company secretly with uber subtlety?

hehe..
well i take my professional committments seriously and wont be a mennace to society. I don't necessirly hate M$ ..but in last few years they have been sucking big time (with regards to WebStandards, IE exploits and much more). M$ is a good company ..and I think they can do better ..alot better.
I know its easy to criticize from outside ...but what the hell..:D

Share this post


Link to post
Share on other sites

What i would like to suggest is, MASTER C/C++ and you can master any other language. Not only learn the C/C++ language but also learn various programming API's available for it. Go in for Windows programming with WinAPI and try out creating OpenGL/DirectX programs. You will then be able to rule almost any other language.As for Java or .NET, I suggest .NET must be gone in for. History has it, Microsoft has won every war it fought (mostly), and it is sure to do so with .NET too.Sorry MS haters... but lets accept the fact that 90% of computers are running MS Windows, 91% of browsers are IE. Hence when u develop a solution, its better to develop one which is tightly integrated with the platform. Java sucks at it. Swing doesnt utilise the underlying OS for its GUI looks, its slow and unresponsive... anyway... C# is a great language. With the power of C++ and ease of VB, it rules.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.