I’ve been looking for a programming language to learn and be my core programming language. I saw many programming languages such as python,c++,java,Perl,etc but I don’t know what are their strengths and weaknesses. could someone tel me their pros/and cons and your stand on whether which is the practical one to study. thanks in advance.
For a beginner, I’d suggest Python because it’s an interpreted language. Since you get an interpreter, you can type in “code” on the fly and see the result. This is very helpful when getting the hang of programming.
As for your “core” language, I’d say go with what you feel is right. Some people like C/C++ because of the performance, some like it because of the control they get. Many do not want to deal with all the little things in memory management, so they go with a managed language.
Just don’t forget to learn a bit of everything even if you have a “core” language; for example, don’t write a program to list all the files in your directory in C\C++ if your goal is to have your program work on Windows and Linux because it’s probably easier to just use a scripting language (i’m not saying you can’t use C\C++ for cross platform stuff).
I agree that PHP is a great language to start with because of its Object Oriented and Procedural abilities. You’re the programmer, so you can decide how you want to write your programs. Your not forced to go one way or another. Plus it is an interpreted language so you will see your results quick without compiling anything. PHP runs on a large majority of websites including Warez-BB.
If you are really new and clueless you might want to try Python first, since you need to understand the concept. Java can be overwhelming and C++ will make you frustrated if you are not keeping well with it. But then just treat language as your tools to understand the concept of programming.
It really depends on what kind of programming you intend to do.
Low-level languages like ASM, C or C++ tend to be more complex but have significant performance advantages over higher-level languages. These languages are usually used if you intend to write low-level or time-critical software (examples would be: drivers, operating systems, games, real-time on embedded systems, …)
Higher-level languages tend to be easier to learn and use, leaving out a lot of details to the interpreter or virtual machine. Amongst these languages I quite like Python, Ruby and Lua. These languages are used for things like rapid-prototyping, scripting, dynamic web programming and server-side programming
I personally consider languages like C# and Java to be in between those two categories, as they remove some of the complexity of low-level languages while also trying to give the programmer enough options to create fast running applications. The most common use for those languages is server-side applications where performance is required (and you don’t want to deal with things like memory allocation), though they are sometimes also used for writing desktop applications or games (eg XNA)
If you could maybe specify what interests you most in programming we can give you better recommendations Smile
[Remember: for every task there is an ideal tool – there is no such thing as a programming language which does everything well]
As others also suggested, start with a simple language like PHP or Python. Pick a language, and stick with it for next couple of months. The most important step is to see and understand the logic, where the code is of lesser importance in the beginning (in my opinion). Once you see/know/understand the logic, you’re good. Know where to use if, while, for, foreach, and other statements. Also learn where not to use them. When you understand the logic behind the code you are going to use, it will be way easier to learn the code itself. This makes learning other languages that might come on your path easier as well.
One more important thing to remember, is to understand the code, and not learn it. Knowing how to use ‘print’ (for example) does, and understanding what ‘print’ does is a world of difference.
I’m on a technical university now, doing the study called, Software Science.
They just started with Java, I think there is a good reason to that…
If you have any questions, or want to know the stuff we learned in the first 6 weeks, let me know!
Java isn’t that hard to code btw and is pretty straight forward. You can code everything in once or make methods.
I don’t know what requests you have or dreams. But my personal advice would be the following:
Learn HTML and CSS as you know your native language.
And finally, learn C#. I know many people advice the usage of PHP but personally, I’d say C#.