Hacker News new | past | comments | ask | show | jobs | submit login

I would be willing to bet he's still eight years behind the times with his C++, and that is the explanation for this post. Writing a solid and flexible server in C++ is just not very hard with modern tooling.



I think perhaps you've forgotten all the ways to shoot yourself in the foot...

C++ may be an effective language for experienced users, but it's got quite the learning curve (beginning with how exactly DO I write a correct constructor in the presence of exceptions...). Every time I have to work on C++ code I dig out my Meyers book to make sure I'm not fucking something up. C is small enough that I don't have to perform the same ritual.


I think there is space for a programming between C and C++. C - as much as I like it - makes it far to easy to shoot yourself in the foot. C++ fixes some of these, but adds a whole new arsenal of appendage-mutilating features that even many experiences C++ programmers admit takes a long time to master.

Is it possible to create a language that fixes what C gets wrong while keeping what C gets right without becoming C++? There have been a number of attempts and none seem to have stuck, except for Go (IMHO). Java tried, and it did not fail altogether, IMHO, but it comes with yet another set of problems, mainly a tendency to lure programmers into over-engineering their solutions (the same, IMHO, goes for C#, which is kind of a sweet language at it core, but that becomes very hard to see among to tangled mess that is the .Net framework).


What would you consider "modern tooling" for writing a network server in C++? Boost Asio, perhaps?


Asio is good but can frustrate people unaccustomed to the heavily templated boost approach. High learning barrier. cpp-netlib aims to wrap and simplify Asio for people doing the typical stuff, but I've no experience. POCO, Qt, and libevent are all good approaches.

Having followed Carmack a bit over the years my guess is he built something from scratch himself in C++.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: