Warum sind Informatik Profs so?

8 Antworten

Dem was unsere anderen Experten bereits geschrieben haben kann ich nicht mehr viel hinzufügen.

 So fängt doch keiner an?!

Nein, so habe ich nicht angefangen. Meine erste Programmierumgebung war ein Sperrholzkästchen mit 18 Klingelknöpfen ( 0..F , ESC und Enter) die optische Kontrolle der Eingabe erfolgte über ein 7-Segmentanzeige.

Der Programmcode wurde noch auf Papier weitergegeben.

Warum nicht am Bildschirm? Um etwas auf dem Bildschirm darstellen zu können war ein BIOS nötig und dies musste man erstmal in einen EPROM-Chip "brennen". Der höchstentwickelte damals für Normalsterbliche verfügbare Datenträger nannte sich "Schreibmaschinenseite". Und das einlesen in den Rechner wurde in Zeichen/Stunde angegeben.

Wenn der Bildschirm dann lief, hatte man noch immer nur den Prompt und musste Befehl für Befehl eingeben. Gespeichert wurde auf einen Handelsüblichen Kassettenrekorder.

Auch die Anschaffung eines teuren 286ers mit M$Dos 3.3 änderte fürs erste nichts daran.

Maschinenprogramm wurden mit "Debug" geschrieben (kein wirklich hilfreicher Debuger, eher ein schwachbrüstiger Assembler)

GWBasic bot zummindest einige Funktionstasten zum Speicher von Code.

...und in der Console hieß der Editor:

Copy Con Datei.ext

Der erste echte Editor kam mit dem Nortocomander 2.0 .

Meine erste IDE kam erst mit TurboPascal. Bis zu diesem Punkt hatte ich bereits einige Jahre Programmiererfahrung auf dem Buckel.

Im Prinzip ist es völlig unerheblich in welcher Sprache man programmiert . Eine Programmiersprache ist nur ein Werkzeug, genau wie ein Editor, Debugger oder eine IDE.

Warum soll es verwöhnten Schnöseln besser gehen als uns damals? Als ich das Programmieren gelernt habe, gab es noch keine grafischen Oberflächen! Also halt mal schön den Mund!

Scherz beiseite ... Tatsächlich halte ich es für sinnvoll, mit dem Programmieren erst mal mit möglichst einfach zu bedienenden Mitteln anzufangen - das wäre heute eine komplette IDE, mit der man eine grafische Anwendung erstellt.

Aber schon ziemlich bald würde ich dann empfehlen, direkt in Maschinensprache zu programmieren. Ich denke, das Gefühl für das, was ein Computer "wirklich" tut, braucht man, um ein wirklich guter Programmierer zu werden. Ähnlich wie man schriftlich rechnen können sollte, auch wenn man ständig Taschenrechner, Tabellenkalkulationen, Formelmanipulatoren u. Ä. verwendet.

Von daher kann ich gut verstehen, wenn jemand mit einfacher Textverarbeitung anfangen will. Aber wie gesagt, das ist ein Zwischending, das man nicht braucht.

Woher ich das weiß:Berufserfahrung – Software-Entwickler

Warum sollte keiner so Anfangen?

Der Vorteil ist, daß Du gleich auch lernst, wie Du die Toolchain benutzen mußt, auch wenn DU später vielleicht ein Build-System verwendest.

Mehr als ein Texteditor braucht es tatsächlich nicht um Sourcecode zu schreiben, natürlich machen IDEs mit introspection etc. es einem einfacher.

----

Was das Debuggen betrifft:

Natürlich gibt es brauchbare Debugger, allerdings braucht man diese eher selten, am ehsten dann, wenn man sich auch ein Bild jenseites der 'Hochsprache' machen möchte. Nebenbei neigen Debugger dazu insbesondere Heisenbugs zu maskieren. Wenn Dich der Zustand einer Variablen interessiert, reicht tatsächlich oft eine einfache Ausgabe. (Und ja, auch diese kann ggf. maskieren).

Das passt schon so. So lernt man gleich, den Linux-Terminal zu benutzen. Das wird dir später noch nützen.

Übrigens fangen viele Leute genauso an, zu programmieren. Ich lernte es auf der Uni auch so & ich habe ein Einsteigerbuch zu C++, der auch diesen Weg geht.

Kann den Prof verstehen, wenn er meint, dass man es im Terminal am Anfang selber machen soll.

Wenn man komfortabel im Terminal arbeiten kann und keine richtige IDE benutzt lernt man besser und versteht den ganzen Prozess besser.

Auch wenn man "selber" im Terminal seine Programme kompiliert, anstatt in der IDE nur den grünen Pfeil zu drücken, oder wenn man sich auch mal die Syntax merken muss, anstatt immer mit Autocomplete alles zu machen.

Klar werden später im Job IDEs verwendet. Aber gerade am Anfang kann dass die Lernkurve unnötig in die Länge ziehen.

Außerdem gibt es fürs Terminal auch Syntax Highlighting und diverse Plugins etc. wenn du Vim oder Emacs nutzt.

Außerdem musst du bedenken, dass du später vielleicht auch mal mit einem anderen Server verbunden bist oder so und wirklich nur ein Terminal zum Arbeiten hast.

Woher ich das weiß:Studium / Ausbildung – Studium Informatik / Softwaretechnik