Coding Websites in C++

I’m trying to make more 20% time for myself to experiment with things that are scratching away in my head. So I decided to have a look into something I’ve been thinking about for a while. Why don’t we code websites in C++.

It isn’t a totally new idea. Google is coded in c++. A lot of Yahoo is or was. And it was actually incredibly easy to make a module for IIS7 that did it. Here’s a post I made in the programming forum with an explanation – and a bare bones project.

Good Stuff

  • More control. You can hold stuff in memory until the next request. Pool database connnections. There’s a lot of application specific optimizations you can do in this way.
  • Obviously faster than scripting languages like PHP
  • If you code it right you can still use PHP etc.

Bad Stuff

  • More to control. Threading. Multiple server instances. These could be seen as positives too though.
  • Any speed increase will probably be paled into insignificance if you’re accessing a database (but again – you have more options to detour around these issues).
  • Probably not that much faster than something compiled like C#

I did get a nice system done. It has hotloading DLLs, so you could compile and refresh the page and it would automatically reload the DLL. It has virtual pages – so you can add a page string like “/my/page.html”, or “/my/page.*” and it’ll load the page from the specified class based on the request.

Ultimately I decided to stop working on it because I’m not totally convinced of the speed benefits (the database being the bottleneck). And while I do love C++ – I feel that coding websites in it would be cumbersome without spending some significant time coding a framework.

So here’s some useful links for anyone else thinking of doing this.

  • CTemplate – template system for c++ by Google (like smarty for php)
  • Poco – looks like a good generic library with some useful stuff for anyone thinking of doing this.
  • G-WAN – makes the case for webpages coded in c++. Unix only. (maybe tellingly, the website is down right now)
  • Stack Overflow – there’s a few threads on SO on the issue. Most make the point that we use PHP etc because it’s established and it’s easier. A good point is that things like PHP, ASP.NET, ROR and Java have had lots of money invested in them to evolve them to where they are today – but C++ doesn’t really have anyone fighting its corner like that.

I get the feeling that there’s undiscovered potential in there somewhere, so I still have it rattling around in my head.

One thought on “Coding Websites in C++

  1. You can have a look at cppCMS. Certainly POCO is good library worth to look after Boost. I have few questions to you.

    1. Does new syntax and easiness of C++11 add value to code websites in C++ as easily as we do in Python like languages?
    2. More libraries of sort, Casablanca of codeplex would make it easy to use C++?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s