Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » неинтересные сообщения » Компонентный Паскаль или Фри Паскаль ХЗ (хочу знать!)?


Компонентный Паскаль или Фри Паскаль ХЗ (хочу знать!)?

Сообщений 1 страница 20 из 20

1

Ну не то чтобы я раскачиваю лодку. Просто мне интересна приверженность к Компонентному Паскалю. Читаю я эти пыльные манускрипты 90-2000-х годов и вижу там чувство гордости, по поводу того, как всякие там Обероны круче Турбо Паскаля. Ок, не спорю. Но разве адептам Компонентного Паскаля (видите, уважаю, пишу с большой буквы) того времени не известен был Дельфи? Он же ого-го-го. Тут я не специалист конечно, но я имею ввиду то, что я видел о Компонентном Паскале.
А сейчас есть же тот же минималистичный, но всем известный Лазарус и монструозный (но широко известный только в узких кругах) КодеТайфун. А уже о их движке - Фри Паскаль и говорить не приходится. Он же крут, реально крут. И по всяким там дженерикам и по количеству библиотек. Конечно поддержка не такая большая, как например  Жабаскрипта, но хотя бы нафталином 2000-х не отдает.
Просто хочу знать, что в Компонентном Паскале настолько хорошо?

0

2

utkin
Delphi появился гораздо позже.
Вирт сделал Паскаль, потом ему не хватило выразительности и он сделал Компонентный Паскаль. А потом он разочаровался в нём и начал делать Оберон.

utkin написал(а):

Просто хочу знать, что в Компонентном Паскале настолько хорошо?

Если не ошибаюсь в КП можно объекты копировать, как ваши системы. Правда развитие это не получило.

0

3

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

Отредактировано budden (2018-11-01 16:14:41)

0

4

И исторически КП появился, если не вру, после оберона. Оберон уж совсем придушили в сторону минимализма, переходящего все возможные пределы. И кстати, ещё такая вот мелочь (но многие могут религиозно возбудиться).
В Паскале

Код:
if условие then begin 
  операторы
end

А в КП

Код:
IF условие THEN  
  операторы
END

Ключевые слова капслоком - это бред, конечно, но на одно слово меньше (и на одну строчку в большинстве случаев). Убрать begin - это вот просто ПРАВИЛЬНО.

Отредактировано budden (2018-11-01 16:17:04)

0

5

сборка мусора, совмещение статической и динамической типизации

Жабаскрипт?

Поэтому в нём нет тредов, а есть корутины - это тоже огромный плюс.

А библиотеки? Не просто модуль Граф. Нет, я видел там на одном европейском сайте много библиотек, но они тоже все древние. Корутины это же в Паскале и так можно исключениями набабахать? Опять же не совсем понятно, чем они лучше вызова методов объектов друг у друга.

И исторически КП появился, если не вру, после оберона. Оберон уж совсем придушили в сторону минимализма, переходящего все возможные пределы.

Вот я их там путаю постоянно. Есть всякие Фри Обероны и Паскали, со стороны там все одинаково.

Убрать begin - это вот просто ПРАВИЛЬНО.

Я не отношусь к этому религиозно. В моей Вселенной begin и end это границы блока, а всякие for и if это только их заголовки. Но это лично мои тараканы. Не стоит очевидно переходить на другой язык, ну вот просто, из-за отсутствия одного begin. Я именно про полезные фишки говорю, вот там сборку мусора писали это вкусно да.
А обобщенное программирование? Дженерики/шаблоны есть там?

Ключевые слова капслоком - это бред, конечно

Если поковырять в коде это легко исправить, если при рассмотрении операторов в каком-нибудь case of вставить UpperCase, или свою самописную процедуру преобразования в верхний регистр. Такой компилятор будет понимать и большие и маленькие буквы (то есть старые тексты будут совместимы).

Delphi появился гораздо позже.

В 95-м. в 2000-х уже пора было бы сориентироваться и начинать понимать, что нужно куда-то двигаться. Оберонщики же катались на своей волне и потому не получили широкого развития.

Если не ошибаюсь в КП можно объекты копировать, как ваши системы. Правда развитие это не получило.

Это уже интересно.

Отредактировано utkin (2018-11-01 18:03:48)

0

6

utkin написал(а):

