LINUX.ORG.RU

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

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

Я вот посмотрел на Rust — если сравнивать с сишечкой, то синтаксис приятнее, возможностей больше.

Другое дело, что я, например, сравниваю не с сишечкой, а с плюсами. И вот тут у меня вопрос: почему было не сделать классическое наследование, как в C++? Оно в целом хорошо себя зарекомендовало, его перенесли из плюсов с минимальными изменениями, например, в Java, в C# и в Object Pascal (с поправкой на синтаксис последнего). Зарубили при этом множественное наследование, но оставили возможность создания интерфейсов (которая покрывает где-то 90% случаев применения множественного наследования, а то и больше).

Я знаю, в расте аналогичные возможности делаются через типажи, но всё это как-то более… тяжеловесно, что ли.

Что не понравилось:

  1. Язык разрабатывается, как ни крути, одной командой. То есть шансов «утонуть» у него намного больше, чем у C++, который продвигается несколькими разнонаправленными командами и стандартизуется комитетом (на C тоже есть стандарты). @Croco вот считает комитеты злом, в чём-то он прав, комитеты далеко не всегда принимают лучшее решение — но если язык неиллюзорно может помереть из-за того, что хозяин наигрался, это куда большее зло. На том же паскале не слишком хорошо отразилось то, что долгие годы им никто, кроме Борланда, по сути не занимался. Да, возможно, в эпоху копроэкономики я слишком много хочу — но вот код на C++ 20-летней давности, если он не завязан на гуёвые тулкиты и другие быстропротухающие библиотеки, я могу и сейчас спокойно использовать. Будет ли такое через 20 лет с сегодняшним кодом на Rust?..

  2. Разрабатывая программу на Си, я могу заранее надёргать из интернета пакетов типа libFooBar-dev и обеспечить себе возможность для автономной работы. Более того, я их и файлами могу натаскать. В rust же всё слишком завязано на собственный онлайновый менеджер пакетов. Впрочем, возможно, это болезнь роста и хотя бы для популярных библиотек со временем тоже сделают dev-пакеты…

Исправление hobbit, :

Я вот посмотрел на Rust — если сравнивать с сишечкой, то синтаксис приятнее, возможностей больше.

Другое дело, что я, например, сравниваю не с сишечкой, а с плюсами. И вот тут у меня вопрос: почему было не сделать классическое наследование, как в C++? Оно в целом хорошо себя зарекомендовало, его перенесли из плюсов с минимальными изменениями, например, в Java, в C# и в Object Pascal (с поправкой на синтаксис последнего). Зарубили при этом множественное наследование, но оставили возможность создания интерфейсов (которая покрывает где-то 90% случаев применения множественного наследования, а то и больше).

Я знаю, в расте аналогичные возможности делаются через типажи, но всё это как-то более… тяжеловесно, что ли.

Недостатки:

  1. Язык разрабатывается, как ни крути, одной командой. То есть шансов «утонуть» у него намного больше, чем у C++, который продвигается несколькими разнонаправленными командами и стандартизуется комитетом (на C тоже есть стандарты). @Croco вот считает комитеты злом, в чём-то он прав, комитеты далеко не всегда принимают лучшее решение — но если язык неиллюзорно может помереть из-за того, что хозяин наигрался, это куда большее зло. На том же паскале не слишком хорошо отразилось то, что долгие годы им никто, кроме Борланда, по сути не занимался. Да, возможно, в эпоху копроэкономики я слишком много хочу — но вот код на C++ 20-летней давности, если он не завязан на гуёвые тулкиты и другие быстропротухающие библиотеки, я могу и сейчас спокойно использовать. Будет ли такое через 20 лет с сегодняшним кодом на Rust?..

  2. Разрабатывая программу на Си, я могу заранее надёргать из интернета пакетов типа libFooBar-dev и обеспечить себе возможность для автономной работы. Более того, я их и файлами могу натаскать. В rust же всё слишком завязано на собственный онлайновый менеджер пакетов. Впрочем, возможно, это болезнь роста и хотя бы для популярных библиотек со временем тоже сделают dev-пакеты…

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

Я вот посмотрел на Rust — если сравнивать с сишечкой, то синтаксис приятнее, возможностей больше.

Другое дело, что я, например, сравниваю не с сишечкой, а с плюсами. И вот тут у меня вопрос: почему было не сделать классическое наследование, как в C++? Оно в целом хорошо себя зарекомендовало, его перенесли из плюсов с минимальными изменениями, например, в Java, в C# и в Object Pascal (с поправкой на синтаксис последнего). Зарубили при этом множественное наследование, но оставили возможность создания интерфейсов (которая покрывает где-то 90% случаев применения множественного наследования, а то и больше).

Я знаю, в расте аналогичные возможности делаются через типажи, но всё это как-то более… тяжеловесно, что ли.

Недостатки:

  1. Язык разрабатывается, как ни крути, одной командой. То есть шансов «утонуть» у него намного больше, чем у C++, который продвигается несколькими разнонаправленными командами и стандартизуется комитетом (на C тоже есть стандарты). @Croco вот считает комитеты злом, в чём-то он прав, комитеты далеко не всегда принимают лучшее решение — но если язык неиллюзорно может помереть из-за того, что хозяин наигрался, это куда большее зло. На том же паскале не слишком хорошо отразилось то, что долгие годы им никто, кроме Борланда, по сути не занимался.

  2. Разрабатывая программу на Си, я могу заранее надёргать из интернета пакетов типа libFooBar-dev и обеспечить себе возможность для автономной работы. Более того, я их и файлами могу натаскать. В rust же всё слишком завязано на собственный онлайновый менеджер пакетов. Впрочем, возможно, это болезнь роста и хотя бы для популярных библиотек со временем тоже сделают dev-пакеты…