• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Which language is used the most in today's market?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Tacoman667

Member
Joined
Apr 28, 2001
Location
Kingwood, TX
I have just started college after 8 years of being out of high school. I am following my dream of being a computer programmer. However, with all the great languages to learn out there, what are the most popular? I get 2 languages as my specialization included into my AAS degree, and I was thinking of VB and VC++. Are there any others I should concern myself with in the comming semesters? Like I said, I'm in my first semester of my degree so far so I still have about 1-2 semesters before I start the actual language classes. TIA.
 
Well if you are looking for "great languages" you should leave VB out of it

I would Suggest C, followed with C++ which is really just learning a Language and a half, not 2 Complete Languages,

After Learning C you can pick up PHP in a heart beat since they are similar.

You might try your abilities with Java, or C#, But really all you need is C and C++
 
Thing is, only VC++ is offered at the college unless I go to a University. Right now I'm looking just for a AAS degree, but may transfer later on. It's complicated. Other languages offered are COBOL and Assembly I believe. Do you think it would be difficult for me to learn 2 languages at the same time?
 
Learning two languages shouldn't be too difficult. For the most part, computer languages use the same basic concepts. Once you understand those, it's a matter of syntax. Certain languages have certain abilities built in, but they can be duplicated in other languages (you just have to write the code yourself).

If you know what you want to do with programming, it might be easier to determine what languages you want to take.

I would avoid COBOL. It is essentially a dead language. If you want to work on arcane mainframes, then go ahead and learn it. There is not a very big job market for it.

VB is very easy to learn. There is a lot of drag&drop programming in all the Visual languages. VB was more highly used before the Visual versions of other languages came along. It made it very easy to create a Windows front end for a program that you could program in another language. There is a lot of code involved in making a non-console program in C/C++, but it is very easy to develop a user interface with VB. VB is still widely used, but is on its way out. The advent of other Visual language versions (like VC++) made it easier to creat an interface with the underlying language. Also, VB.Net is being more heavily used, and it is quite different than VB. However, VB is easy to learn and use to create programs with. There is still a good job market for it, though mostly dealing with existing programs or small market (single business, personal accounting software, etc...) programs.

Of the choices you have, you should definately learn VC++. It will teach you more about programming than the others. COBOL is a outdated, assembly is a little specific in its uses, and VB is more like writting code chunks than writting a program. If you have no programming experience, this might not be the language to jump into, unless there is an intro course in it. That depends on you though. It's not really difficult, but it can be hard for some people to try and learn programming concepts and language syntax at the same time.

Assembly is a different beast. It is a lower level language (meaning it is closer to what the machine understands than what people understand). It's good for writting small sections of code (say like device drivers, or on-chip OSs for hardware). If you want to get into hardware programming or kernel programming this would be good to learn. You might use it to write optimized dll files for a program, but you generally will not use it to write a program (too much work). If you want to learn more indepth about how languages and the computer operate, this is a good language to learn. Some people have a problem with taking this class at the same time as other programming classes (this may not apply to you). This class will be more math oriented than the others, most likely. It will also be more thought intensive than a Visual language class.

My suggestion, definately take VC++, and avoid COBOL. You shouldn't have a problem learning two languages as long as you don't overload yourself. Assembly is a good choice, but don't make it your first class. There is nothing wrong with VB, but I would probably wait on that until you get to the four-year. They will probably be using .Net.

Java, Javascript, and PERL are good classes if they are available to you.
 
Well IMHO I would not bother with cobol, or any other mainframe technologies for that matter. If you are interested in PC programming then focus on that. Not many jobs are going to have you doing both so you are better of specializing.

VB is not the worlds greatest language, but it is quite easy to pick up, generaly does the job and development time is very quick (its biggest strength). For these reasons it has become extremely popular in the corporate world. Main issue I would have picking up VB at this point is that VB/COM is an aging technology. IMHO you would be much better off going with a .net language in the long term.

Now speaking of .net that brings me to my other comment. VC++ is a great language and all, but again there is the issue of .net replacing COM. If you want to learn C++ and create managed .net code well thats cool, but IMHO the usefullness of unmanaged c++ code is not that great. At this point I would recommend learning C#. Its quite powerful, supporting many features of C++, and I think its a much more useful language to have on your resume in terms of how many companies will be looking for that skill. One of the great things about learning C# is that if you decide to plunge into the world of web programming asp.net will work with C# so you will be able to leverage that skill for multiple things.

It would seem that VB.net would be a natural option, considering how popular VB is, but personally I feel that the differences between VB and VB.net are so monumental that its almost a whole new language. Sure there are going to be alot of companies out there that don't comprehend that and I am sure vb.net will be quite popular, I just thing C# is the better language and if you are learning from scratch that would be my choice (not that vb.net is all that difficult to learn, all.net languages share the CLR which makes life alot easier since you mainly need to learn the syntax differences).

Java is also a popular language. I would say C# and Java are the 2 most similar languages. Java has been around longer, and there is plenty of work out there for Java programmers. I decided to focus my career down the microsoft path some time ago so I haven't worked with Java for some time, but thats still not a bad choice.

Anyways I guess it all depends on what your main goals are. Of the 2 languags you pick do you want to pick them based on what you like about the languages or what will make you the most marketable trying to find a job? If you are trying to build a good resume I would say you probably would want to go with C# or vb.net and Java. Majority of the future web development and server side code will probably fall into those 2 camps. Picking the languages that are used for typical desktop or client server applications AND the web stuff will probably keep your options open the widest (IMHO java desktop apps don't hold a candle to the microsoft stuff but some companies do write desktop apps in java)
 
contrary to what has been said in this thread thusfar, one of my instructors said there will supposedly be a huge demand for COBOL programmers in the very near future, as alot of places still use it, and alot of the guys are now retirement age now! :eek:

but yeah its a very old language, and you want room to grow, so i'd agree with others who said to stay away from it.

i wouldn't start out with C though, if you've never programmed before, it'd probably be alittle easier to start out with something alittle more logical, PERL or something similar for example.

most languages build on others, so if you can grab concepts of one others should be easier to learn.
 
Well, I finally looked through my course book again and found out what programming languages I can learn. Intro/Advanced classes are C++, VB, Oracle, and COBOL. The Oracle language seems to have ALOT of different classes for language and applications then the other 3. There is a Intro to C#, RPG, and JAVA at my school as well, but only really 1-2 classes for any of these total. I get about 6 classes of my degree devoted to these languages and was thinking of just specializing in 2. Again, with this new info, which would you all say would make the the most marketable and profficient in today's sector for programming? I know a 4 year degree is the optimal option but with just an AAS, would my options still be slim pickins'?
 
Its best to know both VB and C++ because if you ever want to create a quick program, VB will come in useful; but for games, etc., C++ is the best to use. I think VB is the most popular, not that it is the best one.
 
Once you've got certain basic concepts of computer science down, switching to a new langauge is just a matter of getting used to a new syntax ( though quite a few languages use a C style syntax anyway ), and new library interfaces. I think its far more important to master these concepts before "deciding" on any specific language to learn. After all, what's the point of trying to guess which language you'll need for a job? We could sit here all day making guesses, and still be wrong.

Do you have any programming or CS experience yet? If not, I suggest you start off with Python ( www.python.org ). It's a simple, portable, and newcomer-friendly language. They've got several tutorials right on their website that not only assume the reader is new to Python, but to programming in general. That's the best place to start, IMO. You'll be able to get the basics down without being overwhelmed with implementation details.

Java is also a decent beginners language, because it also hides a good amount of the low level stuff, and it has excellent documentation. However, its easy to learn bad habits in Java: relying heavily on the garbage collector will lead you to create programs full of memory leaks in other, lower level langauges, for example.

Once you've mastered the basics, C is a good choice to learn. The language itself and the supporting C standard library is small, unlike C++, for example. This makes it easier to learn and to program with, IMO. C will force you to deal with the lower level issues, like memory allocation, buffer management, etc, by yourself, which I think is a good thing and will make you a stronger programmer.

After you've got yourself a strong foundation, learning new languages will not be difficult. If you don't have this foundation, however, you'll have trouble with relatively trivial things in your "chosen" language, and will be totally clueless should you ever need to switch to a different language or platform.
 
Yes, I have taken PASCAL 1&2 in my senior year of high school. I loved it. However, PASCAL is not used in the "real world" but the basics have already sunken into my head. It's now just a matter of knowing new syntax's. PASCAL, for those who do not know, is so user friendly that as you speak, you program per se. If/Then statements were simple and the input/output commands were a sinch.
 
ALL of the people saying NO to Cobol but yes to Perl need to step back and think about it, the reasons for saying no to cobol are the same reasons for saying no to Perl,

Perl is being phased out, many perl programmers will argue differently but with C# and PHP/javescript, everything perl does can be done, with less strain on the servers.



The reason I said don't do VB is because first there is VB.net which will be more widely used, second, VB teaches bad programming practices, its better left as a second or 3rd Language, after you already know how to program, its more of a Cripple to your learning curve then a help when picking up new language, I stand by saying C is the best thing for you to learn first, though since it is not offered C++ will have to do,

