The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В языке программирования Zig обеспечена поддержка самораскрутки (bootstraping), opennews (ok), 16-Апр-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


84. "В языке программирования Zig обеспечена поддержка самораскру..."  –1 +/
Сообщение от Аноним (84), 18-Апр-22, 13:43 
Прочитал ваш комментарий! Заинтересовался!
Пошел поставил, стал читать доку, дошел до строк, рун и массивов. Затем написал вот такой код, чисто по приколу, чтобы проверить свою теорию:)
fn main() {
    name := "Имя"
    runes := name.runes()
    mut bytes := []u8{}
    for rune in runes {
        bytes << rune.bytes()
    }
    println(bytes)
}
И получил предсказуемый баг компилятора, а не предупреждение и собственно причину того почему так делать не стоит:))
А причина проста: в сгенерированном Си-шном файле
/tmp/v_1000/mint.6093456618454081787.tmp.c:11455: error: identifier expected
получили такую строку (11455):))):
rune rune = ((rune*)runes.data)[_t1];
Прикольно конечно, ничего сложного, но хотелось бы не лезть в Си-шний файл:)))
ПС: Проблема решается банально просто, так как rune это V-шный тип, то отсюда и проблемы,
в данном случае нельзя переменную нызывать rune:)) Исправляем например на my_rune, и всё работает:)))  
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

86. "В языке программирования Zig обеспечена поддержка самораскру..."  –1 +/
Сообщение от Аноним (84), 18-Апр-22, 14:05 
Забыл сказать, меня нет не на гитхабе:), не в дискорде:), так что я не репортил данный баг. Поэтому если вам не трудно, то зарепортите вместо меня.
ПС: ну и можете там передать привет от местных экспертов опеннета:)))
Ответить | Правка | Наверх | Cообщить модератору

90. "В языке программирования Zig обеспечена поддержка самораскру..."  +/
Сообщение от Брат Анон (ok), 18-Апр-22, 16:01 
> Забыл сказать, меня нет не на гитхабе:), не в дискорде:), так что
> я не репортил данный баг. Поэтому если вам не трудно, то
> зарепортите вместо меня.
> ПС: ну и можете там передать привет от местных экспертов опеннета:)))

Ок. Репортю.

Ответить | Правка | Наверх | Cообщить модератору

89. "В языке программирования Zig обеспечена поддержка самораскру..."  +1 +/
Сообщение от Брат Анон (ok), 18-Апр-22, 16:01 
> ПС: Проблема решается банально просто, так как rune это V-шный тип, то
> отсюда и проблемы,
> в данном случае нельзя переменную нызывать rune:)) Исправляем например на my_rune, и
> всё работает:)))

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

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

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

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

97. "В языке программирования Zig обеспечена поддержка самораскру..."  +/
Сообщение от Аноним (84), 18-Апр-22, 17:11 
>>> Оберон ни в каком Си не нуждается. <<<

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

110. "В языке программирования Zig обеспечена поддержка самораскру..."  –3 +/
Сообщение от Брат Анон (ok), 19-Апр-22, 10:13 
> От обилия капса в Обероне, лично у меня вытекают глаза, и я
> не люблю читать нечто подобное:( Ничего не могу с собой поделать.
> Так что, в этом плане, я предпочитаю Си:)

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

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

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


Ответить | Правка | Наверх | Cообщить модератору

118. "В языке программирования Zig обеспечена поддержка самораскру..."  –3 +/
Сообщение от Аноним (84), 19-Апр-22, 11:48 
>>> После крестов любой язык будет лучше. <<<

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

Ответить | Правка | Наверх | Cообщить модератору

125. "В языке программирования Zig обеспечена поддержка самораскру..."  +1 +/
Сообщение от Ан (??), 19-Апр-22, 17:27 
На основании чего ты делаешь такое заявление? По скорости я вижу, что плюсы лучше:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Ответить | Правка | Наверх | Cообщить модератору

127. "В языке программирования Zig обеспечена поддержка самораскру..."  –2 +/
Сообщение от Аноним (84), 19-Апр-22, 20:58 
Да, при чем тут вообще скорость.

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

Компилятор Rust, в свою очередь, выдает вам понятное сообщение о том что не так, в каком именно месте, и что нужно сделать чтобы это исправить, - это просто божественно! Нет серьезно, я когда изучал Rust, я просто радовался как ребенок, просто поверить не мог, что такое бывает:) Вы сделали что-то не так, а вам говорят, сделайте вот здесь вот так, - вы делаете как говорят и всё работает!

Ответить | Правка | Наверх | Cообщить модератору

131. "В языке программирования Zig обеспечена поддержка самораскру..."  +2 +/
Сообщение от Ан (??), 19-Апр-22, 23:56 
>[оверквотинг удален]
> как программисту вообще нет никакого дела и сиди разбирайся, что и
> где именно не так, и самое главное что нужно сделать чтобы
> это исправить не понятно - это просто отвратительно!
> Компилятор Rust, в свою очередь, выдает вам понятное сообщение о том что
> не так, в каком именно месте, и что нужно сделать чтобы
> это исправить, - это просто божественно! Нет серьезно, я когда изучал
> Rust, я просто радовался как ребенок, просто поверить не мог, что
> такое бывает:) Вы сделали что-то не так, а вам говорят, сделайте
> вот здесь вот так, - вы делаете как говорят и всё
> работает!

