170 похожих чатов

"Ни один нормальный язык программирования не может быть логичным продолжением

Си, поскольку логичное продолжение фундаментальной ошибки - это фундаментальная ошибка. Примером тому может служить язык Go - желание сделать его нормальным привело к тому, что от Си там мало что осталось. Напомню, одним из авторов Go является Кен Томпсон - автор языка Би, а, следовательно, соавтор Си. И как тогда появилась книга Кернигана и Ричи для С, так и теперь появилась книга Кернигана и Донована о Go. В отличии от многочисленных неофитов, корифеи хорошо понимают цену своему поделию, создаваемое ими под конкретные задачи в 70-х, а не на века.
Сколько убийц Си всего было? Десятки, ведь. И не взлетели.
Потому что они методологически создавались неверно, всякими возомнившими из себя невесть что.

Страуструп создал C++, и назвал его C++. Не D, не E и не Z, а C++. Умные люди посмотрели на C++, и поняли, почему время для D ещё не пришло. Глупые не поняли, и застолбили букву D, под какую-то фигню, которая не несла в себе ничего нового, они просто слили в один флакон, всё что они в детстве слышали о языках программирования от бабушки, не имея никакой другой объединяющей идеи. Они даже не подумали о том, что Страуструп, скорее всего, знал всё, что они знают о программировании, но почему-то не включил это в язык. Им в голову не пришёл вопрос "почему так". Они просто взяли и создали язык программирования потому, что могли создать язык программирования.

И все последующие "убийцы" C, включая и Go тоже, точно так же не имели никакой идеи заложенной в них. Кроме, быть может, идеи "убить C", но это деструктивная идея и потому провальная. Отсутствие конструктивной идеи — практически наверняка провал. Бывали в истории языков программирования безыдейные исключения, добившиеся популярности, но их не так уж и много.

Сегодня же время пришло. C++ долго вынашивал идеи. Сильно разные идеи, которые рождались и развивались в нём: Страуструп запилил достаточно богатый на возможности язык, чтобы там можно было дрочить вприсядку так, как это описывал Александреску. И сегодня эти идеи доросли до уровня, когда они имеют самостоятельную ценность. Rust взял одну из них, и построил вокруг неё идеологию, подчинив всё развитие языка автоматическому управлению памятью в compile-time. И именно поэтому Rust имеет шансы убить Си, в то время как Go — нет.

Никакие миллиарды гугла не помогут Go, потому что Go безыдеен. В силу этих миллиардов, Go, может быть, отъест себе какую-нибудь нишу, типа как это случилось с Java, но на что-либо большее ему надеятся не приходится. Rust же как раз имеет все шансы подвинуть и C, и C++. Вытеснить их не удастся в обозримом будущем, но подвинуть их — вполне. Единственное, что может ему помешать — это кривая обучения: там реально может быть сложно въехать, если не понимать что, зачем и как сделано. А без этого понимания будет невозможно написать код, который компилятор сочтёт правильным. Собственно, если посмотреть вопросы, которые задают ньюфаги, то они неплохо демонстрируют.

И бесполезно сегодня ссылаться на корифеев, которые облизывают Го. Корифеи остались в прошлом, их область экспертизы где-то там. Что Керниган, что Александреску — они слишком много интеллектуальных усилий вложили в те задачи, на которых они стали известными, и судя по всему, они уже ни на что новое больше не годны. Ну, или может быть дело в том, что просто гугл им приплачивает, чтобы Го ассоциировался с их именами. PR своего рода. Что какбэ лучше всего остального говорит об отсутствии потенциала у Го: если ему нужны подпорки в виде авторитетов для того, чтобы выглядеть перспективным, то... нахрен он такой нужен?"

1 ответов

12 просмотров

Идея go - csp в стандартной библиотеке. По-моему это вполне инновационно, ни у одного мейнстрим языка такого не было

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта