The OpenNET Project / Index page

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

Для Nim 3.0 развивается новый компиляторный бэкенд на основе формата NIF

06.04.2025 18:29

В процессе разработки версии 3.0 языка программирования Nim ведётся работа над обновлённым компилятором, использующим промежуточный формат NIF (Nim Intermediate Format). В новом компиляторе будет решено несколько технических задач, среди которых улучшение инкрементальной компиляции и упрощение управления зависимостями между модулями. Дата релиза Nim 3.0 пока не определена.

Согласно спецификации NIF, опубликованной в репозитории проекта, новый формат позволяет хранить код в виде абстрактного синтаксического дерева (AST), разделяя пространства имён для встроенных конструкций и пользовательских имён. Это обеспечивает гибкость при добавлении новых ключевых слов и упрощает интеграцию с инструментами разработки.

Компилятор Nim 3.0 будет разделён на несколько этапов:

  • Nifler - преобразование исходного кода Nim в NIF с учётом конфигурационных файлов.
  • Nimony - семантический анализ, включая проверку типов и разрешение макросов.
  • Hexer - оптимизация кода, включая инлайнинг итераторов и поддержку управления памятью (ARC/ORC).
  • NIFC - генерация кода для C/C++ с учётом особенностей целевой платформы.

Основные улучшения включают:

  • Инкрементальную сборку, ускоряющую компиляцию при частичных изменениях кода.
  • Отказ от необходимости предварительного объявления процедур и типов.
  • Поддержку циклических зависимостей между модулями.
  • Проверку типов для дженериков на этапе компиляции.
  • Исправление ошибок фаз компиляции, таких как некорректный вызов деструкторов.

В спецификации также отмечается, что NIF сохраняет информацию о позициях элементов кода (номера строк и столбцов), что упрощает отладку и интеграцию с IDE.

