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

Many programming languages try to have perfect symmetry and because of that, fail to be useful in the real world. C++ has constructs such as template specialization that allow symmetry breaking. Symmetry breaking is what makes nature beautiful and therefore I would argue C++ IS a beautiful language. C++ is complex because the world is complex. Just as a mountain is shaped by time and the elements, C++ is also shaped by decades of experience and change.

This is what also makes Bjarne one of the greatest language designers. Where most designers would have gone off making new languages, Bjarne has been polishing the C++ stone the whole time.




The complexity of the world arises from simplicity. All complex things in the universe in the end are just atoms.

Is it better to build a complex programming language that handles real world complexity?

Or is it better to build a simple programming language where complexity is an emergent property than in turn use that to handle real world complexity.

One issue of building a complex programming language is that if you build the language to handle one type of complexity, it becomes hard mutate or shift that programming language to handle a different type of complexity. This is essentially the issue with whats happening with the newer versions of C++.




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

Search: