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

Specifically- it appears to be mostly C99, lots of macros, lots of ugly buffer manipulation. But it's tooled for PREFast so you know it's secure! (https://github.com/microsoft/omi/blob/4ce2cf1cb0aa656b8eb934...) (j/k... I haven't seen that in ages). Guessing a port of MS's internal WMI codebase?

This codebase just smells of rot all over.




That is why there is "Modern C", "Modern C++" as talked at conferences, blog posts and endless over here, and then real life code that we actually find out in production.


I've seen and written plenty of modern (at the time of writing) C++ in production. It really depends on the team and the product.


Sure, yet this is the outcome from companies deeply involved in ISO, let alone those where regular folks don't even care HN exists.


Ironically, most modern C++ code I wrote was not for Microsoft, but a much smaller company that is not in any way involved in ISO C++ standardization process. It was due to that company culture - senior engineering leadership (which were also the founders) were all big standard C++ fans, and they wrote much of the original codebase.

Large companies like MS often have codebases that are so ancient (e.g. HRESULTs and IF_ERR_GOTO type macros everywhere), they only get modernized very gradually if at all.


I only use C++ for libraries that are then plugged into managed runtimes.

Most of the stuff I see in the wild could be considered what I call C+, basically MFC style with plenty of C love.

While Microsoft has the excuse for older code bases, stuff like WRL and C++/WinRT also has its share of not only following what is preached regarding C++ Core Guidelines love.


So the choice is RIIR or RIIC++ ?


It can also be RIIC#, RIID, RIIGo, RIIAda, RIIJava,... take your pick.




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

Search: