*BSD News Article 69846


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.uwa.edu.au!disco.iinet.net.au!news.uoregon.edu!arclight.uoregon.edu!dispatch.news.demon.net!demon!jraynard.demon.co.uk!not-for-mail
From: james@jraynard.demon.co.uk (James Raynard)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: How is FreeBSD for a Unix (programming) newbie?
Date: 31 May 1996 15:58:14 -0000
Organization: A FreeBSD Box
Lines: 64
Message-ID: <4on4um$hij@jraynard.demon.co.uk>
References: <ericd-3005961647020001@slip26.denver.net>
NNTP-Posting-Host: localhost.demon.co.uk
X-NNTP-Posting-Host: jraynard.demon.co.uk

In article <ericd-3005961647020001@slip26.denver.net>,
Eric A. Drumbor <ericd@denver.net> wrote:

>I basically need some references that explain ... using a compiler
>within Unix (writing the program, executing it, etc).

As it happens, I'm just finishing a document on how to get started
with developing programs on FreeBSD. I was planning to submit it for
the Handbook over the weekend, but if you fancy "beta-testing" it,
just mail me for a copy. (Or anyone else, for that matter).

>can I get a general reference (something that generally covers Unix, so I
>can work with FreeBSD from start to finish) or do I need to get some
>specific books (use Linux, understand it, then move to FreeBSD).  

With Unix programming, it's best to try and keep everything as
portable as possible and avoid anything system-specific like the
plague. Unlike the Mac, where Apple kept an iron grip on the specs,
there have been dozens of "flavours" of Unix, all of them
almost-but-not-quite compatible with each other. 

If you're not careful, you can cause tremendous problems for yourself
when you try to compile your code on a different "flavour" from the
one you wrote it on. (It's no good saying "It doesn't matter because
I'll never use anything but Foonix 6.8" - believe me, one day you
will, if not out of choice then out of necessity! 8-)

Fortunately, FreeBSD is very compatible, not only with its own BSD
heritage, but with Posix as well, so it's a good platform for writing
portable code.

>BTW, I'm not afraid of a non-GUI interface, I'm just not sure where
to start with this.

Actually, you can mock up an approximation to an IDE using Emacs (all
right, not a particularly close one!), which is one of the things in
the doc.

>     Eventually I want to write some netbound programs, TCP/IP
>interaction, etc.  I'd like to know what direction I'm headed in advance,
>so I don't blow money in the wrong direction (student budget ya know :) 

The best place to start is probably by reading "The Unix Programming
Environment" by Kernighan and Pike. If your Uni has a half-decent
library, it should have a copy. It's a bit out of date in a few
places, and doesn't cover networking at all, but it's an unbeatable
introduction to Unix (and "the Unix way") from the programmer's point
of view.

Once you've read and inwardly digested that (it's not the kind of
book you can glance through in half an hour), "Advanced Programming in
the Unix Environment" by W. Richard Stevens should give you a good
base for doing practically anything you want.

>I'm sure someone out there has been in a similar position, so if someone
>could offer some guidance/advice/anything regarding where to start with
>this venture, I would greatly appreciate it.  Thanks....

Hope this helps.

-- 
James Raynard, Edinburgh, Scotland
jraynard@dial.pipex.com
james@jraynard.demon.co.uk