Über die Notwendigkeit von C (Anfängerfrage)



  • Bashar schrieb:

    strukturierte Programmierung ist in C eigentlich unüblich 😉

    hab ich wieder strukturierte programmierung mit etwas anderem verwechselt?
    nur leider habe ich keine ahnung mit was 😞

    bitte aufklaeren.



  • Du meinst wahrscheinlich die prozedurale Programmierung.



  • Harrison Bergeron schrieb:

    Du meinst wahrscheinlich die prozedurale Programmierung.

    ah, danke!
    das wirds wohl sein.

    kann mich dann mal kurz einer aufklaeren was der unterschied zwischen
    strukturierter und prozeudraler ist?
    ich weiss, ich sollte das wissen... aber ich hab mich nie dafuer interessiert :o



  • Shade Of Mine schrieb:

    Harrison Bergeron schrieb:

    Du meinst wahrscheinlich die prozedurale Programmierung.

    ah, danke!
    das wirds wohl sein.

    kann mich dann mal kurz einer aufklaeren was der unterschied zwischen
    strukturierter und prozeudraler ist?
    ich weiss, ich sollte das wissen... aber ich hab mich nie dafuer interessiert :o

    Im wesentlichen bedeutet strukturierte Programmierung Single-Entry-Single-Exit, sowie gewisse Anforderungen an eine Sprache:

    • Sequenziell
    • Selektion (if, switch)
    • Iteration (for, while)

    Keine GOTOS!

    Soweit ich mich erinnern kann. Prozedurale Sprachen sind Sprachen der 3. Generation, also weder Maschinensprache, noch Assembler, sondern COBOL, FORTRAN, Algol, C, ...

    Sie müssen anstelle eines GOTOS so etwas wie Funktionen in C unterstützen. Also Sprung in eine Funktion/Prozedur mit anschließendem Rücksprung. Sehr schön in Cobol

    PROCEDURE-DIVISON.
    PERFORM VORLAUF
    STOP RUN.
    VORLAUF.
    BLBLA
    BLBLA
    BLBLA.

    HTH
    Tobias



  • Prozedurale Programmierung heißt, dass die Prozedur als hauptsächliches Abstraktionsmittel eingesetzt wird: Was muss das Programm TUN, um das Problem zu lösen? C, Pascal, Scheme sind hier Vertreter.

    Strukturierte Programmierung ist ein Dogma, das verlangt, dass Programmabläufe ausschließlich aus Konstrollstrukturen mit einem Eingang und einem Ausgang bestehen. D.h. grob gesagt kein goto, kein break, kein continue, kein return (ausser am Ende der Funktion), keine Exceptions. (Wobei ich schon manchmal gehört habe, dass eine Schleife, die ausschließlich in der Mitte terminiert wird (in C++: for(;; ) { do1(); if (c) break; do2(); } ebenfalls erlaubt ist). Das ganze basiert meines Wissens auf der Anfang der 60er gemachten Beobachtung, dass GOTO böse ist (Dijkstra: "GOTO statement considered harmful") und einem Beweis, dass sich beliebige Programme mechanisch in eine strukturierte Form überführen lassen.



  • oh, danke! 👍



  • Wobei ich schon manchmal gehört habe, dass eine Schleife, die ausschließlich in der Mitte terminiert wird (in C++: for(;; ) { do1(); if (c) break; do2(); } ebenfalls erlaubt ist

    Die Schleife hat trotzdem nur einen Ausgang. Du siehst es ist völlig im Sinne der strukturierten Programmierung.

    Ich würde zuerst C lernen(so habe ich das auch gemacht), dann ist der Einstieg
    einfacher. Man lernt C++ viel leichter, wenn man vorher in C programmiert hat.
    Ich spreche aus Erfahrung!

    Ich hab's so gemacht und bereue es. Es war verdammt hart vom prozeduralen Programmieren zur Objektorientierung zu gelangen. Bis man das drauf hat, dauert und es kostet viel Disziplin. (Ich spreche aus Erfahrung und nicht nur aus eigener.)

    Ich würde mir von C die printf-Funktionen und die diesbezügliche Formatierung anschauen. Das kommt z.B. in der Windows-Programmierung vor.

    Inwiefern kommt das in der Windows-Programmierung vor? Und was kann ich mit printf, was ich mit boost::formated nicht kann?



  • Helium schrieb:

    [...]föllig[...]

    Nun sehe ich dieses Wort heute schon das zweite Mal. Eine google Suche beweist, dass es eine gewisse Verbreitung hat. Meine Frage: Wird das nicht völlig geschrieben?

    Föllig scheint mir föllig valsch zu sein. Oder hat das was mit der neuen Rechtschreibung zu tun?



  • Ich hoffe es wird frühestens in 60 Jahren in die neue Rechtschreibung aufgenommen. Dann hab ich nämlich keine Zähne mehr die mir wehtun könnten.

    aua



  • Mit deinem Gefühl hast du völlig Recht.
    Meine Rechtschreibung ist zum Teil grauenvoll. Und dazu kommen dann auch noch die Buchstabendreher durch zu schnelles Tippen, z.B. ihc statt ich, usw. Und in letzter Zeit passiert es mir auch immer öfter, dass ich statt nur den ersten die ersten Beiden Buchstaben eines Substantivs groß schreibe. 😞

    Ich werde wohl mehr darauf achten müssen.


Anmelden zum Antworten