Язык Nim ориентирован на решение задач системного программирования, использует статическую типизацию и создан с оглядкой на такие языки, как Python, Ada и Modula. Исходный код на языке Nim компилируется в представление на C, C++, Objective-C или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT.

  1. Главная ссылка к новости (https://github.com/nim-lang/ni...)
  2. OpenNews: Релиз языка программирования Nim 2.0
  3. OpenNews: В openSUSE обеспечена полная поддержка языка программирования Nim
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63031-nim
Ключевые слова: nim
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (159) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 18:42, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора

    В nim к слову их несколько. Включая arc/orc счётчики ссылок, которые работают даже на обычных микроконтроллерах без rtos.
    Если gc не нужен, его можно и вовсе отключить. Стандартная библиотека от него не зависит.

     
     
  • 2.6, Карлос Сношайтилис (ok), 19:16, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    К сборщикам мусора принято относить компоненты языка, что делают stop the world. Иначе С, С++ и Rust тоже языки с GC, т.к. имеют (или могут иметь) счётчики ссылок.
     
     
  • 3.9, Аноним (9), 19:42, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > компоненты языка

    Может быть всё таки компоненты рантайма?

    > К сборщикам мусора принято относить stop the world

    Это где так принято?

     
     
  • 4.18, Аноним (18), 20:31, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В ябловском свифте, то ли ушлыми маркетолухами, то ли самими фанатами ябла Рас... большой текст свёрнут, показать
     
     
  • 5.75, n00by (ok), 11:43, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > До этого, почему-то считалось:
    > https://homes.cs.washington.edu/~bodik/ucb/cs164/sp12/lectures/22-garbage%;20collection-sp12.pdf
    > https://www.researchgate.net/publication/2534368_A_Pure_Reference_Counting_Gar

    Первая ссылка - 2012-й год. Задолго до этого подсчёт ссылок считался "управлением жизни объекта" https://learn.microsoft.com/en-us/windows/win32/com/rules-for-managing-referen (смотреть следует дату не публикации, а реализации COM - это прошлый век). Плюс, это учебный курс, где сравнение различных подходов полезно (и при подсчёте ссылок остаётся в прямом смысле мусор, если ссылки циклические, и не предпринимать мер).

    По второй ссылке что, если в двух словах? Впрочем, оно опять не "до", а "после".

     
  • 4.122, Страдивариус (?), 21:05, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не ссорьтесь, горячие финские парни.

    Счетчик ссылок может разрулить циклические ссылки. А garbage collector может. Ну нормальный во всяком случае.

     
     
  • 5.147, Аноним (147), 11:12, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Счетчик ссылок может разрулить циклические ссылки

    У вас "не" потерялось

     
     
  • 6.156, Добрый самаритянин (?), 13:46, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    GC почистил ;)
     
  • 6.183, Страдивариус (?), 17:45, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, спасибо
     
  • 3.16, Аноним (16), 20:22, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    счетчик ссылок и есть алгоритм сбора мусора..
     
     
  • 4.73, n00by (ok), 11:30, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это алгоритм автоматического управления памятью, как и сборка мусора.
     
  • 3.19, Аноним (18), 20:39, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > К сборщикам мусора принято относить компоненты языка, что делают stop the world.

    В (C)Python, перле, луа тоже нет "stop the world". Внезапно, да?

    > Иначе С, С++ и Rust тоже языки с GC, т.к. имеют (или могут иметь) счётчики ссылок.

    Путаем теплое и мягкое. Нюанс тут в опциональности - т.е. штатно в этих трех можно память самому, ручками, управлять, подключая при необходимости хоть аллокатор своего собственного авторства.

     
     
  • 4.32, Аноним (16), 23:05, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Питоне есть GC и stop the world тоже
     
     
  • 5.34, Аноним (18), 23:35, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В Питоне есть GC и stop the world тоже

    В питоне - основным идет "счетчик ссылок".
    Плюс опциональный (отключаемый) GC для сборки циклических зависимостей - без него никаких "stop the world" (ну, типа - потому что на самом деле затык будет еще и в стандартной библиотеке аллокатора, т.е. тут даже с ручным malloc-free можно вполне "нарваться").
    Прям как в сабже (ARC и ORC).

     
  • 3.22, Нуину (?), 21:09, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Иначе С, С++ и Rust тоже языки с GC, т.к. имеют (или могут иметь) счётчики ссылок.

    Там счетчики ссылок работают детерминирванно: четко сказано когда будет вызван "деструктор", если счетчик ссылок станет 0. В питоне, например, он вообще может быть не вызван.

     
     
  • 4.41, Аноним (41), 07:05, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты не можешь знать, что вот именно в этом месте счетчик станет нулевым
     
     
  • 5.49, Аноним (-), 08:30, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты не можешь знать, что вот именно в этом месте счетчик станет нулевым

    Тем не менее, неотключаемый GC - это очень четкая граница водораздела, отделяющая НеСистемных от системных. Контроль над происходящим В ДЕТАЛЯХ - это и есть системное программирование. А если вы все это не хотите - апликухи пишите, используя прослойки "от богов" которые за вас и разберутся как вон то внутрях работало.

     
     
  • 6.76, n00by (ok), 11:56, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как можно проконтролировать отсутствие фрагментации кучи при вызовах malloc() и free()?
     
     
  • 7.87, 12yoexpert (ok), 14:20, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://habr.com/ru/companies/otus/articles/889020/
     
     
  • 8.99, n00by (ok), 16:16, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Надо взять за правило не ходить по ссылкам без пояснений Сорцы glibc и без них... текст свёрнут, показать
     
     
  • 9.114, 12yoexpert (ok), 17:19, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    там какой-то чел на зарплате гундосит про работу malloc и free, в т ч про фрагм... текст свёрнут, показать
     
  • 9.115, 12yoexpert (ok), 17:20, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    странно, что ты сам не сходил и не почитал те сорцы, а побежал на опеннете вопро... текст свёрнут, показать
     
     
  • 10.141, n00by (ok), 09:17, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно, я сначала изучил glibc, и даже немножечко реализацию mremap , а по... текст свёрнут, показать
     
     
  • 11.176, 12yoexpert (ok), 22:52, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    блин, это же было очевидно прости... текст свёрнут, показать
     
     
  • 12.177, n00by (ok), 10:04, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, можно было сравнить моё описание флага с man mmap Если разрешен ov... текст свёрнут, показать
     
  • 8.143, Аноним (147), 10:59, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это совершенно никак не отвечает на вопрос, как бороться с состоянием, когда пос... текст свёрнут, показать
     
     
  • 9.175, 12yoexpert (ok), 22:52, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я и не пытался скинул рандомную статью, вдруг поможет... текст свёрнут, показать
     
  • 7.94, Аноним (94), 15:26, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Как можно проконтролировать отсутствие фрагментации кучи при вызовах malloc() и free()?

    Не делая эти вызовы, например! В си как системном ЯП так можно. То-есть я сам решаю какая аллокация памяти будет в моей программе. Для фирмвар вполне нормально "static memory allocation" практиковать. Когда все заранее раздали статичкски - и тогда не только нет непредсказуемых лагов, да и закончиться память - не может. Такого понятия просто нет.

    Остаются конечно еще рекурсии и VLA всякие, но сие при нужде опять же обязательно не делается. И при нужде гасится на уровне анализатора или ключей компилера вообще.

     
  • 5.165, Нуину (?), 16:09, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты не можешь знать, что вот именно в этом месте счетчик станет
    > нулевым

    Это не важно. Важно, что будет когда счетчик станет нулем. В языках с gc момент сборки мусора недетерминирован (если только руками не звать gc).

     

  • 1.5, Аноним (5), 19:15, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем нужны языки высокого уровня, компилирующиеся в другие языки высокого уровня?
    Разрабам этой штуки не даётся компиляция в IR llvm/gcc?
     
     
  • 2.8, 12yoexpert (ok), 19:39, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    1) попиши на нём и узнаешь, зачем
    2) автор языка так не хочет. у него есть какие-то аргументы, но всем на них закономерно пофиг
     
     
  • 3.90, Аноним (90), 15:09, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Попишите чтобы понять нафиг поделка вообще нужна" и "какие-то аргументы" - такой себе маркетинг.
     
     
  • 4.113, 12yoexpert (ok), 17:18, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а это не раст, чтобы тебе что-то продавать
     
  • 2.46, Андрей (??), 08:11, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Дешевле получить более высокоуровневые фишки с интеграцией широко распространённых и кроссплатформенных языков/инструментов. Фактически, если это всё ручками писать/переписывать(алгоритмы преобразования кода, оптимизации), то автоматически закладываешь 10+ лет отставания, всё это время отставая одновременно и по скорости внедрения новых возможностей, так и по скорости работы кода. Плюс бонусом транспилируя в Си/плюсы можно сверхлегко получить интероперабельность с ними, вместе со всеми библиотеками на нём.
     
     
  • 3.144, Аноним (147), 11:00, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    llvm уже изобретён
     
  • 2.65, Аноним (65), 10:17, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У llvm есть фатальные недостатки, тут обсуждали https://www.linux.org.ru/forum/development/17699718
     
     
  • 3.82, Аноним (-), 13:24, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Читал тот тред.
    Аргументов "чем плох llvm" так и не увидел.
    Куча безосновательных "а давайте все транслировать в сишку, а потом компилять".
     
  • 2.77, n00by (ok), 12:01, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что Си и создавался, что бы в него "компилировали" другой язык высокого уровня - "препроцессор языка Си". Следующим широкоизвестным ЯВУ, "компилирующимся" в Си был Cfront Страуструпа.
     
     
  • 3.100, Аноним (-), 16:19, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что Си и создавался, что бы в него "компилировали" другой язык высокого уровня

    Не перевирай.

    >Следующим широкоизвестным ЯВУ, "компилирующимся" в Си был Cfront Страуструпа.

    Самый первый "компилятор языка C++" был ООП надстройкой над компилятором Си. Причина банальная, Страуструп не умел писать компиляторы. Чтобы писать компилятор надо знать архитектуру компьютера, машинные коды, ассемблер. А Страуструп знал только высокоуровневые языки.

     
     
  • 4.103, n00by (ok), 16:34, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    5 1 1 1 Program structure 1 After preprocessing, a preprocessing translation... большой текст свёрнут, показать
     
     
  • 5.107, Аноним (107), 16:47, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Причина банальная, Страуструп не умел писать компиляторы.
    > Какая чушь.

    Интересно, а что бы на это сказал сам Страуструп?
    Вдруг что-то вроде
    "C plus plus has been evolving from day one because it's design Choice back in about
    1979
    because I realized that there was no way I could build a perfect language from scratch
    I didn't have the resources I didn't have the knowledge and the world changes all along"
    ?

    Из недавнего интервью
    youtu.be/eLLi0nWMUMs?t=208

     
     
  • 6.142, n00by (ok), 09:25, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Страуструп _написал_ транслятор. Что по этому поводу сказали Даннинг и Крюгер?
     
     
  • 7.162, Аноним (-), 15:55, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда К. Топсон созлавл язык Би, он знал машинный язык и ассемблер. Когда Д. Ритчи создавал Си, он знал машинный язык и ассемблер. Когда Б. Страуструп _написал_ транслятор С++, он знал только высокоуровневые языки.

    Когда растаманы создавали Rust, они не знали архитектуру компьютера, не знали машинный язык, не знали ассемблер. Они просто взяли готовый компилятор LLVM.

     
  • 2.95, Аноним (95), 15:57, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Любой компилятор первым делом делает лексический парсинг в AST. Они просто стандартизировали этот этап, чтобы можно было обработать AST любыми внешними инструментами. До IR тут еще даже не подошли.
     

  • 1.7, 12yoexpert (ok), 19:38, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не решает главную проблему языка: отсутствие отладчика. автору предлагали реализовать клиент к gcc, безуспешно
     
     
  • 2.11, Аноним (9), 19:50, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Забей на отладчик, выводи всё в консоль.
     
     
  • 3.14, Аноним (14), 20:21, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    640 KB и printf хватит всем.
     
     
  • 4.21, Аноним (21), 21:04, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В Боинге тоже так думали. Пока не перестали так думать.
     
     
  • 5.50, Аноним (-), 08:32, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В Боинге тоже так думали. Пока не перестали так думать.

    Так и представляю себе - прогер прицепил дебагер, степает программу... боинг застывает в воздухе, ждет пока программер отстепает код бортового компьютера :). Вот была бы красота, если б это еще и катило. Жаль что законы физики хрен убедишь...

    И да, представляете, тыкаться дебагером в живую реалтаймную систему - это такое весьма спеицфичное развлечение. Ибо - это интрузивно и - меняет поведение системы. Но чтобы об этом знать - надо этим заниматься, а не на форуме умничать.

     
     
  • 6.83, Аноним (-), 13:32, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Боинг большой)
    Там есть много систем и далеко не все должны фурычить в риалтайме.
    Например сортир или мультемедийная система.

    И их можно дебажить сколько угодно. Даже ассертов понапихать, если лениво разбираться где все-таки оно ломается
    Возможно тогда нам не приходилось бы читать новости "хакер взлома самолет через вайфай телевизора в сиденье"

     
     
  • 7.102, Аноним (-), 16:33, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А таки довольно многие - должны Простите но реальный мир не будет ждать пока вы... большой текст свёрнут, показать
     
  • 2.23, Аноним (23), 21:09, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    К GDB может?
     
     
  • 3.30, 12yoexpert (ok), 22:46, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет, ему предлагали реализовать компиляцию через уже существующие компиляторы, например, gcc (хотя автор работает в амазон, так что, думаю, если и будет делать, то через llvm, чисто всем назло. так же, как он свои книги продаёт)

    автор настаивал на какой-то нелепой фигне, уже не помню. типа, мол, зачем, если можно выплюнуть C/C++, obj-c или java и компилять или запускать чем хочешь. а то, что в gdb при отладке помойка, - это почему-то его не волнует

     
     
  • 4.134, Аноним (134), 08:02, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а то, что в gdb при отладке помойка, - это почему-то его не волнует

    Абсолютная неправда. Зачем печатать ложь? Прекрасно дебажится как в гдб, lldb, так и с помощью санитайзеров. И на номера строк указывает, и имена типов Nim сохраняет в читабельном виде. В мануале компилятора описаны все необходимые ключи для этого

     
  • 2.27, Аноним (27), 22:00, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этот шаг, в первую очередь, направлен на улучшение инструментария языка программирования (на что неоднократно ныли неосиляторы без плагина под их любимую IDE). Каким местом вы читали новость?
     
     
  • 3.29, 12yoexpert (ok), 22:44, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    при чём тут направление шага и чтение новости, если описанное не решает главную задачу - отсутствие отладчика?
     
     
  • 4.43, Аноним (27), 07:08, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При том, что для нового бэкенда можно будет улучшить состояние отладчика, как и lsp и т.д.

    Можете почитать ветку форума: https://forum.nim-lang.org/t/12693

     
     
  • 5.59, 12yoexpert (ok), 09:44, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > However, I expect in practice we'll just use NIFC-to-LLVM instead of NIFC-to-C and get the typical debugging experience of all the other compiled languages.

    таки я был прав, чел завендорлочит всё на llvm

     
  • 2.91, Аноним (90), 15:11, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > отсутствие отладчика. автору предлагали реализовать клиент к gcc, безуспешно

    Понятно, очередной мистер "путь самурая". На язык я хотел посмотреть, но с таким автором вижу что пустая трата времени.

     
     
  • 3.135, Аноним (134), 08:03, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все отладчики работают, не надо печатать бред
     

  • 1.13, Аноним (14), 20:21, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > если не учитывать затраты на выполнение сборщика мусора

    А если учитывать?

     
     
  • 2.42, Аноним (41), 07:06, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, давай лучше не учитывать. Выгодно сравнивать скорость, когда память не особождается
     

  • 1.25, Аноним (25), 21:19, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они что собираются программировать на этом языке одну систему на все платформы?
    Или "фактический код мы запишем за Вас"
     
  • 1.26, Нуину (?), 21:34, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насколько хорошо подходит промежуточное представление, чтобы генерировать из него высокоуровневый Си код? Он же высокоуровневый в итоге?

     
  • 1.31, 12yoexpert (ok), 22:51, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    интересно, насколько описанное в mastering nim после этого превратится в тыкву, там немаленькая часть книги касается именно пайплайна компиляции. язык и так страдает от полного отсутствия высокоуровневой документации, по сути есть только форум и дока на api
     
  • 1.33, Vorobej (?), 23:29, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Язык системного программирования, компилирующий в язык системного программирования... а JavaScript и без того высокоуровневый. Да еще макросы, всё усложняющие. И графики своей нет, как есть у Питона. Печально, но это провал (
     
     
  • 2.35, Нуину (?), 23:48, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > а JavaScript и без того высокоуровневый

    Возможность сложить строки с числами и оператор тройного равенства - это сколько по шкале высокоуровневости?

     
     
  • 3.37, 12yoexpert (ok), 02:36, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    по сравнению с perl 6 это практически asm
     
  • 3.105, Аноним (-), 16:36, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> а JavaScript и без того высокоуровневый
    > Возможность сложить строки с числами и оператор тройного равенства - это сколько
    > по шкале высокоуровневости?

    Да не сильно много. Склыдывать строки вообще что попало умеет по сути.

     
     
  • 4.108, Аноним (107), 16:52, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Возможность сложить строки с числами и оператор тройного равенства - это сколько  по шкале высокоуровневости?
    > Да не сильно много. Склыдывать строки вообще что попало умеет по сути.

    Это до момента
    console.log(NaN === NaN); // Output: false
    console.log(+0 === -0); // Output: true

    или (!+[]+[]+![]).length === 9

    Вообще там куча приколов, чего только banana стоит.

     
     
  • 5.112, 12yoexpert (ok), 17:16, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > console.log(NaN === NaN); // Output: false
    > console.log(+0 === -0); // Output: true

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

     
  • 5.136, Аноним (-), 08:05, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да не сильно много. Склыдывать строки вообще что попало умеет по сути.
    > Это до момента
    > console.log(NaN === NaN); // Output: false
    > console.log(+0 === -0); // Output: true
    > или (!+[]+[]+![]).length === 9
    > Вообще там куча приколов, чего только banana стоит.

    Это вы про JS чтоли? Тут кто-то постил список приколов, значительно колоритнее.

    Но вот например строки складывать умеют даже совсем педальные вещицы.

     
  • 2.36, Аноним (36), 01:27, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это какая графика есть у питона? Биндинги к С/С++?
     
     
  • 3.39, Аноним (39), 04:49, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Во во, тоже удивляюсь. Иногда хочется гуй на питоне сделать, думаю, мож появилось чего, иду гуглить, а там все тот же список биндингов к кутям и прочий пайгейм с тсл/тк. Грустно, вот как раз на питоне самое то графику делать, а всякое высокопроизводительное уже в нативе.
     
     
  • 4.48, Аноним (-), 08:27, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Во во, тоже удивляюсь. Иногда хочется гуй на питоне сделать, думаю, мож появилось
    > чего, иду гуглить, а там все тот же список биндингов к кутям и прочий пайгейм с тсл/тк.

    Вон там RenPy есть. Но лучше б он биндингами к годоту был, и то менее позорно было бы... :)

     
     
  • 5.97, Аноним (97), 16:08, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > RenPy

    Там под капотом тот же PyGame.

     
  • 3.96, Аноним (97), 16:07, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Гражданин вероятно имеет в виду питонобиндинги к Tcl/Tk.
     
  • 2.92, Аноним (90), 15:12, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это какая такая своя графика у питона? Только не говори что tkinter, который, во-первых, не своя, во-вторых графикой-то не назовёшь.
     

  • 1.38, Аноним (38), 04:00, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пытался писать что-то на нём А так как я начинающий программист, то использую м... большой текст свёрнут, показать
     
     
  • 2.78, n00by (ok), 12:18, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Очень ценный опыт. Насколько понимаю, такой синтаксис сделали намеренно, что бы "научить начинающих хорошему". В итоге люди уходят из-за траты времени на выравнивание. Оно, конечно, важно, но ещё важнее, что бы программа работала, так? Остаются "эстеты".
     
     
  • 3.145, Аноним (147), 11:06, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Насколько понимаю, такой синтаксис сделали намеренно, что бы "научить начинающих хорошему"

    Дрессировать программистов?
    >В итоге люди уходят из-за траты времени на выравнивание

    Правильно делали. В нормальных языках форматировать вручную не нужно, всё форматирование делается автоматом. Попробовать можно на https://try.ocamlpro.com/

     
     
  • 4.149, n00by (ok), 11:23, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так в OCaml отступы не влияют на смысл программы. Хотя и внешне чем-то похоже на Python. Наверное, поскольку имеется научная база, а не одно лишь желание повторить успех бейсика.
     
  • 4.152, Аноним (27), 12:23, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В нормальных языках форматировать вручную не нужно

    Может, это всё же зависит не от языка, а от утилиты структурной распечатки? (Pretty printer, code formatter, называйте как хотите)

     
     
  • 5.154, Аноним (147), 12:43, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    От языка Если пробелы играют управляющую роль, то поставить их может только про... большой текст свёрнут, показать
     
     
  • 6.180, Аноним (180), 16:04, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >всё форматирование делается автоматом

    Получается, не автоматом

     
  • 6.181, Аноним (-), 16:28, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я могу согласиться с исключительно ролью программиста, но насчёт только вручную... большой текст свёрнут, показать
     

  • 1.40, Аноним (39), 04:51, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Только честно, есть крутые проекты, использующие этот ним(как и какой нибудь д)?
     
     
  • 2.44, Аноним (-), 07:37, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/search?q=language%3ANim&type=repositories&s=&o=desc

    Не всё крутое, но посмотреть есть что.

     
  • 2.45, Аноним (27), 07:45, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/niv/neverwinter.nim
     
  • 2.125, Нуину (?), 23:57, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Только честно, есть крутые проекты, использующие этот ним(как и какой нибудь д)?

    Не то, чтобы крутой, но когда-то я им пользовался https://github.com/zedeus/nitter

     

  • 1.47, Аноним (-), 08:26, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Язык Nim ориентирован на решение задач системного программирования,
    > использует статическую типизацию и создан с оглядкой на такие языки, как Python, Ada и Modula

    Ориентирован на задачи системного программирования - поэтому ориентировался на то что для системнщины меньше всего подходит и используется. Оок!

     
  • 1.51, Аноним (51), 08:36, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Согласно спецификации NIF, опубликованной в репозитории проекта, новый формат позволяет хранить код
    > в виде абстрактного синтаксического дерева (AST)

    И все это - вообще зачем? Слава объектников не давала покоя, но поскольку это транспилер то объектные файлы не вырисовывались?

     
     
  • 2.56, cheburnator9000 (ok), 09:32, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там у разработчиков языка и основных авторов популярных библиотек страстная любовь поанонировать на кодогенерацию. Вот пример https://github.com/ba0f3/telebot.nim/tree/master полностью обмазанная возможностями AST. Пока программисты на других ЯП что-то там вручную собирают библиотеку для телеги для json для network и т.д, эти просто описали все API. Такое дебажить очень сложно, да собственно толкового дебага в Nim никогда не было.
     
     
  • 3.79, n00by (ok), 12:39, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но почему оно требует отладки? Сама идея "генерировать код по описанию" возникла, что бы избежать ошибок при кодировании. То есть при этом либо как-то доказывается корректность, либо генерируются тесты.
     
     
  • 4.85, cheburnator9000 (ok), 13:51, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но почему оно требует отладки? Сама идея "генерировать код по описанию" возникла,
    > что бы избежать ошибок при кодировании. То есть при этом либо
    > как-то доказывается корректность, либо генерируются тесты.

    Оно не требует. Моя программа бота для телеги когда я пробовал пару лет назад написать - требовала. И вместо отладки там когоденерированная лапша, которая накладывается поверх транспилированной лапши самого ЯП Nim. Ровно такой же проблемой страдает Vala один в один.

    Я лично жду Carbon, но там в разработчиках сплошное LGBT (запрещенная в россии организация (лол)). Ждать еще будем минимум лет 10 если оно не рипнится быстрее.

    Лучше всего дебаг реализован здесь https://plugins.jetbrains.com/plugin/15128-nim но судя по всему разработчик там один да и плагин забросили печально.

     
     
  • 5.88, Аноним (-), 14:37, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я бы не сильно ждал Во-первых это замена для плюсов Carbon is fundamentally a... большой текст свёрнут, показать
     
  • 5.132, Аноним (132), 01:12, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не жди - неактулен. Всё нужное завезли в сишку. А в плюсах - уже давно.
     
     
  • 6.138, Аноним (-), 08:08, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не жди - неактулен. Всё нужное завезли в сишку. А в плюсах
    > - уже давно.

    На сишке минимальный бот p2p чата токс - полстраницы текста. И его даже на питоне особо не сократишь. Хорошее апи либы, подходящее для задачи - решает. Заодно не надо лизать ничьи ботинки на тему доступа к апи, никто не заблочит аккаунт, и все это будет работать столько сколько это вообще нужно - мне. Бот будет спамить меня или кого там, и все это будет продолжаться пока мне не надоест его майнтайнить. Других критериев шатдауна просто нет.

    Да, и с веб серверами тоже так можно прикалываться. Прям на сишке. Тоже в полстранички умещается.

     
     
  • 7.171, Аноним (90), 17:11, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > На сишке минимальный бот p2p чата токс - полстраницы текста.

    Лол, что ты говоришь. На сишке 2 строки сконкатенировать - полстраницы текста. strlen, strlen, malloc, strncpy, strncpy/strncat, не забудь коды возврата проверить, а при ошибке всё что нааллоцировал освободить, для этого ещё кучу goto напиши, и не дай бог тебе перепутать где длины строк или под \0 место не учесть :))

     
  • 3.137, Аноним (134), 08:06, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >толкового дебага в Nim никогда не было.

    Мануалы читать надо, и станет понятно что все дебагеры работают с кодом Nim

     

  • 1.54, cheburnator9000 (ok), 09:25, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блд. А для Дебага хоть что-то было сделать? Ну хоть что-то?? Там ведь реально дебажить нельзя толком проект. Все через дикие позорные костыли.
     
     
  • 2.123, Аноним (123), 21:46, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем тебе дебаг у шняги, которую ты никогда не будешь использовать.
     
  • 2.146, Аноним (147), 11:09, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Там ведь реально дебажить нельзя толком проект

    Так это ж хорошо. Язык надёжно защищён от реального применения, возьмите любой нормальный

     

  • 1.55, Аноним (55), 09:25, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Реалии таковы, что без реальной поддержки со стороны IT гигантов, всё это нафиг никому не нужно! И да, это означает что Rust уже победил все эти zig, vlang и т.д.

    ПС: хотя, тут выше кто-то писал, что автор работает в Амазоне, так что посмотрим, может со временем будут его использовать как Гугл использует Go для решения своих бизнес задач. Хотя опять же, зачем если уже есть Rust!?

     
     
  • 2.57, Аноним (57), 09:33, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Rust уже победил

    Огласите все критерии победы, пожалуйста, я записываю.

     
     
  • 3.61, kravich (ok), 09:54, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Критерии победы Rust заключаются в том, что ты приготовился записывать критерии победы Rust, а не критерии победы Nim или Zig
     
  • 3.62, Аноним (55), 09:55, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я уже огласил самый важный критерий для современного IT (всё остальное вторично!):
    >>> реальной поддержки со стороны IT гигантов <<<
     
     
  • 4.68, Аноним (57), 10:47, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Критерий не засчитан. Непонятно самое главное - над кем/чем объявлена воображаемая "победа". Гиганты тоже могут ошибаться (особенно учитывая кто ими сейчас управляет). Несколько смущает и культура "современной" разработки.
     
  • 4.71, Аноним (57), 11:06, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно ли считать, что активная фаза военных действий уже пройдена? Или планируются дополнительные наступательные операции для объявления окончательной победы?
     
     
  • 5.84, Аноним (-), 13:37, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можно ли считать, что активная фаза военных действий уже пройдена?

    Нет конечно! Все только начинается.
    Пока намечен плацдарм в ядре, планируется высадка и захват территории.
    Сопротивление подавили, хоть и не без потерь.

    > Или планируются дополнительные наступательные операции для объявления окончательной победы?

    Естественно.
    В этом может помочь правительство, недовольное бекдорами от ЖинТиянов.
    Т.е бекдоры должны быть только от родимых Джонов и Смиттов.

     
     
  • 6.89, Аноним (57), 14:58, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Можно ли считать, что активная фаза военных действий уже пройдена?
    > Нет конечно! Все только начинается.
    > Пока намечен плацдарм в ядре, планируется высадка и захват территории.
    > Сопротивление подавили, хоть и не без потерь.

    Ваша организованная диверсионно-подрывная деятельность рассчитана на отсутствие у врага средств для борьбы со ржавчиной, которая со временем проникнет глубже и разрушит структуру ядра?

    >> Или планируются дополнительные наступательные операции для объявления окончательной победы?
    > Естественно.
    > В этом может помочь правительство, недовольное бекдорами от ЖинТиянов.
    > Т.е бекдоры должны быть только от родимых Джонов и Смиттов.

    Джоны и Смитты - надеюсь, современные вайб-кодеры, модной ориентации?

     
     
  • 7.104, Аноним (107), 16:34, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не слишком она уж организована Да и диверсий мы не делаем Так иногда пуканчики... большой текст свёрнут, показать
     
     
  • 8.133, Аноним (57), 05:26, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Модной ПРОФЕССИОНАЛЬНОЙ ориентации А ты что подумал Пр... большой текст свёрнут, показать
     
  • 3.69, Аноним (69), 10:53, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Критерии победы, он один: язык и компилятор должен быть rust.
     
  • 3.70, Аноним (-), 11:01, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если выпустили кукую нибудь программу на rust, то обязательно в самом заголовке будет упоминание Rust в отличие от других языков.
    Более того правительство США призывает отказаться от небезопасных языков.
     
     
  • 4.72, Аноним (57), 11:16, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Правильно ли я понимаю, что правительство США выразит глубокую озабоченность, если кто-то осмелится использовать "небезопасный" язык?
     
     
  • 5.81, n00by (ok), 12:41, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не выразит - оно сменилось.
     
  • 3.129, Нуину (?), 00:46, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Огласите все критерии победы, пожалуйста, я записываю.

    https://растпобеда.рф/

     
     
  • 4.155, Аноним (155), 12:53, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для более полной и надёжной победы заменить тянок на тянокунов.
     
     
  • 5.166, Нуину (?), 16:13, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Для более полной и надёжной победы заменить тянок на тянокунов.

    Может уже, нельзя знать наверняка пока не проверишь.

     
  • 5.167, Аноним (-), 16:36, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Для более полной и надёжной победы заменить тянок на тянокунов.

    С другой стороны самый мужиковатый мужыг может вдруг оказаться 321ом.
    Я таких регулярно наблюдаю на одном из перекрестков моего города.

    Так что (ИМХО) в программировании главное только качество кода.
    А кто его писал - это пусть философы и прочие болтуны философствуют.

     
  • 4.160, Аноним (-), 14:28, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Огласите все критерии победы, пожалуйста, я записываю.
    > https://растпобеда.рф/

    Хм..
    А какое отношение какой-то помойный сайт из .рф относится к rust'у, который придумали на западе, пишут на западе и актично используют на западе.
    С тем же успехом могли бы примазаться к посадке на луну или марсоходам))

    ps а вообще на этих деятелей надо написать тов. майору - вдруг это засланцы и шпионы.

     
     
  • 5.163, Нуину (?), 16:06, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Огласите все критерии победы, пожалуйста, я записываю.
    >> https://растпобеда.рф/
    > Хм..
    > А какое отношение какой-то помойный сайт из .рф относится к rust'у, который
    > придумали на западе, пишут на западе и актично используют на западе.
    > С тем же успехом могли бы примазаться к посадке на луну или
    > марсоходам))
    > ps а вообще на этих деятелей надо написать тов. майору - вдруг
    > это засланцы и шпионы.

    Да это шутка была :))

     
  • 2.93, Аноним (90), 15:20, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Реалии таковы, что без реальной поддержки со стороны IT гигантов

    Поддержка IT гигантов нахрен никому не сдалась, тем более что поддерживают они только сами себя. Нужна поддержка сообщества, а сообщество мусор всякий подбирать не будет. Поэтому, например, взлетает rust и даже zig, за которым гигантов нет (нет, мозилла даже близко не гигант) но которые хорошо решает свои задачи. И не взлетает swift, за которым стоит аппле, но который нахрен никому не сдался. А nim так вообще никаких задач не решает и является игрушкой автора.

     
     
  • 3.109, Аноним (55), 16:58, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Нужна поддержка сообщества <<<

    Корпорациям пофиг на какое-то соообщество фриканов; они бабки пилят с обычных пользователей!

    >>> Поэтому, например, взлетает rust ... за которым гигантов нет.<<<

    Ага, Майкрософт и Гугл и вообще правительство США смотрят на вас c явным недоумением!

    >>> swift, который нахрен никому не сдался <<<

    Ага, идите и расскажите эти сказки разработчикам которые пилят софт под яблочную экосистему и зарабатывают бабки на тех самых обычных пользователей, коих большинство!

    >>> А nim так вообще никаких задач не решает и является игрушкой автора. <<<

    Ну хоть в чём то мы с вами сошлись:) а весь весь мой посыл был именно об этом!)

     
     
  • 4.118, Аноним (90), 18:53, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, Майкрософт и Гугл и вообще правительство США смотрят на вас c явным недоумением!

    Так это не поддержка, это просто использование. Язык взлетел без ms и гугла, и когда он взлетел его стали использовать.

     
     
  • 5.120, Аноним (55), 19:01, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> взлетел без ms и гугла <<<

    да неважно как он взлетел!!! руби вон тоже взлетел в своё время, но это ему как-то не сильно помогло! важна именно поддержка корпарасов и точка!

     
  • 3.117, Аноним (-), 18:22, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И что ты сделаешь без поддержки ядра дровами от IT гигантов Достанешь 8800 GT и... большой текст свёрнут, показать
     
     
  • 4.119, Аноним (90), 18:58, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И что ты сделаешь без поддержки ядра дровами от IT гигантов?
    > Достанешь 8800 GT из кладовки)?

    Так мы не про дрова, а про языки.

    > Гиганты уже рассмотрели преимущества того что работает и собрались в раст фоундейшн.

    Которое что сделало? Запретило логотип и название использовать? Экосистема это переиспользуемый код в виде крейтов, код пишет сообщество, а фаундейшн к нему отношения вообще никакого не имеет.

    > Гугл так вообще пару миллионов строк кода написал в андроид.

    Да хоть миллиардов - это код под его личные нужды который нигде более не переиспользуется, считай что его и нету. Код - это crates.io. Сходи и посмотри сколько там кода корпорашек.

     
     
  • 5.121, Аноним (55), 19:11, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>>  код пишет сообщество <<<

    да проснитесь вы уже! что-то реально полезное пишет не сообщество, а сотрудники компаний которые юзают опенсоурс для решения своих бизнес задач; посмотрите кто является спонсорами этого вашего опенсоура и прекратите себя обманывать.

     
     
  • 6.169, Аноним (90), 17:04, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > да проснитесь вы уже! что-то реально полезное пишет не сообщество, а сотрудники компаний которые юзают опенсоурс для решения своих бизнес задач; посмотрите кто является спонсорами этого вашего опенсоура и прекратите себя обманывать.

    Слушай, мы в этот опенсорс контрибутим и им пользуемся, мы постоянно видим коммит логи, и не видим там никаких корпораций. А вот ты кто такой и зачем этот FUD распространяешь?

     
     
  • 7.172, Аноним (-), 17:28, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Слушай, мы в этот опенсорс контрибутим и им пользуемся,

    А эти "мы" сейчас с тобой в одной комнате?

    > мы постоянно видим коммит логи, и не видим там никаких корпораций.

    Удивительно!
    А вот тут написано lwn.net/Articles/1004998/
    что только 12.0% By lines changed написано не корпами.
    Надеюсь твой манямирок не сильно пострадал.

    > А вот ты кто такой и зачем этот FUD распространяешь?

    Я? Почти такой же аноним как и ты)
    Но у меня есть пруфы, а у тебя только пустобрехи.


     
     
  • 8.173, Аноним (18), 20:31, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебя и его заодно расстрою - 12 это неизвестно, какой именно корп Не-кор... текст свёрнут, показать
     
     
  • 9.179, Аноним (-), 10:48, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто взял по максимуму В прошлый раз анон мне начал втирать да это люди мо... текст свёрнут, показать
     
  • 7.178, n00by (ok), 10:13, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> да проснитесь вы уже! что-то реально полезное пишет не сообщество, а сотрудники компаний которые юзают опенсоурс для решения своих бизнес задач; посмотрите кто является спонсорами этого вашего опенсоура и прекратите себя обманывать.
    > Слушай, мы в этот опенсорс контрибутим и им пользуемся, мы постоянно видим
    > коммит логи, и не видим там никаких корпораций.

    Линус Торвальдс не принимает коммиты от анонимов, зато анонимы любят писать "мы" вместо "я", для придания веса пустому месту.


     
  • 3.139, Аноним (134), 08:09, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А nim так вообще никаких задач не решает и является игрушкой автора.

    За всех говорить только не надо. Ваших задач не решает, потому что вы его не осилили и не оценили.

     
  • 3.174, Аноним (174), 22:03, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > nim так вообще никаких задач не решает и является игрушкой автора.

    У меня Nim решает. Для массивных научных расчётов равных ему просто нет. На Си замордуешься делать прототипы неких идей, шесть из семи которые не работают, а проверка нужна.

    Nim в части науки не даёт шансов ни одному ЯП.

     

  • 1.60, Аноним (60), 09:52, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они уже и на ELF покушаются?
     
  • 1.63, Аноним (63), 09:55, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > формат NIF (Nim Intermediate Format)

    Где-то повернулась на другой бок Беседка с её .nif (NetImmerse File Format) и продолжила спать)

     
     
  • 2.74, Аноним (74), 11:35, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Щас бы ещё на миллионы трёхбуквенных расширений оглядываться.
     

  • 1.66, Аноним (66), 10:45, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    То есть он умеет JavaScript в исполняемый файл переводить?
     
  • 1.80, Аноним (80), 12:41, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    ЯП, энфорсящий пробелы, идёт сразу ффтопку.
     
     
  • 2.86, 12yoexpert (ok), 14:15, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    язык позволяет писать со скобочками. он позволяет делать с синтаксисом практически что угодно
     
     
  • 3.98, Аноним (97), 16:13, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > позволяет писать со скобочками

    Но наличие табов в исходнике — это сразу ошибка этапа компиляции.

     
     
  • 4.111, 12yoexpert (ok), 17:10, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я к тому, что ты можешь поменять синтаксис как хочешь, хоть на расте пиши. язык не форсит ни пробелы, ни табы
     
     
  • 5.140, Аноним (-), 08:12, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > я к тому, что ты можешь поменять синтаксис как хочешь, хоть на
    > расте пиши. язык не форсит ни пробелы, ни табы

    Но дефолтный синтаксис сватаемый вон там на гитхапе - какая-то совершенно нечитаемая питонолапша. И вы можете сделать любой синтаксис. Но в вон том проекте - выгрудят вон те спагетти. Почему-то еще и считая это нечитаемое месиво фичой.

    Тот неловкий момент когда код на хрусте - читаемее чем ЭТО :)

     
  • 5.150, Аноним (147), 11:25, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >язык не форсит ни пробелы, ни табы

    Следовательно при чтении чтении чужих исходников будет жуткая мешанина

     
     
  • 6.159, Аноним (159), 14:16, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ЛПП
     
  • 2.128, Нуину (?), 00:07, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Свидетель секты писателей в одну строку и неиспользующих автоформатирование?
     
     
  • 3.130, Аноним (132), 01:08, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Свидетель       Секты   .editorconfig   Использующий    Только  Табы.
     
  • 3.148, Аноним (147), 11:15, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В нормальных языках, для форматирования достаточно нажимать только Enter, пробелы поставятся сами. Пример можно посмотреть https://try.ocamlpro.com/
     
     
  • 4.151, Аноним (27), 12:19, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Открыл блокнот, начал писать на Ocaml, при переносе строк пробелы автоматом не ставятся. ЧЯДНТ?
     
     
  • 5.153, Аноним (147), 12:25, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не поставил плагин для автоформатирования, очевидно же
     
  • 4.158, Аноним (159), 14:15, 08/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.101, Аноним (97), 16:28, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Забавно, что столько реплик уже настрочено, но по ссылке в новости никто из комментаторов, судя по всему, не ходил.

    Не поленился, и докладываю: раньше nim компилировался в сишечку, теперь же он будет компилироваться в лишп (а точнее кастомный диалект оного).

    Похоже, автор телепал-телепал, и наконец дотелепал до неизбежного этапа в жизни каждого разработчика компиляторов — быть покусанным SICP'ом.

    Занавес.

     
     
  • 2.106, Аноним (106), 16:41, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Современный SICP использует JavaScript.
     
     
  • 3.126, Нуину (?), 00:00, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Современный SICP использует JavaScript.

    Нет никакого соврменного SICP как и курса вообще. Для js и python просто были адаптации. Да и вообще SICP не про язык, а про программирование в целом. Можно хоть SICP для С++ сделать: лямбы же там есть :))

     
  • 2.110, 12yoexpert (ok), 17:10, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не поленился, и докладываю: раньше nim компилировался в сишечку, теперь же он будет компилироваться в лишп (а точнее кастомный диалект оного).

    похоже, ты понятия не имеешь, как там устроен процесс сборки

     
  • 2.127, Нуину (?), 00:06, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > он будет компилироваться в лишп

    Как бы sexpr отлично подходят для (де)сериализации любой древовидной структуры, поэтому широко применяется в компиляторах (напрмер, Wasm, OCaml (https://dev.realworldocaml.org/data-serialization.html)).

     
  • 2.182, Аноним (134), 08:56, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > раньше nim компилировался в сишечку

    И по прежнему будет компилироваться в Си. Никто это не отменяет

     

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



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

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