Der Martin: Programmiersprache lernen, wie lange?

Beitrag lesen

Hallo Tom,

Ich bin mit Pascal und embedded Assembler damals so tief in die DOS-Systemarchitektur eingestiegen, ...

Ich auch. Mit dem Borland Pascal-Compiler, vermute ich?
Der war auch IMHO unübertroffen, wenn es um die Erzeugung von optimiertem Code ging. Ich hab mir manches Mal den vom Compiler erzeugten Code angeschaut und nur _selten_ eine Stelle gefunden, wo man es in Assembler "von Hand" hätte effizienter machen können.
Trotzdem habe ich auch oft inline-Assembler mit eingestreut, z.B. um mal eben eine BIOS- oder DOS-Funktion aufzurufen, oder auch um einfache arithmetisch-logische Operationen durchzuführen, die Pascal nicht direkt kann/konnte.

dass ich bei C später echte Schwierigkeiten hatte, das nachzuvollziehen.

Hier trennen sich unsere Erfahrungen. Der einzige Punkt ist, dass die C-Compiler meistens etwas starrer sind, wenn es um Aufrufmechanismen, Stack-Handling und so geht. Da könnte man "zu Fuß" manches einfacher machen.

C macht viele Dinge leider auf eigene Weise auch mit eigenen Fehlern und gibt Möglichkeiten der Systemarchitektur nicht weiter.

Ach ja? Dass jeder Compiler potentiell fehlerhaft ist, dürfte klar sein. Aber ich hatte eigentlich immer den angenehmen Eindruck, mit C sehr systemnah zu programmieren.

[...] weil es eben scheinbar keine Abstraktionsschicht war, sondern eine Bastelschicht.

Ich bin der Ansicht, C soll auch nichts abstrahieren, sondern einen Weg bieten, so maschinennah wie möglich programmieren zu können, ohne dabei auf die Vorzüge einer Hochsprache verzichten zu müssen.

Die Abstraktion ist dann IMHO Sache des Programmierers, der sein Projekt in Module oder Schichten aufteilt, die von der Applikations- bis zur Betriebssystem- oder Maschinenebene zunehmend plattformspezifisch sind.

So long,

Martin

0 100

Programmiersprche lernen, wie lange?

Tom
  • programmiertechnik
  1. 0
    Ludger
    1. 0
      derletztekick
      1. 0
        Jörg Lorenz
      2. 0
        Thomas Meinike
      3. 0
        Tom
      4. 0
        HoRnominatoR
  2. 0
    FrankaD
  3. 0
    Florian
    1. 0
      Florian
      1. 0
        Tom
    2. 0
      Fabian Transchel
    3. 0
      Dennis
  4. 0
    Eternius
    1. 0

      Programmiersprache lernen, wie lange?

      Der Martin
      1. 0
        Lastaffair
        1. 0
          Dennis
          1. 0
            Tom
        2. 0
          Der Martin
      2. 0
        Tom
        1. 0
          Der Martin
          1. 0
            Tom
            1. 0
              Der Martin
              1. 0
                Tom
  5. 0
    Ole
    1. 0
      Ludger
      1. 0
        Ole
    2. 0
      Der Martin
      1. 0
        Ludger
        1. 0
          Der Martin
          1. 0
            Ludger
        2. 0
          Ole
  6. 0
    Lastaffair
    1. 0
      Tom
      1. 0
        Lastaffair
        1. 0
          Tom
        2. 0
          dedlfix
          1. 0
            Tom
  7. 0

    Programmiersprache lernen, wie lange?

    e7
    1. 0
      Tom
      1. 0
        e7
  8. 0
    wahsaga
    1. 0
      Dennis
      1. 0
        Tom
      2. 0
        Fabian Transchel
        1. 0
          Tom
          1. 0
            Dennis
          2. 0
            Fabian Transchel
  9. 0
    Bio
    1. 0
      Tom
      1. 0
        Bio
        1. 0
          Tom
  10. 0
    mikey
    1. 0
      Eternius
  11. 0
    fastix®
  12. 1
    srob
    1. 0
      wahsaga
      1. 0
        srob
    2. 0
      Ludger
      1. 0
        srob
        1. 0
          Ludger
          1. 0
            srob
            1. 0
              Ludger
              1. 0
                srob
                1. 0
                  Ludger
            2. 0
              Tom
              1. 0
                Ludger
  13. 0
    ute
    1. 0
      Tom
      1. -1
        Eternius
  14. 0
    Fabian Transchel
  15. 0
    Michael der Zweite
  16. 0
    Thomas J.S.
    1. 0
      Tom
      1. 0
        Thomas J.S.
        1. 0
          Tom
          1. 0
            Thomas J.S.
    2. 0
      Ludger
      1. 0
        Thomas J.S.
    3. 0
      Thomas Meinike
      1. 0
        Thomas J.S.
  17. 0
    Chräcker Heller
    1. 0
      Elya
      1. 0
        Chräcker Heller
        1. 0
          Elya
  18. 0
    dedlfix
    1. 0
      Tom
      1. 0
        Der Martin
        1. 0
          Tom
          1. 0
            Der Martin
            1. 0
              Tom
  19. 0
    Mathias Bigge
    1. 0
      Ludger
      1. 0
        Mathias Bigge
        1. 0
          Ludger
  20. 0
    LanX
    1. 0
      Ludger
      1. 0
        lanx²
        1. 0
          Ludger
          1. 0
            lanx²