Can anyone recomend a good intoduction to C...

Marcin 'Qrczak' Kowalczyk qrczak at knm.org.pl
Fri Mar 9 03:48:22 EST 2001


9 Mar 2001 04:31:48 GMT, Paul Jackson <pj at sgi.com> pisze:

> Bjorn's goal, clearly, was to support a number of styles,
> of which O-O is just one.

It completely fails for the functional style: no garbage collection, so
it's hard to return by reference and share substructures, no functions
as first class values (no nested functions and no partial application),
no algebraic types (tagged union of products), no laziness (and hard
to emulate it because of lack of nested functions).

I know C++ well and dislike it so much. Fortunately I don't have to
use it.

I dislike C too, but at least there is an area where it's a good
choice: low-level programming, i.e. OS interface, OS itself, runtime
systems for other languages, time-critical modules for other languages.
C++ doesn't fit there, is unnecessarily too complicated for these
tasks, and it isn't a high level language either.

IMHO it's used mostly because people knew C before, needed to use a
higher level language, didn't want to change C's habits or lose C's
libraries, and failed to realize that there is plenty of real high
level languages out there. Then C++ became popular enough to live
its own life.

Designers of high level languages probably have paid too little
attention to interoperability with other languages. Especially with C,
as the practice shows - system-level libraries are almost always in C,
at least under Unix. C is easy to use from C++; you don't even need
a separate manual for a C++ interface to a C library.

Language interoperability is fun.

working-on-Haskell<->Python-binding-ly y'rs
-- 
 __("<  Marcin Kowalczyk * qrczak at knm.org.pl http://qrczak.ids.net.pl/
 \__/
  ^^                      SYGNATURA ZASTĘPCZA
QRCZAK



More information about the Python-list mailing list