Перейти к содержанию
    

вышел в свет PMP-pascal v1.2

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

Надо же. А у меня от писания на Паскале создаётся впечатление, что получится всё, что потребуется. Не помню, чтобы я что-нибудь обходил. А что там надо обходить? Язык очень близок к естественному, получается красиво (хотя о вкусах не спорят :))

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

Вышло плохо, практически простота и изящество исходного языка была вывернута наизнанку.

А что именно вышло плохо? Где наизнанку? Когда я после рисования схем что-то пишу в Delphi, просто-таки душа радуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что именно вышло плохо? Где наизнанку? Когда я после рисования схем что-то пишу в Delphi, просто-таки душа радуется.

Не к Паскалю, но к продуктам Борладна.

Как-то еще в универе я разбирался с рисованием иконочек на кнопках. Понятно, что кнопка может быть Disabled, соотв. иконка должна стать серо-белой, "выпуклой". Так вот я долго искал как эту фичу можно сделать, хотел подглядеть как в библиотеках Борладна реализовано. Оказалось, они хранят тупо 2 иконки. Плное разочарование. Вобщем, оказалось после непродолжительного поиска, что в WinAPI усть функция, кот переделывают обычную иконку в эту самую Disabled. Все изящно и красиво. Вот только Борланд до сих пор так и использует либы с BitmapButtons, где хранится 2 иконки для каждой кнопки. Вот такое расточительство.

 

А по поводу ограничений паскаля: как насчет параметров функций со значениями по умолчанию, ф-ий с переменным к-вом параметров, перегрузки операторов. Я вот частеньков коде пользую "volatile". Есть аналогичное в паскале?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не к Паскалю, но к продуктам Борладна.

Все мы не без недостатков...

А сейчас можно начать перечислять достоинства :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А по поводу ограничений паскаля: как насчет параметров функций со значениями по умолчанию
Не все так плохо у "Борладна" вроде Delphi позволяет использовать функции WinAPI да и параметры функций со значениями по умолчанию

FUNCTION RestAcc( sLS : String; dDat : TDateTime; lRej : Boolean = True; lCur : Boolean = True ) : Boolean;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А по поводу ограничений паскаля: как насчет параметров функций со значениями по умолчанию, ф-ий с переменным к-вом параметров, перегрузки операторов. Я вот частеньков коде пользую "volatile". Есть аналогичное в паскале?

Странные люди бывают... Если человек плохо знает или вообще не знает Delphi, то он ругает возможности языка, а не свое не_знание языка. PS: все вышеописанное давно уже есть в Delphi...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если человек плохо знает или вообще не знает Delphi, то он ругает возможности языка

+1

Причем, топик про совсем другой Паскаль, а ругает Delphi <=6 :)

И про volatile понравилось - ну кто ж виноват, что в сях оптимайзер живет своей жизнью... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Причем, топик про совсем другой Паскаль, а ругает Delphi <=6 :)

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

И про volatile понравилось - ну кто ж виноват, что в сях оптимайзер живет своей жизнью... :)

Глупость изрекли. Жаль, что не понимаете :(.

1.Компиляторы НЕ ОПТИМИЗИРУЮЩИЕ работу с глобальными переменными и постоянно обращающиеся к медленной памяти и еще более медленной периферии есть дерьмо не пригодное для нормального использования.

2.Любой ОПТИМИЗИРУЮЩИЙ компилятор будучи хоть семи пядей во лбу не способен без подсказки оптимизировать работу с переменными, которые изменяются не по его воле.

3.Бездумное массовое использование volatile есть первейший признак абюсолютной безграмотности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Я бы добавил - жалкой кучки :) Будь я на Вашем месте, конечно.

Авторы Delphi спекулируют на слове "Паскаль"? Несправедливо всё это, личное отношение, имхо. :) Терминология попахивает религиозной войной. Нет чтобы поговорить об основных идеях, сравнить их...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Авторы Delphi спекулируют на слове "Паскаль"?

