Basically i'm looking at doing a computer science degree then going on to work in the IT industry. I was wondering what the best languages to know are as i really cannot be bothered learning loads. Trying to limit it to maybe 3 or 4 with a decent knowledge of each.

Put simply i'm asking "What are the most common and effective languages used in industry?"

Thanks for your replies

Recommended Answers

All 27 Replies

C, C++, php, java, C#, and SQL are probably the most important ones. A great deal will depend on the kind of programming you want to do.

I would have to say Assembly, C, Python and SQL. If you can learn those four languages completely and fluently than you can solve just about any computer software issue weather it's to do with servers or linux or windows software etc.

commented: Assembly! +0

> Put simply i'm asking "What are the most common and effective languages used in industry?"

Try to stick with the ones taught in your curriculum since you would anyways expected to know them once you are done with your degree. AFAIK, C++ and Java are pretty common these days in universities. Pay close attention to the concepts since once understood, they can be replicated in almost any decent language.

After that, if you "feel" like learning a language for fun and expanding your knowledge, there are many good ones out there. The trick is to try out many languages and stick with the ones you are most comfortable/you have the most fun in.

EDIT:
> I was wondering what the best languages to know are as i really cannot be bothered learning loads

Wrong attitude; there is no *best*, if there was, we wouldn't have the plethora of languages we have right now. Also, I'm not sure why learning or trying out "loads" of languages is a "bother" for you? :-)

Also once you are in the work force you will start learning other languages as the need arises. College is not the end of your learning experience, but only the beginning.

so basically what you guys are saying is that the language needed is dependant on the problem you have and the organisation you are working for.

In reply to ~s.o.s~ the "bother" comes from me wanting to be as efficient and effective as possible which is the way i like to program my applications.

My recommendation is to sort of forget the most common and effective languages used in industry part, and study languages which represent the extremes of different programming models. It really gives a perspective on what software engineering is about. One possible set includes C, Forth, Haskel, Java, Lisp, Python, and Prolog. Coincidentally, (almost) no time would be wasted, since most of them are pretty much alive in the industry.

Well i was thinking of learning C as this is very widely used in industry, and then an OOP language such as C++, java or C# so that i have the basis for the different programming styles. Probably also learn SQL so that i have the database bit covered. I think this may give me a solid base to work from when i start looking for jobs.

"what the best languages to know are as i really cannot be bothered learning loads" there is nothing like that, all the languaues have their own "pro`s" and "con`s",and studying 3 or 4 do not make any impact.so,you do it untill you get good grip on the concepts then go for interview , if your starting it`s my advice is start by c . dont think of job now, and " i really cannot be bothered learning loads", if u want be too good ,then u have to load more

Please refer to the computer language family tree. It clearly shows Assembly is the ultimate language with no previous generation to it. It is like god/jesus of programming which gave birth to children/languages which gave birth to even more children/languages. So if you want true efficiency then use Assembly and not the mutant offspring. May not be pretty but it works.

But that's like saying you can only use the tools that were available 2,000 years ago when Jesus walked the earth to do today's work. Assembly may be the father of all computer languages but sure isn't the best one, or even the most efficient one to use today.

But that's like saying you can only use the tools that were available 2,000 years ago when Jesus walked the earth to do today's work. Assembly may be the father of all computer languages but sure isn't the best one, or even the most efficient one to use today.

If it isn't the most efficient one then why does Intel program their chips using Assembly and Linux use Assembly to recognize the computers hardware along with C. Even Windows XP has a small amount of Assembly to recognize Bios in the boot sequence. If Linux can be written in entirely in Assembly and C then I don't see why everything else can't. So do you deny that Linux and Windows are efficient (not that Windows is anyway) or because they use Assembly they are both terribly slow.

PS
Now that I think about it, it could be because Linux uses more Assembly than windows which makes Linux faster :)

Well i was thinking of learning C as this is very widely used in industry,

That means you knew widely used programs but still decided to ask what is widely used.

one thing is, there is no best. Best can manageably be defined as as function of the application you want to design

That means you knew widely used programs but still decided to ask what is widely used.

I knew it was widely used but wasn't sure if times were moving on as technology is very fluid. Was thinking that those programs may have been developed a few years ago and since then everything has been developed in another language. Just trying to get an idea of the entire industry.

I knew it was widely used but wasn't sure if times were moving on

Did you expect the world to stand still?

C still remains honored no matter what programming or technology as a whole evolves into

Netcode you do realise how you just completely conflicted your own statement. Your second comment is that C is still after many years the main programming language after you previously stated that i was stupid for wondering if technology had moved on. So i tell you what, THINK about your replies before you post them, thanks a lot dear!

Your second comment is that C is still after many years the main programming language

Being "honored" (or even "widely used") and being the "main programming language" are two completely different things.

So i tell you what, THINK about your replies before you post them, thanks a lot dear!

Follow your own advice and all will be well. :)

Narue i was just commenting on the apparent lack of advice given by Netcode. This forum was designed to let lots of people of many different abilities and backgrounds gain advice and experience from other people who are either more advanced or work in different fields. It was not designed for people who may or may not be more advanced in programming and development to try and make people feel bad about themselves whilst simultaneously boosting a pathetic forum posters shattered ego from a complete lack of social credibility. I would suggest you take a while to reflect on the sort of person you are and whether you are actually an asset to this forum.

This forum was designed to let lots of people of many different abilities and backgrounds gain advice and experience from other people who are either more advanced or work in different fields.

Funny, I thought the Geeks' Lounge was for chatting about anything. :icon_rolleyes:

It was not designed for people who may or may not be more advanced in programming and development to try and make people feel bad about themselves whilst simultaneously boosting a pathetic forum posters shattered ego from a complete lack of social credibility. I would suggest you take a while to reflect on the sort of person you are and whether you are actually an asset to this forum.

The hypocrisy is strong with this one.

commented: me too +0

Narue you say im hypocritical. I have posted a perfectly normal question trying to gain information about a subject which I think i need to know to go forward, I have been polite and read each reply as to expand my knowledge. You however have come back with callous and insulting comments to belittle me and in the process make yourself feel better. This is why I wrote the final comment. So in fact i do not believe its hypocritical and do in fact think that you need to realise everyone is only human and asking questions is good and rather than acting like a arrogant, highly insulting brat.

There is a quote by Oscar Wilde which I think encapsulates this situation perfectly, Some cause happiness wherever they go, others, whenever they go

commented: You get too defensive too quickly. No one said anything bad to you! +0

Wow when did this topic turn into an explosion in the middle of New York. This happens every time somebody asks what is the best programming language on any forum on any website anywhere on the internet. It's like people treat their favourite language like their personal adopted baby. I can't believe how people aren't open to the opinions to others and aren't able to vote on the facts that are presented. Seriously where above has somebody voted on a weather one of the facts presented are true or not instead of saying it must be false because theirs are true. All I can say is same on you for making a great topic turn into a disaster thread.

It was not designed for people who may or may not be more advanced in programming and development to try and make people feel bad about themselves

No one knows it all, we all on daniweb learn from each other

whilst simultaneously boosting a pathetic forum posters shattered ego from a complete lack of social credibility.

If you had social credibility, you would be more polite

I would suggest you take a while to reflect on the sort of person you are and whether you are actually an asset to this forum.

Did you reflect on what people would see you as before posting this?

Now be nice children and stick to the topic, instead of feeding the flames.

we sure will Nick. You it happens here on Geeks lounge once in a while. Its fun, guess thats why its the lounge.

Accept the facts friends. There is no magic ring to rule them all. It's just the right tool for the job.
Be it SQL or Java or VB there the industry has work for all languages exactly because each one is the right tool for something.
Hell you can make a living just by knowing pretty good office, so don't start learning bits and pieces of different languages. Learn a few as good as you can and you'll find your place in the world.

PS: About the Assembly a friend suggested is the God of languages. How long would it take to write the next GTA or some other 3D game in Assembly? Can you show me a web site written in Assembly? How about a database (not a 2 bit one, but rather something Google or Microsoft would use). Don't get me wrong, assembly is pretty useful, but you can't go telling people that with assembly they will rule the world. They will probably rule the hardware part and of course they would be the only choice in programming controllers or something similar.

commented: Just the sort of answer i was looking for. thanks +0

Woo finally a constructive well presented answer to this thread. THANKYOU

I concur with many the above it depends what your doing. Programs that aren't going to be run a large number of times or that don't need to be superfast can be written in higher languages and be 'more efficient' because you spend less time writting/deugging them. On the other hand programs that are used a large number of times or on enormous datasets (so need to be fast) should be written in lower level languages to be efficient.

Similarly websites use different languages than databases etc...

one thing is, there is no best. Best can manageably be defined as as function of the application you want to design

Well, we all agree that there is better once for particular purposes. One can go even more general and say there is better languages for one's learning goal.
For example, if you actually have a project that you want to do and don't know any programming, learn python.
If you want to get hired quickly learn C# or Java.
If you want to improve your intelligence, and reasoning skills, learn several different languages like Assembly, Lisp, Haskell and Cobol (?).
If you want to learn how computer works inside learn Assembly and C.

OblibSystems

Stop trolling. No-one said anything bad to you, and you just decided to attack everyone. Calm down!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.