Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Профессиональное программирование в PascalABC.Net

21.07.2018, 18:40. Показов 2545. Ответов 40

Студворк — интернет-сервис помощи студентам
Выскажитесь по поводу того хотите ли Вы профессионально программировать в PascalABC.Net и почему. Мой ответ - нет (C# есть для этого).

Не по теме:

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

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.07.2018, 18:40
Ответы с готовыми решениями:

В чем разница PascalABC.net и PascalABC
Скажите в чем разница PascalABC.net И PascalABC. Помню когда-то давно программы работающие в PascalABC у меня не работали в .net

Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1?
Привет всем. Вопрос, собственно, озвучен выше. Конкретнее: есть компьютер со свежеустановленной Win10 x64, на которой присутствует...

PascalABC.NET и Excel
Программа должна искать в тексте из файла .xlsx значение,которое перед этим ввел пользователь. assign(f,'D:\Дані.xlsx'); reset(f);...

40
2 / 2 / 1
Регистрация: 30.11.2017
Сообщений: 3
25.07.2018, 10:42
Студворк — интернет-сервис помощи студентам
Когда-то начинал свой путь с Pascal ABC со средой PascalABC.Net познакомился на работе, когда надо было быстренько автоматизировать нуторную работу с высчитыванием площадей участков, а устанавливать на комп какую-то серьезную среду не хотелось. Правда, пользовался только стандартными средствами самого Pascal, а не .Net. Честно говоря, на этом мое знакомство и завершилось с PascalABC.Net А так для своих поделок предпочитаю C#. Pascal неплох сам по себе, но многословен, на мой взгляд. После того, как вкусил языки семейства С, возвращаться к нему нет желания)
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
25.07.2018, 11:15  [ТС]
express21, взгляните на Basic, он более многословен (на мой взгляд). Хотя меня не от этого выворачивает, а от того, что ключевые слова обычно там пишут с большой буквы - это не красиво (не эстетично ).
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
26.07.2018, 21:52
Цитата Сообщение от express21 Посмотреть сообщение
После того, как вкусил языки семейства С, возвращаться к нему нет желания)
Вкусите язык ассемблера, полная свободность от каких либо ограничений, программа ограничена, только Вашей фантазией.
Получив один раз свободу, Вы просто не захотите её терять.

Pascal - язык со строгой типизацией, но он предоставляет методы обхода этих ограничений.
Берем любой С-family язык, чтобы определить переменную, Вам нужно практически переписать "Войну и Мир" Толстого, т.е. получается, это используем, это нет, а тут рыбу заворачивали(тут наследуем, тут инкапсуллируем, а тут подразумеваем).
Чтобы определить переменную, которая будет хранится по некоторому адресу и иметь некоторую длину, в Pascal, можно с помощью указателей перейти от одного типа к другому и использовать методы свойственные этому типу, а в языках ООП, нужно создавать методы преобразования.

Любой потомок Pascal, лаконичен(ну есть фигурные скобки вместо begin end, от этого структура программы не меняеттся), структурирован, легок для анализа.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33422 / 21529 / 8240
Регистрация: 22.10.2011
Сообщений: 36,939
Записей в блоге: 12
26.07.2018, 22:44
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
хотите ли Вы профессионально программировать в PascalABC.Net и почему
Нет. Потому что
1) терпеть не могу реализации, прибитые гвоздями к одной ОС. Если я пишу программу на том же FPC - то могу ее писать не только под Windows, а и под другими ОС-ями. Только не надо мне рассказывать про Mono, который, якобы, где-то там есть. Он может и есть, но вот его наличие (даже у меня на компьютере, в установленном виде) никак не разрешает мне использовать PABC.NET в полной мере. Возможно (при произнесении определенных заклинаний и исполнении особого танца с нужным бубном) удастся уговорить его компилировать консольные приложения. Но никак не формы. Так о каком профессиональном программировании может идти речь?

2) не переношу языки/фреймворки, имеющие GC. Я привык сам выделять память , когда нужно, и сам ее освобождать, а не надеяться на сборщик мусора.

Не по теме:

Нет, я ничего не имею против Паскаля как такового, и его потомков, которые без GC, и не покоцаны авторами в угоду "надежности и производительности трансляции", поэтому Оберон и Модула 3 идут лесом, первый - потому что из него убрали все Паскалевские плюшки, упрощающие отлов ошибок еще на этапе компиляции (зато теперь описание его синтаксиса в РБНФ занимает всего 45 строк, нечего сказать, "повод для гордости", только вот чем пришлось пожертвовать для этого - они постоянно умалчивают), и из-за GC, второй - аналогично, из-за сборщика мусора. И сам пишу (и на работе и для себя) на потомках Алгола. Но PABC.NET - крайне неудачная реализация.

1
2 / 2 / 1
Регистрация: 30.11.2017
Сообщений: 3
27.07.2018, 09:17
<<Хотя меня не от этого выворачивает, а от того, что ключевые слова обычно там пишут с большой буквы - это не красиво (не эстетично ).
Имел с ним дело в свое время)) в том числе и c VBA, и на .Net. Меня скорее бесил этот компилятор, который ничего внятного не указывал: программа запускается, но ничего не происходит... И думай сиди, что ж не так-то Короче, не смог я его принять: между Basic и Pascal я б выбрал Pascal
PS. Кстати, есть еще учебные заведения, в которых обучают QBasic, зимой как-то обращались за помощью)

Добавлено через 22 минуты
Цитата Сообщение от Constantin Cat Посмотреть сообщение
Вкусите язык ассемблера, полная свободность от каких либо ограничений, программа ограничена, только Вашей фантазией.
Получив один раз свободу, Вы просто не захотите её терять.
Познакомился с ним в студенческие годы) Но углубиться в эту тему так и не получилось, а сейчас все напрочь забыто уже. Согласен с Вами насчет свободы, но для моих повседневных задач хватает и высокоуровневых языков. Только один раз сталкивался с необходимостью запрограммировать контроллер, но тогда и С++ хватило.
1
 Аватар для JuriiMW
5096 / 2662 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
27.07.2018, 11:00
На автора данного сабжа на форуме создателей PABC.NET катят бочку, типа он в Википедии что-то подправил…
Плюс его негативная статья на Хабре, которая ни о чём, кроме желчи и потока малосвязных мыслей.
Вот эта статья: Несколько причин забыть PascalABC.Net
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
27.07.2018, 12:26
Цитата Сообщение от JuriiMW Посмотреть сообщение
Плюс его негативная статья на Хабре, которая ни о чём, кроме желчи и потока малосвязных мыслей.
статья, честно, говоря не о чем.
0
Aimez-vous les baguettes?
193 / 26 / 27
Регистрация: 25.10.2017
Сообщений: 165
27.07.2018, 13:12
Цитата Сообщение от JuriiMW Посмотреть сообщение
На автора данного сабжа на форуме создателей PABC.NET катят бочку, типа он в Википедии что-то подправил…
Плюс его негативная статья на Хабре, которая ни о чём, кроме желчи и потока малосвязных мыслей.
Вот эта статья: Несколько причин забыть PascalABC.Net

Не по теме:

Я раньше думал, как писать оффтоп. Как по мне, отношения между авторами PABC.NET и "автора данного сабжа" не имеют никакого отношения к теме. Деятельность Volobuev Ilya - подавляющее большинство найденных багов проекта, жаль их не исправляют. https://github.com/pascalabcne... net/issues

1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
27.07.2018, 15:32  [ТС]
JuriiMW, Вы хотите переход на личности? Не советую.

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

Добавлено через 5 минут
Joy, Вы, наверное, догадываетесь почему я ее написал. Да, неудачно. Но это моя точка зрения. И не чья то еще. Да, агрессивно, и те кто хочет меня понять - поймет. Те кто нет - нет. Вы относитесь к этой среде нейтрально. Но есть те, кому эта среда доставила много неудобств, в этом числе и я.

И вообще мы отходим от темы.
1
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
28.07.2018, 08:05
Volobuev Ilya, у меня linux и я пользую geany и только компилятор + mono, формы я не пользую, для этого есть Lazarus.

Добавлено через 11 часов 11 минут
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Joy, Вы, наверное, догадываетесь почему я ее написал
Нет,
Volobuev Ilya, вы сами читали, что понаписали?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.07.2018, 08:49  [ТС]
Joy, да читал.

Не по теме:

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

0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
28.07.2018, 15:43
фигово читал
...
Сразу можно сделать два вывода: не надо использовать автоклассы в этом компиляторе с обобщениями. ...

и где тут два вывода?

...
А куда идти, если все так плохо?

Буду краток — на C#, ребята из Microsoft постарались и сделали язык намного качественнее, чем разработчики PascalABC.Net свой.

