The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"В GCC утверждено включение поддержки языка Rust"
Отправлено Брат Анон, 12-Июл-22 15:20 
> Вижу в комментариях собралось очень много профессиональных программистов.
> Объясните, пожалуйста, каким критериям должен соответствовать язык для настоящих программистов?
> Чем плох rust?
> Какой язык стоит учить если я хочу стать настоящим программистом, а не
> макакой? Почему?

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

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

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

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

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

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

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

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

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

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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