Привери живой пример в обоих языках.


Ответить | Правка | Наверх | Cообщить модератору

133. "В языке программирования Zig обеспечена поддержка самораскру..."  –2 +/
Сообщение от Аноним (84), 20-Апр-22, 07:28 
> Привери живой пример в обоих языках.

Проявите хоть немного самостоятельности: C++ шаблоны вам в помощь:). Про ситуации, когда компилятор C++ просто молчит: всеми известный, банальный пример с вектором, - я пожалуй тоже помолчу:)
ПС: Если ваш опыт работы с комипиляторами Rust и С++, не совпадает с моим, ну Ок! Я не собираюсь вас ни в чем убеждать, и с пеной у рта что-то доказывать.

Ответить | Правка | Наверх | Cообщить модератору

136. "В языке программирования Zig обеспечена поддержка самораскру..."  +2 +/
Сообщение от Ан (??), 20-Апр-22, 12:04 
>> Привери живой пример в обоих языках.
> Проявите хоть немного самостоятельности: C++ шаблоны вам в помощь:). Про ситуации, когда
> компилятор C++ просто молчит: всеми известный, банальный пример с вектором, -
> я пожалуй тоже помолчу:)
> ПС: Если ваш опыт работы с комипиляторами Rust и С++, не совпадает
> с моим, ну Ок! Я не собираюсь вас ни в чем
> убеждать, и с пеной у рта что-то доказывать.

То есть, привести простейший пример, где компилятор Rust выигрывает у компилятора плюсов ты не можешь. Так и запишем.


Ответить | Правка | Наверх | Cообщить модератору

98. "В языке программирования Zig обеспечена поддержка самораскру..."  –3 +/
Сообщение от freecoderemail (ok), 18-Апр-22, 17:23 
Что в Rust не нравится? Точка с запятой?
Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

111. "В языке программирования Zig обеспечена поддержка самораскру..."  +2 +/
Сообщение от Брат Анон (ok), 19-Апр-22, 10:15 
> Что в Rust не нравится? Точка с запятой?

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

Ответить | Правка | Наверх | Cообщить модератору

121. "В языке программирования Zig обеспечена поддержка самораскру..."  –2 +/
Сообщение от freecoderemail (ok), 19-Апр-22, 12:27 
Вроде у Rust Си-подобный синтаксис, если рассматривать его вцелом. Но какую семантическую нагрузку вы имеете ввиду? Лайфтаймы? Move-семантику по-умолчанию? О временах жизни ссылок и так приходится думать, а тут эту задачу на себя берет компилятор. Что же касается владения, то тут баш на баш: оно избавляет от необходимости думать об освобождении памяти в подовляющем большинстве случаев, но в небольшом числе случаев приходится думать, как вписать свой код в эту схему.
Ответить | Правка | Наверх | Cообщить модератору

122. "В языке программирования Zig обеспечена поддержка самораскру..."  +2 +/
Сообщение от Брат Анон (ok), 19-Апр-22, 12:50 
> Вроде у Rust Си-подобный синтаксис, если рассматривать его вцелом. Но какую семантическую
> нагрузку вы имеете ввиду?

Я имею в виду, откройте РБНФ и посмотрите количество правил. Слишком много всего вываливается на бедную голову программиста. От сишного синтаксиса меня воротит. У Раста по синтаксису гораздо больше от крестов, чем от Си. А кресты вызывают у меня рвотный рефлекс.

Ответить | Правка | Наверх | Cообщить модератору

102. "В языке программирования Zig обеспечена поддержка самораскру..."  –2 +/
Сообщение от Аноним (101), 18-Апр-22, 18:15 
1. Zig тоже не нуждается ни в каком С, он полностью самодостаточный

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

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

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

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

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

115. "В языке программирования Zig обеспечена поддержка самораскру..."  +4 +/
Сообщение от Брат Анон (ok), 19-Апр-22, 10:29 
> 1. Zig тоже не нуждается ни в каком С, он полностью самодостаточный

Не совсем. В новости выше что-то про LLVM. А это внешняя прослойка по отношению к языку.

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

А ключевые слова?

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

Нельзя. Никогда. Нигде.

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

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

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

Ещё раз: ключевые слова? Версия 0.28 как у vlang? Если у языка версия 1.хх (а это именно так) -- менять семантику языка -- это то, за что разрабов надо расстреливать.

Ответить | Правка | Наверх | Cообщить модератору

119. "В языке программирования Zig обеспечена поддержка самораскру..."  +/
Сообщение от BratishkaErik (ok), 19-Апр-22, 11:54 
> А ключевые слова?

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

Или:

> var @"var" = 2;

Ответить | Правка | Наверх | Cообщить модератору

120. "В языке программирования Zig обеспечена поддержка самораскру..."  +1 +/
Сообщение от BratishkaErik (ok), 19-Апр-22, 11:55 
> Если у языка версия 1.хх (а это именно так)

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

Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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