The OpenNET Project / Index page

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



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

Оглавление

Релиз набора компиляторов GCC 13, opennews (??), 26-Апр-23, (0) [смотреть все]

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


44. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от Alexey Torgashin (?), 26-Апр-23, 20:42 
Даааа, такие популярные языки добавлены (не только в 13), Модула и Фортран…. И не видно что кто-то ненавидит эти старенькие плохонькие языки . А вот Паскаль ненавидят, и там и тут лезут уроды с критикой . Хотя Паскаль мощнее и лучше и проще и изящнее Модулы и Фортрана. Я на нем CudaText пишу. Гислер ТоталКомандер пишет.
Ответить | Правка | Наверх | Cообщить модератору

47. "Релиз набора компиляторов GCC 13"  +3 +/
Сообщение от Аноним (39), 26-Апр-23, 20:54 
Fortran там сто лет как.
Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от xsignal (ok), 26-Апр-23, 20:54 
Паскаль - отличный язык. По сути, это тот же Си, только с более понятным новичкам синтаксисом - типа, begin/end вместо фигурных скобок. Я когда-то с Паскаля без особых усилий на Си перешёл - там всё точно так же, только запись короче)
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

66. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от _kp (ok), 26-Апр-23, 21:49 
Ну да, с удобным ср@чем из всех всех всех переменных функции в её начале.
По мне, так подобные анахронизмы даже хуже чем излишняя многословность, ибо плодит трудно обнаружимые ошибки использования переменных.

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

А из хорошего помню, по сравнению с Си, более удобная проверка типов, простые var параметры функций, оператор with.
По сравнению с C++, был существенно ПРОЩЕ для НАЧАЛЬНОГО обучения программирования, то есть как одного из первых языков.

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

84. "Релиз набора компиляторов GCC 13"  +/
Сообщение от AKTEON (?), 26-Апр-23, 22:19 
>Ну да, с удобным ср@чем из всех всех всех переменных функции в её начале.

1)Однопроходный компилятор - наше все.
2) А как чудно решается эта проблема в фортране ...

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

110. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от _kp (ok), 27-Апр-23, 01:15 
Переменные в начале логического блока тоже перевариваются однопроходным компилятором, и практически без усложнения компилятора.

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

Сейчас в embarcadero это и подобные деревянности исправлены, но уже не актуально.

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

161. "Релиз набора компиляторов GCC 13"  +/
Сообщение от n00by (ok), 27-Апр-23, 12:01 
>>Ну да, с удобным ср@чем из всех всех всех переменных функции в её начале.
> 1)Однопроходный компилятор - наше все.

В любом случае переменная объявляется до использования.

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

180. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от Аноним (180), 27-Апр-23, 14:00 
Вам изобрели компьютеры чтобы не быть ограниченными одним проходом - нет, хотят г-но жрать.
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

135. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (134), 27-Апр-23, 08:57 
> плодит трудно обнаружимые ошибки использования переменных

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

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

152. "Релиз набора компиляторов GCC 13"  +/
Сообщение от _kp (ok), 27-Апр-23, 10:34 
>> плодит трудно обнаружимые ошибки использования переменных
> Наоборот уменьшает. И все знают где в тексте статически определены все переменные.

Знают, что определены где то там, вдалеке, но не где используются.
А вот их использование, и особенно неправильное, очень плохо обнаружимо, в чём и проблема. И компилятор тут и пол-warning'a не выдаст.

А вобще, это "дурной стиль" ;)

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

251. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 00:22 
> Наоборот уменьшает. И все знают где в тексте статически определены все переменные.

С другой стороны, переменные для циклов типа for (uint8_t i = 0; i < 10; i++) и элегантно и прозрачно хинтит оптимизеру область использования переменной, и позволяет не захламлять сюжетно важный блок с описанием переменных aux сущностями нужными на 1 этот цикл и более - нигде.


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

91. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от Аноним (-), 26-Апр-23, 22:42 
> Паскаль - отличный язык. По сути, это тот же Си, только с
> более понятным новичкам синтаксисом -

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

> типа, begin/end вместо фигурных скобок.

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

> Я когда-то с Паскаля без особых усилий на Си перешёл - там
> всё точно так же, только запись короче)

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

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

114. "Релиз набора компиляторов GCC 13"  –4 +/
Сообщение от DEF (?), 27-Апр-23, 02:56 
Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа. Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

type vector1 = array [1..25] of real;
type vector2 = array [2..26] of real;

var
  vec1: vector1;
  vec2: vector2;

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

117. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от Аноним (64), 27-Апр-23, 03:58 
> Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа

