📦 about 🧻 posts

I’m trying to make more 20{a1da5f31666ba9e4b613f74c475fa44930e0dd96d95a00cdfc356ce4f15804bc} 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.


Add a Comment

An error has occurred. This application may no longer respond until reloaded. Reload 🗙