September 6th, 2002, 04:25 PM
I agree with what seems to be a consesus of the importance of C; however, I would recommend becoming familiar with C++ as well. Much of the syntax and philosophies behind C++ are carried on in other languages and a firm grasp of C/C++ will make it easier to understand them (for example, java, perl, and php to varying degrees are all fairly similar to C++).
I would recommend at least becoming passibly familiar with java (it can be real beneficial if you are for example developing products for both unix and windows in that you can have basically one source tree).
Assembly is something that after you are comfortable with a language, say C, that it might be worthwhile to be somewhat aquainted with; however, I would recommend against spending too much time on it. Most of the modern compilers are far better at reducing instructions and being fairly creative in assembly and it would be somewhat difficult to improve upon what they do, not to mention god awfully time consuming to beat them. It would be a very rare occasion to have to do something in assembly, not to mention, it is going to be different for every processor thatt you run across and once you start talking about different manufacturers (intel v. sun), you can get mind numbing differences. I would recommend becoming familiar with the basic concepts of assembly and the basic operation of it, but would recommend against trying to learn one specific processors code, at least until you have a strong grasp on some of the more visible languages.
There is only one constant, one universal, it is the only real truth: causality. Action. Reaction. Cause and effect...There is no escape from it, we are forever slaves to it. Our only hope, our only peace is to understand it, to understand the 'why'. 'Why' is what separates us from them, you from me. 'Why' is the only real social power, without it you are powerless.
(Merovingian - Matrix Reloaded)
September 6th, 2002, 07:09 PM
VB is great if your new to programing or if you want to make a program very quickly. C++ is great its like VB, only stronger.
September 6th, 2002, 07:27 PM
Actually, there are more like 7000 programming languages out there, each with varying degrees of support.
Personally, I learned to program with VB 6, and the moved to C++ when I got to college. I found that VB was good because it was very easy to teach basic programming concepts (for, while, if then else, etc...) without having to worry about complex errors. After learning C++, I found the transition to C to be fairly easy, just some different headers and functions, and I can't use some of the "neat" OO functionality of C++, but it is fairly easy to learn coming from C. I would imagine that if you were going from C to C++ it would be slightly more difficult to grasp the OO and polymorphic concepts in C++.
Other good programming languages are: PHP, Perl, and Java (I personally despise Java, but that is just cause my experiences with it have been less than pleasant). Each language has its ups and downs, and you should always choose the language based on the application you'd like to make, not because of personal preference. Picking up new languages is easy, so the best thing to do is to choose languages that best suit the application you need it for (i.e. text parsing would be PERL)
\"It\'s only arrogrance if you can\'t back it up, otherwise it is confidence.\" - Me
September 6th, 2002, 07:38 PM
I recently started learning some PERL. This is my first programming experience since Basic in High School. I like it; it seems like a good first step. I wouldn't know for sure though since I have not learned the other languages such as C and VB...
Opinions are like
holes - everybody\'s got\'em.
September 6th, 2002, 08:57 PM
As an instructor who has seen students with varying degrees of programming skills in different languages, I believe that being competent in the following programming languages will give you all of the background you need to learn a new language in a very short amount of time:
Assembly - required to undesrtand how a machine actually interprets high-level commands. For the purpose of instruction, I would focus upon x86 assembly. Once you are familiar with that, then you can move on to other architectures if you are interested in further expanding your knowledge of assembly. I would also suggest limiting yourself to working within a 16-bit environment as you learn, for a 32-bit environment has many more features which you will be required to learn to get good asm programs.
C++ - an object orienented programming language built upon C (considered by many computer scientists to be the most dangerous high-level language), an imperative language, with greater readability, writability and reliability.
If you wish to further delve into different programming languages, Java is a very simple language to learn once you are very familiar with C++. Many others have suggested VB and Python, but the problem with these languages is that they are platform specific, created for Windows and Linux, respectively. For the time-being, work with portable languages, and learn other, more platform specific languages, when the need arises, either for a job, a class or for a project of your own. Furthermore, languages such as Perl and PHP are interpreted languages, rather than compiled languages. These should be extremely simple to learn once you have a solid background in programming, and are generally used for specific purposes, while languages such as C++ will allow you the flexibility to do nearly anything you wish to do.