The OpenNET Project / Index page

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

Опубликован язык программирования Ruby 3.3

25.12.2023 11:45

Состоялся релиз Ruby 3.3.0, динамического объектно-ориентированного языка программирования, отличающегося высокой эффективностью разработки программ и вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Код проекта распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3.

Основные улучшения:

  • В основной состав включён парсер Prism, реализованный в форме Си-библиотеки libprism, задействованной в интерпретаторе CRuby, и gem-пакета на языке Ruby, предоставляющем общедоступный API для нисходящего рекурсивного разбора кода на языке Ruby, пригодный для использования в рабочих проектах вместо парсера Ripper. Из достоинств Prism отмечается хорошая переносимость и гибкая обработка ошибок в коде. Для включения нового парсера можно использовать опцию "ruby --parser=prism" или переменную окружения RUBYOPT="--parser=prism". Для разбора кода в своих программах доступны методы Prism.parse(source) для получения AST-представления кода, Prism.parse_comments(source) для выделения комментариев из кода и Prism.parse_success?(source) для проверки наличия ошибок в коде.
  • Вместо внешнего пакета Bison для генерации парсеров задействован проект Lrama, предоставляющий реализацию алгоритма LALR на языке Ruby, поддерживающий Bison-совместимые определения грамматик (parse.y), используемые в CRuby, и реализующий расширенные возможности, такие как обработка ошибок и параметризированные правила (?, *, +).
  • Проведена значительная оптимизация производительности JIT-компилятора YJIT, развиваемого разработчиками платформы электронной коммерции Shopify в рамках инициативы по увеличению производительности Ruby-программ, использующих фреймворк Rails и вызывающих очень много методов. В отличие от ранее используемого JIT-компилятора MJIT новый YJIT применяет версионирование базовых блоков (LBBV - Lazy Basic Block Versioning) вместо обработки методов целиком и реализован в форме интегрированного JIT-компилятора, написанного на языке Rust. Благодаря LBBV, JIT вначале компилирует только начало метода, а оставшуюся часть компилирует через некоторое время, после того как в процессе выполнения будет определены типы используемых переменных и аргументов.

    При тестировании выполнения эмулятора Optcarrot производительность при использовании YJIT более чем в три раза превышает выполнение при помощи интерпретатора. В новой версии обеспечено выделение регистров для стековых операций виртуальной машины, расширен спектр компилируемых вызовов с необязательными аргументами, реализовано inline-развёртывание базовых и специализированных методов, добавлены отдельные оптимизации для операций "Integer#*", "Integer#!=", "String#!=", "String#getbyte", "Kernel#block_given?", "Kernel#is_a?", "Kernel#instance_of?" и "Module#===". Значительно увеличена скорость компиляции.

    Заметно снижено потребление памяти на хранение метаданных и обеспечена генерация более компактного кода для архитектуры ARM64. По умолчанию отключён сборщик мусора Code ("--yjit-code-gc"), динамически высвобождающий неиспользуемый сгенерированный машинный код, но приводящий к проседанию производительности во время сборки мусора. Добавлен метод RubyVM::YJIT.enable для управления включением YJIT во время работы, без необходимости запуска с определённым параметром командной строки или переменной окружения. Расширена статистика, выдаваемая при указании опции "--yjit-stats". Добавлены режимы профилирования производительности (--yjit-perf) и трассировки (--yjit-trace-exits).

  • Предложен новый JIT-компилятор RJIT, написанный целиком на языке Ruby и заменяющий MJIT, но в отличие от последнего при использовании не требующий Си-компилятора. RJIT поддерживает только архитектуру x86-64 и Unix-подобные платформы.
  • Добавлен планировщик потоков "M:N", позволяющий для сокращения накладных расходов на создание и управление потоками использовать ограниченное число потоков операционной системы для обработки потоков в коде на языке Ruby. По умолчанию используется 8 потоков ОС (можно изменить через переменную окружения RUBY_MAX_CPU). Применение планировщика "M:N" может привести к проблемам с совместимостью с расширениями на языке Си, поэтому он отключён по умолчанию для основного (main) класса Ractor, но включён для неосновных (non-main). Для принудительного включения планировщика "M:N" следует выставить переменную окружения RUBY_MN_THREADS=1.
  • Расширены возможности оболочки интерактивных вычислений IRB (REPL, Read-Eval-Print-Loop). Добавлен режим отладки irb:rdbg, эквивалентный по своим возможностям отладчику pry-byebug. Добавлена поддержка многостраничного просмотра вывода команд ls, show_source и show_cmds. Реализована экспериментальная поддержка автоматического дополнения ввода, учитывающая типы данных. Предоставлены команды для изменения цвета и стиля шрифта.
  • Объявлен устаревшим вызов метода "it" без аргументов в блоке без параметров (например, "[1, 2, 3].each { puts it }").
  • В RubyGems и Bundler включён вывод предупреждения в случае указания в "require" gem-пакетов abbrev, base64, bigdecimal, csv, drb, getoptlong, mutex_m, nkf, observer, racc, resolv-replace, rinda и syslog, если они не добавлены в Gemfile или gemspec. В будущих версиях Ruby данные gem-пакеты будут встроены в основной состав.
  • Обновлены версии встроенных и входящих в стандартную библиотеку gem-модулей.


  1. Главная ссылка к новости (https://www.ruby-lang.org/en/n...)
  2. OpenNews: Доступен встраиваемый интерпретатор mruby 3.2
  3. OpenNews: Выпуск языка программирования Ruby 3.2
  4. OpenNews: В Ruby on Rails устранена уязвимость, допускающая подстановку SQL-кода
  5. OpenNews: RubyGems переходит на обязательную двухфакторную аутентификацию для популярных пакетов
  6. OpenNews: Шутка про возраст женщин привела к изменению кодекса поведения Ruby
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60347-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (215) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.6, Аноним (6), 12:52, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >планировщик потоков "M:N", позволяющий для сокращения накладных расходов на создание и управление потоками

    На каком числе потоков об этом стоит начинать задумываться? Вот, например, в моём коде живёт под 1000 потоков, но они достаточно самостоятельные и выделяются динамически. Отладка может быть _весьма_ увлекательной и замеры производительности тоже своеобразные, в остальном, не наблюдаю особых проблем. Правда, у меня питон и асинхронные либы (и асинхронные обёртки над сишными либами), сложно сказать, столько тут уходит интерпретатору.

     
     
  • 2.31, Витюшка (?), 14:37, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На любом количестве потоков где есть взаимодействие потоков. Те практически любой многопоточный код с мьютексами.

    Когда у тебя потоки независимы у тебя и так параллелизм есть. Вопрос как его достичь (максимизировать) когда есть общая память.

     
  • 2.77, glad_valakas (?), 18:24, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в моём коде живёт под 1000 потоков

    GIL не беспокоит ?

     
     
  • 3.81, Аноним (6), 18:58, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не особо, всё ещё терпимо. Значительную часть времени они ждут, а когда им хочется одновременно поработать, упирается не в процессор. В первую очередь, пришлось отказаться от сомнительных библиотек вроде requests, из моего опыта, она упиралась в гил уже на ~2 потоках и процессы резко оказывались быстрее (но тут сопутствующие расходы добавлялись) -- помогла замена на pycurl. А сейчас есть aiohttp вполне неплохого уровня (особенно после pycurl). В общем, вопрос задач и выбора компонентов, чем меньше pure-python, тем лучше.
     
     
  • 4.131, Владимир (??), 12:23, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может я не очень вас понимаю, но почему Python? Новость-то про Ruby вроде как?
     
  • 4.207, glad_valakas (?), 09:58, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > чем меньше pure-python, тем лучше.

    тогда зачем это все ?

     
  • 2.241, anonymous (??), 21:11, 31/12/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.7, Аноним (7), 12:59, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Питон окончательно вытеснил руби отвсюду
     
     
  • 2.8, Аноним (8), 13:01, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так и есть. Зачем его поддерживают до сих пор, неясно. Как и всякие лазарусы/fpc и прочую мертвечину.
     
  • 2.10, User (??), 13:05, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ну да, ну да - пошли мы нафиг сказали гитхаб с гитляпом и всякие redmine'ы. И твиторы-шопифи-айрбнб-с-твичами - тоже пошли.
     
     
  • 3.13, Аноним (6), 13:18, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего, они существуют, потому что у их разрабов маки. Редхат по той же причине пропихивал. Но, в любом случае, всё это осталось в 2008, сейчас готовые продукты просто всё ещё дороже переписать чем сопровождать, вон кобол до сих пор не извели до конца (и ты его видишь куда чаще, чем думаешь).
     
     
  • 4.18, User (??), 13:57, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Неееее... это perl существует по тому, что "у их разработчиков был unix" - и вот он примерно "мёртв". А ruby вполне себе жив - de-facto безальтернативные отраслевые решения на нем вполне себе в стадии активного развития а не в фазе поддержки.
     
     
  • 5.95, Минона (ok), 22:17, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Примеры безальтернативных решений можно?
     
     
  • 6.117, User (??), 10:06, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    github\gitlab для индустрии de-facto безальтернативны, нет?
     
  • 5.226, Max (??), 17:41, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чего вы все периодически докапываетесь до perl-а!?
    Он что, вам жить мешает или кушать не дает!?
    Если лично я не использую perl, это не значит что он мертв!
    Или если мы с тобой, по жизни, никогда не встретимся, это же на значит что один из нас сдох.
    Помню в молодости на коленке и срочно под НГ рассчитал на нем премию на несколько тысяч человек, и после этого остались лишь приятные воспоминания о нем.
     
     
  • 6.229, User (??), 20:56, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Чего вы все периодически докапываетесь до perl-а!?
    > Он что, вам жить мешает или кушать не дает!?
    > Если лично я не использую perl, это не значит что он мертв!
    > Или если мы с тобой, по жизни, никогда не встретимся, это же
    > на значит что один из нас сдох.
    > Помню в молодости на коленке и срочно под НГ рассчитал на нем
    > премию на несколько тысяч человек, и после этого остались лишь приятные
    > воспоминания о нем.

    Таки и я на нем - в молодости. Хороший был язык (нет) - жаль (тоже нет), что помер.

     
  • 3.15, th3m3 (ok), 13:21, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это просто требует поддержки. Новые проекты уже мало кто пишет, как и на php.
     
     
  • 4.17, User (??), 13:50, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эээээм... и его ТОЖЕ python "отовсюду вытеснил"?!
     
     
  • 5.19, Аноним (19), 13:57, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нет, товарищи на вордпрессе фигачат проекты как из пулемета.
     
     
  • 6.21, User (??), 13:59, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну нет, товарищи на вордпрессе фигачат проекты как из пулемета.

    Танк секретный - за пределами палаты №6 могут и не знать...

     
     
  • 7.24, Аноним (19), 14:16, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Палаты там обширные больные уже лет 10 из них не выходят света белого не видят. Не знают что в мире делается.
     
  • 6.27, Аноним (27), 14:25, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    что там фигачить, если уже всё готово, поменял обои под очередного заказчика и всё
     
     
  • 7.28, Аноним (19), 14:32, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю больные же люди кто знает чего там фигачат может они собственные плаги поддерживают может психодизайн. К ним близко лучше не подходить.
     
  • 5.113, penetrator (?), 06:22, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    не думаю что питон кого-то вытеснил, просто руби сдох
     
  • 2.41, Аноним (41), 15:19, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Питон окончательно вытеснил руби отвсюду

    Поправлю

    "Несмотря на то, что Python самый тормозной язык и сильно отапливает нашу Планету, он окончательно вытеснил руби и другие менее затратные языки программирования отовсюду. Наступила эра Идиократии. Алилуя"

    ПС. надеемся на mojo. Быть может, он что-то исправит в этом недоразумении - Python

     
     
  • 3.111, all_glory_to_the_hypnotoad (ok), 04:12, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда ruby ещё рассмативался как конкурент питона, стандартная реализация rudy неприлично проигрывала в производительности CPython-у. И питон при этом даже не был самым быстрым ЯП по сравнению с другими конкурентами вроде перла и php. Со временем у питона появились различного рода ускорители вроде JIT-ов, компиляторов и Cython-ов, но от ЯП такого класса требуются вменяемые ТТХ только в режиме работы интерпретатора.
     
     
  • 4.116, ЛегионЪ (?), 09:48, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не только лишь все выбирают архитектуру приложений, многим приходится донашивать то что осталось. Плюс клиент не всегда доверяет экспертизе заказчика, он слышал что сейчас модно и что используют в "крутых" проектах и ЯЪ хочу так же на рельсах. Так что все эти споры кто быстрее интересны только как досужие разговоры на кухне, а на практике приходится апгрейдить перловый движок рельсовыми вкраплениями, а впереди ещё ужас того что в очередной раз захочет клиент.
     
  • 3.133, Аноним (41), 13:33, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Внимание, а теперь правильный ответ.
    Сравнение производительности Ruby c Python:
      https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/ruby-pytho

    Вывод: В большинстве тестов Ruby рвет Python как тузик грелку с достаточно большым разрывом, в тех немногочисленных тестах, где Python оказывался быстрее наблюдалось совсем небольшое отставание Ruby.

    Я таки вам скажу даже больше Python вчистую по производительности сливает даже древним интерпретируемым VBA и VBScript, не говоря уже о компилируемом VB (не путать с современным VB.Net, которому впрочем Python тоже сливает с разгромным счетом)

    Python - это пример того, как никчемная технология завоевала широкое признание. Да, к сожаление, в нашем мире так бывает.

     
     
  • 4.143, all_glory_to_the_hypnotoad (ok), 15:19, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Здесь все сравнения кривые, но даже по ним CPython как раз получается лучше опти... большой текст свёрнут, показать
     
  • 2.47, Аноним (47), 15:40, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    У Руби и питона почти не было областей пересечения. Разве что средства развёртывания и пр. В веб-разработке питон в любом случае не имеет никакой значимой доли и перспектив роста.
     
     
  • 3.51, Аноним (41), 16:10, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вообще-то Django достаточно популярный фреймворк, Flask популярен тоже для небольших поделок, сейxас еще и FastApi. Для сайтов типа Google или Amazon конечно не подойдет, а вот для средне-мелких сайтов, Enterpris-а, оболочек для продуктов ML самое то.
     
     
  • 4.52, Аноним (47), 16:19, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Доля питона в веб разработке - какие-то единицы процентов. Ну нет у него шансов против JS/TS. Да и библиотеки ML (которые на прод-сервисы ориентированы) сейчас под JS/TS тоже по-умолчанию делают.
     
     
  • 5.82, Аноним (6), 19:06, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты проспал, жс на бэкенде это была дичь для "экономных" и ожидаемо не работает, вроде сегодня уже никто не ведётся.
     
  • 5.94, Вы забыли заполнить поле Name (?), 22:04, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну нет у него шансов против JS/TS.

    Подходит только для "фронтенд" серверов для сбора данных и выплевывания в браузер. Для серьезных бэкнедов почти не используется. Ну либо просвети нас.

     
     
  • 6.99, Аноним (47), 23:00, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    "Серьёзный бакенд" - это либо Java, либо C#, либо Julia, либо Rust. Ну и уж совсем серьёзный - C++... Но никак не скриптовое.
     
     
  • 7.102, Вы забыли заполнить поле Name (?), 23:42, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > "Серьёзный бакенд" - это либо Java, либо C#, либо Julia, либо Rust.
    > Ну и уж совсем серьёзный - C++... Но никак не скриптовое.

    Осталось ввести понятие "серьезный".

     
     
  • 8.115, economist (?), 09:32, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Предложение если бэкенд считает свои миллиарды - то он серъезный Если сун... текст свёрнут, показать
     
  • 8.118, User (??), 10:14, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, тут два измерения - первое это highload, у них своя атмосфера - второе это ... текст свёрнут, показать
     
  • 7.112, all_glory_to_the_hypnotoad (ok), 05:37, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    'Серьёзный' бэкэнд это пока что только с++, чуть менее серьёзнее Java, C# и Go. Julia не ЯП общего назначения и не для бэкендов вообще. Rust ещё не взлетел в этой категории, в лучшем случае взлетает в системщине. Тем не менее питон почти всегда рядом в 'серьёзном' бэкенде в виде обслуживающих бэкенды сервисах, в виде UDF-ок и промежуточных прослоек. Нужно понимать, что не любую логику можно и нужно уносить с питона на дургие ЯП.
     
     
  • 8.175, Советский инженер (ok), 10:49, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    techempower говорит что ты немного не в теме, либо Серьёзный именно что в кавы... текст свёрнут, показать
     
     
  • 9.191, all_glory_to_the_hypnotoad (ok), 16:49, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    techempower не персона чтобы что-то говорить Предлагаешь мне самому додумать чт... текст свёрнут, показать
     
  • 4.245, К.О. (?), 04:52, 02/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Для сайтов типа Google или Amazon конечно не подойдет

    Лол

     

     ....большая нить свёрнута, показать (34)

  • 1.9, Golangdev (?), 13:02, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    > вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

    Из этого списка только Python и Java является хоть чем-нибудь стоящим

    Остальное - либо академические игрушки, либо просто легаси, которое-то и называть в слух уже не прилично.

     
     
  • 2.11, Аноним (11), 13:13, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Разработчики критически важных систем на ADA сейчас поперхнулись чаем. Опеннет берет новые высоты пробитого дна!
     
     
  • 3.12, Аноним (12), 13:17, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    а что пишут на ада? вот на лиспе - искусственные нителекты.
     
     
  • 4.14, Аноним (6), 13:21, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прошивки для видеокарт (на спарк, если точнее). Вообще я так смотрю весьма актуальный язык, куда больше перспектив на сегодня, чем у того же раста.
     
     
  • 5.26, Аноним (26), 14:23, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтоооо? Покажи пример такой прошивки
     
     
  • 6.30, Аноним (6), 14:34, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтоооо? Покажи пример такой прошивки

    Тут спроси исходники https://www.nvidia.com/

    Или тебе на фото показать, где она?

    А так, первая же ссылка в интернете ведёт куда-то сюда, можешь там ещё поспрашивать https://www.adacore.com/nvidia

     
     
  • 7.35, Аноним (41), 14:57, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Что, целая 1 прошивка, мистер "слышал звон, да не знаю где он"?

    Время Ada безвозвратно ушло, в связи с тем, что это во-первых, действительно язык Ада - то есть министерства обороны США, во-вторых - большинство компиляторов языка Ada были платными и плохого качества. Да и сейчас, инструменты для производительной работы с Ada (не компилятор) тоже платные.

    И Rust обеспечивает такую же, и даже лучше защиту от "дурака" намного лучше, чем это сделано в Ada и без снижения производительности, как это происходит в Ada.

    Ada, как и Cobol - на свалку истории, там им самое место.

     
     
  • 8.37, Аноним (6), 15:06, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там не одна прошивка, хотя я и сказал только про это Код как минимум использует... текст свёрнут, показать
     
  • 8.69, Аноним (69), 17:32, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сейчас полно свободных компиляторов для Ада Ада спроектирован как язык для свер... текст свёрнут, показать
     
  • 8.96, Аноним (96), 22:47, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ясно, понятно Опеннетная экспертиза как она есть Ты сообщи об этом ребятам и... текст свёрнут, показать
     
     
  • 9.106, Аноним (41), 02:09, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Молодец, в интернете искать можешь Странно, что ты не нашел сравнение производи... текст свёрнут, показать
     
  • 4.38, Аноним (38), 15:08, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В авиация: автопилот, системы управления, сигнализации так далее.
     
  • 4.67, Аноним (69), 17:29, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почти все военные системы США на Ада, ПО для управления реакторами.
     
     
  • 5.107, Аноним (41), 02:10, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Фукусима тоже? Если да, то ну ее Ada в Ад.
     
  • 3.20, Golangdev (?), 13:57, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Разработчики критически важных систем на ADA сейчас поперхнулись чаем

    приведи мне пример хоть одной критически важной системы на ADA

     
     
  • 4.23, Аноним (23), 14:12, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Из того, что я знаю — авиция. Бортовые компьютеры для boeing,F, eurofighter и других самолётов.
     
     
  • 5.36, Golangdev (?), 15:01, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    спасибо!
     
  • 5.39, Аноним (41), 15:08, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А еще в космических кораблях программа управления писалась на Ada пока ракета Ariane 5 не взорвалась (https://habr.com/ru/companies/pvs-studio/articles/306748/)
     
     
  • 6.42, Аноним (6), 15:24, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >пока

    Т.е., ты утверждаешь, что перестали писать на Ада, но продолжили писать на Фортран и Си? На самом деле, конечно, продолжили писать на Ада, да и факап собственно был никак не связан с языком.

     
     
  • 7.50, Аноним (41), 16:03, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Тыкай свою мамку, а здесь веди себя уважительно. Ошибка была программистская. Такую ошибку можно было сделать  на любом языке. Поэтому вопрос - а зачем тогда использовать яpык Ada, который декларирует, что на этом языке нельзя сделать ошибки и если программа скомпилировалась, то там нет ошибок? Программисты на это и понадеялись и не перепроверили при переходе с Ariane 4 на Ariane 5. То есть смысла использовать Ada особо нет. И если почитать американские форумы - той страны, где действительно писали на Ada достаточно много, в не как у нас в СНГ "слышали звон",  то американцы пишут, что переходят на Rust и С++ с Ada и сильно этому радуются. Да и GNAT тоже не шибко развивается, скорее стагнирует.
     
     
  • 8.53, Аноним (6), 16:22, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что за бред сивой кобылы я только что прочитал Даже комментировать нечего И ма... текст свёрнут, показать
     
     
  • 9.60, Аноним (41), 16:47, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Продолжайте заниматься и дальше самовнушением Ada - современный язык, с новыми ... текст свёрнут, показать
     
     
  • 10.64, Аноним (6), 17:18, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    При чём тут самовнушение В статье прямо указано, что в целях экономии скопирова... текст свёрнут, показать
     
  • 8.71, Аноним (69), 17:40, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты сначала верхними полушариями думать научись, а не нижними Все уже наелись тв... текст свёрнут, показать
     
  • 8.176, Аноним (176), 11:04, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем тогда использовать любой другой или вообще какой либо язык, если человек... текст свёрнут, показать
     
  • 6.74, Аноним (69), 17:46, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >пока ракета Ariane 5 не взорвалась

    Хороший пример ошибки, от которой и Раст бы не спас.

     
  • 4.33, Аноним (23), 14:47, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    http://archive.adaic.com/projects/successes.html
     
  • 3.22, Аноним (22), 14:00, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Миллионы мух... Опеннетчиков не могут ошибаться в том, какой язык самый лучший!
     
  • 3.55, Аноним (55), 16:27, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Критически важные системы на чём только не пишут. Ада ничего особого для их написания не предоставляет (как защитное программирование например), и была статья почему она используется в боинге, найти увы сейчас не могу, но всё как всегда прозаично - кому-то было выгодно пропихнуть своё решение.
     
     
  • 4.68, Аноним (68), 17:31, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >была статья почему она используется в боинге, найти увы сейчас не могу, но всё как всегда прозаично - кому-то было выгодно пропихнуть своё решение.

    Ну что ты несешь, а? ADA -- заказ министерства обороны США. MIL-STD-1815/Ada 83 В боинге она использовалась потому что. В случае F-35 до сих пор отказ от нее расхлебывают.

     
  • 2.48, Аноним (47), 15:43, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Java, Python... Остальное - либо академические игрушки,

    Это Python - чистая академическая игрушка. Как не использовали его в проде, так и не будут. Сейчас просто вектор замены питона изменился. Вместо полного переписывания на Java или доделывания библиотек к питону на C, тупо начали массово использовать Rust.

     
     
  • 3.61, Golangdev (?), 17:00, 25/12/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (31)

  • 1.25, Аноним (27), 14:23, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Как можно было вобрать лучшие черты из того, где их совсем нет?
     
     
  • 2.29, Аноним (19), 14:33, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такое выражение лучшие из худших. Вполне рабочее.
     

  • 1.32, жявамэн (ok), 14:44, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    % ruby -v
    ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]

    для кого эти новые ветки делают если системный древнючий 2.6

     
     
  • 2.49, RarogCmex (ok), 16:01, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ловите проприетарщика с маком, не осилевшего brew install ruby!
     
     
  • 3.58, жявамэн (ok), 16:36, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    смешно
    сам брю работает на этой 2.6 версии
    а это единственное приложение у меня которому нужен руби
     
  • 2.56, Аноним (55), 16:29, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Правильнее вопрос для кого делают системы с древнючим софтом.
     
     
  • 3.59, жявамэн (ok), 16:41, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Правильнее вопрос для кого делают системы с древнючим софтом.

    очевидно для тех кто на коплюхторах работает
    например програмулькирует на _современных_ и *востребованых* языках

     

  • 1.46, Аноним (46), 15:29, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начинал кодить с Ruby когда-то, приятный язычок... Но Питхон его таки придушил конкретно, это факт...
     
     
  • 2.62, Советский инженер (ok), 17:07, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    все язычки которые не могут нормально в винду обречены барахтатся в проруби.
     
     
  • 3.63, Аноним (63), 17:12, 25/12/2023 Скрыто ботом-модератором     [к модератору]
  • +4 +/
     
  • 3.66, Аноним (66), 17:28, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть все кроме Сишарпа? Однако...
     
     
  • 4.76, Советский инженер (ok), 18:03, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >То есть все кроме Сишарпа?

    отчего же?
    тот же питон имеет хорошую поддержку винды, легко ставится.
    Javа тоже легко ставиться.
    Впрочем как и многие другие ЯП.

     
  • 2.119, User (??), 10:17, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да не так, чтобы много у них пересечений по функциональным направлениям на самом деле. Падение популярности RoR связано не с тем, что django или там flask "выдавили" (Ха. Ха. Ха.), а скорее с ростом популярности микросервисного подхода и отказом от "тяжеловесных" больших фреймворков.
     

  • 1.70, mustai (ok), 17:38, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне интересно, Ruby без Ruby on Rails вообще жизнеспособен / нужен?
     
     
  • 2.91, Вы забыли заполнить поле Name (?), 21:53, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Из недавнего чем я пользовался - asciidoctor на нем написан. А так

    $ apt-cache rdepends ruby | tail +3 | grep -v -E ruby-.* | wc -l
    230

     
     
  • 3.92, Вы забыли заполнить поле Name (?), 21:59, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > 230

    Ну и там, конечно, много всего "полезного"

    $ apt show lolcat
    Package: lolcat
    Version: 42.0.99-1
    Depends: ruby | ruby-interpreter, ruby-trollop (>= 1.16.2), ruby-paint (>= 0.8.3)
    Homepage: https://github.com/busyloop/lolcat
    Ruby-Versions: all
    Description: colorful 'cat'
    lolcat concatenates files like the UNIX 'cat' program, but colors it for the
    lulz in a rainbow animation. Terminals with 256 colors and animations are
    supported.

     
     
  • 4.93, Вы забыли заполнить поле Name (?), 22:01, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > https://github.com/busyloop/lolcat

    5.7K звезд - все что нужно знать про гитхаб

     
  • 2.120, User (??), 10:21, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    brew, vagrant, puppet, chef, portupgrade - вполне себе пользовался в разное время, почему нет? Местами альтернатив все еще нет, местами - удобно, местами просто по инерции все еще используется.
     

  • 1.73, Аноним (69), 17:45, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Неплохой язык для веба, все еще довольно популярен. По распространенности примерно равен Расту, оба специализированные нишевые языки, только для разных областей. Чем-то похожи между собой своим непростым синтаксисом.
     
     
  • 2.79, Аноним (79), 18:50, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ruby - это язык с самым прозрачным синтаксисом. Просто он со сдвигом в функциональное программирование, хотя и мягким сдвигом. Rust, в сущности, повторяет некоторые рубийные концепты типа рубийных же модулей и перечислители. Но Rust сейчас активно приобретает популярность из-за питона. Ниша production-ready ML - это будущее для Rust.
     
     
  • 3.86, Вы забыли заполнить поле Name (?), 21:06, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ниша production-ready ML - это будущее для Rust.

    Поподробнее что ты под этим подразумеваешь?

    Раст может только для ml ops подойдёт, а пока весь код топовых фреймворков на которых все пишут - это с++ и python. Рядом Julia и R шевелятся.

     
     
  • 4.98, Аноним (47), 22:57, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://github.com/huggingface/candle
     
  • 4.156, Аноним (156), 19:28, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нечего там рассказывать, язык ML это Python, точка, нравится это кому-то или нет.
     
     
  • 5.159, Аноним (-), 21:11, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > язык ML это Python, точка

    Есть только один нюанс. Ни один алгоритм ML на питоне не реализован и никогда не будет реализован. А один из любимых инструментов питонистов - SWIG исключительно из-за непригодности питона к подобным задачам.

     
  • 5.169, Аноним (169), 08:37, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Правильнее выразиться, "язык для закидывания данных в С/C++ библиотеку-числодробилку через биндинги"
    На pure python CPU-bound задачи не делают. В голом виде он только для веб-сервисов пригоден, т.к. там I/O-bound и даже тормозной Питон на асинхронных веб-либах держит достойный RPS, ибо задачка бэка, чаще всего, по пришедшему JSON в API на 3 if-ах собрать SQL, заслать в БД и вернуть ответ как есть. А учитывая, что пластмассовый мир победил, докер оказался сильней, в случае тормозов можно запустить в кубере N сервисов на Питоне и воткнуть перед ними балансировщик.
     
     
  • 6.174, Аноним (-), 09:24, 27/12/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.78, YetAnotherOnanym (ok), 18:25, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > отличающегося высокой эффективностью разработки программ

    А в плане высокой эффективности исполнения этих программ он отличается? Если да, то в какую сторону?

     
     
  • 2.80, Аноним (79), 18:55, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всё зависит от ниши. Для задач ML - очевидно нет. Там есть Julia, которая на него очень похожа. В веб-задачах сейчас соизмерим с JS. Для задач скриптов администрирования - там всё замечательно. Во всяких Chef, Puppet проблем со скоростью нет. В тестировании - там тоже производительность не главное. Главное - читаемость текста.
     
     
  • 3.90, Вы забыли заполнить поле Name (?), 21:43, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Там есть Julia, которая на него очень похожа.

    Чем же джулия похожа на руби?

     
     
  • 4.97, Аноним (47), 22:56, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    open("1.txt", "w") do f
      write(f, "some text")
    end

    как думаете, на каком это языке написано?

     
     
  • 5.104, Вы забыли заполнить поле Name (?), 23:49, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > open("1.txt", "w") do f
    >   write(f, "some text")
    > end
    > как думаете, на каком это языке написано?

    Даже если на джулии, то говорить после этого о сходстве языков некорректно. С таким же успехом (с немного измененным синтакисом) можно приплести и питон и лисп и что угодно еще.

     
     
  • 6.114, Аноним (47), 07:56, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Даже если на джулии, то говорить после этого о сходстве языков некорректно.

    Если копируются базовые синтаксические конструкции, специфичные для конкретного языка, то ещё как корректно. А говорить можете что угодно, только специфичные примеры не сможете подобрать.

     
     
  • 7.150, Вы забыли заполнить поле Name (?), 17:21, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Даже если на джулии, то говорить после этого о сходстве языков некорректно.
    > Если копируются базовые синтаксические конструкции, специфичные для конкретного языка,
    > то ещё как корректно. А говорить можете что угодно, только специфичные
    > примеры не сможете подобрать.

    with open(fname) as f:
        ...

    open(fname, (f) => { ... })

    (with-open-file (fname)
       (...))

     
     
  • 8.158, Аноним (47), 21:08, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И что это И какое оно отношение к Руби или другому языку имеет Для Руби блок ... текст свёрнут, показать
     
     
  • 9.162, Вы забыли заполнить поле Name (?), 23:36, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Другие языки с той же концепцией сделать что-то с открытым файлом и закрыть его... текст свёрнут, показать
     
     
  • 10.170, Аноним (47), 09:01, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А чего тогда вообще рассуждать о разных языках, если, как выясняется, нет никако... текст свёрнут, показать
     
     
  • 11.180, Вы забыли заполнить поле Name (?), 13:56, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На С ты такой код не напишешь там функции не объекты первого типа в отличие от ... текст свёрнут, показать
     
     
  • 12.193, Аноним (47), 18:03, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    define lambda lambda _ret, lambda _args, lambda _body lambda _ret lambda ... текст свёрнут, показать
     
     
  • 13.200, Вы забыли заполнить поле Name (?), 22:59, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же понимаешь, что это булшит по сравнению с приведенными примерами Особенно ... текст свёрнут, показать
     
  • 13.201, Вы забыли заполнить поле Name (?), 23:01, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты совсем начал в сторону уходить Ответь мне лучше на поставелнный вопрос в че... текст свёрнут, показать
     
     
  • 14.208, Аноним (47), 11:33, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Отличие в том, что блок do end, определяющий анонимный метод, является основным... текст свёрнут, показать
     
     
  • 15.210, Вы забыли заполнить поле Name (?), 16:48, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В js и лиспе лямбды были изначально Ну вот цитата из https juliahep github io... большой текст свёрнут, показать
     
     
  • 16.211, Аноним (47), 17:39, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот в чём смысл пытаться убедить, что Ruby-конструкция в Julia, без которой в... текст свёрнут, показать
     
     
  • 17.212, Вы забыли заполнить поле Name (?), 19:04, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит нормально код писать нельзя , если это просто сахар Какая разница к... большой текст свёрнут, показать
     
     
  • 18.218, Аноним (47), 22:08, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты когда-нибудь код писал Как можно называть сахаром , основную синтаксическую... текст свёрнут, показать
     
     
  • 19.219, Вы забыли заполнить поле Name (?), 02:19, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Давай опеределим, что такое сахар https en wikipedia org wiki Syntactic_sugar ... большой текст свёрнут, показать
     
  • 6.135, Аноним (41), 13:52, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы правы, насчет Lisp. Julia - это и есть Lisp, поверх которого нацепили синтаксис в форме процедурного программирования. У Julia есть 2 cli - одна с процедурным синтаксисом Julia (запуск $ julia), другая с Lisp синтаксисом (запуск $ julia --lisp).
     
     
  • 7.144, all_glory_to_the_hypnotoad (ok), 15:34, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В общем, учёные в очередной раз хотели сделать хороший ЯП, но снова получился убогий франкенштейн
     
     
  • 8.147, Аноним (41), 15:58, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Пишут, что у них там в команде Julia начались ругачки Одни обвиняют других в то... текст свёрнут, показать
     
     
  • 9.151, Вы забыли заполнить поле Name (?), 17:22, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ссылки есть ... текст свёрнут, показать
     
  • 3.123, YetAnotherOnanym (ok), 10:46, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Главное - читаемость текста

    Нет. Это далеко не главное. Программист, для которого главеое - это читаемость текста, это не программист, а кодомокако.

     
     
  • 4.127, User (??), 11:42, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Крылья, ноги... Главное - хвост!"
    Решение о выборе технологического стека принимает не "программист", а "владелец продукта" - и основной критерий там "общая стоимость владения" с его производными. А что там "главное" очередному "венцу творения с нижней ветки" никому не интересно.
     
     
  • 5.145, YetAnotherOnanym (ok), 15:37, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Владелец продукта" имеет иллюзию, что он принимает решение о выборе технологического стека, соглашаясь с той лапшой, которую ему навешал на уши подрядчик.
     
     
  • 6.167, User (??), 08:04, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > "Владелец продукта" имеет иллюзию, что он принимает решение о выборе технологического стека,
    > соглашаясь с той лапшой, которую ему навешал на уши подрядчик.

    Лапша, навешанная программисту сначала преподом в институте, потом тимлидом конечно же имеет другой вкус :). Детерминизм т.н. "свободного осознанного выбора" штука интересная, но обсуждать мы её наверно не будем, да?

     
     
  • 7.178, YetAnotherOnanym (ok), 12:54, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тимлиду незачем вешать лапшу своему подчинённому, он приказать может. Ну, и да - обсуждать тут нечего.
     
  • 4.209, ilowry (?), 11:35, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Программист, который пренебрегает читаемостью кода – это не программист.
     

     ....большая нить свёрнута, показать (29)

  • 1.85, Пряник (?), 20:06, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какой-то странный хайп был вокруг Ruby с его Rails. Так и не понял в чём его киллер-фича, когда был уже Django даже, про Perl/PHP молчу.
     
     
  • 2.88, Вы забыли заполнить поле Name (?), 21:09, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, хайп сильный был. Одни railscasts чего стоили. Ну типа Фреймворк супер простой, тяп ляп готово, кода по минимуму, магия внутри, скафолдинг. Что не говори, а он повлиял на многие фреймворки. Но сейчас зачем все это - хз. В эпоху микросервисов.
     
  • 2.101, Аноним (63), 23:25, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Django Initial release: 21 July 2005
    Ruby on Rails Initial release: August 2004
     
  • 2.109, Alex (??), 03:12, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лол, Django был создан как порт Рельсов на питоне, после того как о Рельсах начали писать. Авторам очень понравилось реализация Рельсов и они хотели перенести их в питон мир
     
     
  • 3.136, Аноним (41), 14:05, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А хотя бы поискать в инете не судьба?

    https://ru.wikipedia.org/wiki/Django
    https://ru.wikipedia.org/wiki/Ruby_on_Rails

    Django первая версия вышла 21 июля 2005.
    Ruby_on_Rails первая версия вышла - 13 декабря 2005


    Django вышел на полгода раньше ROR.

     
     
  • 4.160, Alex (??), 23:26, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тебя в гугле забанили что-ли? Вон тебе еще сверху написали, что Initial release у рельсов был в августе 2004, и в вики это тоже отражено https://en.wikipedia.org/wiki/Ruby_on_Rails

    DHH (автор) выделил фреймворк из кода своего проекта, представил его в блог постах, и начался хайп. Она в то время уже была пригодна для прода (и уже давно использовалась в проде в 37 signals), хотя и версия была наверное меньше первой, зачем ты сравниваешь когда вышли версии 1.0 - это вообще загадка.

     
     
  • 5.179, Аноним (41), 13:16, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Решил замериться члеником? Давай  моя дата для Djano - Осень 2003 года:

    Django was created in the autumn of 2003, when the web programmers at the Lawrence Journal-World newspaper, Adrian Holovaty and Simon Willison, began using Python to build applications. Jacob Kaplan-Moss was hired early in Django's development shortly before Simon Willison's internship ended.[16] It was released publicly under a BSD license in July 2005. The framework was named after guitarist Django Reinhardt.[17] Adrian Holovaty is a Romani jazz guitar player and a big fan of Django Reinhardt.[citation needed]

    https://en.wikipedia.org/wiki/Django_(web_framework)

     
  • 4.161, Alex (??), 23:29, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рельсы появились как отдельный фреймворк (доступный для всех) за год до появления Джанги, а до этого еще обкатывались в проектах компании DHH
     
  • 3.148, Вы забыли заполнить поле Name (?), 16:02, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Лол, Django был создан как порт Рельсов на питоне, после того как
    > о Рельсах начали писать. Авторам очень понравилось реализация Рельсов и они
    > хотели перенести их в питон мир

    Проблема в твоём враньё в том, что у джанги совсем другие идеи.

     
  • 2.110, Alex DevOps (?), 03:15, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Без рельсов Django бы и не появился
     
     
  • 3.185, Вы забыли заполнить поле Name (?), 14:41, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Без рельсов Django бы и не появился

    Задание на дом тебе - проверить дату релизов.

     
  • 2.121, User (??), 10:26, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уууух, нажористо :). Когда рельсы набирали популярность - python был 2й версии (Строки, кодировки - мммм!) с перспективами перехода к третьей, полноценных MVC-фреймворков на нем не то, чтобы разбежаться было. Perl'а почитай уже не было, PHP был - но на тот момент "лучше-б не было" ))).
     

  • 1.89, Вы забыли заполнить поле Name (?), 21:18, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Имхо в современной разработке монструозные фрейсворки аля рельсов не нунжны. Рано или поздно начинаешь упираться в ограничения фреймворка и тогда лучше иметь что-то минимальное. Поэтому микрофреймворки или либы типа того же фласка, старлета или аиоххтп гораздо лучше подходят на эту роль. К тому же REST, который продвигали рельсы далеко не везде подходит.
     
     
  • 2.103, Quad Romb (ok), 23:48, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разработки висящей в вакууме не существует.
    Ни современной, ни древней.
    Разработка решает конкретные задачи.
    Поэтому не стоит так сурово обобщать, ведь не все фреймворки навязывают использовать все их возможности одновременно.
    Что факт, так это то, что объективный недостаток всего, что написано на Ruby - недостаточное быстродействие для создания ПО которое должно заниматься массовым обслуживанием.
     
     
  • 3.105, Вы забыли заполнить поле Name (?), 23:55, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Существует стек технологий Он, ествтенно, зависит от времени Согласись, что ты... большой текст свёрнут, показать
     
     
  • 4.108, Quad Romb (ok), 02:49, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Речь шла о жёстком разделении решения задачи либо только на фреймворках, либо то... большой текст свёрнут, показать
     
     
  • 5.152, Вы забыли заполнить поле Name (?), 17:32, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот ты вилять начал Ты писал какой-то бред про разработку в вакууме А когда... большой текст свёрнут, показать
     
  • 2.122, User (??), 10:30, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря что ты делаешь же. Корпоративный RAD более, чем востребованен, при том, что highload'а там не будет примерно "никогда" и вероятность "упереться" в ограничения фреймворка тоже нифига не 100%, а вот перспектива колхозить лисапет-из-палка-и-веревка здесь-и-сейчас - вот она.
     
     
  • 3.153, Вы забыли заполнить поле Name (?), 17:36, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Смотря что ты делаешь же. Корпоративный RAD более, чем востребованен, при том,
    > что highload'а там не будет примерно "никогда" и вероятность "упереться" в
    > ограничения фреймворка тоже нифига не 100%, а вот перспектива колхозить лисапет-из-палка-и-веревка
    > здесь-и-сейчас - вот она.

    Эмм. Что им нужно для приложения? Роутинг, БД, шаблоны. Это есть вообще везде! В любом решении. Просто в одном случае ты будешь искать час как добавить 1 строчку, чтобы магия заработала, а в другом просто напишешь рабочий код.

     
     
  • 4.168, User (??), 08:15, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    который кому-то надо будет потом поддерживать - читать, разбираться, править... большой текст свёрнут, показать
     
     
  • 5.181, Вы забыли заполнить поле Name (?), 14:00, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть два автомобиля: один напичкан электроникой по самое небалуй, при этом все друг на друга завязано, второй все по минимуму. Вроде оба едут, но это до первой поломки. И вот в поломке ты поймёшь реальную цену.
     
     
  • 6.184, User (??), 14:10, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть два автомобиля: один напичкан электроникой по самое небалуй, при этом все
    > друг на друга завязано, второй все по минимуму. Вроде оба едут,
    > но это до первой поломки. И вот в поломке ты поймёшь
    > реальную цену.

    Ну, примерно так, да. Только у одного есть примерно все - от коммерческого саппорта до сети дилерских центров, а второй Вася в гараже делал - вот к нему и иди спрашивать, как колесо меняется. И это еще повезет, если колеса одинаковые, круглые и чётным числом - а то ить, возможны варианты.

     
     
  • 7.186, Вы забыли заполнить поле Name (?), 14:44, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты готов платить саппорту и брать навязываемые услуги сети дилерских центро... большой текст свёрнут, показать
     
     
  • 8.187, User (??), 14:59, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да Примерно так Если тебе в гонках участвовать или там руду тысячами тонн в... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (11)

  • 1.124, zog (??), 11:00, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть ли шанс у Ruby вновь стать достаточно популярным?
     
  • 1.125, Аноним (125), 11:06, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Имеет смысл учить сабж?
    Какой ЯП лучше учить, чтобы больше всего вакансий и выше всего ЗП?
     
     
  • 2.126, mma (?), 11:27, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ada и Cobol
     
     
  • 3.129, Аноним (125), 11:54, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очень смешно. Нет.
     
     
  • 4.139, Аноним (27), 14:43, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    круче фортрана ничего не придумали
     
     
  • 5.141, Аноним (41), 14:49, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В области параллельного обсчета больших математических моделей, таки  Да - нет ничего лучше совремменного Fortran нет. Только С может с ним сравниться здесь, да и то с большой натяжкой. Но на С больше шансов выстрелить себе в ногу, да и не для ученых-предметников он.
     
  • 2.128, User (??), 11:44, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Эээээ... Рыночек же - чем больше предложений, тем ниже стоимость)
     
     
  • 3.130, Аноним (125), 11:55, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет.
     
  • 3.138, Аноним (41), 14:10, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Рыночек - чем больше восстребованность и отдачас от программы или софта, тем больше зарплата. К этому надо еще приложить отличные знания Computer Science и алгоритмов, так как без них никуда. Ну и бизнес-область, в которой работаешь надо хорошо знать. Про отличное знание ЯП или инструмента на котором работаешь я и не говорю.
     
     
  • 4.140, User (??), 14:47, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Рыночек - чем больше восстребованность и отдачас от программы или софта, тем больше зарплата.

    Да вот вообще не связано. Стоимость формирует баланс спроса и предложения, а сколько бизнес зарабатывает на конкретной инсталляции "один эсс иееерыпи" - миллион или миллиард на зп программиста этой самой 1с влияет почти никак.

     
     
  • 5.142, Аноним (41), 15:01, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Еще как связано. Возьммем, например Илью Суцкевера - руководителя по научным исследованиям OpenAI и его зарплату в OpenAI и до его приходу в OpenAI или после его ухода из OpenAI. Думаю, что она будет отличаться в разы, а может и в на порядок.
     
     
  • 6.149, Вы забыли заполнить поле Name (?), 16:06, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Еще как связано. Возьммем, например Илью Суцкевера - руководителя по научным исследованиям
    > OpenAI и его зарплату в OpenAI и до его приходу в
    > OpenAI или после его ухода из OpenAI. Думаю, что она будет
    > отличаться в разы, а может и в на порядок.

    Он руководитель. У руководителей она всегда больше обычных погромистов

     
     
  • 7.171, Аноним (125), 09:13, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Программист это такой же линейный персонал, пролетариат, как и любой другой офисный планктон. То что программисты не избранные можно понять по массовым увольнениям. Начальники отделов, руководители организаций и уж тем более основатели всегда будут получать в разы больше. Программисты научились программировать, но такой простой мысли понять не могут.
     
     
  • 8.182, Вы забыли заполнить поле Name (?), 14:03, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Просто люди хотят разного Руководители меньше пишут код, больше работают с людь... текст свёрнут, показать
     
  • 6.154, Аноним (156), 19:22, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Суцкевер это топ-менеджер, нашел с кем сравнивать, ты еще с Джопсом сравни. Его достижения в основном организационные, хоть он и позиционирует себя как технаря.
     
  • 6.166, User (??), 07:52, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Еще как связано. Возьммем, например Илью Суцкевера - руководителя по научным исследованиям
    > OpenAI и его зарплату в OpenAI и до его приходу в
    > OpenAI или после его ухода из OpenAI. Думаю, что она будет
    > отличаться в разы, а может и в на порядок.

    Это вы к тому, что openai - убыточная компания? Вот перейдет товарищ в прибыльную - зарплата и вырастет? :)

     
     
  • 7.183, Вы забыли заполнить поле Name (?), 14:05, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > убыточная компания

    В США таких очень много, тот же убер, например.

     
  • 2.146, all_glory_to_the_hypnotoad (ok), 15:51, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В Ruby нет ничего хорошего, ради чего стоило бы его трогать. Для большой ЗП нужно прокачивать технический кругозор, уметь проектировать код, сервисы, стурктуры данных и алгоритмы, ЯП здесь просто один из инструментов. Ценный специалист знает несолько ЯП. Больше вакансий и выше ЗП вещи не совместимые: дорогих специалистов всегда нужно меньше линейных и дешёвых. Если искать середину, то скорее всего это будет Java как основной ЯП. Если хочется забраться на самые топовые вакансии с забористыми задачами, то это с++ и реже Java, Go, C# и другие ЯП из этой категории.
     
     
  • 3.177, Аноним (176), 11:27, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Больше вакансий и выше ЗП вещи не совместимые

    То есть можно начинать учить Delphi с его VCL, WPF, Windows forms, FoxPro?

     
     
  • 4.190, all_glory_to_the_hypnotoad (ok), 15:42, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если думаешь, что из условного { больше вакансий } ⋂  { выше ЗП } = {0} следует, что ∀ z ∉ { больше вакансий } ⇒ z ∈ { выше ЗП }, то, очевидно, думаешь неверно. Т.е. { меньше вакансий } ⋂  { меньше  ЗП } != {0}. Иначе не совсем понятно что хочешь.

     

  • 1.155, Аноним (156), 19:25, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Когда-то вокруг Ruby был такой же хайп, как сейчас вокруг Rust. А сейчас Ruby сохранился только на легаси и в своей небольшой нише.
    Делайте выводы.
     
     
  • 2.157, all_glory_to_the_hypnotoad (ok), 20:39, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ruby не дал ничего нового и полезного и даже напротив - вобрал из других языков много неудобного хлама. Rust же даёт новые уникальные фичи, потому rust находится в более выгодных условиях. И его уже потихоньку в ядро загоняют. Т.е. вполне может взлететь.
     
     
  • 3.163, Вы забыли заполнить поле Name (?), 23:40, 26/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И его уже потихоньку в ядро загоняют. Т.е. вполне может взлететь.

    Если ты в шкаф новые вещи запихиваешь так чтобы дверца еле закрылась, то он от этого не взлетит.


     
  • 3.189, Аноним (189), 15:09, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Руст на хайпе только потому, что его пиарят корпорации и потому, что он продвигает античеловеческую лгбт\сжв повесточку, выгодную глобалистам (сатанистам).
     
     
  • 4.192, Аноним (192), 17:57, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > его пиарят корпорации и потому, что он продвигает античеловеческую лгбт\сжв повесточку

    Питон же именно так и вытащили. И ничего, все довольны

     
     
  • 5.194, Пряник (?), 18:34, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не, питон чисто народный язык. Арасаки бы не одобрили бардака с пакетированием и перехода с 2 на 3.
     
     
  • 6.199, Аноним (-), 22:26, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если бы его Гугл, а потом и Микрософт не тащили, то никуда бы он не взлетел. Он и сейчас при парном сравнении технологий, нигде лучшим/удобным/производительным/надёжным не является.
     
     
  • 7.206, all_glory_to_the_hypnotoad (ok), 01:58, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Корпорации это не ССЗБ чтобы назло тебе пользоваться для себя неудобными инструментами. Так только совки поступают. Бизнесу нужно повышать эффективность труда, потому постоянно в поисках лучшего. Не все, разумеется, одинаково хорошо занимаются оптимизациями. Если что-то взлетает надолго благодаря корпорациям, то это только из-за изначально удачного решения и корпорации всего лишь выступают успорителем популяризации.

    Питон, кстати, к тому моменту уже обошёл всех конкурентов и был взлетевшим. На начальных этапах подскачил благодаря Zope (~2000), далее приглянулся учёным и инженерам в виде scipy (2001) и потом numpy. Его тащили мелкая вебня, системщики и админы, потом уже учёные, DS-ы и ML-щики.

     
     
  • 8.221, Аноним (176), 14:57, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ага 8211 ага Корпорацыи это такие сверхсущества никогда не ошыбающиеся а барыг... текст свёрнут, показать
     
     
  • 9.237, all_glory_to_the_hypnotoad (ok), 20:14, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Специально для особенно умных написал не все Слышал когда-нибудь о естественн... текст свёрнут, показать
     
  • 5.198, Аноним (189), 20:36, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нынешний пайтон далеко отошел от изначальной идеи, которую закладывал Гвидо ван Россум.
     
  • 5.204, all_glory_to_the_hypnotoad (ok), 01:40, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Питон взлетел примерно по трём причинам: консистентная фичастая стандартная либа из коробки (против php, perl, js), уход от неявных переменных (perl, ruby) в сторну явных конструкций и типы (против perl, js). Взлетел по объективным причинам и потому многие им довольны по сравнению с альтернативамм.

    Взлетал в дистрибутивах как замена perl и в наколеночной вебне, в 'корпоративных' задачах взлетал плохо. Ему долго пытались прикручивать всякие корутины и JIT-ы, но всё было бесполезно. Собственно питон и сейчас в основном остаётся как инфраструктурный скриптовый ЯП для разработки вспомогательных приложений и обвязок.

     
     
  • 6.215, Аноним (189), 19:16, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Взлетал в дистрибутивах как замена perl

    Но Perl почему-то до сих пор идёт к большинству пакетов как неотъемлемая зависимость. Подучить бы вам матчасть, товарисч.

     
     
  • 7.236, all_glory_to_the_hypnotoad (ok), 20:11, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Аноним, ну нужно же иногда включать мозг Во-первых, к большинству пакетов не ид... большой текст свёрнут, показать
     
  • 4.216, Вы забыли заполнить поле Name (?), 20:04, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > продвигает античеловеческую лгбт\сжв повесточку, выгодную глобалистам (сатанистам).

    Зачем она им? Это же приведет к уменьшению населения.

     
  • 3.196, подрывник (?), 19:33, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Ruby не дал ничего нового и полезного

    Стиль кодирования у него на хорошем уровне. Кое-кому (мне в том числе) дали крепкого пинка под зад, показали, как писать лучше.

    А с технической точки зрения — выглядит, как будто ничего нового...

     
     
  • 4.205, all_glory_to_the_hypnotoad (ok), 01:51, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В ruby унесли много плохого из perl, например, неявные переменные. В начальных версиях у функций не было именнованных аргументов, нужно было доставать как в perl через shift. Также в ЯП встречаются логические косяки прямо в базовой функциональности. Склеивание строк выглядит как [ 'a', 'b' ].join(''), а должно быть ''.join([ 'a', 'b' ]). Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость. Ruby проигал как раз из-за плохого 'стиля кодирования' и из-за менее фичастой стандартной библиотеки.
     
     
  • 5.214, Аноним (189), 19:14, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ох уж эти эксперты. Они и в JS и в Perl и в Ruby шарят... 👏🤣
     
  • 5.220, Вы забыли заполнить поле Name (?), 02:23, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Склеивание строк выглядит как [ 'a', 'b' ].join(''), а должно быть ''.join([ 'a', 'b' ])

    Почему?

     
     
  • 6.225, Пряник (?), 15:42, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    p.s. в расте также
     
  • 6.234, all_glory_to_the_hypnotoad (ok), 19:24, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в ЯП вроде Python и Ruby списки не типизированы, т е самого общего н... большой текст свёрнут, показать
     
     
  • 7.238, Вы забыли заполнить поле Name (?), 23:07, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Здесь под array могут прятаться массивы, итераторы, генераторы и слайсы, а не только списки.

    Ну по идее можно сделать этот метод у каждого из этих сущностей (ну или у базовой, от которой они наследуют)?

    Тут просто это очень похоже на вопрос почему в питоне len() - это функция, а не метод, хотя у коллекций есть метод __len__(), который будет вызван len(). Ответ, насколько я понял, что Гвидо считает, что так математичнее https://stackoverflow.com/a/237312

     
  • 5.222, Аноним (176), 15:02, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость.

    А скобочки типа лучше? И почему именно в 21 веке? От тебя пахнет смузипрограммированнием и JavaScript.

     
     
  • 6.230, Вы забыли заполнить поле Name (?), 21:35, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость.
    > А скобочки типа лучше?

    Кхм. Отступы, конечно.

     
  • 6.235, all_glory_to_the_hypnotoad (ok), 19:43, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    к 21 веку инженеры успели наплодить много разных ЯП с разными подходами и синтаксисами, и успели вдоволь с ними насношаться. Cейчас уже хорошо видно какие подходы удачные и какие нет. Неудобство BEGIN...END было уже понятно давно, это один из самых древних методов структурирования кода.

    Отступы тоже плохи. Нет возможности писать однострочники, из-за этого в ЯП вроде питона приходится придумывать отдельные конструкции для однострочников, которых всё равно мало. Также есть вечная проблема SPACE vs TABS и чему равен TAB. В коде не всегда видно что стоит - SPACE или TAB, из-за чего текст может оказаться невалидным и непонятно где для глаза.

    И таки да, из самых удобных остаются только односимвольные парные скобки типа () <> {}, какие плюсы: нужно меньше набирать текста, оформление блоков не отвлекает на себя много внимания в текстах программ, симметричные из-за чего графически понятно где находится содержимое.

     
     
  • 7.239, Вы забыли заполнить поле Name (?), 00:19, 31/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > к 21 веку инженеры успели наплодить много разных ЯП с разными подходами
    > и синтаксисами, и успели вдоволь с ними насношаться. Cейчас уже хорошо
    > видно какие подходы удачные и какие нет. Неудобство BEGIN...END было уже
    > понятно давно, это один из самых древних методов структурирования кода.

    Ну просто end для конца блока норма читается.

    > Отступы тоже плохи. Нет возможности писать однострочники, из-за этого в ЯП вроде
    > питона приходится придумывать отдельные конструкции для однострочников, которых всё равно
    > мало. Также есть вечная проблема SPACE vs TABS и чему равен
    > TAB. В коде не всегда видно что стоит - SPACE или
    > TAB, из-за чего текст может оказаться невалидным и непонятно где для
    > глаза.

    Решается форматерами кода. Сейчас все новые языки поставляются с форматерами.  

    > И таки да, из самых удобных остаются только односимвольные парные скобки типа
    > () <> {}, какие плюсы: нужно меньше набирать текста, оформление блоков
    > не отвлекает на себя много внимания в текстах программ, симметричные из-за
    > чего графически понятно где находится содержимое.

    Отступы, все равно будут для читаемости. К тому же опять могут возникуть вопросы где ставить { скобку: есть K&R, всегда на той же строке и GNU стили.


     
  • 7.242, Аноним (176), 21:32, 31/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Function FFOff()
      For i = 0 To 10
       If i = 2 Then
        …
       End If
      Next
    End Function
     

  • 1.188, Аноним (189), 15:07, 27/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хороший был язык и фреймворк, самые теплые и приятные воспоминания. Слез где-то в 2017 и перешел на JavaScript, который ненавижу.
     
     
  • 2.195, Пряник (?), 18:37, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сам по себе JS норм язык, он чем-то мне Lua напомнил - такой же везде впихиваемый и минималистичный по синтаксису. Но он должен быть, как и Lua, держаться в узкой нише. Пришёл nodejs и сказал "Теперь ВСЁ пишем на JS!".
     
     
  • 3.197, Аноним (189), 20:34, 27/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    JS слишком сложный. Все эти ивент лупы, промисы, коллбэки, прототипы. Плюс столько синтаксического сахара, что можно заработать диабет. Но без JS сегодня в вэбе - никуда.
     
     
  • 4.203, all_glory_to_the_hypnotoad (ok), 01:18, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    От JS тут только прототипы, синтаксического сахара в JS нет. Остальное это паттерны проектирования и именно такие есть практически по всех ЯП куда не захотели засовывать корутины, или лёгковестные процессы. Т.е. практичесеки в большинстве ЯП. Сложность JS заключается совершенно в другом: в логике неявного приведения типов т.к. в JS нет типов вообще. И мб прототипы недостаточно посахарены
     
     
  • 5.213, Аноним (189), 19:13, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из твоего комментария могу сказать одно - с JS ты не знаком от слова совсем.
     
     
  • 6.217, Вы забыли заполнить поле Name (?), 20:10, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Из твоего комментария могу сказать одно - с JS ты не знаком
    > от слова совсем.

    Вообще-то он правильно говорит. Евент луп - это не часть языка, промисы - это просто абстракция от будущего значения (до появления промисов в стандарте они были реализованы через библиотеки), колбэк - это просто анонимная функция.

     
     
  • 7.227, Аноним (176), 19:54, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, давай покажи где есть JavaScript без event loop, без функцый обратного вызова (которые могут быть не только анонимными), без асинхронности почти везде, без ООП через протипы. Почти всё из этого я впервые увидел в JavaScript.
     
     
  • 8.228, Вы забыли заполнить поле Name (?), 20:40, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты путаешь Я тебе сказал, что event loop не является частью стандарта ECMAScrip... текст свёрнут, показать
     
     
  • 9.231, Аноним (176), 00:20, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это я передаче функцый в другие функцыи и вложение всего и вся в кучу функцый ко... большой текст свёрнут, показать
     
     
  • 10.240, Вы забыли заполнить поле Name (?), 16:00, 31/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Почитай sicp ... текст свёрнут, показать
     
  • 4.224, Пряник (?), 15:38, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты про чистый JS?
     
  • 3.223, Аноним (176), 15:04, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальные люди ни на какой Node.js и JavaScript не ведутся.
     
     
  • 4.232, Аноним (189), 02:23, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, ведь нормальные сидят на msdos! Вот в сберкассе тётеньку видел с dos программой!
     
     
  • 5.233, Аноним (176), 19:18, 30/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Действительно, ведь нормальные сидят на msdos! Вот в сберкассе тётеньку видел с
    > dos программой!

    Что плохого в программах под DOS?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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