Синтаксис.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Синтаксис.

Сообщение iskander » 06.12.2012 18:07:01

SashkuS писал(а):хотябы заменить begin end

Код: Выделить всё
{$MACRO ON}
{$DEFINE proga:=program}
{$DEFINE yo:=begin}
{$DEFINE nah:=end}
{$DEFINE BlaBla:=Writeln}

proga Proga1;

{$mode objfpc}{$H+}

yo
  BlaBla('Hello from Proga!')
nah. 

:wink:
iskander
энтузиаст
 
Сообщения: 624
Зарегистрирован: 08.01.2012 18:43:34

Re: Синтаксис.

Сообщение SashkuS » 06.12.2012 18:12:22

оо спасиба! :)

Добавлено спустя 27 минут 3 секунды:
а где можно почитать про максросы для lazarusa?
SashkuS
новенький
 
Сообщения: 20
Зарегистрирован: 13.05.2012 23:35:03

Re: Синтаксис.

Сообщение alexey38 » 06.12.2012 18:40:20

SashkuS писал(а):на прямую обращаться к DLL 100% нельзя, а чтобы писать обёртки нужна лицензионная визуал студия и тогда спрашивается нафига мне лазарус(грубовато звучит, но как есть)
OpenCL тоже довольно шаткая штука, потому что есть OpenCL от NVidia, есть от Intel, есть от AMD, есть еще miniCL.

1. Почему нельзя обращаться к DLL? При большом желании любой класс можно рассматривать как запись, VMT - это тоже вариант записи. И метод класса - это обычная функция, где в параметрах передается ссылка на класс. Я встречал реализацию запуска сишных классов из Дельфи. Может немного геморно, но вполне возможно.
2. Если некие разработчики интерфейса физикса мягко говоря идиоты, то почему Вы критикуете Паскаль, а не тех товарищей?
3. А в чем проблема нормально обернуть сишные классы на си, сделав нормальную dll-обертку? Падения быстродействия нет, если не криви писать. Обернуть думаю, что можете на экспресс-версии визуала.
4. Физикс - это в любом случае частный случай, есть и другие виды ускорителей. OpenCL - это все же более универсально, и за редким исключением одинаково для разных аппаратных систем.
5. В больших проектах часто идет использование разных инструментов и разных языков программирования. Например, Delphi (Lazarus) + SQL (MySQL, Firebird, ...), и ни кто не говорит, что такая связка это плохо. Точно также не плохо иметь грузовой и легковой автомобиль. Точно также можно большой проект делать на нескольких языках. Например, штуку вокруг физикса можно написать на сях, а прочую часть на паскале. Мы у себя так делаем, т.к. на сях есть хорошие мат.библиотеки, мы их используем на паскале через обертки под наши задачи. Это упрощает разработку. Но если бы я все писал на сях, то потратил в 3 раза больше времени (уже был такой опыт).
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Синтаксис.

Сообщение SashkuS » 06.12.2012 19:23:44

alexey38 писал(а):Почему нельзя обращаться к DLL? При большом желании любой класс можно рассматривать как запись, VMT - это тоже вариант записи. И метод класса - это обычная функция, где в параметрах передается ссылка на класс. Я встречал реализацию запуска сишных классов из Дельфи. Может немного геморно, но вполне возможно.

вообщем та с физиксом проблема разрешилась только через ассемблеровские вставки, которых писать надо много потому как автор вставок сказал:
без асма не обойтись, так как в стандартной дельфе нету такого типа вызова, что параметры передаются через стек, а указатель на self - в регистре ECX.

alexey38 писал(а):Если некие разработчики интерфейса физикса мягко говоря идиоты, то почему Вы критикуете Паскаль, а не тех товарищей?

да потому что в этом плане мне важнее не язык программирования и не среда, а возможности физъдвижка.
alexey38 писал(а): А в чем проблема нормально обернуть сишные классы на си, сделав нормальную dll-обертку? Падения быстродействия нет, если не криви писать. Обернуть думаю, что можете на экспресс-версии визуала.

проблема в том стандарт бесплатен только для не коммерческого использования или если будешь продавать, то выкладывай исходники... вообщем тут проблема чисто с точки зрения бабла и рациональности использования. потому что кроме физикса точно также (я больше чем уверен) всплывут и все остальные сишные решения, потому что для моих задач всё самое вкусное написано на С++ и то что оно не фурычет из под паскаля, это уже скорее проблемы паскаля, потому что это я тут распинаюсь и объясняю почему мне нравится СИ, а все остальные 99% просто переходят на си не устраивая публичных разбирательств.
По поводу обёрток: я просто не вижу смысла их писать, когда работа предполагает тесное взаимодействие, да и притом что физикс используют как правило в связке с графическим движком (еще одна обёртка?), и самое главное опять же вопросы по поиску программистов... связка паскаль и СИ... просто не понятна в этом случае. Любой скажет: "o_O а нафига так всё сложно? берём С++ и пишем всё на нём!"
SashkuS
новенький
 
Сообщения: 20
Зарегистрирован: 13.05.2012 23:35:03

Re: Синтаксис.

Сообщение alexey38 » 06.12.2012 20:13:03

SashkuS писал(а):без асма не обойтись, так как в стандартной дельфе нету такого типа вызова, что параметры передаются через стек, а указатель на self - в регистре ECX.

Тем более разработчики интерфейса физикса идиоты, что выбрали самый частный случай вызова.
SashkuS писал(а):да потому что в этом плане мне важнее не язык программирования и не среда, а возможности физъдвижка.

Мне, например, физикс не нужен, а нужен некий электрический интерфейс для реальных физических подключений внешних элементов. И этот интерфейс приходится делать на микросхемах, транзисторах и прочих элементах. Я же не говорю, что Дельфи плох, раз не позволяет припаять микросхему.
Так и у Вас частный случай.

Добавлено спустя 8 минут 6 секунд:
SashkuS писал(а):Возможно ли изменить синтаксис для тех кто привык работать в Си? ну хотябы заменить begin end на фигурные скобки и если это возможно

Ведь исходный вопрос у Вас заключался не в том, как бы научить ФПС делать Си-подобный вызов функций классов, а именно в фигурных скобках, которые в паскалевских исходниках считаются комментариями. Как собираетесь работать с паскалевскими библиотеками? Каждый модуль со своим синтаксисом?
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Синтаксис.

Сообщение SashkuS » 06.12.2012 23:34:00

alexey38 писал(а):Тем более разработчики интерфейса физикса идиоты, что выбрали самый частный случай вызова.

к сожалению не только они, разработчики наиболее мощных инструментов почему то не представляют порты для других языков, кроме как враппер.... а говорить что они мудаки и делают не правильно, а большинство за ними повторяет.. это путь в никуда, если всё хорошо взвесить и допилить паскаль, под сишные вызовы, то можно переманить приличное число разработчиков на паскаль.
alexey38 писал(а): а именно в фигурных скобках, которые в паскалевских исходниках считаются комментариями.

про это я забыл, да и вопрос уже снят. Где можно почитать про макросы?
SashkuS
новенький
 
Сообщения: 20
Зарегистрирован: 13.05.2012 23:35:03

Re: Синтаксис.

Сообщение alexey38 » 07.12.2012 05:21:32

SashkuS писал(а):разработчики наиболее мощных инструментов почему то не представляют порты для других языков, кроме как враппер

Хорошо сделанная обертка не снижает быстродействия. А если при ее написании реализуется подход от общего к частному, то она органично вливается в архитектуру Вашего проекта. Ведь и без перемены языка используя универсальные библиотеки мы часто вынуждены их оборачивать под нашу частную задачу.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Синтаксис.

Сообщение PapaNT » 07.12.2012 13:05:53

Little_Roo писал(а):Может, лучше в Сях поменять нормальный, даже новичку понятный синтаксис - begin end - и их идиотских скобок

можно пойти дальше и предложить логические блоки делать как в питоне - отступами.
Или сделать директиву компилятору для управления типом логических блоков.
PapaNT
постоялец
 
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 242

Рейтинг@Mail.ru