Вот если посмотреть популярные ЯП — то это дофига работы команд. Годы работы, годы доработок. Т.е. идея может быть вдохновлена одним человеком (на самом деле он эту идею где-то подсмотрел, как правило), а вот разработка языка — это уже только команда.
Получается хороший новый язык не может создать один человек и это всегда годы работы. Т.е. неожиданно новый ЯП возникнуть не может, в отличие от JS-фреймворка типа Vue.
Но бывают и исключения. Вот же наши как-то смогли создать тот же Nemerle вообще без особых затрат, силами энтузиастов. Как так?
S>Получается хороший новый язык не может создать один человек и это всегда годы работы.
Один человек и вправду не может, потому что одной голове нужно все-таки в помощь еще несколько — проверять гениальные идеи. Ибо даже очень правильным идеям требуется, так сказать, "рамка". Обоснование, проверка.
Далее, язык программирования в современном понимании — не только синтаксис ключевых слов, но также runtime (зачастую в форме виртуальной машины), стандартная библиотека, менеджер зависимостей и прочие на первый взгляд не относящиеся к языку вещи. Но без них язык никому не нужен. Поэтому, да, придумать-то очередной язык — самое что ни на есть простое действо. А вот сделать чтоб он был кому-то нужен — это совсем другая история, вот там-то команда и нужна.
Здравствуйте, Shmj, Вы писали:
S>Вот если посмотреть популярные ЯП — то это дофига работы команд
В принципе — да, работы там навалом. Но сильно зависит от возможностей самого языка. Чем проще грамматика и возможности, тем быстрее его сделать даже одному.
Но сам язык — он нафик не нужóн без библиотек — ВОТ ТАМ кроется чёрт. Если сделаешь прозрачную интеграцию с Си (или .NET) — сразу бонусом экономишь десять лет разработки!
Здравствуйте, Shmj, Вы писали:
S>Но бывают и исключения. Вот же наши как-то смогли создать тот же Nemerle вообще без особых затрат, силами энтузиастов. Как так?
Придумать свой язык вообще можно за пару минут, написать для него компилятор, особенно имея ЛЛВМ — можно за несколько человеко-месяцев, даже с инструментарием.
А вот создать сообщество из миллионов кодеров, которые будут для него расширять кодобазу — нереально.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, Shmj, Вы писали:
S>Вот если посмотреть популярные ЯП — то это дофига работы команд. Годы работы, годы доработок. Т.е. идея может быть вдохновлена одним человеком (на самом деле он эту идею где-то подсмотрел, как правило), а вот разработка языка — это уже только команда.
S>Получается хороший новый язык не может создать один человек и это всегда годы работы. Т.е. неожиданно новый ЯП возникнуть не может, в отличие от JS-фреймворка типа Vue.
S>Но бывают и исключения. Вот же наши как-то смогли создать тот же Nemerle вообще без особых затрат, силами энтузиастов. Как так?
Прочитайте историю языка. Создание Nemerle оплачено грантом MS. На разработку ядра потрачено около года, если не ошибаюсь, работы около 3-х человек, уровня кандитат наук.
В любом случае ЯП развиваются не с нуля. Взять два моих любимых ЯП. F# — прямой потомок OCaml, clojure — прямой потомок Common Lisp. Последний точно известно создан в одного за два года.
За сто тысяч долларов создам ЯП. Вообще не вижу большой проблемы. Лексер, парсер, это всё уже давно автоматизировано. Хочешь быструю компиляцию — генерируешь llvm байткод, а дальше уже llvm всё скомпилирует в лучшем виде, до С может не дотянешь, но будет близко, если ты дизайн языка под скорость адекватно заточил. Хочешь виртуальную машину — бери Java, там тоже всё будет быстро. Сейчас ещё появляется опция с webassembly, там свои плюсы.
По сути рисуешь грамматику на каком-нибудь antlr, он тебе даёт на выходе AST. Дальше по этому AST надо проверить типы, вот тут я автоматизацию не знаю, вероятно тут основной код и будет сидеть. Возможно сгенерить ещё какие-нибудь AST (если есть макросы). И потом сдампить всё это дело в конечный байткод, который и скормить бэкэнду.
S>Вот если посмотреть популярные ЯП — то это дофига работы команд. Годы работы, годы доработок. Т.е. идея может быть вдохновлена одним человеком (на самом деле он эту идею где-то подсмотрел, как правило), а вот разработка языка — это уже только команда.
Популярными яп стали именно после многолетней работы команд.
Как правило, в фирмах.
Где был С++ до 90-х ?
C# вообще понятно — фирма продвигает свою продукцию.
За Go мощная спина google. Да и авторы имя имеют
Даже паскаль двигала фирма S>Получается хороший новый язык не может создать один человек и это всегда годы работы. Т.е. неожиданно новый ЯП возникнуть не может, в отличие от JS-фреймворка типа Vue.
Может.
Написать язык (по крайней мере первую версию) и компилятор-интерпретатор в одиночку — почти как два байта переслать.
А вот стандартную библиотеку в одиночку никак не поднять.
Где был бы Python без своих многочисленных библиотек ? S>Но бывают и исключения. Вот же наши как-то смогли создать тот же Nemerle вообще без особых затрат, силами энтузиастов. Как так?
Так он и не популярный.
Аналогично Оберону
Два мужика. В свободное от работы время.
Создали язык, написали компилятор, и на нем — операционную систему.
За 2.5 года.
Но без поддержки фирм проект не стал популярным.
Хотя Go стал непосредственным потомком Оберона.
И он стал популярным.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Хотя Go стал непосредственным потомком Оберона.
Как? Еще один?
Мало было камланий секты свидетелей священного Оберона о том, что падший Гослинг все украл в свою Java, так теперь Оберон еще и предтечей Go объявляют. Куда катится этот мир?!!!
LVV>>Хотя Go стал непосредственным потомком Оберона. S>Как? Еще один?
Почему еще ?
Я только его и знаю.
Причем, это не я придумал.
Это написали Керниган и Донован в своей книге
Там обозначено 3 ветки, от которых насследовал ГО:
1. От алгола-60 через виртовские язывки до Оберона-2
2. Си
3. От CSP до Alef
S>Мало было камланий секты свидетелей священного Оберона о том, что падший Гослинг все украл в свою Java, так теперь Оберон еще и предтечей Go объявляют. Куда катится этот мир?!!!
Про Java ничего не знаю.
Но диссер Майкла Франка, который потом реализовали в компиляторе Компонентного паскаля — читал.
С ББ знаком — система уникальная.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
S>>Мало было камланий секты свидетелей священного Оберона о том, что падший Гослинг все украл в свою Java, так теперь Оберон еще и предтечей Go объявляют. Куда катится этот мир?!!! LVV>Про Java ничего не знаю. LVV>Но диссер Майкла Франка, который потом реализовали в компиляторе Компонентного паскаля — читал. LVV>С ББ знаком — система уникальная.
Т.е. вы пропустили обвинения в сторону Java, которые около 20 лет назад любители Паскаля/Оберона выдвигали в сторону Java? Мол, разработчики Java внимательно изучали опыт Oberon-а и Component Pascal, даже кто-то к кому-то ездил в гости (уже не помню кто и куда), а потом бах! Выходит Java с байт-кодом , скомунизженным из Component Pascal, и ни одного благодарственного слова!
S>Т.е. вы пропустили обвинения в сторону Java, которые около 20 лет назад любители Паскаля/Оберона выдвигали в сторону Java? Мол, разработчики Java внимательно изучали опыт Oberon-а и Component Pascal, даже кто-то к кому-то ездил в гости (уже не помню кто и куда), а потом бах! Выходит Java с байт-кодом , скомунизженным из Component Pascal, и ни одного благодарственного слова!
Ну, я их слыхал, но пропустил мимо ушей, как не заслуживающие внимания...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Shmj, Вы писали:
S>Получается хороший новый язык не может создать один человек и это всегда годы работы.
Сколько Kotlin запускали по времени и сколько народу там работало? Потом их поддержал Google и всё завертелось.