discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Beginning with obj-c/gnustep


From: Ed Den Doolaerd
Subject: Re: Beginning with obj-c/gnustep
Date: Thu, 22 Jun 2017 14:12:04 -0700

David,

Before deciding for Objective C / FreeBSD, I did some research. The objective c syntax corresponds with Smalltalk, with named parameters for the message calls. I'm fine with that.

Beside memory management, I think my biggest problem will be makefiles and compiler options. 
I'm used to working in a very standardized environment, and that seems to be totally different on the pc, with different commans and ways of working, not only between different operating systems, but even between the different distributions of Linux.   

By the way, I do a reply to all, so you will get my answer in your personal  mailbox. Is this the correct way, or should I, for future questions, send replies only to the mailing list?

Thanks for the reply,

Ed

Op 22 jun. 2017 18:45 schreef "David Chisnall" <theraven@sucs.org>:
Hi,

On 22 Jun 2017, at 16:50, Ed Den Doolaerd <edendoolaerd@gmail.com> wrote:
>
> Hello guys,
>
> let me shortly introduce myself: I've been a mainframe programmer/analyst for 33 years, mainly programming in COBOL. On the PC platform, besides some elementary stuff in C and Java, I have no programming experience.
>
> I wanted to try programming on the PC, using open source software. I will not go into the details of how I arrived at it, but I believe having good reasons to choose for Objective C / Gnustep on FreeBSD. I hoped you could tell me if this seems feasible with my background, or if I  would be better off to start with another programming language /OS, and coming back to Objective C later on.

First: I am totally biased on both counts (as the libobjc2 author and a former FreeBSD Core Team member), so please read into this what you will:

If you more or less understand C (i.e. the commonly used parts of the language, not all of the crazy pointer arithmetic stuff) and you understand the Java object model, then Objective-C should be relatively easy for you.  The biggest hurdle is likely to be the syntax, though Objective-C syntax is more COBOL-like than C-like[1], so this might not be a problem.

If you use ARC (which works out of the box on FreeBSD) then 99% of the time you can avoid thinking about memory management (cyclical data structures will leak, but once you notice those then it’s relatively easy to fix).  The main difference beyond that from Java is that method invocation (message dispatch in Smalltalk / Objective-C terminology) is not tied to the class hierarchy.  Before invoke_dynamic was added to Java, Redline Smalltalk (Smalltalk on the JVM) implemented something similar by adding an interface for every method and inserting a cast-to-interface before each method invocation.  That may help you as a mental model.

David

P.S. One of the FreeBSD committers has written his own Foundation implementation, which has better FreeBSD integration and a more permissive license, but is far less feature complete than GNUstep.  If you’re mostly interested in smallish server tasks, it might be a better fit, as it has a smaller footprint.  If you’re interested in GUI applications or more complex server things then it probably isn’t.

[1] Please, no one kill me for saying that!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]