в итоге фиговая среда или компилятор? зачем кидать все в одну корзину? и как можно требовать что-то от компилятора и заявлять, что что-то некорректно работает, если стандарта у языка нет... по мне так сейчас идет стадия бета тестирования.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.07.2018, 17:21  [ТС]
Joy, фиговое и то и то. Отсутствие стандарта языка - не проблема пользователей, а проблема разработчиков. Для пользователей главное адекватность работы среды и компилятора. Во всяком случае это постольку поскольку поиск ошибок самому, либо обращение к разработчикам - потеря личного времени.

А если идет стадия бета тестирования, то почему нигде об этом не сказано? Откуда пользователи должны это узнавать?
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
31.07.2018, 10:38
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Выскажитесь по поводу того хотите ли Вы профессионально программировать в PascalABC.Net и почему. Мой ответ - нет (C# есть для этого).
Добавлю плюсик в сторону PascalABC.Net - размер компилятора со средой.

вчера неудачно попался в коридоре - озадачили собрать информацию в сети windows по всем "расшаренным" ресурсам в локальной сети - имя ресурса, какие группы имеют права+подпапки в ресурсе, если нет наследования прав.
Выручил, PascalABC.Net - скачал с сайта телефоном минимальную его версию (10 Мб) и нарисовал.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
31.07.2018, 18:29  [ТС]
Joy, я, походу, снова уронил компилятор:
Pascal
1
2
3
4
5
6
7
8
type
  [System.FlagsAttribute] 
  color = (red=1, green=2, redGreen=3);
 
begin
  var col := color.redGreen; 
  Writeln(col.HasFlag(color.redGreen)); 
end.
компилируется, но при запуске:
Необработанное исключение: System.AccessViolationException: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
в System.Enum.HasFlag(Enum flag)
в Program3.Program.$Main() в C:\PABCWork.NET\Program3.pas:строка 9
в Program3.Program.Main()
В C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
 
class MainClass
{
  [FlagsAttribute]
  enum color {red = 1, green = 2, redGreen = 3}
  
  public static void Main (string[] args)
  {
    var col = color.redGreen; 
    Console.WriteLine(col.HasFlag(color.redGreen)); 
  }
}
Вывод: True.

Добавлено через 14 минут
Для тестирования использовалась PascalABC.Net 3.4, сборка 1717.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
01.08.2018, 05:12
Ошибка на мой взгляд правильная, не знаю, как в С это обходят, но вы передаете в hasflag значение типа, а он ждет нечто другое (enum). Чем equals не нравится?

Добавлено через 13 минут
writeln(col = color.redGreen);
Мне в паскале за глаза хватает множеств.

Pascal
1
2
3
4
5
6
7
8
9
10
type
  color = (red,green,redGreen);
var
  col:set of color;
begin
  col:=[color.redGreen];
  col:=col+[color.red];
  WritelnFormat('redgreen:{0},red:{1},green:{2}',color.redGreen in col,color.red in col,
                                                                   color.green in col);
end.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
01.08.2018, 14:46  [ТС]
Joy, наличие другого рабочего способа решения вовсе не означает, что первый неверный, если он не рабочий. PascalABC.Net = Pascal + .Net, так почему же тогда происходит ошибка при выполнении того кода? В C# - все нормально. При том, PascalABC.Net позволяет писать в "стиле C#", и позволяет вытворять то что можно делать в C#. Но, если он позволяет, и в C# подобный код проходит компиляцию и выполняется без ошибок, то и PascalABC.Net должен реагировать также.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
01.08.2018, 15:50
ИМХО, если уже есть множества, зачем изобретать велосипед?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
01.08.2018, 16:24  [ТС]
Joy, чтобы жизнь скучной не казалась.
0
01.08.2018, 17:03

Не по теме:

и begin c end заменить на фигурные скобки и запустить csc.exe типа на паскале написали...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2018, 17:03
Помогаю со студенческими работами здесь

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

PascalABC.NET Записи
Помогите переделать по процедуры и функции:cry: type spisok = record surname: string; name: string; otchestvo:...

Превращение PascalABC.Net в C#
Зачем разработчики превращают PascalABC.Net в подобие C#? В частности, зачем в разрабатываются пространства имён, если в Паскале уже есть...

Парсинг в PascalABC.NET
Приветствую форумчан! У меня вопрос: нет ли в PascalABC.Net оператора, процедуры или функции, которая &quot;парсила&quot; бы строку...

Объекты в PascalABC.NET
Добрый вечер, уважаемые программисты. Сразу к делу. Я пишу одну программу в которой должно быть не малое количество объектов. При чем,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru