LOGOFALPROG Telegram 153
Что я думаю про C++20
#кодище
На днях С++20 был окончательно утверждён. Осталось чисто формальная публикация ISO, которая может затянуться на пару месяцев. Но даже если это произойдёт в 2021, то стандарт всё равно будет называться С++20, потому работу над ним закончили в этом году. В связи с чем я решил пробежаться по основным нововведениям и написать, что же я про них думаю. Интересно это будет трём с половиной человекам, поэтому выскажусь максимально коротко и не шибко художественно.

Концепты — это SFINAE с человеческим лицом. Ну, вернее так говорить не совсем корректно, потому что это скорее добавка, чем замена, но лицо у них явно более человекообразное. Я уже маленько распробовал, и мне очень нравится. Язык становится удобнее и это прекрасно.

Модули распробовать не удалось. В теории крутая штука, хотя и довольно противоречивая. Надо сильно менять привычки и перестраивать мозг, что не очень-то получается в условиях, когда компиляторы до сих пор не до конца в них умеют. MSVC, например, не всегда понимает, что модули изменились, и что их надо перекомпилировать. Когда ты и сам ещё не до конца понимаешь правила игры, такое безобразное поведение компилятора совсем не помогает вниканию. Вернусь к ним в следующем году.

Корутины в С++ — это настоящий computer science оргазм. Я в принципе обожаю корутины. Это одна из моих любимых концепций программирования вообще, но тут она столкнулась с крестовой политикой «не платишь за то, что не используешь», и вместе они родили совсем уж потрясного ребёночка. Даже не zero, а negative-overhead получился. Я пока в реальных проектах не использовал (пока довольствовался boost-овыми корутинами), но я смотрел пару докладов Гора Нишанова, который их разработал. И там очень круто. Посмотрите, кто не видел. Опять же круто, что всё это чудо в стандарте, а не в бусте.

Ну и понятно, что в языке появилось много маленьких приятностей. Из того, чего прям остро не хватало — это consteval. Следить за такими штуками сейчас совсем не удобно. Ну и строковые литералы в качестве параметра шаблона тоже кайфово.

Не могу сказать, что С++20 прям совсем другим языком ощущается, как было с С++11. Нововведения очень крутые и важные, но они касаются в основном каких-то специальных разделов, а не бытовухи. Единственное изменение, которое сильно меняет ежедневную практику — это модули. Но их распробовать пока не удалось.



tgoop.com/logofalprog/153
Create:
Last Update:

Что я думаю про C++20
#кодище
На днях С++20 был окончательно утверждён. Осталось чисто формальная публикация ISO, которая может затянуться на пару месяцев. Но даже если это произойдёт в 2021, то стандарт всё равно будет называться С++20, потому работу над ним закончили в этом году. В связи с чем я решил пробежаться по основным нововведениям и написать, что же я про них думаю. Интересно это будет трём с половиной человекам, поэтому выскажусь максимально коротко и не шибко художественно.

Концепты — это SFINAE с человеческим лицом. Ну, вернее так говорить не совсем корректно, потому что это скорее добавка, чем замена, но лицо у них явно более человекообразное. Я уже маленько распробовал, и мне очень нравится. Язык становится удобнее и это прекрасно.

Модули распробовать не удалось. В теории крутая штука, хотя и довольно противоречивая. Надо сильно менять привычки и перестраивать мозг, что не очень-то получается в условиях, когда компиляторы до сих пор не до конца в них умеют. MSVC, например, не всегда понимает, что модули изменились, и что их надо перекомпилировать. Когда ты и сам ещё не до конца понимаешь правила игры, такое безобразное поведение компилятора совсем не помогает вниканию. Вернусь к ним в следующем году.

Корутины в С++ — это настоящий computer science оргазм. Я в принципе обожаю корутины. Это одна из моих любимых концепций программирования вообще, но тут она столкнулась с крестовой политикой «не платишь за то, что не используешь», и вместе они родили совсем уж потрясного ребёночка. Даже не zero, а negative-overhead получился. Я пока в реальных проектах не использовал (пока довольствовался boost-овыми корутинами), но я смотрел пару докладов Гора Нишанова, который их разработал. И там очень круто. Посмотрите, кто не видел. Опять же круто, что всё это чудо в стандарте, а не в бусте.

Ну и понятно, что в языке появилось много маленьких приятностей. Из того, чего прям остро не хватало — это consteval. Следить за такими штуками сейчас совсем не удобно. Ну и строковые литералы в качестве параметра шаблона тоже кайфово.

Не могу сказать, что С++20 прям совсем другим языком ощущается, как было с С++11. Нововведения очень крутые и важные, но они касаются в основном каких-то специальных разделов, а не бытовухи. Единственное изменение, которое сильно меняет ежедневную практику — это модули. Но их распробовать пока не удалось.

BY Log of Alprog


Share with your friend now:
tgoop.com/logofalprog/153

View MORE
Open in Telegram


Telegram News

Date: |

Select “New Channel” But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.” ZDNET RECOMMENDS "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn.
from us


Telegram Log of Alprog
FROM American