Tuesday, July 28, 2009

Which programming language should I choose to learn?

I am currently getting my BS in Computer Information Systems with a focus in computer forensics. One of my assignments requires me to choose what classes I will be taking in the future just as sort of a rough draft. In doing this I realized I would have to choose between Visual Basic.net and C#.net and am kinda clueless which would be my best path. I understand it depends what I want to do also. If I can't find a job in computer forensics then I want to be able to really have a open field to choose from hence my general choice in degree. What is being used most these days and/or valuable to an employer? Thanks for your replies =)

Which programming language should I choose to learn?
I'll have to go with what "soheilnb" said.


As a professional programmer, you have to readily adapt to the changing environment.


Most places say they want you to know language X, Y, or Z, and have 2-10 years of experience, in order to be considered for the position.


However, that won't be the case when you just get out of college.





Just because you learn a certain language, you shouldn't limit yourself to that particular language. For instance, C# is basically C++ without having to keep track of pointers, you don't have to cleanup memory, and the C# API (application programming interface), is larger.





As an example, I've never once had a C++ class, but that's what I do for a living, and it's one of my strongest languages. But I can't exclude C#, VB, Visual C++ (which is Windows oriented), PHP, MySQL, HTML, CSS, TCL, CSH scripting, SH scripting, etc. But I've also been in the business for 20 years now. C++ is also cross-platform capable (if written correctly). Cross-platform meaning it can be used in either Windows or *nix (meaning Unix, Linux, and other flavors of Unix). I haven't programmed in COBOL (and I would never care to because it's too strict of a language IMHO), but I have converted COBOL programs over to C++, merely because I read the COBOL syntax to understand what the programs were doing.





I would STRONGLY suggest that you try and get a position as an intern at a company that works in the area that you want to make a living in. There are 2 reasons I suggest this:


1) You'll get some real-world experience (as opposed to just book knowledge)


2) You'll get a chance to see if you really like market you're targeting


3) You'll get paid while doing it (although the pay will be somewhat smaller than when you're actually in a full-time position)





Personal background info on me:


In case it matters, I worked my butt off in my younger years to get to the position that I am at today. Just doing your day to day job should NOT cut it (unless of course you don't want to get many large pay raises). My largest salaried pay raise for one year was $11,000, while my smallest was merely $1,500.


Perhaps some day, I'll get a degree (no, I'm not joking, I have college experience, but only 2 years worth). But for right now, I'm pretty happy doing what I'm doing, and with 4 children all 8 years old or younger, and my wife stays at home with them, I don't have much time on my hands.
Reply:to start , there cannot be anything better than C, specially the pointers, they are fun to play with.





and if u have to choose between the two, go for C#, its based on C /C++ and would help u in learning java .....
Reply:To be honest, as a computer professional you must be prepared to learn any new language you face in future. You must get started in knowing both Visual Basic and C# at the moment. A good strategy could be to learn a simpler language like Visual Basic in the same time with a rather more technical and powerful language such as C++. The first one would be good for short time quick small needs, and the second one would be good to make a strong and powerful backbone in this field which would give you a magical power to master any other language: Java, C#, PHP, JavaScript, … quickly and efficiently. Good luck.
Reply:It depends on what kind of job you like to have but my choice would be the C language because C is the core language of unix/linux and if you ever use these OS then it would be necessary to be able to program in C
Reply:If i had to pic between those two languages I would pic C#.net. It was developed based of Sun micro-system's Java project, so if you ever need to learn java it would be EASY, since most of the syntax would be the same and only the libraries/packages would differ. And to utilise the libraries you just use the API. EASY.


most of the jobs I have seen over the last year have been either in Java or C#.
Reply:I would choose C#. It's a more professional type language and has more functionality than VB.NET.
Reply:Your choice is gr8 go for c#.net
Reply:Computer Forensics eh? fun fun. This is your first langauge?





I think C is the best language you can learn for forensics. I doubt that you will even use C# or VB in the real world in forensics. Learning a language that is on Linux/UNIX systems would be a better idea. C# and VB is not really universally supported. I hear of C# emulators on Linux, but blah.





If you had to chose from those two, I would say C# because it is a lot like Java, and that would actually be useful to learn also. VB.net is very boring, and not really great for problem colving, which is what you have to learn the most.
Reply:Between those two, C# being streamlined while VB.net coming from VB adapt to .Net is less streamlined., but as long as you understand that as a potential use, a "soft" skill that adapt is better than a "hard" skill.

flowering plum

No comments:

Post a Comment