Тред о несправедливо забытом Объектно-ориентированном ЯПе, созданным Никлаусом скВиртом. Самое современное IDE pascal abc, созданное в ЮФУ хачиком Абрамяном.Скачать http://pascalabc.net/ #pascal #delphi #(object pascal)
Вы только посмотрите как охуенно реализован свитч на пацкале: case <variable> of<value1>: //code;<value2>: //code;<value...>: //code;end;В то же время громоздкое говно на жабе:switch(ВыражениеДляСравнения) { case Совпадение1: команда; break; case Совпадение2: команда; break; case Совпадение3: команда; break; default: оператор; break;}
Чтобы вывести что-то на экран не нужно ничего подключать, писать многа букав типа System.out.println(), а просто напечатать writeln(), и всё.
-Язык программирования Pascal нового поколения, сочетающий простоту классического языка Паскаль, ряд современных расширений и огромные возможности платформы .NET.-Бесплатная, простая и мощная среда разработки.-Встроенный в среду разработки дизайнер форм, позволяющий быстро создавать оконные приложения.-Свободная лицензия LGPLv3.
>>1151333 (OP)>>1151334>>1151335>>1151336>>1151484Python ебет тебя и твой паскал в жепу, после смачно облизываясь синтаксическим сахаром, всевозможной поддержкой и вакансиями.Лох.
>>1152084Про препода твоего скоро все забудут. Ты, сука, различай понятия. Одно дело паскаль для обучения, а другое - для интырпрайза.
ладно бы если бы шапка была бы нормальная а так хуйня попная.где список литературы ,компиляторов и где блин делпи
Язык Питон, Язык Бизон, Язык Объект-Буйвол, Язык Хряк++, Язык Гей-скрипт, Язык Ы.Блять, суки, когда ж вы заебетесь уже всякую хуйню придумывать.
>>1152736Кончено говном завоняет. Во-первых турбопаскаль, которому 30 лет, во-вторых половина строк вообще делают ненужную хуиту, а в итоге прога тупо выводит "LetoPiska:10". Даже пробел не поставил в выводе.
>>1151333 (OP)Абрамян только задачник сделал. Задачник классный причом.PABC навелосипедил Михалкович.Стало быть не>хачикома ЕРЖИ да, по поводу>несправедливо забытомв 21-м веке у всех здоровых (и из нормальных стран) людей первый ЯП - Python.И первый компьютер - Малинка)
>>1156043>в 21-м веке у всех здоровых (и из нормальных стран) людей первый ЯП - Python.И первый компьютер - Малинка) >кодишь два года>что такое указатель?
>>1151333 (OP)сделали бы бесплатную версию борланд делфи, а так он и сдох, хотя очень быстро конпулирует программы
>>1175321Всё там работает. Можно консольные программы писать, можно GUI с использованием gtk или qt. Даже под андроид есть способы компиляции.Кого я обманываю? Да, это всё возможно, но комьюнити очень маленькое и современные инструменты и библиотеки зачастую не портированы.
>>1175352>можно GUI с использованием gtk или qtНахуя? Было же родное нативное винапи - пиши, не хочу.
>>1175735>Было же родное нативное винапиПод виндой там все через GDI рисуется. При этом экзешник с формочкой меньше мегабайта занимает.
>>1177543Попробовал я пописать на фрипаскале, а конкретно интересовал меня free vision, аналог турбы. Так вот - эта ебаная параша категорически не поддерживает рашкоязык и не могет в кодировки. Ну нахуй.
Аноны, помогите плз. Pascal. Надо расписать, что делает каждая строка (комментарии). С некоторыми строками разобрались, но на свободных строках до сих пор ломаем голову.Дан массив A(N). Получите массив B(N), i-й элемент которого равен среднему арифметическому первых i элементов массива А: bi = (a1 + a2 + ... + a i ) / i.Program zadach;Uses zadach.pas; { Эту строку можно удалить }Uses CRT; { Вызов внешних функций }Const { Постоянные значения }N = 5;Type { Создание новых типов данных }ArrayInt = Array [1..N] Of Integer;ArrayReal = Array [1..N] Of Real;Var { В работе нам потребуются переменные: }X : ArrayInt;Y : ArrayReal;i : Integer;S : Integer;BeginClrscr; { Очищаем экран }Randomize;For i := 1 To N Do { Переменная i увеличивается с 1 до N }BeginX := - 1000 + Random(2000);Write(X, ' ');End;Writeln('');S := 0;For i := 1 To N Do { Увеличиваем i от 1 до N с шагом 1 }BeginS := S + X;Y := S / i;End;For i := 1 To N Do { Переменная i увеличивается с 1 до N }Write(Y : 6 : 2, ' ');Readln; { Ждем нажатия Enter }End.
>>1152736а разве можно константу и переменную 1 и тем же словом записать это же говно зачем? как компилятор определяет что ему исползовать вообще что это за говно
>>1151333 (OP)Модные прогстеры неадекватно реагируют на Паскаль. Язык как язык, но даже не думай упоминать его на собеседе (разве что ты идешь в Совковое НИИ). Вменяемой аргументации обычно нет, тут как с низшей кастой на зоне. Даже не упоминай что трогал, или на всю жизнь проблемы.
>>1200402>а разве можно константу и переменную 1 и тем же словом записать >это же говно >зачем?Нормальный бы человек увидел бы лишнюю точку с запятой и проёбанное двоеточие.
>>1151333 (OP)>Самое современное IDE pascal abcЧет вся шапка на какую-то дешевую рекламу смахивает. Если уж поминать пасквиль как ЯП, то почему не Free Pascal или Delphi, а какая-то НЁХ на (дот)НЕТе?
>>1151334кстати, киллер-фича паскалевского CASEможно написать case x of1,2,12..24,99: doSomething;8,9: doSomething2;end;в си-подобных приходится городить огород...
>>1233923Кстати да, после делфей не мог понять почему в божественном шарпе такой убогий и не функциональный свич.А вот что в паскале хуже сделано так это типы перечисления. У них нет префикса типа как в шарпе из-за этого сходу непонятно к какому перечисленю отностися литерал. Многие из-за этого добавляют префикс в венгерской нотации к каждому значению. Выглядит очень уродливо, и все равно сходу тип не узнать.
>>1234038Отбой. Вспомнил про легендарный TVirtualTreeView. Весь день вспоминал, как с ним работать. Чот я тупею с годами.
>>1234038по поводу лазаруса. Мне нужны графики (TAChart). Натыкал, всё рисуется. Но выглядит без сглаживания какахой. Читаю в справке на сайте - надо использовать back-end в виде BGRABitmat, и в примерах тоже есть. Но компонент не устанавливается через менедже пакетов. Говорит какой-то зависимости не хватает. Но какой не пишет. Строит дерево зависимостей - там всё есть. ЧДЯНТ?
>>1234509У тебя битмап графика на руках есть? Будь мужиком, сгладь его сам! Размытие по гаусу очень легко делается.
>>1151333 (OP)>хачиком АбрамяномНазвать Абрамяна "хачиком" мог только полный уебан, у которого мать сдохла как последняя собака.
>>1175299>2к18>Писать скобки def Anon():....print("Sest' na butilku ?")....try: return "Net"....finally: return "Da"
>>1234509>BGRABitmat, и в примерах тоже есть. Но компонент не устанавливается через менедже пакетов.Такое же дерьмо. Там пиздец в новых версиях. И судя по тому, что пиздец этот не фиксят - этот пакет никто не использует, в т.ч. автор пакета. Пичаль бида.
>>1234632Я закомментил весь ошибочный код и оно скомпилировалось, но очевидно, что пользоваться этим нельзя.
>>1234543ну так и графики можно самому на TImage через Lineto рисовать, это тоже легко делается. Но почему-то в C# стандартный компонент со сглаживанием (но зато сам интерфейс тормозной из-за графика с парой тысяч точек resize формы видно лаги), в Qt со сглаживанием (но зато приложение на qt будет тащит кучку dll на пол сотни МБ), а тут вроде у него есть сглаживание, если подключить обработчик такой-то и такой-то (кстати, там в самом компонент есть какой-то параметр antialiasing), но что-то просто подключить не получается, и руководство с сайта не работает.На самом деле я по прежнему, если чего по быстрому надо, использую Delphi 7 (которому уже 17 лет и столько же я им пользуюсь), точнее сборку от китайцев Delphi_Lite_Full_Edition. И Lazarus уже близко к нему, в чем-то лучше, в чем-то хуже, но я не могу его использовать, т.к. старый проект может не скомпилироваться через пару лет из-за подобных изменений. Так что подождем ещё пару лет а там уже и повеситься можно будет
>>1234650Очень странно. Дельфи используешь давно, а в коде разобраться не можешь.Лазарь хорош тем, что позволяет открыть, поменять и на лету перекомпилировать любой код. Проекта. Пакетов. Самой ИДЕ. Компилятора!Я таким образом как-то нашёл, где в ИДЕ создаётся палитра компонентов и добавил ей multiline = true; Чтобы вкладки с компонентами в несколько рядов располагались.
В лазарусе есть дебагер как в визуальной студии, чтоб сразу показывал весь контекст отдельным окошком без необходимости вручную добавлять отслеживаемые пременные?
>>1175299Лол, я после шарпа как-то даже серьезно прикидывал профит от написания плагина, который на лету конвертит все begin-end в скобки и обратно при компиляции.
>>1234868Не выйдет, фигурные скобки в паскале уже забиндены как описатель комментариев.Я тут как-то размышлял над другим. Лазарус - это же просто ИДЕ, которая скармливает написанный в ней проект внешнему компилятору. В лазарусе есть классные компоненты разбора синтаксиса SynEdit, в которых есть куча языков, в том числе си/си++. Догадываешься, к чему я клоню?Написать бы для паскаля аддон для создания проектов на сях! В настройках проекта выбирать сишный компилятор.Почему они до сих пор этого не сделали? С таким функционалом лазарь подмял бы под себя весь рынок!
>>1234929Может у них в команде некому заняться. Да и сдается мне, что особых преимуществ перед уже существующими IDE поддерживающими c/c++ нет.
>>1151333 (OP)Случилось то, чего мы все так долго ждали. Embarcadero представила новую редакцию Delphi и C++ Builder: Delphi Community Edition и C++ Builder Community Edition. Новая редакция предназначена для индивидуальных разработчиков, студентов, стартапов и некоммерческих организаций.По своим возможностям Community Edition соответствует обычной Professional — Product Feature Matrix. Но есть и ограничения — вы не сможете установить одновременно Delphi и C++ Builder на один компьютер. Либо то, либо другое.Условия использования (полный текст в Rad Studio EULA):Вы индивидуальный разработчик и зарабатываете менее 5000 долларов в год на продаже программного обеспечения, созданного в Delphi или C++ Builder.Вы небольшая компания (до пяти человек), которая не зарабатывает на продаже программного обеспечения или зарабатывает менее $5000 в год.Надеюсь, новая редакция даст толчок развитию Delphi. Delphi еще жив.https://habr.com/post/417629/
>>1235923>способность ясно формализовать мыслиА где требования не пускать слюни изо рта и не биться головой об стену?
>>1235923> DevExpressБля, исключительно неприятные воспоминания связаны с этими компонентами. Устраивался на работу в невозвращаемом 2007-м. Там на них большой проект пилили. Мне обещали перезвонить. Вот, сижу жду.>>1235290Пизда лазарусу. ИМХО, он кое как существовал только за счёт старпёров-паскалистов, которые страдали от невозможности писать проги бесплатно и одновременно легально.
>>1236111Да, ОП тот еще даун. Но преимущество паскаля в том, что он, являясь императивным языком, имеет полноценный ООП-функционал, поэтому вполне реально не меняя язык, не создавая отдельных проектов, совмещать в одном модуле ООП и императивную парадигму.В паскале нет модной хуйни, когда объектами является всё подряд, даже примитивные типы, из-за чего в этих модных языках невозможно написать что-нибудь быстрое и маленькое, не тратящее драгоценные микросекунды на поиски методов и прочую ООП-малафью.
>>1236123>написать что-нибудь быстрое и маленькоеПиши на няшной, структур вполне хватит без шаблонов очень печально - но тебе это НИНУЖНА
>>1236155>Нюфаня, плиз.Не стыдно не знать - стыдно не учиться.>Ваш Ваш Ваш Нет ты! Нет ты! Нет ты!Хотя с кем я пытаюсь дискутировать.
Короче, анончики. Недавно поставил эксперимент над лазарусом. Сделал в нём библиотеку, внутри которой форма и экспортируемая функция, которая показывает форму. Эту функцию я объявляю в офисном VBA. Всё работает, окно появляется, но есть одно НО - визуальная тема не подцепляется. В древнем VB6 можно было вручную инициализировать движок виндовс-тем, но, как я слышал в VBA этот вопрос принципиально нерешаем. Поэтому я задумался о "темизированных" контролах. Есть ли такие для лазаруса?
Аноны ,как сделать авто дополнение в MSEIDE ?Или можно вкомпилировать MSEGUI в LAZARUS ?Убрать все компоненты LAZARUS ,а добавить только MSEGUI ?
>>1239453>вкомпилировать MSEGUI в LAZARUSУстановить исходники библиотеки MSEGUI и в лазарусе сделать вручную пакет из этих исходников. Затем прилинковать пакет к лазарусу. Ну это с дивана предположение.
>>1239830>>1239453Ну вот тебе пруфецкий, я даже встал с дивана, скачал мсе и скомпилировал в лазаре демо пример.
>>1239849Какая-то, видимо, разница в параметрах сборки, но демопроект мсе в лазарусе собирается в ехе 1,6 мб, а в мсе 1,7 мб. Разница небольшая, но есть.Вообще своеобразная хуйня, не пойму, то ли кондовая, то ли хтоническая. Файловые диалоги авторские... мде.
>>1240261Добродвач же!Если вдруг возникнут проблемы с пакетом, делай так:1. Создай пустой пакет.2. Не добавляй никаких файлов.3. Не удаляй зависимость от FCL.4. Открой свойства пакета и во вкладке путей, пропиши в строку "другие модули (-Fu)" следующее: kernel\windows;audio;container;crypto;db;designutils;dialogs;editwidgets;fpccompatibility;graphics;i18n;ifi;image;kernel;math;opengl;pascalscript;printer;regcomponents;report;serialcomm;sysutils;unicode;widgets4.1. Соответственно, если у тебя линукс, в первом пути замени windows на linux.5. Сохрани в папке с установленным мсе/lib/common (ибо пути выше указаны относительно её) и скомпилируй. Если всё прошло удачно, ты сможешь добавлять этот пакет в зависимость к пустому приложению и юзать все классы мсе, подключая нужные модули обычным для паскаля образом в uses.Таким же образом можно подключить к лазарю любую хуиту, которая сделана для фрипаскаля.
>>1240331ХЗ, только что работало, уже не работает. Короче, надо все файлы pas вручную добавлять в пакет. И это будет пунктом 2.
>>1204237несправедливозабытомесправедливозабытомнсправедливозабытомнеправедливозабытомнесраведливозабытомнеспаведливозабытомнеспрведливозабытомнеспраедливозабытомнесправдливозабытомнесправеливозабытомнесправедивозабытомнесправедлвозабытомнесправедлиозабытомнесправедливзабытомнесправедливоабытомнесправедливозбытомнесправедливозытомнесправедливозатомнесправедливозабомнесправедливозабымнесправедливозабытнесправедливозабытомоп заебался
Берем из холодильника пивко и в который раз перечитываем Алгоритмы+Структуры данных=Программы, вспоминая счастливое детство.
Временами мне думается, что мир был бы лучше, если бы основным системным языком стал Modula-2/Oberon вместо C.
>>1246792Не было бы этих UB и уязвимостей всяких. Зачем стрелять себе в ногу, если нужно не стрелять?
>>1246915Были бы. Косорукий даун и в дельфи себе в ногу стрелял. Вспомни хотя бы эпоху мокрописек. И во фрипаскале запросто стрельнёт, до потолка, сука.
>>1247382>И во фрипаскале запросто стрельнёт, до потолка, сука. Двачую. Стоит лишь погрузиться в волшебный мир указателей или прототипов (дженериков). Дуло ружжа автоматически нацелится на твои ступни.
>>1247382>>1247438Ну так это довольно разносторонние языки, которые лучше сравнивать с плюсами или шарпом. Такого функционала в модуле/обероне нет, как и в сишке.
>несправедливо забытом>Объектно-ориентированном ЯПеОсталось ещё десяток ООП ЯПов забыть, и можно нормально жить будет.
>>1251265Тот-то я думаю, что ж тебе мешало программы писать? А оно вон чо - паскаль ещё не все забыли. Смеют ФПЦ да Лазарус девелопить. Да ещё богомерзкое эмбаркадеро запилило комьюнити эдишон дельфи.
>>1251265ВОТ УМРОТ ПОСРАЛЬ И СРАЗУ ЗОЖИВЁМ, ЧИСЛО БЫДЛОКОДЕРОВ СТАНЕТ МЕНЬШЕ НУЛЯ, КОД БУДЕТ ИДЕАЛЬНЫМ, А УЖЕ СО ВТОРОГО КЛАССА ДЕТИ БУДУТ УМЕТЬ В ООП
>>1253396Не будут они уметь в ООП. И ООП никакого не будут. Всех заставят учить sicp и хаскель. Всех неосиляторов в 1С
>>1253448>И ООП никакого не будут. Всех заставят учить sicp и хаскель.ООП никакого не будет, это да. Только вот заставят (уже заставляют второе или третье поколение студентов) учить сишарп и парадигму ECS.
>>1253497Ты не бывал в /гд/ и не видал, насколько там отбитая школота/студентота сидит. Они на полном серьёзе считают, что эта хуйня задоминирует ООП во всех сферах кроме геймдевелопинга.Казалось бы считают и хуй с ними, а вот нет, когда китическая масса так считающих нарастёт (ещё два три выпуска вузиков) - то их мнение станет Истиной. Подтянутся корпорации. Начнут внедрять проекты на ECS-парадигме, появятся вакансии, опять же. И так ООП будет отодвинут на второй план, как удел старпёров, тянущих древние проекты.
Посоветуйте, как перевести в паскаль следующий код из хидера на си:#define GDCALLINGCONV __attribute__((sysv_abi))Гуглил атрибуты, гуглил ABI. Нихуя не понял. Предполагаю, что мне надо написать что-то типа {$CALLING sysv_abi}? Но такое выдаёт предупреждение: Warning: Unknown procedure directive had to be ignored: "SYSV_ABI"В гугле пишут:>The {$CALLING } directive tells the compiler which calling convention should be used if none is specified:>{$CALLING REGISTER}>By default it is REGISTER. The following calling conventions exist:>default>register>cdecl>pascal>safecall>stdcall>oldfpccall Получается, sysv_abi спрятано в одной из этих директив? В какой-то из инструкций было написано "для венды используй stdcall, для линукса cdecl". Значит ли это, что мне нужно объявить эти процедуры как cdecl?
>>1151333 (OP)Ну что народ, приступаю к изучению паскаля, юзаю паскальабц. Значит я знаю, что есть норм справка, но мне как-то привычнее ботать по литературе. Какая есть топ-тир книга по изучению паскаля(паскаляабц)? Подскажите пожалуйста.
>>1151333 (OP)Сап, программач. Есть один диплом на Delphi 10 Seattle, который пошёл по пизде. Суть: надо было сделать программу для отправки email/sms и я сделал это через smtp, всё работало, всё было заебись, но сейчас мне сказали допилить - сделать выбор разных сервисов (был рамблер) и шаблоны сообщений, но меня попросту не коннектило к серверам. Пошёл гуглить заново порты и прочую поебень, всё перенастроил, оказалось что надо было SSL прикручивать (вижу его впервые, никогда с ним не работал) - программа выдаёт ошибку "Could not load SSL library" и у меня уже попросту нет идей что с этим делать, т.к. библиотеки сунул и в папку с экзешником, и в папку system32/syswow64, и, блядь, даже в папку с самим делфи - не может загрузить и всё тут. Подскажете что-нибудь?
>>1315787На Паскаль и Бейск гонят только быдлокодеры, нихуя не понимающие в PLT. Потому что Паскаль по сути не отличается от новомодного хипсторского говна, а во многом даже более продуман.
>>1151333 (OP)Сам Вирт же сказал, что Паскаль устарел, и нужно переходить на Оберон.Оберон лучше Хаскеля: https://zx.oberon2.ru/forum/viewtopic.php?p=926
А что использовалось в делфи для создания графического интерфейса? Как он отрисовывал все эти кнопки/формочки?Там же на выходе получался 1 ехешник совсем небольшого размера, никаких сторонних библиотек по 20 метров и рисовалось это драг-н-дропом, без всяких загонов с мфц или винапи.
>>1321551Вот только ты забыл сказать, что уменьшать хотели с 2 Мб до 1, чтобы на дискету помещались.>>1321545Использовалась VCL https://ru.wikipedia.org/wiki/Visual_Component_Library т.е. по сути такая же сторонняя библиотека, только в разы более легковесная, чем та же Qt, из коробки интегрированная в IDE, но зато без кроссплатформенности которая нужна только школьникам с их СПО-стартапами
>>1321545По тем временам экзешник в 400 килобайт был просто гигантским. Зато под делфи была билиотека KOL, которая позволяла делать экзешники в несколько десятков килобайт за счет отказа от виртуальных методов - компилятор мог без проблем стрипать классы и включать только реально используемый код. Для этого нужно было использовать турбо паскалевское ключевое слово object вместо class, чтобы не наследоваться от TObject.А так - статическая линковка и в паскале нету С++-ных темплейтов, которые охуенно любят раздувать код.