Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Been a C/C++ daily user for 40+ years. The key to being great is to ignore much of what is possible in C++'s templating and just write C code, and only borrowing C++'s highest level OOP class structures. One gains the organization of OOP and faces none of the template nonsense "mature" C++ developers get hung up trying to achieve. Template only when no other method makes sense, and do so cautiously. Why? Because template metaprogramming is simply too error prone, and the time to debug that is less than the hassle of doing the same without templates.


It is easy to find people like bsenftner who have elected to stop learning, and to continue writing in an old, crappy, error-prone style. They are not representative of competent C++ coders.

For the record, OOP is a bad fit for most problems. The overwhelming majority of actual template use has nothing to do with "template metaprogramming", which has been superseded by modern language features he evidently knows nothing about.


Easy cheap shot. Who says anyone stopped learning? Coding is not the goal, which the vast majority of developers seem to not realize. The goal is the minimal technology necessary to impact the physical world here. Lay down the latest buzz words, pick up the known tools and get the job done. Look past the technology and critically assess how to impact the world. You may see "old, crappy error prone style" while the greybeards see familiarity and understand what is happening without mental gymnastics, understand the code base in a fraction of the time, and deliver evergreen, fault tolerance processes with exponentially less expense to maintain and operate. While you're busy writing the latest resume jerk off, I'm implementing industry leading enterprise applications and acquiring global patents.


I am a greybeard who has not abandoned learning new things.

Modern features in C++ are not there to pad resumes. Each is carefully selected from a much larger number of proposals as demonstrating it enables writing cleaner, clearer, more reliable, faster code. If you choose not to use any of them, you are perforce choosing to write less clean, less clear, less reliable, slower code.


What is this aggressive "abandoning learning new things" label? My teams choose a method of C++ that does not include deep hierarchies and shuns generic programming via overuse of templates. Beyond that, we focus on the purpose of the software, as it why are we here and how do we solve this within a sustainable and minimal expense frame. As far as "less clean, less clear, less reliable, slower code" - you are a complete and utter fool to believe such fantasies. Those points are why I and my teams write code as we do: it is clean, clearer, more reliable, and exponentially faster.

And the sheer audacity to think only your method produces such results. Grow up.


That you mention "deep hierarchies" as something you evidently imagine must exist in others' code reveals all.


You project a lot.




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

Search: