I am a C programmer and new to web development. Which web-C-technology (open source) suits me to learn quickly for web-development?
Update: my question is based on both client and server technologies.
I am a C programmer and new to web development. Which web-C-technology (open source) suits me to learn quickly for web-development?
Update: my question is based on both client and server technologies.
A lot of "web programming" nowadays happens client-side. Unless you investigate (or invent) a cross-compiler from C to Javascript, you're not going to be running a lot of C code in people's browsers.
Server-side, of course, you're free to write stuff in C if you feel like it, and some people do.
Before someone comes to suggest that you use language substitute-fashionable-one, I'd like to tell you that what you need to do the web development with c is to know how to do development in c and understand the nature of protocols, markup, etc. Library needs are minimal here. And no one will tell you which one suits your needs and your perception of beauty.
I'm not aware of any present-day heavy use of C (not C++) for web development, much less one that could be "learned quickly". It's not the right language for the task at large, though some specific modules in a web application could certainly be written in C for performance - and even then C++ would be most likely.
I know this is going to sound arrogant, but instead of saying that you are ‘a C programmer’ you should say that you are ‘a programmer’ and learn some language better suited to web programming. It will be fun, you will become a better programmer and the applications are very likely to be better, too.
I know that in theory you can write a good web application in any language, but in practice there are lots of aspects that make writing in a more popular (in the ‘webapp sense’) language easier. Lots of examples, if nothing else.
On the client side, you have little choice. You need to know your way around HTML/CSS/Javascript.
On the server-side, you have a ton of options.
I was a C programmer before I got into web development, and when PHP came along, I was attracted to it because it has syntactical similarities with C, and (even better), a lot standard C library functions are there too ( sprintf, fread, etc).
PHP is also a decent place to start as it performs just fine as procedural language, and if you've never done anything remotely OO, you might find that it provides a nice way to get your feet wet.
This is not to say that PHP is the most wonderful language on the planet. There are plenty of issues. But as a "first web-oriented language" for someone coming from a heavy C background, I'm hard-pressed to think of anything significantly better.
On the client side, you can do nothing in C. On the server side one could argue that it's still possible to create a set of cgi's in C and these cgi's together with some cleverly crafted client code (html+css+javascript) could result in a state of the art web application.
This is, however, based on my experience, a very hard road, and one that's virtually impossible to follow without having a good insight in the very special environment that a web application is. Plus, the end-result will be a Frankenstein-like beast at best. Trust me, been there done that.
My suggestion to you would be to start studying web development as such. That is, client side html+css+javascript and a server side scripting solution. You'll probably benefit from choosing a scripting solution like php, because of its syntactical proximity to C, but IMHO that's the easy part of the job. Understanding how the client side (html+css+javascript) works together to create beautiful, reliable and user friendly web applications is where you need to focus on. Because of your background in C programming, the scripting side will be easier to get started in.
Good luck!