mboost-dp1

Stallman - GNU C Language Manual


Gå til bund
Gravatar #1 - arne_v
9. sep. 2022 12:12
Stallman (ja - den Stallman) har skrevet en manual til C.

Eller mere præcist - er ved at skrive - den er stadig work in progress.

Den er naturligvis gratis tilgængelig.

Tiltænkt at folk henter texinfo source fra github og bygger med en håndfuld *nix tools.

Men man kan finde en PDF:

https://www.cyberciti.biz/files/GNU-C-Language-Man...
Gravatar #2 - larsp
9. sep. 2022 12:42
At læse lidt i den pdf gav mig for første gang en stærk fornemmelse at tiden er løbet fra C, for alvor. Et gammelt støvet sprog med en masse uhensigtsmæssigheder beskrevet af gamle støvede Stallman. Det er en double whammy.
Gravatar #3 - arne_v
9. sep. 2022 13:06
#2

Jeg vil formulere det lidt anderledes. C er stadig et ok 2.5G (!) sprog som er en klar forbedring af assembler og stadig et validt valg til OS kernel kode. Problemet er alle de folk som bruger C til applikations kode hvor der er mange langt bedre muligheder.

En del betragter Rust som lovende. Og der er også Go, Zig og Hare. Men de er alle ret nye.
Gravatar #4 - arne_v
9. sep. 2022 13:14
#2

Og vi hænger på C i mange år.

al Linux kernel
dele af Darwin (macOS / iOS kernel)
dele af Windows
al Apache httpd
al nginx
dele af Oracle DB
dele af MySQL
al PostgreSQL
dele af MS SQLServer
al SQLite
dele af Chrome
dele af FireFox
(næsten) al PHP
al (C) Python
al (C) Ruby
etc.

Hvis al C kode forsvandt imorgen så ville ingenting virke,
Gravatar #5 - Claus Jørgensen
9. sep. 2022 14:36
arne_v (1) skrev:
Tiltænkt at folk henter texinfo source fra github og bygger med en håndfuld *nix tools.
typisk lol

Fordi markdown er for korrupte mennesker der bliver betalt af Big IT, og bookmarks man kan klikke på er djævlens værk
Gravatar #6 - Claus Jørgensen
9. sep. 2022 14:38
#3

Et andet problem er at folk der bruger C tror at folk der ikke bruger C vil synes sådan en manual som den her faktisk er brugbar.

Den slags folk (altså folk som Stallman) laver stadigvæk mentalt i 80erne.
Gravatar #7 - arne_v
9. sep. 2022 14:41
Og hvis nogen vil have kommandoerne for at producere HTML:

sudo apt update
sudo apt install texlive-latex-extra
sudo apt install ghostscript
sudo apt install texinfo
git clone https://git.savannah.gnu.org/git/c-intro-and-ref.g...
cd c-intro-and-ref
makeinfo --html -v c.texi -o c.html --no-split

(og hvis man havde alt installeret var det vel strengt taget kun 2 kommandoer plus 1 cd, men hvem pokker har texinfo installeret i 2022)
Gravatar #8 - Claus Jørgensen
9. sep. 2022 14:44
arne_v (4) skrev:
Hvis al C kode forsvandt imorgen så ville ingenting virke

C har et langtidssigtet problem

Det er et sprog ingen vil arbejde med hvis de kan undgå det. Det er ikke et sprog folk vil lære (og slet ikke men den slags dokumentation som vi ser her)

Om 20-30 år vil der være mere C kode end der er udviklere til at vedligeholde. Og ligesom COBOL i dag ville de eneste nye der lære at kode det være konsulenter fra Indien som ikke lære mere end absolut minimum.

Problemet er bare at C ikke er et sprog der kan bruges af en "lære det bare minimum"-programmør.

C må og skal erstattes af mere moderne sprog over de næste 20 år, ellers bliver det en katastrofe for system udvikling.
Gravatar #9 - Claus Jørgensen
9. sep. 2022 14:45
#7

Du glemte at installere git og make ;-)
Gravatar #10 - arne_v
9. sep. 2022 15:06
Claus Jørgensen (8) skrev:

