Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Should I take classes in multiple langs, or focus on a couple only?

Status
Not open for further replies.

dstrain

Technical User
Mar 29, 2006
9
US
Hey folks.

I've decided to enroll for an Associates in Applied Science in Programming. The intro course defaults to C++ so I'll be starting there. From that point I can pretty much decide which languages/technologies to focus on. The choices are for the most part:

C++
Java
C#
Visual Basic .NET
ASP .NET
Database Programming Oracle

I'm wondering what the best route to take would be? Should I take a couple of these and go the whole way through advanced courses (3 semesters)? Or should I tackle as many as possible and maybe only get through one or two semesters each? Or focus on one in particular and take as many courses as possible in that area, then do a couple semesters in a second one, then single semesters to round out the rest?

For example, do C++ for 3 semesters, Java for 2 semesters, then a semester each for the C#, VB.NET, ASP.NET, and so on?

There's just so many choices. I'd like to walk away well prepared for an entry-level programming position. As for my interests, I'd be happy working either in the internet realm or in applications development.


 
For my $.02, I say get to the most advanced classes that you can. As long as you develop good algorithm skills the laguage is not as consequential. I would add one caveat that I think you should be sure to get as much exposure as you can to both procedural and object oriented laguages, but other than that I don't think it matters a lot. I expect that there will be plenty of people that disagree with that opinion, but it is the one that I have developed over my career.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
Being a newbie, I'm not familiar with some of the terminology yet. What would be examples of "procedural" languages? Would something like Visual Basic fall into that realm, whereas C and Java languages are object-oriented?

And if I focus on one language in particular, and take it to the advanced courses, which one would would best serve me in relation to the others, if any? For example, if I take C++ courses from intro to advanced, would that make learning VB.NET and ASP.NET any easier than if I took Java from intro to advanced?

And as far as entry level positions go, is there any language that would serve me better than all others?

 
This really depends on your goals. I first ask you what do you like the most? You could focus on that and become specialized in it. You also want to get a basic understanding of some of the others. This opens you up to other possabilities later on down the road. It really does depend on what you are trying to achieve.
Heres the way I would do it. I would suggest 1 semester of C, but if you don't have C go with 3 in C++. If you do have C do 2 of C++. Do 1 semester of JAVA. There are so many JAVA developers the market is a little oversaturated I think. Plus your C/C++ courses will help you to understand it quicker. Database is a good one to focus on. DBA's have the life. Stability and Money. I would start by focusing on those classes. Spread the rest around. I would rank the rest in the following order VB.NET, C#,ASP.NET. If your focused in 1 or 2 subjects it should make it easier to find a position. You just need to know what technologies are booming and if the market is saturated.
 
I'm in the position of looking for work now and I feel confident that I know "programming" enough that if I am faced with the prospect of having to learn a new language to perform a job, that I can.

However, I have to admit to recruiters that I don't know, for example, Visual Basic. I have been wondering if this has been hurting me.

I would recommend exposure in all those languages AND focusing on at least one. I took an introductory class on Java, for example, but did not get real exposure to Object-Oriented Programming until I got to the advanced class.

Also, in my search for work, I have seen more requests for C# than for C++ skills. I've seen a lot of call for Java, VB, and the *.NET's. There is also a lot of demand for DBA's (as far as I've seen).

Dave

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...east is east and west is west and if you take cranberries and stew them like applesauce
they taste much more like prunes than rhubarb does
[infinity]
 
I first ask you what do you like the most? You could focus on that and become specialized in it."

Well, I really haven't been exposed enough to programming to really know just yet, especially with regards to what languages are best for what areas. But I like to be creative, so the idea of being able to come up with an idea, then devise and piece together the steps necessary to make it a reality is exciting.

With that I think I'd enjoy applications development, either focused on the web, retail software, games, etc.

I did dabble in web design a few year back, but didn't really go beyond html and css. However, it is still interesting to me, especially the increasingly dynamic nature of the web with respect to the backend workings of e-commerce and entertainment sites.

"Heres the way I would do it. I would suggest 1 semester of C, but if you don't have C go with 3 in C++. If you do have C do 2 of C++."

I believe the intro C++ class covers C as well, from there though the classes are focused on C++. I think I'll definitely focus on C++ for the duration of the program, then supplement with the other technologies.

Now, here's one additional question. Would a class on data structures be advisable to toss in as an elective course?

 
I'd say with the way the market is, be sure you get exposure to as many different languages and things as you can. Unfortunately with how it is, a lot of employers won't give you the time of day if you don't show something legitimate on your resume for whatever language they're looking to hire for.
 
Yes on data structures. If you know the science of programming then all you need to know is the syntax for other languages. Therefore, going from C++ to Java is just syntax, for example.
 
What kHz says is true, but note that Java -> C++ is not as easy as C++ -> Java!

Also, what Glenn9999 and I have said is still true. Unless you know someone on the inside, you're going to want to (truthfully) be able to state that you have exposure to various languages, otherwise you might not even be able to GET an interview!

I liked my class on data structures. I had a class on Software Engineering I really liked also. These are classes designed to get you on the same page as all the other programmers out there in terms of formatting and development approach, etc.

Dave

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...east is east and west is west and if you take cranberries and stew them like applesauce
they taste much more like prunes than rhubarb does
[infinity]
 
From the way it sounds so far, perhaps I should focus on getting some solid training in C++ and Java, then add on from there. Also, some of the required courses include Database Programming w/Oracle, Intro to UNIX, Computer Organization and Machine Language and Systems Admin & Design. The program also offers a practicum option as an elective in the last semester, so I can get some on-the-job programming experience that way. Between now and then I'll try to learn as much as I can with the required classes and electives, and as my skills develop try to get in on some outside projects, or work on my own program ideas.

Hopefully by the time I'm done I'll be at least able to secure a half-decent entry level position. And on that note, I do have a Bachelor's Degree as well, from a good Uni, but not in a technical field (Government major, Spanish minor), will that be of any real benefit in the job hunt?

 
I'd say 'yes' on both counts! Lots of places are specifically seeking Spanish support, especially if you go the Help Desk route (or any other division where you will have exposure to a lot of customers). Government couldn't hurt for government jobs, of which there are plenty.

Keep in mind, too, that exposure to the variety of languages, etc. only gets you so far. Once you've had a job for a few years, you'll find you're working mostly with one or two languages and some SQL (for example). After that, future job interviewers will care less about what you took in college. Your skill set will therefore be reduced. Keep an eye on what is 'hot' and find a way to study up on it yourself or get certified in it, etc.

That practicum sounds great. Don't wait until the time comes to figure out where you will get that on-the-job experience. Think of it as a semester-long interview and do what you can to get the experience at a place where you would like to work. If things work out, they might offer you a job at the end of it.

Good luck!

Dave

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...east is east and west is west and if you take cranberries and stew them like applesauce
they taste much more like prunes than rhubarb does
[infinity]
 
Yes, I definitely plan to supplement with certs along the way as well. And speaking of continuing education, do you guys have any recommendations for books that would be good for someone like myself? Specifically, I'd like to start with two things:

1. Something that covers general programming concepts and strategies for the newbie.
2. A good beginner's guide to learning C++.

I figure something along the lines of the above might be a good lead-in and supplement to my first course.

And thanks for all the great replies so far!

 
Don't burn yourself out. Start taking the classes and see where your interests lead you. Your motivation is infectious, but I can tell you that after a couple of years, you're going to be looking forward to the day when you are DONE! Spend that enthusiasm wisely. Your textbooks should be fine for starters. Later, you'll wish you hadn't wasted your money on intro-books, but rather on the higher-concept books (which would be no good to you right now).

Dave

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...east is east and west is west and if you take cranberries and stew them like applesauce
they taste much more like prunes than rhubarb does
[infinity]
 
==> Well, I really haven't been exposed enough to programming to really know just yet, especially with regards to what languages are best for what areas.

That comment suggests to me that you may want to take the diversity route to gain at least some exposure in as many areas as possible to help refine where you want to focus your efforts. I think it would be a mistake to focus on any specific area until you know for sure that you find that specific area interesting, challenging, and enjoyable.

At this point in your career, I recommend diversity. Figure out where you want to go, then focus.

--------------
Good Luck
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
I agree with LFI. You need to pace yourself for now. I’ve been a programmer for 9 yrs now, and am still learning new skills. That’s the only disadvantage to the position. In this field you never stop learning.
Keep focused and try not to spread yourself out too much. I’ve personally experienced a shotgun approach to learning, which is no fun. Don’t get me wrong I believe in learning as many technologies as you can, but in a controlled fashion. If you don’t you could become overwhelmed and burn out.
Also I would suggest taking a networking class. I emphasize this, because I know through my own experience its good to have this knowledge when working on a client server platform. You never know where this skill will come in handy.
As an entry-level programmer expect allot of maintenance work. As you gain more experience that will change, and you will start taking on a more of a lead position.
For now just concentrate on what you find interesting. When you get a job you will learn more than you ever did in school. Academia is a good springboard, but can never replace experience.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top