SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [MISC] C is a language that was never properly designed.



Peter Makholm wrote:
> 
> Således skriver Hans i sin signatur:
>    "C is a language that was never properly designed."
>      http://www.occl-cam.demon.co.uk/whitepaper.html
> 
> Så er spørgsmålet, som jeg håber at Hans kan svare på, hvad vil det
> sige at et sprog er "properly designed"?
> 
> Jeg går ud fra at ovenstående link skriver det, men jeg gidder ikke
> finde det frem, og jeg vil også hellere høre Hans' definition (som
> eventuelt er sammenfaldende med hvidbogens definition.
> 
> --
> Peter
FRA TEKSTEN:
--
Since the definition of Algol 68 many languages have appeared both for
program specification and for execution. The Wirth family continues from
Pascal to Modula-2 to
Oberon and even the recent languages have not caught up completely with
Algol 68. FORTRAN has progressed to FORTRAN77 (which only really added
the block IF), and more
recently to Fortran 90 which finally adds the sophistication in array
handling that Algol 68 provided (though recent proposals for Fortran 95
are finally progressing beyond
Algol 68 - although not beyond the visions of proposals for Algol 68 in
the mid 1970s!). Ada borrowed extensively from Algol 68 (although it
chose to use a more Pascal syntax)
and provided some innovation but rejected much that we consider
important (such as procedures as data object). There have also been many
experimental or academic
languages that have tried out notions such as functional programming or
data-flow languages but these have not yet developed to usable languages
for real-world
applications. 

And, of course, C. C is a language that was never properly designed. It
evolved from a
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 hodge-podge of BCPL with some ALGOL-W ideas thrown in, intended as a
high-level
assembler for PDP-11s and Unix. For all of the ANSI overhaul of C which
tidied up many details and included many ideas from Algol 68 (such as
typing the parameters of a
function), it is still little more than a high-level assembler. We find
it alarming that so much software is written with a language as
untrustworthy as C. 

A final strand of language development has been the recent
"object-orientated programming languages". There is nothing new under
the sun of course. This all goes back to
Simula 67 which came out of the same melting pot as Algol 68 sharing
many of the same concepts. Simula was a language designed for simulation
purposes (as its name
suggests) and provided a good model of co-routines with classes to
manage the multiple stack threads. We have a lot of respect for Simula,
but the same cannot be said for the
takeup of C++. Stroustrup, the author of C++, has commented that his
goal was to teach Simula to his students but he didn't have a Simula
system available on the lab
machines; so he designed a simple enough language to demonstrate the
concepts of Simula on student problems. Stroustup did this as a
preprocessor for C, hence C++ (which
actually means "take C, improve it, and then throw the result away"!).
C++ is nevertheless an imposing superstructure built on a foundation of
quicksand. 

It will be interesting to see how Algol 68 develops in the future in
response to recent developments in class-structuring, polymorphism,
parallel programming and persistent
storage. 
-----


hvad er hvidebog? en ringe oversættelse af whitepaper eller ? 


Later..
   sslug@sslug


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:17
Denne side vedligeholdes af MHonArc .