Если поковырять в коде это легко исправить, если при рассмотрении операторов в каком-нибудь case of вставить UpperCase, или свою самописную процедуру преобразования в верхний регистр.

Но не нужно. Потому что так мне, например, сразу видно и легко проверяемо что возможно сокращение на 10-20%, а Вы предлагаете растворение синтаксического мусора в исходном коде.
А мусор - это плохо. Трава засохла - поливаем зелёной краской, да? :D

utkin написал(а):

Вот я их там путаю постоянно. Есть всякие Фри Обероны и Паскали, со стороны там все одинаково.

Потому что внешне они похожи.

Отредактировано MihalNik (2018-11-01 19:59:14)

0

7

> Корутины это же в Паскале и так можно исключениями набабахать? Опять же не совсем понятно, чем они лучше вызова методов объектов друг у друга.
Не думаю, что можно. В лиспе мы всем ЛОРом не смогли, хотя в лиспе более мощные исключения, чем в Дельфи. ,Почитайте на Хабре про async и callback hell, если не в курсе.

> Библиотеки
Есть корявенький, но вроде кросс-платформенный ГУЙ (лин/вин). На самом деле совсем плохой он, но всё же не совсем отсутствующий. Чуть лучше нуля.
Есть работа с tcp/ip. Т.е. окно в Европу прорубили, а дальше в современном стиле - через микросервисы и прочее :) В остальном с библиотеками, как я понял, туго.

>  Дженерики/шаблоны есть там?
Там есть ANYPTR (указатель на любой "объект", т.е. на запись). А также есть "метаклассы", возможность динамически узнать тип, сделать развязку по типу (подобие оператора as), есть указатели на процедуры. Этого достаточно для динамической имитации шаблонов, хотя я не видел развитых примеров использования, и там будет не хватать статических проверок.

Отредактировано budden (2018-11-01 19:58:06)

0

8

Я довольно сдержанно отношусь к идее шаблонов, у меня есть альтернативная идея, которую я пока не афиширую, но в целом она ближе к метапрограммированию. Поэтому меня отсутствие шаблонов радует. Если бы они были, их пришлось бы сначала выпиливать, а потом заменять на другое решение. Также я без них годами прекрасно обходился в лиспе. При наличии типа any (как в C#) они не так уж сильно и нужны. То, как сделано в КП, согласуется с моими идеями, представляя точное подмножество моих хотелок, без лишних деталей. В этом направлении будем расширять КП, если Господь приведёт.

0

9

у меня есть альтернативная идея, которую я пока не афиширую

А меня именно такие штуки больше всего и интересуют.

0

10

Я не настолько богат, чтобы раздавать то единственное, что у меня есть. Во всяком случае, задача русификации компилятора имеет смысл, хотя бы в педагогических целях. ББ для этого подходит неплохо, на мой взгляд.

0

11

Я не настолько богат, чтобы раздавать то единственное, что у меня есть.

Ну если это какой-то секрет на который Вы ставите коммерческую выгоду, то ладно. Я думал, может какая компиляция идей. Хотя я сомневаюсь, если честно. У нас есть очень показательный пример Канторовых систем.

Но не нужно. Потому что так мне, например, сразу видно и легко проверяемо что возможно сокращение на 10-20%, а Вы предлагаете растворение синтаксического мусора в исходном коде.

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

Отредактировано utkin (2018-11-01 20:46:02)

0

12

budden написал(а):

ББ для этого подходит неплохо

Да. Доказано ещё Глаголом.

utkin написал(а):

показательный пример Канторовых систем.

Весной они пошли в транспиляцию.

utkin написал(а):

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

Вы не верно поняли - это именно мусор. Не заглавие букв, а то что ими написано. А мелкие буквы сделают мусор скрытым, что не способствует пониманию необходимости его удаления.
Аналогично с трёхэтажными именами. Это проблема или конкретного кода или языка вообще. Замазывание проблем аббревиатурами - это плохо.
В тоже время Delphi и FreePascal давно умеют with, а AL-IV - сокращение имён.

Отредактировано MihalNik (2018-11-01 21:13:06)

0

13

Собственно я только убедился в своих подозрениях. КП можно изучать, но не пользоваться. Таково мое мнение.

Также я без них годами прекрасно обходился в лиспе.

Так смысл в том, что если Вы делаете ЯП, то делаете его в основном для других, а не только для себя лично.

если Господь приведёт.

Я бы на него не рассчитывал.

Отредактировано utkin (2018-11-02 09:12:41)

0

14

utkin написал(а):

убедился в своих подозрениях. КП можно изучать, но не пользоваться. Таково мое мнение.

Качаем шк/универскую сборку.
Запускаем.
Открываем учебник по BlackBox.
См. Приложение B: Отличия Компонентного Паскаля от Паскаля

Отредактировано MihalNik (2018-11-03 01:04:09)

0

15

Справка там энергозатратная. Нужно прилагать усилия, чтобы что-то найти. Например, справка по самому КП находится в Сообщение о языке. Что ни разу не понятно человеку пришедшему со стороны. Это только подкрепляет мое мнение о нем. Будден делает правильно. Вместо того, чтобы молиться на скелет в шкафу, его нужно серьезно модернизировать для нормального использования.
Зачем мне знать отличия от Паскаля, если Паскаль с 90-х годов эволюционировал? Прошло почти 30 лет и тот Паскаль какой в справке, не тот Паскаль которым я пользуюсь.

Отредактировано utkin (2018-11-03 06:51:51)

0

16

utkin написал(а):

Зачем мне знать отличия от Паскаля, если Паскаль с 90-х годов эволюционировал? Прошло почти 30 лет и тот Паскаль какой в справке, не тот Паскаль которым я пользуюсь.

Основные отличия - те же минус некот. возможности этих современных Паскалей. Это позволяет сразу чтение кода КП.

utkin написал(а):

Например, справка по самому КП находится в Сообщение о языке. Что ни разу не понятно человеку пришедшему со стороны.

Но нашёл за пару мин. в путеводителе. Это же в целом косяк перевода, а не среды.
Как бы интуитивно сразу открывается учебник, но там справки по языку нет, а надо всего-навсего ссылку на неё. А отличия от старого Паскаля были - поэтому глянул их. После этого в осадке ещё 3 вопроса, для которых справка была нужна. Хотя бы внести кратко описание полиморфизма в список отличий и справку бы по КП даже не открывал)
А в целом написана/переведена она хорошим, понятным языком.
Вроде имеется более свежая версия, но как там - ещё не смотрел.

