Coding Websites in C++

Friday, April 13, 2012

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.

More Rubbish

Your Portfolio Gave Me Diarrhea

Friday, October 1, 2021

Motivation

Friday, September 24, 2021

We got married

Thursday, September 16, 2021

Unity Quiz

Sunday, September 6, 2020

Everything We Watched In Lockdown

Thursday, September 3, 2020

Bigger Maps

Thursday, April 5, 2012

Steam Captcha

Saturday, March 31, 2012

Quitting Caffine

Thursday, March 22, 2012

Making Gamemodes Better

Monday, March 12, 2012

Lottery Results

Sunday, March 4, 2012