Starting the career in Programming. What language? This question was asked by 14 year old boy in warez-bb.org forum. He asked "I want to program in future, but still don't know what's the most effective computer language around (and the one that I will get payed for the most). I gotta' say , And the thing I think could be most effective and payable is web-programming? if so agree, what language should I start with?"
I think following would be the best answer for this question.
I believe you can categorise programming languages into the following:
-- Assembler - programming the bare metal. This is difficult and takes quite some time to master
-- C - Very powerful, with huge possibilities for shooting yourself in the foot. Most operating systems and speed-dependent programs are written in this, as well as device drivers. It's an excellect language to learn early since it gives an appreciation of memory limitations, and imposes a discipline of double-checking everything.
-- C++ fits in here. Be careful - C++ is most certainly not "a better C", but is an object-oriented language with behaviors quite different from C. For example the compiled code has a vtable which puts sufficient overhead on the code to preclude its use in many places where C is used.
-- Java and C# are pretty much identical in form - each has its own libraries and server concepts (J2EE and .NET) but ultimately if you can program one you can switch to the other with the minimum of fuss.
-- PHP, Perl, Python, etc. fit in here. These languages tend to be less rigid in structure, yet very powerful. They are also often type-agnostic and very dynamic. For these reasons, they are bad places to start to learn programming, teaching sloppy practices.
A software framework is a reusable software platform to develop applications. Software frameworks include support programs, compilers, code libraries, tool sets, and application programming interfaces (APIs). Eg Rails and Django.
Ruby on Rails, often simply Rails, is an open source web application framework which runs on the Ruby programming language. It is a full-stack framework: it allows creating pages and applications that gather information from the web server, talk to or query the database, and render templates out of the box.
Django framework for Phython makes it easier to build better Web apps more quickly and with less code. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performing, elegant Web applications quickly. Django focuses on automating as much as possible and adhering to the DRY (Don't Repeat Yourself) principle. http://www.djangoproject.com/.
MIT's very popular "Introduction to Computer Science and Programming" course also teaches Phytho as the first computer language for students.
My suggestion for a new programmer would be to start with Java or C#. These provide good protections to prevent you breaking things, yet have strong funtional capabilities and broad support for just about everything in the libraries. Both have good supporting tools, although Microsoft's Visual Studio is for C# is probably better than Eclipse or NetBeans for Java. On the other hand, Java runs everywhere while C# is limited to Windows.
I would strongly recommend that you learn C too. It's actually a deceptively simple language but it allows you to do anything, including stupid things, so it teaches you how not to do stuff pretty quickly.
But some other person advices him:
If he wanted to learn web programming. For me, i would advice:-
This is the basics for web developer and not C#.net, php, asp etc..
You can comment put your comments.
PHP Web Programming by Muthu Ramadoss
Learn PHP Web Programming with this comprehensive tutorial.