Это отличная вещь под названием строгая типизация. Ты еще Аду не видел.

Проблема в том, что ты привык к убогим языкам.

> Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

Ну вообще-то можно:

https://www.freepascal.org/docs-html/ref/refsu68.html

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

181. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (180), 27-Апр-23, 14:07 
> Днищенский язык. Вы только вдумайтесь, в Паскале длина массива и интервал индексов - это составные части типа. Невозможно в одну функцию или процедуру передавать массивы разной длины, так как они имеют разные типы.

А где нет? А C++, например, `array<T, 10>` и `array<T, 11>` тоже разные типы. В паскале есть и динамические массивы - `array of real`. Днищенский он совсем не поэтому.

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

235. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (228), 27-Апр-23, 22:59 
Убогие какие-то функции получаются. И всё из-за одного формального параметра размера массива?
поэтому удобно передать информацию: указатель на массив определенных элементов и количество элементов. Для меня это естественно.  
Не забывайте Си разрабатывался как язык для написания операционной системы.
Ответить | Правка | Наверх | Cообщить модератору

253. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 00:26 
Да даже на си так можно. Если нужно.

typedef struct array10_t { arr[10] };

vs

typedef struct array11_t { uint8_t arr[11] };

И далее вы это by value или by pointer уже не сможете перепутать. Что так то хорошо - спасет от случая когда вы 11-й элемент в массиве на 10 дереференсить пытались. Не то чтоб это совсем не получится, но это будет минимум баг, максимум вулн.

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

255. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 00:28 
Упс, название типа потеряно. Примерно так: typedef struct array10_t { arr[10] } array10_t;
Ответить | Правка | Наверх | Cообщить модератору

192. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от InuYasha (??), 27-Апр-23, 15:08 
Там точно не ":=" ? А днищенство языка там начинается с 1. Потому что.
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

210. "Релиз набора компиляторов GCC 13"  –1 +/
Сообщение от Аноним (210), 27-Апр-23, 16:57 
Все нормальные люди считают с 1, в нормальных языках типа Фортрана, Паскаля тоже с 1, в Ада - используются range, в математике нумерация с 1.
И только отбитые сишники решили, что делать индексом сдвиг указателя на голову массива это офигенная идея. К сожалению этого овнокод победил, и остальные начали делать также.
Ответить | Правка | Наверх | Cообщить модератору

212. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Пользователь чебурнетаemail (?), 27-Апр-23, 17:08 
> Все нормальные люди считают с 1, в нормальных языках типа Фортрана, Паскаля
> тоже с 1, в Ада - используются range, в математике нумерация
> с 1.

Ни один истинный шотландец...

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

215. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от InuYasha (??), 27-Апр-23, 17:48 
А вы по утрам не приходите в канцтовары покричать на линейки и рулетки? )
Вот, такие же "нормальные" люди, наверно, изобретают лифты с кнопками "4 3 2 1 -1 -2" )
Ответить | Правка | К родителю #210 | Наверх | Cообщить модератору

234. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (228), 27-Апр-23, 22:47 
Докажите, что для написания ОС такая нумерация было бы лучше?
Ответить | Правка | К родителю #210 | Наверх | Cообщить модератору

294. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (-), 28-Апр-23, 16:23 
> в математике нумерация с 1.

Нет, в математике нумерация оттуда, откуда удобно. Твоё математическое образование видимо упустило такую тему матана как ряды, где используется исключительно нумерация с нуля, потому что индекс 0 очень удобно порождает показатель степени 0, который даёт нам член ряда без x (c x в нулевой степени). Без него пришлось бы писать конструкции типа x^{i-1}, что увеличивает количество писанины.

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

56. "Релиз набора компиляторов GCC 13"  +2 +/
Сообщение от Аноним (56), 26-Апр-23, 21:21 
Так переписывай на Модулу скорее. Модула-2 это же продвинутый Паскаль. Считай это для тебя будет рывок вперед. Это как с Перла перейти сразу на Раку.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

72. "Релиз набора компиляторов GCC 13"  +/
Сообщение от _kp (ok), 26-Апр-23, 21:57 
Вряд ли будут переписывать. Вот, если б был delphi диалект object pascal, то можно было бы и готовые наработки использовать, а если в одном проекте на gcc без бубнов можно было бы совмещать код на разных языках, так что то уместне было б и на objeсt pascal писать.
А Модула.. это после деревянных древних Паскалей шаг вперёд, а после Делфи скачок назад.
Ответить | Правка | Наверх | Cообщить модератору

