Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: freeciv2 kernel,modules and rulesets
Home

[Freeciv-Dev] Re: freeciv2 kernel,modules and rulesets

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Andrew Sutton <ansutton@xxxxxxx>
Cc: Freeciv developers <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: freeciv2 kernel,modules and rulesets
From: Petr Baudis <pasky@xxxxxxxxxxx>
Date: Mon, 3 Dec 2001 11:24:23 +0100

Sorry, I didn't realize some people don't have their mails threaded, I will
keep attributions there.

Andrew Sutton:
> > Obviously, and I get only those features I really want, I can see clear
> > how it's done in reality and possibly tune it, I can see how exactly is
> > it optimized and if the resulting code isn't bloated. In fact, I'm taking
> > the examples from kernel. If you ever had a look at fs code, this is
> > exactly the way it works (not only fs code obviously, basically most of the
> > whole kernel). Why aren't they using C++ and they are reinventing it?
> 
> the linux kernel uses the c and gnu extensions to the c language for a couple 
> reasons. first, c is the unix os language of choice. that's more of a 
> historical fact than anything else. because of this it was originally written 
> in c and will continue to be written in c.
c++ wouldn't be a big step.

>                                            it was probably a pretty big step 
> when the linux kernel adopted the gnu c extensions.
afaik linux required gcc in order to be compiled from the very start.

> second, the kernel uses c because it doesn't require an accompanying runtime 
> library. every program we write in userspace is automatically linked against 
> libc (or glibc) for c apps and libstdc++ for c++ apps. so far as i know its 
> not possible to separate c++ from its runtime library - where it is possible 
> in c. libstdc++ is responsible for things like exception handling and rtti.
ah! that's argument, i take it.

> the reason that we don't want to do what you've done is that its reinvinting 
> the wheel. writing a class in c++ allows you to pick and choose what you 
> want, except it has a compiler to tell you when you're doing something 
> stupid. it also eliminates the overhead of pointer functions. yes... 
how? imho it just must be stored somewhere ;-).

-- 

                                Petr "Pasky" Baudis

UN*X programmer, UN*X administrator, hobbies = IPv6, IRC, FreeCiv hacking
.
  "A common mistake that people make, when trying to design
   something completely foolproof is to underestimate the
   ingenuity of complete fools."
     -- Douglas Adams in Mostly Harmless
.
Public PGP key, geekcode and stuff: http://pasky.ji.cz/~pasky/


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