Опишите минимальные требования к современному языку для системного программирования. Интересуют как технические, так и нетехнические требования. IDE? Куча готовых библиотек? Совместимость между версиями? Из нетехнических, например, должна ли за ЯП стоять богатая корпорация (и насколько богатая)? Что ещё?
>>1661759 Я же долбаеб создавать что-то не имею потребности Если бы у тебя была потребность, то ты бы знал что нужно, а так ты просто еблан которому нечем заняться
>>1661602 (OP) >Каким должен быть современный язык программирования? Менеджер пакетов как у питона или лучше, стандартная библиотека с поддержкой сети, gui, асинхронности, широкий стандартный функционал для работы с текстом, возможность выполнения каких-то легко интегрируемых скриптов на уровне lua или лучше (если это компилируемый язык). Возможность динамической типизации для кода, где эффективность не так важна и нужна выразительность кода; возможность статической типизации для чего-то ресурсоёмкого.
Джава и питон довольно близки к.
С++ очень не хватает менеджера пакетов и какой-то нормальной стандартизированной системы сборки. Возможно нужно больше синтаксического сахара - позаимствовать из того же питона операторы по типу with, срезы, сделать всякие операции преобразования в текст (питоновский __str__) стандартными операциями подлежащими перегрузке, добавить генераторы. Это всё и сейчас можно сделать по сути, но синтаксис будет угрёбищный как у шаблонов, всякие многострочные template<typename T, std::enable_if_t<std::is_same<typename std::remove_reference<T>::type, int>::value, int> = 0> - вот это пиздец просто (это вроде бы проверка на тип шаблона, чтобы он компилировался только с интом или ссылкой на него - но вообще чёрт его знает что это), который отбивает желание этим пользоваться.
>>1661875 Как тогда понять где происходит return, а где нет? Вот у тебя есть функция mul(a, b) - она записывает два числа в лог и перемножает их. Если в твоей функции fn используется mul - как программа поймёт хотел ли ты просто записать два числа в лог или помимо этого ещё и вернуть их как результат функции?
Пока язык V много обещает на будущее. Например перевод any_lang > V > any_lang, приложение для андроид, всякие плющки с синтаксисом и т.д. Буду ждать 1.0v
Главное оправдание сделать хуево. А то что блядь если это сделано не пиздец хуево, человек который может мог бы сделать лучше возьмется за что то другое, никто не думает.
>>1661973 Всё же он лучше всего остального. Я загружаю проект с cmake - и он запускается сразу или в течении нескольких минут почти без исключений. А когда я открываю проект с чем угодно ещё - он может часами жаловаться на глупые ни о чём ни говорящие ошибки которые не понятно как фиксить и что ему из зависимостей и в каком месте нужно поставить. Но про язык программирования это да.
>>1662468 А дальше питон. Раз в JS, Go, Rust и Kotlin решили прибить гвоздями форматирование, следующим шагом будет авторасстановка фигурных скобочек. А затем и неканоничные идентификаторы перестанут приниматься.
>>1667808 ДОБРОТНЫЙ, -ая, -ое; -тен, -тна, -тно. Сделанный хорошо, прочно, из очень хорошего материала; отличающийся высоким качеством, большой прочностью. Добротный драп. Добротная кожа. На подкладку [для шинели] выбрали коленкору, но такого добротного и плотного, который, по словам Петровича, был еще лучше шелку. Гоголь, Шинель. Полушубок на нем добротный, из мягких романовских овчин, хорошие сапоги. Овечкин, Без роду, без племени. Дома были добротные, сбитые из бревен, крытые железом и черепицей. Э. Грин, В стране Ивана.
>>1669305 Что значит "сделанная хорошо" и "отличающаяся высоким качеством" экосистема языка? Какие обязательные требования должны быть соблюдены, чтобы её можно было так называть?
>>1661602 (OP) "Думаю, давно пора извлечь уроки из истории. Ни один здравомыслящий человек не потащит в проект новый язык, пока вы хотя бы не покажете ему нормальные инструменты разработки, не расскажете парочку саксесс сторис и не покажете десяток программистов на этом языке, живущих поблизости. Программисты же, пожалуй, кроме самых молодых, никогда не станут тратить свое время и здоровье на изучение очередного самого правильного языка, пока вы не покажете им нормальные инструменты разработки (не поделки типа Racer), пару десятков тысяч готовых библиотек (не «experimental», «unstable» и так далее), не расскажете парочку саксесс сторис и не покажите десяток открытых вакансий в их городе. Проблема курицы и яйца. Очень редко эту проблему удается успешно решить (условно тут можно привести в пример Go и Scala), в основном благодаря вложению времени и денег со стороны некоторой крупной компании (Google, Typesafe), по каким-то своим соображениям заинтересованных в популяризации языка." https://eax.me/cpp-will-never-die/
>>1672311 А зря, там он ссылается на статьи и топит за них, судя по всему он же и автор, где вместо "непонятных" ifelse/elif, то есть вместо if x: ..... elseif y: .... elseif z: ... else: ...
предлагает пикрил. Типа видна структура и нет неоднозначности.
Чувок просто топит за какой-то очередной наркоманский язык с непонятными ограничениями.
>>1672498 > язык должен поддерживать так называемую "горячую замену кода" А зачем? Вот было у тебя system("rm -rf / x"), опечатался ты. Ну поменял ты строчку, файлы-то это уже не вернет. Распидорасило стейт программы из-за ошибки в логике - ты исправил ошибку, но стейту опять же пизда, нужно перезапускать программу.
>>1672816 > Пизда или не пизда стейту - это разраб должен решать Так а ему-то откуда знать? Каким образом ты решишь, есть ли у тебя еще один баг, или это последствия прошлого наложились? Я могу понять пользу лайврелоада в песочницах уровня shadertoy, там сломалось - и хуй с ним. Но я совершенно не понимаю, как можно отлаживать сложный код в таких условиях.
>>1672909 Просто ты быдло. Ну или статикодебил. На нормальных платформах пацаны ебашат хот код свап и прямо на запущенной ноде по ремоут шелу мигрируют стейт, более того платформа поддерживает более одной версии кода.
>>1675427 А нахуя? На окамле пишут когда вроде хочешь ФП, но при этом нужен нормальный перформанс и некая предсказуемость по потреблению ресурсов. Если оно будет в результате работать на BEAM то от скорости окамла там мало что останется. А сам по себе окамл наверное самый уёбищный из ФЯ, так что хз зачем такое нужно. Если прямо так хочется статику на BEAM, то лучше уже на хаскеле написать компилятор из хаскеля в BEAM-байткод (а может уже есть?)
Два чаю, уважаемый. Примерно то же самое хотел сказать. Дополню лишь хотелкой о продуманности системы типов.
После python дико горит от JS, где функционал словно впиливался по мере необходимости, без попыток посмотреть на шаг вперёд. Завезли `шаблонные ${строки}` -- замечательно. А если нужно явно отформатировать строку?
Всё в том же JS не хватает миксинов и множественного наследования.
В Java грустно с операторами. Допустим, имплементируем класс, инкапсулирующий матрицу. Нельзя определить метод `__add__` и тем самым позволить в коде просто сложить матрицы выражением `C = A + B`
В сях и крестах не хватает модулей и менеджера пакетов
>>1676293 Не понял к чему ты? Разговор шёл про хот код спап вроде. Кубер делает то же самое, запускает второй контейнер, делает нужный перебинд и когда второй готов - вырубет первый.
>>1676020 >самый уёбищный из ФЯ В чем это выражается? Как по мне, так окамл практичный, простой и безопасный - писать на нем одно удовольствие. Единственная его проблема это то, что он не может в многопоточность. Мне нравится elixir\erlang и их реализация многопоточности. Хотелось бы совместить плюсы обоих экосистем. Вообще тут хорошо бы зашел транспайлер окамла в erlang. Взять, к примеру, bucklescript. Простой и удобный интероп который учится за день, если ты знаешь и окамл и жс.