311. Скрыто модератором  +/
Сообщение от Аноним (-), 29-Апр-23, 12:45 
Ответить | Правка | Наверх | Cообщить модератору

92. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от Аноним (-), 26-Апр-23, 22:42 
> Это как с Перла перейти сразу на Раку.

Т.е. очередное нафиг нужное хзчто? На этому раке никто как раз и не прогает, во всяком случае, перловка попадается а раки нет :)

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

98. "Релиз набора компиляторов GCC 13"  +4 +/
Сообщение от Аноним (180), 26-Апр-23, 23:28 
> эти старенькие плохонькие языки

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

> Хотя Паскаль мощнее и лучше и проще и изящнее Модулы и Фортрана

Во-первых, нет. Во-вторых, даже если бы и был, это чести не делало бы ни ему, ни тому кто на нём пишет. Лучший среди худших, то ещё достижение.

> И не видно что кто-то ненавидит ... А вот Паскаль ненавидят, и там и тут лезут уроды с критикой

Давай я объясню почему. Во-первых, на модуле и фортране была написана (и всё ещё написаны кое-где) куча высокоответсвтенного и научного софта. А паскаль никогда не был ничем серьёзнее языка для обучения детей. Во-вторых, на модуле и фортране ничего нового не пишут, потому что уровень тех кто на них может писать позволяет осознать их неприменимость в современном мире. А на паскале пишут, как раз потому что это школьный уровень которого даже на осознание того что для серьёзных задач он не подходит не хватает. Пик глупости из эффекта Даннинга-Крюгера, наипоказательнейший пример. И пишут они, надо сказать, соответственно, и вообще этот уровень торчит отовсюду вплоть до организации репозитория, коммитлогов (да-да, вот эти коммиты с мессаджами "fix" и "continue") и стиля общения.

И это только половина проблемы. Ладно дети, ладно не умеют программировать - какая разница если на выходе что-то есть и этим можно пользоваться. Но чтобы этим пользоваться надо притащить целую экосистему маргинального языка со своими правилами, своими кривыми модулями, своей кривой сборкой, своими багами и кучей проблем с переносимостью и совместимостью, причём всё это не исправляется потому что паскаль уже никому не нужен, и дальше будет только хуже. Поэтому даже мантейнеров (которые, вообще, по природе своей любят ковыряться в сложных вещах) заниматься этим не находится. Поэтому cudatext и опакечен в полутора дистрибутивах за свои, сколько там, 6-7-8 лет истории, а использовать блобы, по крайней мере под linux, дураков нет, и собирать самим тоже нет, потому что это не `cmake && make && make install` или, упаси господи, `cargo build` как в современных экосистемах, а адовый квест. А вот среди виндузятников наверное у вас основная аудитория и есть, как и у total commander. Эти всё в рот тащат, к тому что всё ломается на ровном месте привыкли, благодарная аудитория.

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

103. "Релиз набора компиляторов GCC 13"  +4 +/
Сообщение от AHOHNM (?), 27-Апр-23, 00:43 
>Лучший среди худших, то ещё достижение.

А вот несогласен с такой оценкой Паскаля.

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

Да и простота его (см. обвинение в "школьности") привела к тому, что какой нибудь КМС^w КТН для проверки рабочих гипотез ваял на паскале как мог. А мог обычно почти никак (ой видел я этот поток учёного сознания), он же не профессиональный программистъ (Сейчас так же херово ваяют на питоне, хороший язык, да? да на матлабе ещё. пофиг, главное, гипотезу посчитать)

Другое дело, что вышедший через два года C предложил несколько интересных вещей (например, функции с переменным количеством аргументов) явно с учётом особенностей других языков (а кто там был массовый? Фортран, Алоголы ); и синтаксически чётко разделял язык и библиотеку, чем лучше подходил как для системного программирования, так и для кросс-платформенного. И вот "профессионалы" уже хают дедушку, который им всё это богатство на блюдечке принёс, научил, грабельки показал где лежат... ладно, Остапа понесло...

Да и время было такое, по сути, они все были первопроходцы в этом сложном деле.


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

198. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от Аноним (180), 27-Апр-23, 15:21 
> А вот несогласен с такой оценкой Паскаля.

Вы не написали с чем именно вы не согласны. Написанное вами написанному мной нигде не противоречит.

> Вполне успешный язык

Согласен. Так, весь ныне забытый старый хлам был когда-то успешным.

> с хорошей системой типов, и использовался для вполне нужного софта.

Чем именно хороша его система типов? Не к её плохости, а к тому что она ничем не выделяется из массы всех паскале- и си-подобных языков.

