On Wed, Oct 14, 2009 at 11:25 PM, Gary Dumer <gedu...@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
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to