[fpc-pascal] cocoa programming without objective-pascal mode

Bee bee.ography at gmail.com
Mon Nov 3 04:10:52 CET 2014

On Mon, Nov 3, 2014 at 12:28 AM, Jonas Maebe <jonas.maebe at elis.ugent.be>

> I assume you didn't put it there in the hope that nobody would ever
> notice it or ask questions about it. If you did in fact hope that, then
> there are probably more effective approaches than posting it to the
> fpc-pascal mailing list, where the people who are personally responsible
> for this alleged degradation (or at least for not addressing it) are
> subscribed.

I'm sorry, Jonas. I just say what I've felt about FPC/Lazarus on Apple
platform. I didn't mean to offend anybody. That footer text is now removed.

On Mon, Nov 3, 2014 at 1:38 AM, Felipe Monteiro de Carvalho <
felipemonteiro.carvalho at gmail.com> wrote:

> It is possible, I was doing it before Objective Pascal was created.
> Just use the functions in the objective-c runtime, read:
> http://wiki.lazarus.freepascal.org/PasCocoa

I thought this one is deprecated.

> https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ObjCRuntimeRef/index.html
> But I warn you that doing this is a terrible choice. Objective Pascal
> is the way to go. I've been working in Objective Pascal in the LCL
> Cocoa interface and it's pretty good IMHO. But if you are masochistic
> you can use the runtime instead of Objective Pascal.

Yes, it's terrible choice. I'd like to use the Cocoa runtime in OOP way but
without the objective-pascal.

> The Cocoa interface is advancing fast. I am even running out of known
> bugs, so other people testing would be appreciated.

Can I compile Lazarus using Cocoa on Mac? Last time I tried, it failed.

> I don't see how Lazarus would break cross platform. That's a wierd
> statement.

I meant the objective-pascal dialect, not the LCL.

> You got the order inverted here. It is not FPC/Lazarus that are less
> Apple friendly. It is Apple that is each time less Pascal friendly,
> and for that matter also each time less C/C++/Java friendly. Apple
> wants you to use Swift (or whatever it's called).

No, it's not. Apple owns the whole things, the platform, the API, the
language, the IDE, the tools, the market, the device, everything. Including
brings the money to us (app developers) through its customers. Apple has
all its right to do whatever it wants. If we want to join them, we have to
do it by their rules. As simple as that.

Apple owes pascal nothing, so to be pascal friendly. If we want pascal to
be available on Apple platform, we should change pascal. Not the other way
around. And that's where I think the problem comes. The way FPC adapt
itself to Apple platform, by creating objective-pascal dialect, is so bad
that it breaks one of its most important advantage: cross platform.

On Mon, Nov 3, 2014 at 1:52 AM, Sven Barth <pascaldragon at googlemail.com>

> How will you be cross platform if you access Cocoa directly?
Take a look at Delphi. From a single source code base, we can compile it
for Windows and Mac. Hardly any changes are required. But if you want to
target Mac using FPC, I believe you have to use objective-pascal to access
Cocoa API which is not compatible with Windows API. That's where the cross
platform breaks. Am I right? CMIIW.

Another example, take a look at Oxygene --another pascal language variant
by RemObjects-- is able to target OSX, iOS, .Net, Mono, and Android
natively without ruining their pascal syntax. Why can't FPC be like that? I
don't understand because I'm not a compiler guy. :)

Any explanation would be very much appreciated. Thank you.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20141103/97995b4a/attachment.html>

More information about the fpc-pascal mailing list