> Да и простота его (см. обвинение в "школьности") привела к тому, что какой нибудь КМС^w КТН для проверки рабочих гипотез ваял на паскале как мог. А мог обычно почти никак (ой видел я этот поток учёного сознания), он же не профессиональный программистъ (Сейчас так же херово ваяют на питоне, хороший язык, да? да на матлабе ещё. пофиг, главное, гипотезу посчитать)

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

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

296. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Alexey Torgashin (?), 28-Апр-23, 16:28 
Большое спасибо. Что просветили насчет Модулы и Фортрана, буду знать что на них сделано много научных библиотек.
Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

300. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (180), 28-Апр-23, 17:26 
А не надо ёрничать. Действительно, просвещайтесь:

https://en.wikipedia.org/wiki/List_of_numerical_libraries#Fo...

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

144. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от Аноним (7), 27-Апр-23, 09:38 
За что их ненавидеть? Про модула не знаю ничего, а на фортране сегодня все наиболее производительные вычисления, в том числе на больших компах. Это стандарт. И зря что ли все проприетарщики пилят всё новые и новые компиляторы фортрана? И ни одного для других языков. Это, к слову, возможно, не в последнюю очередь, из-за того, что в том же гцц весьма убогий компилятор фортрана, и нормальную поддержку железа добавить проще в поделки поверх llvm. А из доступного любому обывателю прямо сегодня и сейчас есть mkl -- это наиболее производительная либа из альтернатив лапаку (а их полно) с SIMD и всем остальным. Только вот практически фортран не годится ни для чего кроме перемножения матриц. Исторически так сложилось, что его компиляторы генерировали код лучше сишных, но вот написать на фортане приложуху? Тут лучше взять что-нибудь более человеческое. А фортрану оставить математические вычисления. К слову, такой язык как ада тоже никто не ненавидит. У него есть свои применения, в отличие от того же раста. Что до паскаля, то это просто мусор, для тех, кто не осилил никаких других языков, никакого хейта тут нет. Разве что сломал мозги некоторым, все у них уроды. Ты же не будешь хейтить кувасик или тех, кто на нём сегодня кодит? Вот и паскаль там же.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

165. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Бывалый смузихлёб (?), 27-Апр-23, 12:29 
может оказаться что дело совсем не в производительности, а в огромных горах старых наработок, которые с нуля не так чтобы сильно хотят переписывать. Ведь зачастую проще что-то что уже есть допилить, чем что-то полностью с нуля создавать
Ответить | Правка | Наверх | Cообщить модератору

178. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (7), 27-Апр-23, 13:36 
Этот аргумент работает с коболом. Но где ты его помимо банкоматов увидишь сегодня? Фортран выбирают именно из-за того, что он хорош для вычислений.
Ответить | Правка | Наверх | Cообщить модератору

176. "Релиз набора компиляторов GCC 13"  +/
Сообщение от InuYasha (??), 27-Апр-23, 13:05 
Вот за это ТоталКомандер, АИМП и прочие школоподелки из 90ых презренны.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

187. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Аноним (187), 27-Апр-23, 14:42 
А, ну да, Паскаль не старенький ;)
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

206. "Релиз набора компиляторов GCC 13"  +1 +/
Сообщение от _hide_ (ok), 27-Апр-23, 16:38 
Классический Паскаль старше C. Это на заметку так.
Но да, современные диалекты современны в меру умений разработчика. В гибкости отстают от языков с непрямой работой с памятью, а в производительности от языков а-ля ассемблер (как классический C). Весь антихайп из-за того, что этот язык программирования требует слишком серьёзной подготовки для написания адекватного кода.
Ответить | Правка | Наверх | Cообщить модератору

290. "Релиз набора компиляторов GCC 13"  +/
Сообщение от Alexey Torgashin (?), 28-Апр-23, 15:15 
Паскаль старенький. Но он вбирает в себя новые веяния. Дженерики, анонимные функции, for-in, КОРБА-интерфейсы, атрибуты в [], поддержка разных CPU + OS, и т.д. Все это появляется.
Ответить | Правка | К родителю #187 | Наверх | Cообщить модератору

252. "Релиз набора компиляторов GCC 13"  +/
Сообщение от AKTEON (?), 28-Апр-23, 00:25 
Ну и как там в паскале с параллелизмом в гетерогенных вычислительных системах ??
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

351. "Релиз набора компиляторов GCC 13"  +/
Сообщение от BeLord (ok), 05-Май-23, 17:03 
Пакет под Альт Линукс есть или самому собирать, я про CudaText?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

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

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




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

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