Да, поскольку это начиналось как Борланд Паскаль. Много позже когда припарки превзошли все границы разумного и затмили собой не только язык, но и собственно программирование (дайте мне "компонент".....) появились собственное имя, но родство с Паскалем поминают всегда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ох, не любите Вы Паскаль! А я люблю!

Наверное, из-за подобных наездов теперь язык программирования, используемый в Delphi, теперь тоже называют Delphi.

14 операторов исходного Бейсика тоже нельзя использовать в голом виде, как и виртовский Паскаль. Бейсик тоже ничего не значит? За Си не скажу, не знаю :)

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

А в этой теме, насколько я понимаю, речь идёт о языке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в этой теме, насколько я понимаю, речь идёт о языке.

Именно, именно о языке который уже практически ничего общего с некими монстром, который сейчас Вы назвали "системой программирования" от Борланд уже не имет. Любой другой "Паскаль" на самом деле тоже только несколько похож на прародителя. И в этом есть печальное фундаментальное отличие от стандартизированного Си для которого тоже, конечно, разные творцы, да и тот-же Борланд, создают "системы программирования". Но к счастью ими (ну кроме особых уродцев типа того-же Билдера) можно просто не пользоваться.

 

 

 

Ох, не любите Вы Паскаль! А я люблю!

чь идёт о языке.

Просто владея несколькими языками я могу оценивать их достаточно объективно, а не по критериям любви. А любовь, любовь она как известно зла - полюбишь и .....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Глупость изрекли. Жаль, что не понимаете :(.

...Вечно бурчащий и недовольный "Старик и АРМ".

Но, блин, вопросом владеет -это точно! :)

Вы бурчите, пожалуйста! Это выгоняет глистов из мозга и выпрямляет кривые руки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость DL36

Я работал в дельфи 3,4,5 а сейчас работаю на С и жалею времени потраченного на дельфи.

 

Вы вот специалист в дельфи подскажите как решается проблема с указателями. Мои бывшие соратники просят переписать длл-ку и мне надо из дельфи передать адрес буфера, понятное дело писать буду на плюсах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Именно, именно о языке который уже практически ничего общего с некими монстром, который сейчас Вы назвали "системой программирования" от Борланд уже не имет. Любой другой "Паскаль" на самом деле тоже только несколько похож на прародителя.

Попробую ещё раз: система программирования и язык программирования - разные вещи. Второе без первого смысла не имеет, конечно, но имеет право на отдельное рассмотрение :)

А не огласите критерии Вашей объективной оценки?

Вы вот специалист в дельфи подскажите как решается проблема с указателями. Мои бывшие соратники просят переписать длл-ку и мне надо из дельфи передать адрес буфера, понятное дело писать буду на плюсах.

Я решаю просто: иду на http://www.delphikingdom.com/, пользуюсь поиском, если не нашёл ответа - спрашиваю. Там можно и без регистрации. Вашей проблемы с указателями я не знаю, но всё равно предлагаю туда пройтись :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я работал в дельфи 3,4,5 а сейчас работаю на С и жалею времени потраченного на дельфи.

Вы вот специалист в дельфи подскажите как решается проблема с указателями

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

Type

PUsr_Keys_Info = ^TUsr_Keys_Info;

TUsr_Key_Info = Packed Record

Num : Array [0..10] Of Char;

Status : Word;

END;

TUsr_Keys_Info = Array[0..15] OF TUsr_Key_Info;

 

VAR

Data : Cardinal;

pKeysInfo : PUsr_Keys_Info;

nKeySlots : Word;

pGetDrvInfo : FUNCTION( pKeysInfo : PUsr_Keys_Info;

pKeySlots : PWord ) : Word; StdCall; {Описание функции в DLL}

 

implementation

 

PROCEDURE FormCreate(Sender: TObject);

begin

inherited;

Data := LocalAlloc(LMEM_FIXED, SizeOf( TUsr_Keys_Info ) );

pKeysInfo := LocalLock( Data );

CheckOper( pGetDrvInfo( pKeysInfo, @nKeySlots )); //Вызываем функцию и передаем указатель

end;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...