The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В GCC утверждено включение поддержки языка Rust"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "В GCC утверждено включение поддержки языка Rust" +4 +/
Сообщение от Брат Анон (ok), 12-Июл-22, 15:20 
> Вижу в комментариях собралось очень много профессиональных программистов.
> Объясните, пожалуйста, каким критериям должен соответствовать язык для настоящих программистов?
> Чем плох rust?
> Какой язык стоит учить если я хочу стать настоящим программистом, а не
> макакой? Почему?

Главный критерий прикладного языка: код пишется 1 раз, и читается -- 50. Гошечка, в этом смысле -- очень норм. Но не выполняет второй критерий.

Второй критерий (системный язык): язык должен предоставлять абстракцию виртуальной машины и полностью скрывать реальное железо, позволяет при этом написать ОС. Этот критерий кратно повышает возможность переноса софта с платформы на платформу. Понятно, полностью абстрагироваться от железа не выйдет, но ослабить эту связь на 99.5% -- это будет отлично.

Третий критерий: маленький компактный язык. Здесь Го худо-бедно соответствует. Он достаточно небольшой (в последней редакции уже далеко не так), изучить его механически можно за месяц, понять -- нужно несколько лет, увы.

Раст крайне запутанный язык, как в синтаксисе, так и в базовых типах и тем более -- в понимании идиом. Читать чужой код ну просто невозможно.

Раст, предоставляя некоторую абстракцию виртуальной машины даёт сплошные протечки. Для него это нормально -- потому что он плотно слипся с кодом на СИ, который в свою очередь разворачивает программиста в сторону железа, чуть больше, чем полностью. Теоретически, Си переносим. Практически -- это сплошная попоболь. Почему Раст наследует практически все эти родовые уродства без какой-либо перспективы исправления.

Язык не надо учить, чтобы стать настоящим программистом. Надо изучать программирование. А оно -- концептуально на порядок выше, чем 99.5% языков программирования. Научишься программировать -- в любом языке ты будешь влёт видеть недостатки языка. Сначала в голове систематизируй классификацию языков. Укладывая в эту классификацию очередной язык -- ты будешь знать о нём 90% главных характеристик.

Я вполне сознательно выбрал Го. Потому что это -- испорченный Оберон (* имхо, лучший язык программирования *). Соперничество Оберону может составить только Компонентный Паскаль. Первый больше для системщины, второй -- идеален для прикладнухи. В чём-то V лучше Go, но V пока слишком зелен, но я уже вижу в V попытку исправить Go, уже допущены концептуальные ошибки (потому что авторы тупо не поняли почему Го сделан так, как сделан). И это ещё большее отклонение от Оберона, что как по мне -- так тоска печаль.

И обязательный компонент хорошего супа: учиться, учиться и ещё раз учиться, как завещал великий Ленин. Ну. и такие столпы современности, как Никлаус Вирт, Стив Макконел, Фред Брукс, Мартин Фаулер, Кент Бек -- обязательны к прочтению и перепрочтению. Инструменты типа git -- обязательны к использованию. Обязательно участвовать в коллективной разработке, делать запросы на слияние -- почувствовать вкус коллективной разработки (на сколько это больно и противно).

Программировать каждый день, хотя бы по 30 мин -- само собой.

Каких-то 3-5 лет -- и опыт будет уже вполне достаточный, чтобы пойти джуном куда-нибудь.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В GCC утверждено включение поддержки языка Rust, opennews, 11-Июл-22, 21:36  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру