FPC 2.4.0 release candidate
Модератор: Модераторы
- Slavikk
- постоялец
- Сообщения: 208
- Зарегистрирован: 15.01.2007 21:34:52
- Откуда: Из лесов...
- Контактная информация:
FPC 2.4.0 release candidate
С 9 ноября 2009 стал доступен первый релиз кандидат FPC 2.4.0, просим протестировать его. Нововведения:
* For..in-loops are now supported (including some FPC-specific extensions).
* The compiler now understands sealed and abstract classes, and final methods.
* Together with the Mac Pascal community, we have designed and implemented a basic Objective-Pascal dialect for directly interfacing with Objective-C on Mac OS X (including header translations for several Cocoa frameworks).
* The Mac OS X interfaces have been updated to their Mac OS X 10.6 state (including 64 bit and iPhoneOS support).
http://freepascal.org/
* For..in-loops are now supported (including some FPC-specific extensions).
* The compiler now understands sealed and abstract classes, and final methods.
* Together with the Mac Pascal community, we have designed and implemented a basic Objective-Pascal dialect for directly interfacing with Objective-C on Mac OS X (including header translations for several Cocoa frameworks).
* The Mac OS X interfaces have been updated to their Mac OS X 10.6 state (including 64 bit and iPhoneOS support).
http://freepascal.org/
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Перечисленные нововведения - из транка, а не из rc2.4.0. Не нужно народ дезинформировать...
Язык всё усложняется, а поддержки динамически подгружаемых пакетов так и нет. Жаль!
Или я ошибаюсь?
Хотелось бы, чтобы Objective-Pascal работал не только на MacOSX, но и на Windows и на Linux+GNUStep. Уважаю Objective-C. Чувствую, и Objective-Pascal понравится.
Хотелось бы, чтобы Objective-Pascal работал не только на MacOSX, но и на Windows и на Linux+GNUStep. Уважаю Objective-C. Чувствую, и Objective-Pascal понравится.
rv82 писал(а):Хотелось бы, чтобы Objective-Pascal работал не только на MacOSX, но и на Windows и на Linux+GNUStep. Уважаю Objective-C. Чувствую, и Objective-Pascal понравится.
Так Objective-Pascal это диалект fpc, точнее, языковый режим fpc. Что мешает писать на этом диалекте под другие платформы. Просто его разработали ради Mac OS X и он предназначен для бесшовной работы с этой системой. Я так понял, если нет - поправьте.
Logo писал(а):rv82 писал(а):Хотелось бы, чтобы Objective-Pascal работал не только на MacOSX, но и на Windows и на Linux+GNUStep. Уважаю Objective-C. Чувствую, и Objective-Pascal понравится.
Так Objective-Pascal это диалект fpc, точнее, языковый режим fpc. Что мешает писать на этом диалекте под другие платформы. Просто его разработали ради Mac OS X и он предназначен для бесшовной работы с этой системой. Я так понял, если нет - поправьте.
Чтобы писать на Objective-P под другие платформы, нужно, чтобы на других платформах была runtime библиотека для objective-c. Этот runtime в OSX есть по-умолчанию, а для других систем он добавляется с соответствующей библотекой gcc.
Конечно, стороннюю runtime библиотеку можно заменить аналогом, написанными, например, на FPC
Кто заинтересован настолько, чтобы сделать это самостоятельно, или профинонсировать разивитие?
Чтобы писать на Objective-P под другие платформы, нужно, чтобы на других платформах была runtime библиотека для objective-c
libobjc.so во всех последних дистрибутивах Linux есть. Не знаю когда оно появилось в GCC, но сейчас есть.
Добавлено спустя 4 минуты 55 секунд:
Размер всего пакета libobjc вместе с манами и доками для i386 ~387 KB, а для x86_64 ~741 KB.
Logo писал(а):libobjc.so во всех последних дистрибутивах Linux есть. Не знаю когда оно появилось в GCC, но сейчас есть.
Размер всего пакета libobjc вместе с манами и доками для i386 ~387 KB, а для x86_64 ~741 KB.
зная, разношёрстность дистрибутивов линукса, я бы не стал утверждать что есть во ВСЕХ последних ))
осталось совсем немного: подточить fpc кодогенератор под особенности gnu-objc, встроенный elf-ассемблер и внешний gnu-ассемблер для сборки obj-c совместимых бинариков!
всего-то делов!
осталось совсем немного: подточить fpc кодогенератор под особенности gnu-objc, встроенный elf-ассемблер и внешний gnu-ассемблер для сборки obj-c совместимых бинариков!
Тоесть, gnu-objc не совсем совместим с Apple, а Objective-P заточен именно под Apple?
скалогрыз писал(а):или профинонсировать разивитие?
Я готов профинансировать. Пятисот рублей хватит?
Vadim писал(а):Я готов профинансировать. Пятисот рублей хватит?
более чем достаточно! а возможно, эти 500 рублей, даже слишком много.
Но 500 рублей на команду разработчиков (а ведь они почти все они европейцы 1евро==43 рубля) как-то мало. Возможно тебе нужно найти ещё достаточное количество народа, чтобы каждый скинулся по-копеечке ))
А на сайт можно поместить баннер жертвования аля википедия!
(пожертвуйте ещё 2 млн, чтобы получить obj-p на linux)
А что оно даст, кроме возможности писать на диалекте. Код станет скорее? Или какие новые возможности языка удобные добавяться аналогов которых нет в FPC?
скалогрыз писал(а):А на сайт можно поместить баннер жертвования
Что-нибудь типа "Медам, мьсе, же манж па obj-c'с жур..."?
FedeX писал(а):А что оно даст, кроме возможности писать на диалекте. Код станет скорее? Или какие новые возможности языка удобные добавяться аналогов которых нет в FPC?
Для OSX (iPhoneOS) поддержка Cocoa критична, потому что Apple отказывается от Carbon (API на Cи) и активно использует API на ObjC. Особенно для высокоуровневых вещей, вроде пользовательского интерфейса.
(Для низкоуровневых библиотек, где важна производительность: работа с сетью, графикой, музыкой активно использется старый добрый Си).
Objective-C можно использовать не имея поддержки со стороны компилятора (так было сделано в PasCocoa, ObjCPython и Ruby). Но проблема заключается в том, что нужно написать кучу обёрток (и обёрточного кода). Такие обёртки трудно расширяемы, а написать дополнительную обёртку, без спецподготовки не получится.
Для полноценной реализации ObjC класса, нужно написать около 3-х ObjectPascal классов-обёрток
Например чтобы наследовать от ObjC класса, нужно будет *правильно* написать наслодование на runtime, а так же сделать наследование для классов-обёрток..
Всё это возможно, но очень трудоёмко!
Зато, при прямой поддержке obj-c компилятором, вся работа по созданию "обёрток" не нужна! с obj-c классами работают на прямую (даже наследование классов)
про ориентацию Apple на ObjC я говорил (это у Джоббса ещё с NeXTSTEP).
Зачем obj-c в Linux-е, я не знаю... наверное какие-то экзотические библиотеки поддерживать.
Зачем obj-c в Linux-е, я не знаю... наверное какие-то экзотические библиотеки поддерживать.
Есть на свете замечательная вещь -- GNUStep. Сделан он по спецификации OpenStep. Из всех GUI-framework'ов, в Линуксе я предпочитаю использовать именно его (а в Win -- Tcl/Tk). Поэтому, рад тому, что в FPC теперь будет поддержка Obj-Pas. Хотя, конечно, GNUStep -- довольно экзотическая вещь и для его использования желателен WindowMaker. Но, ко всему можно привыкнуть.
