The OpenNET Project / Index page

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

В языке программирования Zig обеспечена поддержка самораскрутки (bootstraping)

16.04.2022 21:32

В язык программирования Zig приняты изменения, позволяющие компилятору Zig stage2, написанному на Zig, собирать самого себя (stage3), что делает данный язык самодостаточным (self-hosting). Предполагается, что данный компилятор будет предлагаться по умолчанию в грядущем релизе 0.10.0. Stage2 всё ещё является неполноценным, так как отсутствует поддержка проверок во время выполнения, присутствуют различия в семантике языка и т.д.

Реализованное изменение позволит добавить поддержку "горячей замены" кода во время выполнения (т.е. без прерывания, hot code swapping), частично избавиться от привязки к LLVM и C++ (тем самым облегчив процесс портирования на новые архитектуры), и кардинально уменьшить время сборки программ, а также ускорит разработку компилятора.

Дополнение: stage1 — предлагаемый по умолчанию компилятор на C++. Stage2 — компилятор на Zig, который состоит из нескольких бэкэндов — LLVM (компилирует с помощью LLVM), C (транслирует в C код), x86_64 (компилируют в нативный код без помощи LLVM). Stage3 — компилятор, собранный с помощью stage2. LLVM + Clang нужен для компиляции C/C++/Objective-C кода при помощи Zig (поэтому лишь "частичное избавление"), впрочем, разработчиками делается собственный C компилятор.

  1. Главная ссылка к новости (https://twitter.com/andy_kelle...)
  2. OpenNews: Выпуск транслятора языка программирования Vala 0.56.0
  3. OpenNews: Январский рейтинг языков программирования TIOBE
  4. OpenNews: Выпуск языка программирования Julia 1.7
  5. OpenNews: Релиз языка программирования Nim 1.6.0
  6. OpenNews: Выпуск языка программирования Crystal 1.2
Автор новости: BratishkaErik
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57031-zig
Ключевые слова: zig
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (131) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, BratishkaErik (ok), 22:01, 16/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Поясняю: stage1 — компилятор на C++ (и есть то, что вы качаете на https://ziglang.org/download), stage2 — компилятор на Zig, состоит из нескольких бэкэндов — LLVM (компилирует с помощью LLVM), C (транслирует в C код), x86_64 и т.д. (компилируют в нативный код без помощи LLVM), stage3 — компилятор, собранный с помощью stage2.

    LLVM + Clang нужен для компиляции C/C++/Objective-C кода при помощи Zig (поэтому лишь "частичное избавление"), впрочем, разработчиками делается собственный C компилятор https://github.com/Vexu/arocc)

    План бутстрапинга https://github.com/ziglang/zig/issues/6378

     
     
  • 2.40, Бывалый смузихлёб (?), 13:00, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Содержательно, но разве статью нельзя дополнить ?
     
     
  • 3.42, Аноним (-), 13:24, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Содержательно, но разве статью нельзя дополнить ?

    Я разрешаю. Под статьей кнопка "исправить" - жмите.

     
  • 3.50, BratishkaErik (ok), 16:06, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    КМК тогда будет изобилие терминов
     

  • 1.2, Аноним (2), 22:01, 16/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Лучший язык
     
     
  • 2.23, Брат Анон (ok), 07:29, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Посмотрел я на синтаксис -- не дурно. Но есть и откровенное кривые решения. Нет, не лучший.
     
     
  • 3.35, Аноним (-), 10:44, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для сишников - выглядит явно приятнее хруста. Даешь gcc'шный фронт к нему?!
     
  • 2.27, Брат Анон (ok), 07:51, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    По ссылке ниже есть vlang. Он явно существенно лучше спроектирован, чем Zig, и во многих местах -- лучше, чем golang. Я впечатлён. Конечно, далеко не так прост как Оберон, но vlang действительно толково сделан.

    Я бы даже сказал vlang -- это Rust здорового человека.

     
     
  • 3.71, Vacu923ek (ok), 23:38, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    ":=" как присвоение??! Жуйте сами!
     
     
  • 4.72, ммнюмнюмус (?), 01:11, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Непривычно, но внезапно - это исключает шанс случайно перепутать = и == (если такой оператор там есть).
     
     
  • 5.73, Vacu923ek (ok), 04:45, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Непривычно, но внезапно - это исключает шанс случайно перепутать = и ==
    > (если такой оператор там есть).

    :) нет, такая отмаза не катит. "Защита от дурака" не должна быть такой, что только дурак и захочет пользоваться таким языком. Защищать надо в меру.
    Для присвоения (которое сплошь и рядом) вполне логичен "=". Для сравнения - да боже, у вас есть весь юникод!! Хотите - много чего на выбор: "~", "≡", "cmp" и т.п. Но присвоение трогать нельзя - оно слишком частое, чтобы над ним издеваться.

    Вот что бы я упростил, так это у6людские "приведения типов" - их вот как раз надо делать какими-нть закавыками: << или := или ⇐  потому что постоянно срать в код (BetterType)somevar надоело.

     
     
  • 6.74, Vacu923ek (ok), 04:47, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ещё нашёл суперстрелу :)  ⇚

     
     
  • 7.76, Ан (??), 08:43, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Лигатуры не нужны. Keep It Simple Stupid
     
     
  • 8.91, Vacu923ek (ok), 16:26, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот ты Шариков Слово выучил, а значение - нет Это НЕ лигатура Это обычны... текст свёрнут, показать
     
     
  • 9.96, Ан (??), 16:58, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не вижу такого символа у себя на клавиатуре Это обыкновенная лигатура ___... текст свёрнут, показать
     
  • 6.128, ммнюмнюмус (?), 21:19, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > :) нет, такая отмаза не катит. "Защита от дурака" не должна быть
    > такой, что только дурак и захочет пользоваться таким языком.

    Бывают просто машинальные опечатки (типа забыл, что '=' нужно было двойным кликом, а не одинарным). Хорошо, если предупреждение, как с GCC. А так конкретная ошибка компиляции.

    > Для присвоения (которое сплошь и рядом) вполне логичен "=". Для сравнения -
    > да боже, у вас есть весь юникод!!

    А чем присваивание хуже, что юникод не заслужило))). А кто под емаксом - так вообще, обёртку поверх fontlock (как я лямбдой в elisp) - и потом понтоваться скринами))).

     
  • 6.129, ммнюмнюмус (?), 21:40, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот что бы я упростил, так это у6людские "приведения типов" - их
    > вот как раз надо делать какими-нть закавыками: <<

    Побитовый сдвиг на свалку?

    > или :=

    И кому тогда будет нужен одиночный '=' ? Есть обычное присваивание.

    > или ⇐  потому что постоянно срать в код (BetterType)somevar надоело.

    P.S.
    > Для сравнения - да боже, у вас есть весь юникод!! Хотите - много чего на выбор: "~", "≡", "cmp"

    facepalm
    А давайте изобретём язык программирования на базе китайского, иероглифами (они же типа графики) XD

     
  • 5.100, freecoder (ok), 17:24, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Rust в принципе невозможно их перепутать, так как инструкция присваивания не возвращает булево значение, а значит не может быть условием.
     
  • 4.75, Брат Анон (ok), 07:49, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Нет, аноним. Ты не прав. Это объявление переменной на месте. И это единственный способ создать переменную без указания её типа с одновременной инициализации. По сравнению с питоном -- очень правильное решение.
    Меня бесит, когда в питоне посередине портянки на 2к строк вылазит переменная с хз какой целью. Вот, кстати, результаты моего вчерашнего туповатого бенчмарка:
    Вот результаты  сравнения производительности golang и vlang. vlang (фактически) транслируется в чистый Си.
    /*
      Результаты работы golang add0/add2:
        add0() ... time = 4727 msec
        add2() ... time = 432 msec // ratio02=10.94
        add2_asm() time = 1278 msec // ratio03=3.70

      Результаты работы vlang add0/add2:
        add0(): res=8298435155484288, time=2958
        add2(): res=15834882382000000, time=273 // ratio03=10.84
    */
    Какие я могу сделать отсюда выводы?
    1) Компилятор golang на 60% хуже оптимизирует код. На сколько vlang близок к Си — мне сказать сложно, думаю, процентов на 5% похуже.
    2) Оба умеют в векторизацию, и это заявка на победу.
    3) Писать код на ассемблере — не эффективно. Надо быть на уровне профи для конкретной аппаратной платформы, надо знать, как спаривать команды, как умещать в кэш и всякое такое. Это маловероятно.
    4) Результаты векторизации, что у golang, что у vlang — примерно одинаковые. Что говорит об отличном методе оптимизации. Абсолютный результат остался у vlang, но golang по отношению ускорения — немного подтащил на уровне погрешности.
    Ну и размер бинарника в 48 кБ в vlang — превосходный результат.

     
     
  • 5.78, Аноним (78), 10:46, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > vlang (фактически) транслируется в чистый Си.
    > На сколько vlang близок к Си — мне сказать сложно, думаю, процентов на 5% похуже.

    Логично

     
  • 5.83, Аноним (83), 11:48, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А с zig можете сравнить?
     
     
  • 6.87, Брат Анон (ok), 15:55, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А с zig можете сравнить?

    Мне zig малопривлекателен и в силу его синтаксиса, и в силу того, какие синтаксические конструкции он предлагает. Да и не знаю я его.

     
     
  • 7.101, Аноним (101), 18:09, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не знаете, а поспорить любите)))

    И сделать выводы какой он плохой и тд и тп.

     
     
  • 8.114, Брат Анон (ok), 10:25, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне было достаточно посмотреть на предлагаемые примеры И те средства, что предл... текст свёрнут, показать
     
  • 4.81, InuYasha (??), 11:31, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    :D спасибо что не дал развиться ненужным надеждам и фантазиям. )
     
     
  • 5.88, Брат Анон (ok), 15:57, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > :D спасибо что не дал развиться ненужным надеждам и фантазиям. )

    Пожалуйста. Пять баксов, брат.

     
     
  • 6.153, tmplsr (?), 11:07, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> :D спасибо что не дал развиться ненужным надеждам и фантазиям. )
    > Пожалуйста. Пять баксов, брат.

    1.2, A.Stahl (ok), 11:01, 24/06/2019 [ответить][к модератору] +17 +/–
    Написано слишком пафосно.  Философский, блин, камень. Перпетум, бля, мобиле.
    Интересно, кто-то вспомнит об этом языке через 3 года?
    Увидим...

     
  • 3.84, Аноним (84), 13:43, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прочитал ваш комментарий Заинтересовался Пошел поставил, стал читать доку, дош... большой текст свёрнут, показать
     
     
  • 4.86, Аноним (84), 14:05, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Забыл сказать, меня нет не на гитхабе:), не в дискорде:), так что я не репортил данный баг. Поэтому если вам не трудно, то зарепортите вместо меня.
    ПС: ну и можете там передать привет от местных экспертов опеннета:)))
     
     
  • 5.90, Брат Анон (ok), 16:01, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Забыл сказать, меня нет не на гитхабе:), не в дискорде:), так что
    > я не репортил данный баг. Поэтому если вам не трудно, то
    > зарепортите вместо меня.
    > ПС: ну и можете там передать привет от местных экспертов опеннета:)))

    Ок. Репортю.

     
  • 4.89, Брат Анон (ok), 16:01, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ПС: Проблема решается банально просто, так как rune это V-шный тип, то
    > отсюда и проблемы,
    > в данном случае нельзя переменную нызывать rune:)) Исправляем например на my_rune, и
    > всё работает:)))

    Именно поэтому vlang хуже Оберона. Оберон ни в каком Си не нуждается. Если прога работает -- прога работает.

    Что касается затенения ключевых слов -- это вообще плохая практика. К слову, переменную затенить не выйдет. Если вспомнить, что текущая версия vlang 0.28 -- надеяться на то, что такой код можно затащить в прод, или иметь какие-то гарантии  РБНФ -- нет, пока слишком рано.

    Но в-целом, приличное начало, язык уже многое умеет и за многое бьёт по рукам. Это хорошо. Синтаксис явно лучше чем у Раста.

     
     
  • 5.97, Аноним (84), 17:11, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Оберон ни в каком Си не нуждается. <<<

    От обилия капса в Обероне, лично у меня вытекают глаза, и я не люблю читать нечто подобное:( Ничего не могу с собой поделать. Так что, в этом плане, я предпочитаю Си:)

    >>> Синтаксис явно лучше чем у Раста. <<<

    По крайне мере у Rust очень достойный компилятор:) Когда понимаешь ключевые концепции языка, то пользоваться им одно удовольствие. По крайней мере после С++ это словно глоток свежего воздуха.

     
     
  • 6.110, Брат Анон (ok), 10:13, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > От обилия капса в Обероне, лично у меня вытекают глаза, и я
    > не люблю читать нечто подобное:( Ничего не могу с собой поделать.
    > Так что, в этом плане, я предпочитаю Си:)

    Ну, капс во многих компиляторах настраивается. И даже BEGIN/END можно успешно подменять скобочками. Такие конвертеры есть.

    >>>> Синтаксис явно лучше чем у Раста. <<<
    > По крайне мере у Rust очень достойный компилятор:) Когда понимаешь ключевые концепции
    > языка, то пользоваться им одно удовольствие. По крайней мере после С++
    > это словно глоток свежего воздуха.

    После крестов любой язык будет лучше.


     
     
  • 7.118, Аноним (84), 11:48, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >>> После крестов любой язык будет лучше. <<<

    Кажется я неясно выразился. Я имел ввиду, что компилятор языка Rust лучше любого компилятора C++. Другими словами, я не считаю что сам язык Rust лучше чем язык C++:)

     
     
  • 8.125, Ан (??), 17:27, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На основании чего ты делаешь такое заявление По скорости я вижу, что плюсы лучш... текст свёрнут, показать
     
     
  • 9.127, Аноним (84), 20:58, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да, при чем тут вообще скорость Компилятор С , сообщая вам об ошибке, вывалива... текст свёрнут, показать
     
     
  • 10.131, Ан (??), 23:56, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    gt оверквотинг удален Привери живой пример в обоих языках ... текст свёрнут, показать
     
     
  • 11.133, Аноним (84), 07:28, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Проявите хоть немного самостоятельности C шаблоны вам в помощь Про ситуаци... текст свёрнут, показать
     
     
  • 12.136, Ан (??), 12:04, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    То есть, привести простейший пример, где компилятор Rust выигрывает у компилятор... текст свёрнут, показать
     
  • 5.98, freecoder (ok), 17:23, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Что в Rust не нравится? Точка с запятой?
     
     
  • 6.111, Брат Анон (ok), 10:15, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Что в Rust не нравится? Точка с запятой?

    Синтаксис в-целом. Но это не так фатально. Я считаю неприемлимой семантическую нагрузку на программиста. В этом смысле vlang откровенно хуже Оберона. Если программист не в состоянии контролировать семантическую сложность языка -- значит программист будет писать заведомо плохой код.

     
     
  • 7.121, freecoder (ok), 12:27, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вроде у Rust Си-подобный синтаксис, если рассматривать его вцелом. Но какую семантическую нагрузку вы имеете ввиду? Лайфтаймы? Move-семантику по-умолчанию? О временах жизни ссылок и так приходится думать, а тут эту задачу на себя берет компилятор. Что же касается владения, то тут баш на баш: оно избавляет от необходимости думать об освобождении памяти в подовляющем большинстве случаев, но в небольшом числе случаев приходится думать, как вписать свой код в эту схему.
     
     
  • 8.122, Брат Анон (ok), 12:50, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я имею в виду, откройте РБНФ и посмотрите количество правил Слишком много всего... текст свёрнут, показать
     
  • 5.102, Аноним (101), 18:15, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    1. Zig тоже не нуждается ни в каком С, он полностью самодостаточный

    2. Он не позволяет затенять переменные, вообще никакие.

    Затенение действительно в таких языках плохо. Я не согласен что вообще ничего затенять нельзя - можно, но очень осторожно.

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

    Надеюсь это ослабят потом.
    Но пока в Zig "максимальная строгость", вообще ничего не затеняется

     
     
  • 6.115, Брат Анон (ok), 10:29, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не совсем В новости выше что-то про LLVM А это внешняя прослойка по отношению ... большой текст свёрнут, показать
     
     
  • 7.119, BratishkaErik (ok), 11:54, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А ключевые слова?

    Идентификатор может быть любым, если юзать синтаксис @"name". Например:
    > const @"абракадабра" = 1;

    Или:

    > var @"var" = 2;

     
  • 7.120, BratishkaErik (ok), 11:55, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если у языка версия 1.хх (а это именно так)

    Нет, версия 0.9.1.

     
  • 3.99, Аноним (99), 17:23, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > vlang действительно толково сделан.

    Там у авторов что-то с головой странное. Они называют чистыми функции, которые выполняют операции I/O.  Они утверждают, что не нужен сборщик мусора, но тут же поясняют что autofree не работает и поэтому везде нужен сборщик мусора.

    У них hello world на момент анонса языка в котором уже делались громкие заявления о том, как он всех победил - падал с segmentation fault.

    Авторы языка выставили себя на посмешище и с тех пор заметно лучше не стало.


    > Я бы даже сказал vlang -- это Rust здорового человека.

    Да, где-то там в мире фантазий, в котором vlang - работает.  В реальном мире просто он, в отличие от раста, не работает. Плюс см. что-то странное с головой у авторов.

     
     
  • 4.103, Аноним (101), 18:23, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Согласен, выбирал Zig / V / Rust, остановился на Zig.

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

    Немного почитал про него, посмотрел Issues, полный швах.

    Вместо того что сконцентрироваться на языке, пишут и какую графическую библиотеку на нём, и текстовый редактор - замену vim, и ядро операционной системы, и Бог весть что ещё.

    Автор явно не глупый, но...

    Поэтому V не подходит даже для pet проектов.

     
     
  • 5.108, Ан (??), 09:01, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А это что, прости? https://github.com/vlang/awesome-v
     
     
  • 6.109, Ан (??), 09:03, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И это вдобавок: https://www.amazon.com/Getting-Started-Programming-end-end-ebook/dp/B09FKK3JL7
     
  • 6.123, Аноним (123), 17:07, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Does V run on bare metal? There is a -freestanding option that excludes libc and vlib, but it is a work in progress, and is not the focus of development right now.

    https://github.com/vlang/v/wiki/FAQ

     
     
  • 7.124, Ан (??), 17:24, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> Does V run on bare metal? There is a -freestanding option that excludes libc and vlib, but it is a work in progress, and is not the focus of development right now.
    > https://github.com/vlang/v/wiki/FAQ

    Что ты хотел сказать этим комментарием? Тут написано, что V работает на всех платформах, куда портирован libc. То бишь, можно сказать, что на всех вообще.


     
     
  • 8.130, Аноним (130), 22:05, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хотел сказать, что с embedded у V не очень Или я ошибаюсь На каком-нибудь avr ... текст свёрнут, показать
     
     
  • 9.137, Ан (??), 12:10, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    https github com vlang vinix... текст свёрнут, показать
     
     
  • 10.139, Аноним (139), 14:31, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    0 ... текст свёрнут, показать
     
     
  • 11.141, Ан (??), 16:21, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ты вообще читаешь тред, или так, понабрасывать пришёл Я повторюсь, если ты не п... текст свёрнут, показать
     
     
  • 12.144, Аноним (139), 19:51, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Т е ты запостил ссылку от балды, а теперь отчаянно сруливаешь с темы https g... текст свёрнут, показать
     
     
  • 13.145, Ан (??), 21:45, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Если ты не понимаешь прочитанное, я тебе помочь не могу Для остальных же повтор... текст свёрнут, показать
     
     
  • 14.146, Аноним (139), 22:59, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Опять нелепые отмазки, переобувание в прыжке и ты не понимаишь Нет, дорог... большой текст свёрнут, показать
     
     
  • 15.147, Ан (??), 23:11, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    gt оверквотинг удален Ты бы хоть удосужился прочитать тот тикет, который ты пр... большой текст свёрнут, показать
     
     
  • 16.149, Аноним (139), 00:28, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Ты опять срулил с темы Vinix и ссылок c пояснениями не б... большой текст свёрнут, показать
     
     
  • 17.152, Ан (??), 09:03, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем тебе freestanding, кроме красивого слова Чем тебя не устраивает бесшовн... текст свёрнут, показать
     
  • 8.132, Аноним (139), 00:02, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    - То бишь, ты очередной анонимный балаб W Ыксперд-Воен-за-V, засравший комменты ... текст свёрнут, показать
     
     
  • 9.135, Ан (??), 12:03, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Что ты вертишься как уж на сковородке Изначальный тезис был Поэтому V не подхо... большой текст свёрнут, показать
     
  • 4.112, Брат Анон (ok), 10:21, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не увидел такого У них написано, что они в первую очередь практикуют чистые фун... большой текст свёрнут, показать
     
  • 4.126, tmplsr (?), 17:41, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Я бы даже сказал vlang -- это Rust здорового человека.
    >>Да, где-то там в мире фантазий, в котором vlang - работает.  В реальном мире просто он, в отличие от раста, не работает.
    >>Плюс см. что-то странное с головой у авторов.

    С этого места чуть подробнее, пожалуйста.

     
  • 3.107, Hck3r (?), 00:00, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Там половина заявленных фич так и висит в «доработке».
    Уже годами.. он вообще пилится кем-то сейчас?
     
     
  • 4.113, Брат Анон (ok), 10:22, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Там половина заявленных фич так и висит в «доработке».
    > Уже годами.. он вообще пилится кем-то сейчас?

    Из того, что там заявлено у меня всё собирается и работает. Не знаю, какие у вас проблемы. Было бы недурно представить реально неработающие примеры.

     
  • 4.116, Ан (??), 11:04, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На гитхаб заглянуть не судьба?

    https://github.com/vlang/v/releases

     
  • 4.117, Ан (??), 11:06, 19/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Первая тестовая версия языка вышла в середине 19 года. О каких годах идёт речь?
     
  • 3.162, Аноним (162), 21:38, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вот тут обзор сделали этого V, короче шляпа он
    https://mawfig.github.io/2022/06/18/v-lang-in-2022.html
     

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

  • 1.3, Аноним (3), 22:03, 16/04/2022 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     

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

  • 1.10, rm2 (?), 01:41, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "самораскрутки" это вы сами придумали, или подсказал кто-то?
     
     
  • 2.15, Аноним (15), 04:08, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А что? Довольно хороший термин, сам себя раскрывает.
     
     
  • 3.26, kusb (?), 07:50, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам себя раскручивает
     
  • 2.18, Аноним (17), 05:49, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    критикуешь - предлагай!
     
     
  • 3.24, Брат Анон (ok), 07:30, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Критика -- это указание на недостатки и предложение путей преодоления недостатков.
    То, что сделал аноним выше -- обструкция. Не надо путать термины.
     
     
  • 4.30, Аноним (17), 09:00, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда ему стОит определиться, доволен ли он термином или нет.
     
     
  • 5.67, Аноним (67), 21:32, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    тебе стОит определиться, "доволен ли он термином" или "доволен он термином или нет"
     
  • 4.85, Аноним (85), 13:59, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Критика -- это указание на недостатки и предложение путей преодоления недостатков.

    Вторая половина утверждения, после союза "и" - точно ложь. Критика - это только анализ и оценка. Предложения по исправлению в нее не входят. Литературный или театральный критик ведь не обязаны романы или пьесы писАть? Просто часто критикуемые не любят критики и отмахиваются заготовками "сделайлучше", "спервадобейся", "критикуяпредлагай!" и т.п.

     
  • 3.56, opdo (?), 18:37, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    самораскурка
     
  • 2.21, Аноним (21), 06:26, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Новиопу ниприятна видеть славянские слова?
     
  • 2.25, Брат Анон (ok), 07:31, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Не надо показывать свою безграмотность. Термин "самораскрутка" появился ещё 60 лет назад -- так Никлаус Вирт написал свой первый Паскаль.
     
     
  • 3.43, ммнюмнюмус (?), 13:47, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    "раскрутка" - один из переводов bootstrap (но не самораскрутка)
    а самораскрутка обратно так и просится как self-promotion
     
     
  • 4.46, Брат Анон (ok), 15:22, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "раскрутка" - один из переводов bootstrap (но не самораскрутка)
    > а самораскрутка обратно так и просится как self-promotion

    Расскажи это Ершову. Он-то был целый акодемег -- что он понимал в самораскрутке.

     
  • 4.49, ммнюмнюмус (?), 16:04, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ооххх эти бестолковые минусаааторыыыыы...

    А так да - видимо, само слово boostrap так же многозначно. Особенно если попадётся смысл "добиваться без посторонней помощи"). А какой простор для фантазий при раздельном переводе "boot strap"... o_O

     
     
  • 5.54, Аноним (-), 17:58, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Никакого двусмыслия - происходит от оборота "pull self by boot straps". Ну то-есть вытащить себя из болота за шнурки своих ботинок, как Мюнхаузен. И тут всем более-менее понятно что речь про решение "якобы нерешаемой" проблемы. В данном случае "нерешаемость" в том что для того чтобы собрать компилятор, вам нужен компилятор. Но компилятора у вас еще нет...

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

     
     
  • 6.55, Аноним (55), 18:22, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >А самораскрутка - таки близковато к самопиару, чтоли.

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

     
     
  • 7.58, Аноним (-), 19:03, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В заголовке (bootstrapping) написано, на вот именно такие случаи видимо.
     
  • 3.51, Sin2x (ok), 17:28, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Саморазвёртка звучит гораздо лучше.
     
     
  • 4.60, Аноним (-), 19:07, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Саморазвёртка звучит гораздо лучше.

    Монитор с саморазверткой и эстрадная звезда с самораскруткой.

     
  • 4.65, Аноним (67), 21:29, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не лучше, такое же шило
     
  • 2.64, Аноним (67), 21:28, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    видимо, редактор хабра in the house
     

  • 1.28, А где же каменты (?), 08:54, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А мне название не нравится - не взлетит.
     
     
  • 2.29, Аноним (17), 08:58, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    раст же взлетел (в переводе: ржавчина, коррупция, моральное разложение).
     
     
  • 3.32, Аноним (-), 09:03, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >раст же взлетел

    где?

     
     
  • 4.34, Аноним (17), 09:51, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лучше спроси, куда...
     
     
  • 5.36, Аноним (-), 10:46, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тогда буква з лишняя в той фразе.
     
     
  • 6.82, InuYasha (??), 11:33, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В ядро уже влетел. И за бугром к этому относятся даже более чем толерантно. :-/
     
  • 2.79, www2 (??), 10:55, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да уж, зигующий какой-то язык. Напрашивается ещё какой-нибудь фреймворк к нему под названием Heil.
     

  • 1.57, Аноним (55), 18:49, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Годы идут, а люди до сих пор пытаются инкрементировать си. И что-то никак не выходит.
     
     
  • 2.59, Аноним (-), 19:04, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Годы идут, а люди до сих пор пытаются инкрементировать си. И что-то
    > никак не выходит.

    Не все же такие умные как K&R...

     
  • 2.70, Vacu923ek (ok), 23:35, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Вернее так: сколько уже написано языков на голову лучше Си, но упёртые долбо***бы продолжают свои говнопроектики на Си и только множат тухлое легаси.
     
     
  • 3.77, Ан (??), 08:48, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    То-то новая мажорная версия GCC выходит каждый год, а новая ревизия стандарта C каждые три года. Неча на зеркало пенять, коли рожа крива.
     
     
  • 4.92, Vacu923ek (ok), 16:31, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > То-то новая мажорная версия GCC выходит каждый год, а новая ревизия стандарта C каждые три года.

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

    > Неча на зеркало пенять, коли рожа крива.

    Кто б говорил... луддиты хреновы. :)

     
     
  • 5.95, Ан (??), 16:55, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> То-то новая мажорная версия GCC выходит каждый год, а новая ревизия стандарта C каждые три года.
    > От перемены мест кучек дерьма лучше оно не пахнет! Базовый Си -
    > он как был, так и остался - "высокоуровневый ассемблер" его не
    > зря называют.
    >> Неча на зеркало пенять, коли рожа крива.
    > Кто б говорил... луддиты хреновы. :)

    Очередной миллениал-неосилятор порвался. Тебя даже немного жаль как mentally challenged person.


     
  • 3.80, www2 (??), 11:02, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вавилонская башня языков. Чем больше языков, тем больше переходников между ними. Какой-нибудь gitlab - прекрасная демонстрация того, к чему это разнообразие языков на голову выше Си ведёт: опакетить всё это, так чтобы можно было поставить из репозиториев, никто так и не сподобился, качай образ на 100500 мегабайт, запускай в докере. А если я на NetBSD или Solaris захочу запустить? В случае с Си эта проблема чисто техническая, а в случае с вавилонской башней из языков - экономическая, организационная, идеологическая. Нужно собрать толпу программистов из разных лагерей, заплатить им кучу бабок за работу, да ещё и научить разговаривать друг с другом, не прибегая к приёмам типа "а мы сейчас завернём всё это в докер и дело в шляпе".
     
     
  • 4.94, Vacu923ek (ok), 16:52, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Вавилонская башня языков

    "Это нормально!" (ц) Малышева :))

    Ты не можешь сделать качественный скачок в отрасли, не наполнив её "вширь". Количество переходит в качество. Фактически, скачок УЖЕ произошёл, просто некоторые питекантропы никак не хотят слезать с насиженных яиц.
    Я говорю о Nemerle (.NET) - язык, где есть такое понятие, как макросы. Только не в убогом Сишном понимании, а намного глубже - позволяющие модифицировать код на всех стадиях компиляции, превращая компилятор в "транслятор с плагинами". Это технология будущего.

     
     
  • 5.134, Ф1 (?), 07:59, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Я говорю о Nemerle (.NET) - язык, где есть такое понятие, как макросы. Только не в убогом Сишном понимании, а намного глубже - позволяющие модифицировать код на всех стадиях компиляции, превращая компилятор в "транслятор с плагинами". Это технология будущего.

    Эту технологию будущего уже лет 60 переизобретают, lisp forth только самые яркие примеры.

     
     
  • 6.142, Vacu923ek (ok), 19:02, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >>Я говорю о Nemerle (.NET) - язык, где есть такое понятие, как макросы. Только не в убогом Сишном понимании, а намного глубже - позволяющие модифицировать код на всех стадиях компиляции, превращая компилятор в "транслятор с плагинами". Это технология будущего.
    > Эту технологию будущего уже лет 60 переизобретают, lisp forth только самые яркие
    > примеры.

    Не торопитесь блистать своим невежеством, милейший! ЛИСП - динамический язык, в Немерле же все макросы компилируются в код, это статический язык.

     
     
  • 7.148, Sin2x (ok), 23:44, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Невежда здесь это ты, если не знаешь разницу между динамическими и безтиповыми языками как классический Lisp и Forth. И при необходимости присобачить типы в лисп вообще не проблема: https://docs.racket-lang.org/ts-guide/
     
  • 3.155, warlock (??), 16:13, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и сколько? Два — C++ и Rust. Три, если ещё посчитать D в режиме «Better C». И ни один из них не является безусловной заменой, везде есть сложности, подводные камни. К C все привыкли, знают чего от него ждать. В общем, хотя я бы не рекомендовал начинать новые проекты на C, но и считать тех, кто так делает, надалёкими тоже не спешил бы.
     
     
  • 4.156, Vacu923ek (ok), 02:23, 23/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Три, если ещё посчитать D в режиме «Better C»

    Это ещё что за чушь?? ЗАЧЕМ использовать современный язык в режиме "эмулируем убогого Си"? Ди прекрасен, он и есть преемник и Си, и Сипипей.

    > И ни один из них не является безусловной заменой, везде есть сложности, подводные камни

    Чем тебе Ди не угодил как замена С++? Он даже называется ДИ - следущая буква в развитии Си линейки.

    > К C все привыкли, знают чего от него ждать

    Ничего хорошего. Сколько есть "Сей", столько и НЕСОВМЕСТИМЫХ реализаций. Всё, что сложнее хелловорлда, сразу падает при переносе в другую ОСь. Или код превращается в #ifdef у6людcтво, где на строчку кода - 50 строчек проверок на ОСь.


    > В общем, хотя я бы не рекомендовал начинать новые проекты на C...

    Значит всё таки воняет прошлым веком? :)

    >, но и считать тех, кто так делает, надалёкими тоже не спешил бы.

    Если бы каждый клоун, заводящий Си-проект в 21 веке, мог бы ВЕСКО ОБОСНОВАТЬ за каким хреном он пишет на языке из 70-ых, я бы взял слова назад. Но правда такова, что малолетним смузихлёбам просто делать нехрена и надо выпендриться - ставят линухи, ковыряются в сях, чтобы только на форумах блеснуть очередным протухшим знанием с каким флагом канпелять Qt.


    Просто возьми Ди и начни писать. Все проблемы там решаемы, язык устоялся, больше нет причин для гнилых отмазок "вооооот, у вас тама всё нистабииииильна!". НАДО ПИСАТЬ, не надо оправданий.

     
     
  • 5.158, warlock (??), 17:09, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В D вшит сборщик мусора, а значит он во-первых требует райнтайма (настоящего, жирного), а во-вторых написанные на нём программы имеют принципиально иное поведение в части потребления памяти по сравнению с программами на C. Поэтому как замена C он годится только в режиме «Better C», когда сборщик мусора откушен.
     
     
  • 6.159, Vacu923ek (ok), 19:02, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > В D вшит сборщик мусора

    ШТА?? Вот видите, как смешно получается - вы не знаете структуру Ди, а заявляете...
    Сборщик мусора там ОТКЛЮЧАЕМЫЙ!

     
     
  • 7.160, warlock (??), 01:39, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> В D вшит сборщик мусора
    > ШТА?? Вот видите, как смешно получается - вы не знаете структуру Ди,
    > а заявляете...
    > Сборщик мусора там ОТКЛЮЧАЕМЫЙ!

    Ну так режим «Better C» — это и есть по сути отключение сборщика мусора.

     
     
  • 8.161, Vacu923ek (ok), 03:01, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Опять фигню говоришь Это отдельный режим компилятора, а отключение GC - отдельн... текст свёрнут, показать
     

  • 1.68, Аноним (-), 22:20, 17/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Подходит в качестве языка для изучения системного программирования?
     
     
  • 2.69, Аноним (101), 23:19, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Подходит, отлично подходит.

    Но язык то надо учить тот, который дают в университете.

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

    В целом язык офигенный, я уже писал это в прошлых новостях

     
     
  • 3.104, Аноним (101), 18:25, 18/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вставки на асме тоже можно делать, они поддерживаются.
     
  • 2.93, Vacu923ek (ok), 16:38, 18/04/2022 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 3.157, Vacu923ek (ok), 02:26, 23/04/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.154, warlock (??), 16:04, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее нет, чем да, ибо слишком много «экзотики» в языке. Даже Rust несмотря на обширное применение на практике и известность, имеет ту же проблему. Мне кажется, от знания C/C++ никуда не деться в системном программировании пока. Хотя Rust — вещь шикарная для системного программирования! (А Zig имхо слишком сырой, что бы что-то определённое про него в этом плане сказать.)
     

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



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

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