I've started a project on SF.net to create a small yet modern IRC client (µIRChat or simply µIRC). However, there one thing that I really can't decide before I start, and that is the language to use. My idea came from µTorrent, which is, as far as I know, written in C with custom libraries. Now, I don't want my client to be extremely small, but definitely under 1 MB.
I don't want any flaming, and such, or arguing about the general "C vs. C++" question, I want the discussion to be related to my requirements, please. Thank you!
So here are my thoughts:
- C code is generally small and fast, although it may not have excellent readability.
- In C I'll have to do pretty much everything myself, but this isn't a big problem.
- I can bundle the soruce with Tiny C Compiler and have everything needed to get my program up and running from source in a simple package.
- C tells me to go straight to the point, but the code might end up spaghetti-like, which is really bad, but with careful design it can be avoided.
- C++ is more OO and provides many more features.
- I can use namespaces to structure everything cleanly without having name collisions.
- Classes will help abstract all the platform-specific code in a nice black box.
- The STL is extensive, but I'm pretty sure I won't use it because of the size requirements.
- Overall C++ allows me to do the same thing with cleaner and more readable code.
Now you can pretty much see that I'm stuck. I need you help to pick one for my needs. Remember, it needs to be small, not necessarily fast (speed is a nice bonus too, but not a requirement). Portability will be achieved by the design of the application.
Thanks for helping!
µIRC Project Admin