discuss-gnustep
[Top][All Lists]
Advanced

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

Re: What is GNUStep used for?


From: Nicolas Roard
Subject: Re: What is GNUStep used for?
Date: Thu, 15 Oct 2009 00:57:34 +0100



On Wed, Oct 14, 2009 at 11:25 PM, Gary Dumer <gedumer@yahoo.com> wrote:
Exactly what is GNUStep used for?

Here's what I can figure out:

1. It's not an operating system.

2. It's not a GUI builder.

3. It includes Objective-C as its main application building tool.

4. It has some really ugly, retro looking apps  (Gorm... etc.) for developing programs.

What I'd like to know:

1. Is it designed to promote Objective-C?

2. If it does not produce GUI apps, how were Gorm... etc. produced?

3. Is it mainly for Linux and Windows?

4. Is it necessary to use GNUStep and its libraries or may I just write ObjC apps using GCC?

The website doesn't do a very good job of introducing potential new users to the true purpose and use of GNUStep.

So I repeat... What is GNUStep used for?

Keeping things simple:

It's a programming framework for Objective-C. That is, it provides various Objective-C libraries implementing a bunch of stuff so that you don't have to, both for non-graphical things (that's Foundation) and for graphical things (that's the GUI toolkit, called AppKit).

Foundation and AppKit originates from a specification called OpenStep. MacOSX provides an implementation of those two libraries, and they are used to write most OSX applications. GNUstep's implementation of those two libraries are also referenced respectively as "gnustep-base" and "gnustep-gui". MacOSX's implementation is slightly different (mostly, with additional classes/methods) to gnustep's, but one goal is to track osx's implementation. The end result is that it's pretty easy to have an application running both on OSX and on GNUstep, with minimal (or no) modifications.

In addition to that, the GNUstep project is the umbrella of subprojects such as GORM or ProjectCenter. Those two are applications that respectively let you create a UI for your program and manage your code. I could go on and on about GORM because it's a lot more than just a mere GUI builder, it's really an Object modeller, but well, at first glance it is a GUI builder :) (The equivalent application on OSX is called InterfaceBuilder).

Finally, GNUstep is cross-platform, so if you write a program using the GNUstep libraries, it will be able to work on the platforms that GNUstep supports, mainly, linux, bsd and windows.

So to answer your questions:

1. It's not an operating system.

indeed, it's a programming environment.

2. It's not a GUI builder.

it's not, but it contains one (GORM).

3. It includes Objective-C as its main application building tool.

as its main programming language, not tool. That would be ProjectCenter and/or GNUstep make (a collection of make macros that let you create a makefile trivially)

4. It has some really ugly, retro looking apps  (Gorm... etc.) for developing programs.

well, I guess...

1. Is it designed to promote Objective-C?

That's an odd question -- it's no more designed to promote Objective-C than Qt is designed to promote C++. It's just an implementation of an awesome framework (OpenStep) that was really well designed (and therefore let you write application much more quickly than some other programming frameworks). OpenStep happens to be done in Objective-C, so here you go.

2. If it does not produce GUI apps, how were Gorm... etc. produced?

It does. There are two main programming libraries (though we call them "frameworks" rather than libraries, as that's what they are), one dealing with non-graphical stuff, the other with graphical stuff (i.e., creating a UI).

Gorm, ProjectCenter, and other applications using GNUstep use this framework.

3. Is it mainly for Linux and Windows?

Linux, BSD and Windows, yes. Mainly.

4. Is it necessary to use GNUStep and its libraries or may I just write ObjC apps using GCC?

You can write ObjC apps using GCC and no GNUstep, but that's imho kind of missing the point. 

--
Nicolas Roard
"I love deadlines. I like the whooshing sound
they make as they fly by." -- Douglas Adams

reply via email to

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