Отредактировано MihalNik (2018-11-03 18:38:21)

0

17

Это же в целом косяк перевода, а не среды.

Это наверное косяк общества любителей КП.

0

18

utkin написал(а):

Это наверное косяк общества любителей КП.

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

Отредактировано MihalNik (2018-11-03 19:48:12)

0

19

Посматривал доклады с Дня Оберона 2018.
Факты:
8-м человеком в Гугл пришел бывший оберонщик.
Чем занимались разработчики после Оберона? На той же языковой основе исследовали и выполнили программирование ПЛИС с финансированием от Майкрософт.
Кое-где у нас в квантовых исследованиях запрещали Фортран и вводили ЦПП - не смогли отладить программы и снова разрешили Фортран. Кое-какие данные смогли корректно обработать только с помощью Оберона - немцы хотят воспроизвести над большим объемом с помощью ЦПП через несколько лет.
В АПКшном Мираторге заменили кучу тяжеловесного ПО с помощью Оберона.

Мнения:
В школах нужны основы, только лучшие образцы, а не топовый мейнстрим с синтаксическим сахаром/мусором, чтобы в последствии сразу можно было писать на простом подмножестве в любом языке.
В науке нужны простые строго типизированные языки, потому что обучить какого-нибудь готового ЦПП-кодера сложной науке (вроде квантовой физики) невозможно. В ЦЕРНе на ЦПП дела находятся в плачевном состоянии.
На рынке дефицит, который затыкают всем подряд.
Промышленности нужны прозрачные "безосные" программные решения.

Отредактировано MihalNik (2018-12-17 04:35:06)

0

20

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

Таки скорее всего, те кто не любит паскаль, однозначно идентифицируют его по таким ключевым словам как "procedure, begin, end, then".
Учитывая, что синтаксис занимает четверть исходников - это и не удивительно.
А ведь добрую часть этой зарезервированной массы можно было потратить на полноценные названия разных переменных, процедур и констант.

Отредактировано MihalNik (2019-01-05 22:13:35)

0


Вы здесь » Русскоязычное программирование » неинтересные сообщения » Компонентный Паскаль или Фри Паскаль ХЗ (хочу знать!)?