Oracle would be good to learn as it would transfer over and make it easy for you to be used to dealing with Databases, My Uncle deals with Orcacle every day, Makes great money doing it.
 
Of the options you listed, currently I would say C++, VB, Oracle, and Java are the most widely used. However, if you're just starting your degree program, what is most in use today won't be when you get out.

I wouldn't bother with VB. It's easy enough that you could pick it up by reading a book. Plus, it can hamper your ability to learn VB.Net (because you'll think they should be pretty much the same, they're not). Although, since they are offering C# they might offer VB.Net by the time you get to those classes. If they do, you might want to take that.

Oracle is also widely used, and fairly marketable. However, it's really just a database language. You wouldn't use this to write a program. That being said, every large business (and many small ones, and the government too) utilizes databases. Knowing how to connect software to a database and program in the database is a valuable skill. If you take these classes you'll learn about SQL, which most database engines use. The benefit of this is that while each database has its own feature set (TSQL for M$, PLSQL for Oracle), much of what you will learn will be portable to other databases. While there may be several classes for Oracle, I would guess only a couple deal with programming. The others will be design and administration classes (could be wrong there though).

Java and or C# are good languages to learn. Java is widely used in many facets of programming. C# is not so widely used, but it's fairly new. It will probably be a big player by the time you get out of school. Also, as stated above, it can be used for ASP.Net pages, which opens another avenue to you. They may only have one class, but sometimes it's better to be highly versatile. The more exposure you have to various languages, the more marketable you are.

You probably have to take an intro and advanced language for the degree. Of the choices, I would chose C++ to be that language.

Unless they start to offer a VB.Net class, I would chose to take intro/advanced C++ classes, C#, Java, and 2 Oracle classes. If they offered a VB.Net class, I would take the intro to that and drop Java. C# and Java are close enough that if you take one you won't need a class on the other.
 
Thanks for all the feedback. I wish they had more advanced classes in the other languages then COBOL, C++ and VB. I guess the best route is C++ spec, with intro's to C# and possibly VB.NET if it gets offered. Maybe I'll just have to take some classes at Houston U for the other non-offered programming classes if they would do that. I know they do that for some high school classes where they get credit for high school while in a college class. I'll have to check into that. I am taking all corresponding semesters I can, Spring, Summer, and Fall. I hope to have this degree knocked out by Summer next year.

Thanks again for all the info, I was really stumped on what I should take other then C++.
 
Why not take C on your own time

Pick up "SAMS Teach your Self C in 24 hours" its a pretty good book, I spent 4, 8 hour sessions on that book studing for my UNiversity C exam, since I never once attended the class, and the text book was Junk.

Got a good enough handle to pass the exam and course.
 
Being a computer scientist is not about learning a specific language or whatever the favorite software technology of the month is, it is about mastering computer science theory. Once you do that you can learn any language in a short time. Of course even after you learn the syntax you are still a long way from being good in that language, but practice makes perfect. If you want to get a job, I would suggest learning Java first, it is the most widely used language.
 
Tacoman667 said:
Yes, I have taken PASCAL 1&2 in my senior year of high school. I loved it. However, PASCAL is not used in the "real world" but the basics have already sunken into my head. It's now just a matter of knowing new syntax's. PASCAL, for those who do not know, is so user friendly that as you speak, you program per se. If/Then statements were simple and the input/output commands were a sinch.

I work in the real world, and I work at a Delphi shop. That means that nearly everything I write at work is written in Object Pascal. Of course, we are planning migration strategies for c# should .net trully replace win32 as the preferred programming environment for Windows, but Pascal is definately not just a toy language.
 
Once you master C++, almost everthing else will be gravy!

VXML is starting to get popular as well.

I would learn any of the .NET languages as those will be highly valuable, especially if you know C++.NET
 
Too Smart said:
Being a computer scientist is not about learning a specific language or whatever the favorite software technology of the month is, it is about mastering computer science theory. Once you do that you can learn any language in a short time. Of course even after you learn the syntax you are still a long way from being good in that language, but practice makes perfect. If you want to get a job, I would suggest learning Java first, it is the most widely used language.

how does such a high level language such as Java, out rank C or even C++ as the most widely used languages?
 
Out of all the programming ads searching for new programmers (which I read regularly), far more ask for skills in Java than in C and C++ combined, or any any other language. Therefore it's reasonable to conclude that Java is the most widely used language. Heck, even Visual Basic is asked for more often than C/C++.

C++ is my favorite programming language, but the fact is that it cannot match java in portability, reusability, productivity, or ease of use. C/C++ are used less and less these days, it's gotten to the point that C/C++ are now only used in applications where speed or compactness is important.
 
Back