Почему не стоит писать на PascalABC.Net
Запись от Соколиный глаз размещена 11.07.2018 в 18:28. Обновил(-а) mik-a-el 01.08.2025 в 10:29
Показов 4014
Комментарии 43
Метки pascal, pascalabc.net, минусы, паскаль, плюсы
Сам Pascal - язык неплохой. Осуждать его самого я не буду. Однако, существуют множество его реализаций и у каждой есть свои плюсы и минусы. Сегодня поговорим о диалекте PascalABC.Net. Если Вы новичок, то скорее всего со мной не согласитесь в том, что этот диалект ужасен и до неузнаваемого непохож на тот Паскаль, которому привыкли учить нас в школе и в университете. Вам, наверное, еще не приходилось сталкиваться с множеством проблем данного диалекта. И, наверняка, Вы думаете, что проблемы этого диалекта Вас не затронут - Вы же пишите на уровне начинающего. Но, тем временем, Вы становитесь мудрее и Вам хочется пробовать все больше возможностей языка на практике. И вот с этого момента начинается веселье. Для начала попробуйте вставить этот код себе в последнюю версию компилятора и скомпилировать:
Не по теме: Раньше удивляло то, что разработчики PascalABC.Net, не исправляя старые баги, кидаются делать новые "фичи", которые, конечно же, без исправления существующих багов работают не очень адекватно. Теперь не удивляет - привык. Ссылки на некоторые баги: 1. При наведении на константу множественного типа показывает PascalABCCompiler.SyntaxTree.pasccal_set_constant 2. Анализатор кода игнорирует явно указанные шаблонные параметры 3. Многострочный комментарий заглючивает, если удалить строчку с его началом 4. Не позволяет переименовать шаблонный тип функции 5. SortedDictionary.Values сломано 6. Реализовать форматирование для расширенных свойств 7. Некорректность во благо оптимизации 8. Анализатор кода не правильно выводит тип элемента при преобразовании в foreach 9. Переменная не инициализируются, при присваивании константе значения функции | ||||||
Метки pascal, pascalabc.net, минусы, паскаль, плюсы
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 43
Комментарии
-
Запись от Usaga размещена 12.07.2018 в 09:34
-
Запись от Соколиный глаз размещена 12.07.2018 в 10:28
-
Запись от Usaga размещена 12.07.2018 в 11:10
-
Запись от Rius размещена 12.07.2018 в 11:13
-
Если спросить у людей, серьезно работающих с вышеназванными языками/средами, я более чем уверен, что у них найдется немало примеров нестабильной работы там, где этого "ну не может быть". Программ без багов не бывает, тем более - компиляторов. Другое дело - отношение разработчиков к этим багам. "Жрите, что дают" при малейшей критике со стороны пользователя, и взаимопоглаживание по шерстке - очень непрофессионально.
Все вышесказанное, разумеется, не отменяет моего негативного отношения как к PascalABC.NET в частности, так и к .NET и вообще Windows в целом. Ни первого, ни второго, ни третьего больше не держу.Запись от volvo размещена 12.07.2018 в 15:22
-
Запись от Соколиный глаз размещена 13.07.2018 в 19:37
-
Запись от netBool размещена 14.07.2018 в 11:54
-
Запись от Rius размещена 14.07.2018 в 12:22
-
Обновления можно отключить.Запись от Sasha38 размещена 14.07.2018 в 15:49
-
[QUOTE=Volobuev Ilya;bt18470]Компилятор должен помогать программисту в написании кода, а не мешать ему.[/QUOTE]
Выход один - для начала перепишите компилятор. К тому же, на сегодняшний день есть много других сред разработки ПО. Тот же Delphi например. Хотя и там куча проблем -
[url]https://habr.com/post/111554/[/url]
[url]https://habr.com/post/150943/[/url]Запись от Дмитрий2008 размещена 14.07.2018 в 17:44
-
Этот код пройдет компиляцию:
Это ужасно... А в ней еще и обучают студентов и в школе...Pascal 1 2 3 4
begin if false then a.b.c.d.q.f.g; end.
Но я не знаю ни одного компилятора (кроме PascalABC.Net), у которого косяки разработчиков начинают вылезать в программах уровня "hello world".
Научусь писать компиляторы, тогда, может, и займусь этим.
А на сегодня выход один - тщательно учить программирование, чтобы не стать таким же как они разработчиками.Запись от Соколиный глаз размещена 14.07.2018 в 19:16
-
Начнем с того что обновления не стоит отключать, ибо это грозит потерей безопасности из-за уязвимостей.
Другое дело так эти обновления ставятся и чистится, и что происходит со временем с системой.
По линуксом там же фигня только там всегда проще переставить систему если что-то не так.
Дай угадаю NVideo ?Запись от Avazart размещена 14.07.2018 в 20:04
-
Запись от Avazart размещена 14.07.2018 в 20:05
-
Запись от Соколиный глаз размещена 14.07.2018 в 20:10
-
Запись от Rius размещена 14.07.2018 в 20:11
-
Запись от Avazart размещена 14.07.2018 в 20:20
-
Запись от Avazart размещена 14.07.2018 в 20:22
-
Использование идентификаторов, которые не существуют. Об этом должен говорить компилятор, но он этого не делает. Тот же Rextester адекватно реагирует, сообщяя:
на следующий код:
Pascal 1 2 3 4 5 6
program HelloWorld; begin if false then a.b.c.d.q.f.g; end.
Запись от Соколиный глаз размещена 14.07.2018 в 20:24
-
Запись от Avazart размещена 14.07.2018 в 20:24
-
Запись от Avazart размещена 14.07.2018 в 20:27

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