Om 20-30 år vil der være mere C kode end der er udviklere til at vedligeholde.


Det bliver et problem at finde udviklere ca. 45 år efter at et sprog bliver droppet af uddannelses-institutionerne (udenfor Danmark: universiteterne).

Og hvis vi antager at uddannelserne droppede C/C++ omkring 2000-2005, så er de 20-30 år et godt estimat.

Claus Jørgensen (8) skrev:

Problemet er bare at C ikke er et sprog der kan bruges af en "lære det bare minimum"-programmør.


For udviklere som er "opvokset" med dynamisk størrelse arrays, dynamisk længde strenge, array index check, garbage collection etc. så er C et vanskeligt sprog - det er et simpelt sprog og nemt at lære syntaksen, men forstår man det ikke så skyder man nemt selv i foden.

Claus Jørgensen (8) skrev:

C må og skal erstattes af mere moderne sprog over de næste 20 år, ellers bliver det en katastrofe for system udvikling.


Det bliver vanskeligt at nå.

20 år er ikke så lang tid for den slags software.

Og mange af alternativerne har sameksistens problemer.

Det er sindsygt dyrt og forretningsmæssigt høj risikabelt at omskrive det hele i et hug.

Og med mange af alternativerne er der ekstra omkostninger ved at bruge et mix af C og X.

C++ mixer naturligvis godt men det er nok for lille et skridt fremad.

Google forstår problemet og har opfundet Carbon til formålet. Men der eksisterer ikke engang en færdig compiler endnu. Og slet ikke nogen garanti for at det bliver en success.
Gravatar #11 - larsp
9. sep. 2022 16:17
arne_v (3) skrev:
Jeg vil formulere det lidt anderledes. C er stadig et ok 2.5G (!) sprog som er en klar forbedring af assembler og stadig et validt valg til OS kernel kode.
Ja, man kan vel sige at C er moderne tids assembler. Det er det naturlige valg hvis man vil kode til stålet uden for meget "pjat".

Claus Jørgensen (8) skrev:
Det er et sprog ingen vil arbejde med hvis de kan undgå det. Det er ikke et sprog folk vil lære (og slet ikke men den slags dokumentation som vi ser her)

Om 20-30 år vil der være mere C kode end der er udviklere til at vedligeholde. Og ligesom COBOL i dag ville de eneste nye der lære at kode det være konsulenter fra Indien som ikke lære mere end absolut minimum.

Problemet er bare at C ikke er et sprog der kan bruges af en "lære det bare minimum"-programmør.
Jeg holder faktisk af at kode i C, fordi jeg godt kan lide at opbygge min egen platform fra grunden. Det er nok derfor jeg blev embedded software udvikler i sin tid. Jeg har lavet custom memory management, objekt orienteret kode med polymorphism, custom hashtabeller, readers writer locks og alt mulig godt. I rå C kode. Det var af nødvendighed for at få resourcebegrænsede platforme til at gøre hvad de skulle, men også sjovt at programmere selv.

Men ja, i dag skriver man selvfølgelig ikke sin egen hash tabel implementation, og det var derfor jeg skrev i #2 at C er håbløst gammeldags. Ingen bør vælge C til applikations udvikling som Arne skrev.

Men jeg er faktisk godt tilfreds med at have brugt så mange år på at programmere på højt niveau i C, for det giver nogle kort på hånden få har, og som kan gå hen og blive værdifulde.
Gravatar #12 - Claus Jørgensen
9. sep. 2022 16:32
#11

Men du er ikke en 19 årig pige som skal lære at kode for første gang på universitet...
Gravatar #13 - arne_v
9. sep. 2022 16:56
larsp (11) skrev:

Jeg holder faktisk af at kode i C, fordi jeg godt kan lide at opbygge min egen platform fra grunden.
...
Men jeg er faktisk godt tilfreds med at have brugt så mange år på at programmere på højt niveau i C, for det giver nogle kort på hånden få har, og som kan gå hen og blive værdifulde.


Jeg kender følelsen.

Jeg startede for mange mange mange år siden med at lave VMS implementeringen af runtime for et custom højniveau sprog - vel ca. 40% Fortran og 60% Macro-32 (VAX assembler).

:-)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login