Question
I program in C (ANSI C89/ISO C90) in a *n*x environment on a regular basis. I am now in a position where it would be beneficial for me to learn a web-development language. In particular, I'm looking to learn a language which:
- ...exploits my background as a C programmer.
- ...can produce the level of interactiveness of a web-site like stackoverflow.com.
I hear many good things about PHP. Do any of you have other suggestions?
Notes
- Other languages I am familiar with: Java, Perl, Tcsh, and Scheme.
- I forgot to mention that I'm interested in learning a web-development language which is capable of doing things on the client-side. I'm sorry if this was unclear.
- I plan to use my knowledge of the language to develop a web-site which is stylistically similar to stackoverflow.com (with a very different concept, of course).
With Perl and C background I would think that PHP is going to come easy. The learn about frameworks and that sort of things.
By far, I would recommend C#. OOP in it is amazing, and you can easily work with Design Patterns well. It is built from the ground up to be OOP. It is also a {} language.
If you're a good C programmer, why not simply continue to code in C? There are valid reasons to use a different programming language, but just because you are going to be coding for the web is not one of them. There are two popular ways to use C for web development:
I worked with several colleagues who've learned PHP after C and/or JAVA. They are really happy with it. If you want to be a .net guy and hve knowledge about that environments, you'll find the C# familiar, but for me, it is full of l'art pour l'art stuff.
If you already know C, Perl and Java then in all honesty you already know PHP, you just don't know it yet. Make sense? Perhaps not. But it will once you start playing with it.
You don't say why you're learning a Web development language or what it's for. That's key information in providing any sort of recommendation like this. In the absence of such information I would suggest PHP for several reasons:
You need to consider both language and platform. ASP.NET MVC in C# would be my recommendation. The syntax will be very familiar. MVC is a good pattern with support for jQuery baked in, giving you good cross-browser support for javascript. MVC also gives you a lot more control over the HTML that's generated. It is, in fact, the platform the SO is based on.