LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Т.е. вы сами подтверждаете, что современный C++, более сложный, чем старый C++, делает разработку на C++ проще.

Только при условии, что будут использоваться новые фичи С++. А если есть и то и другое, надо уметь работать и с тем, и с другим.

Тогда к чему жалобы на усложнение C++?

Суть жалобы в том, что знать весь C++ на текущем этапе эволюции этого языка попросту невозможно. В разных проектах (в т.ч. опенсорсных) используются разные подмножества этого C++.Я придерживаюсь той точки зрения, что язык должен быть простым, а дополнительные абстракции должны быть реализованы не посредством введения в язык нового синтаксиса, новых конструкций (вроде лямбд, constexrp и так далее) а чтоб САМ ЯЗЫК предоставлял возможность себя программировать. Речь естественно идет о чем-то вроде лисповых макросов и гомоиконности, кодогенерации, а не колдовства с шаблонной магией. Язык темплейтов в C++, хоть и является Тьюринг-полным, на самом деле на практике бесполезен. Он не совпадает с самим C++, из этого языка нельзя пользоваться возможностями C++, и, соответственно, потенциал роста сложности абстракций оказывается ограниченным.

Исходная версия SZT, :

Т.е. вы сами подтверждаете, что современный C++, более сложный, чем старый C++, делает разработку на C++ проще.

Только при условии, что будут использоваться новые фичи С++. А если есть и то и другое, надо уметь работать и с тем, и с другим.

Тогда к чему жалобы на усложнение C++?

Суть жалобы в том, что знать весь C++ на текущем этапе эволюции этого языка попросту невозможно. В разных проектах (в т.ч. опенсорсных) используются разные подмножества этого C++.Я придерживаюсь той точки зрения, что язык должен быть простым, а дополнительные абстракции должны быть реализованы не посредством введения в язык нового синтаксиса, новых конструкций (вроде лямбд, constexrp и так далее) а чтоб САМ ЯЗЫК предоставлял возможность себя программировать. Речь естественно идет о чем-то вроде лисповых макросов и гомоиконности, кодогенерации, а не колдовства с шаблонной магией. Язык темплейтов в C++, хоть и является Тьюринг-полным, на самом деле на практике бесполезен. Он не совпадает с самим C++, из этого языка нельзя пользоваться возможностями C++, и, соответственно, потенциал роста сложности абстракций оказывается ограниченным. Далее - семантика системы типов языка излишне сложная, при этом не полная и не ортогональная. В результате - рассадник тупейших ошибок.