The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В GCC утверждено включение поддержки языка Rust, opennews (??), 11-Июл-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


208. "В 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 лет -- и опыт будет уже вполне достаточный, чтобы пойти джуном куда-нибудь.

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

372. "В GCC утверждено включение поддержки языка Rust"  +1 +/
Сообщение от tmplsr (?), 14-Июл-22, 12:04 
Ещё проще: HTDP, "Как проектировать программы". Легендарная по своей сути книжка, (хотя и гораздо слабее SICP) наконец-то переведена издательством ДМК. Так ведь издатели и до "The Unix-Haters Handbook" доберутся, редиски этакие.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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