Deep C / C++



  • Es ist wie mit einem Automechaniker. Er muss wissen wie man ein Auto repariert, aber er muss kein Maschinenbauingenieur sein, der so ein Auto auch konstruieren kann.

    Der Vergleich hinkt. C-Programmierer bauen auch keine Computer.

    Erst nachdem du all diese Zusatzinformationen hast, dann testet der Test, wie der Computer funktioniert. Die Frage ist, ob das wirklich relevant ist.

    Ja. Dann anders: Das Maedel zeigt, dass sie ein bestimmtes Modell von Computer und Compiler im Kopf hat. Dieses Modell ist der Realitaet sehr nahe.



  • roflalter schrieb:

    Steffo schrieb:

    Ich denke, theoretische Informatiker verstehen von Computern mehr als C-Gurus.

    xD Ja genau, weil Theoretische Informatik so viel mit Computern zu tun hat. Hahaha Alter, sei doch einfach still wenn du keine Ahnung hast.

    Das Thema hat sich eigentlich insofern erledigt, wenn man sich die Frage stellt, was Computer überhaupt tun. Dann kann man sich fragen, was theoretische Informatiker machen.
    Man merkt dir aufjedenfall an, dass du keinerlei Berührung mit diesem Thema hattest...
    EDIT: C hat übrigens gar nicht so viel mit Computern zu tun. Es ist nur eine Sprache, welche zu handhaben, nicht gerade sonderlich großen Computerverständnis erfordert...



  • Steffo, du hast in einem solchen Thread nichts zu suchen. Jeder weiß, dass du keine Ahnung hast. Tu dir selbst also einen Gefallen und verzieh dich. 🤡



  • Vielleicht kannst du anschaulich erklären, was Computerverständnis mit C im speziellen zu tun haben soll?



  • Steffo schrieb:

    Vielleicht kannst du anschaulich erklären, was Computerverständnis mit C im speziellen zu tun haben soll?

    Merkst du nicht, dass du von allen nur ausgelacht wirst? Du kannst keine der Fragen wie das Mädel beantworten, wenn du nicht ein halbwegs gutes Verständnis für Computer hast. Register, Callstack, Pointer, Cache, all das muss bekannt sein.

    Aber das war auch gar nicht der Witz an deinem Beitrag. Der war nämlich das "theoretische" vor "Informatiker", es hat einfach köstlich gezeigt wie wenig Ahnung du von dem hast, was du da von dir gibst. 😃



  • roflalter schrieb:

    Steffo schrieb:

    Vielleicht kannst du anschaulich erklären, was Computerverständnis mit C im speziellen zu tun haben soll?

    Merkst du nicht, dass du von allen nur ausgelacht wirst? Du kannst keine der Fragen wie das Mädel beantworten, wenn du nicht ein halbwegs gutes Verständnis für Computer hast. Register, Callstack, Pointer, Cache, all das muss bekannt sein.

    Das hat nichts mit C im Speziellen nichts zu tun, weil du das auch in anderen Sprachen findest (Pointer nicht unbedingt) und außer vom Pointer musst du vom Rest theoretisch auch gar nichts wissen. Es kann natürlich hilfreich sein, wenn du abstrakte Vorstellungen davon hast, aber zwingend ist das nicht, da das Sache des Compilers ist (--> Hier brauchst du Ahnung von Computern und das geht auch in Richtung theoretischer Informatik!).



  • Steffo schrieb:

    Hier brauchst du Ahnung von Computern und das geht auch in Richtung theoretischer Informatik!

    Nein! Geht es eben nicht. So schwer kann das doch nicht sein sich mal eben schlau zu machen bevor man sich immer und immer wieder blamiert. Gerade die Theoretische Informatik beschäftigt sich mit völlig anderen Problemen, das hardwarenächste sind da Turingmaschinen. Technische Informatik, das geht in diese Richtung.



  • Und nein, du musst nicht wissen was ein Callstack ist um C zu können. Aber du musst es wissen um ein C Guru zu sein und die Fragen so zu beantworten wie das Mädel, darum ging es schließlich. Du kannst auch Java können ohne zu wissen was ein GC ist, trotzdem bist du dann kein Java Guru.



  • Steffo schrieb:

    Hier brauchst du Ahnung von Computern und das geht auch in Richtung theoretischer Informatik!).

    Bevor du dich noch laecherlicher machst als bisher poste ich mal folgendes Zitat von Edsger Dijkstra (ein Pionier der Informatik, der vor allem in der theoretischen Informatik forschte):

    Edsger Dijkstra schrieb:

    Computer science is no more about computers than astronomy is about telescopes.

    Ich denke das braucht keien Uebersetzung.



  • roflalter schrieb:

    Steffo schrieb:

    Hier brauchst du Ahnung von Computern und das geht auch in Richtung theoretischer Informatik!

    Nein! Geht es eben nicht. So schwer kann das doch nicht sein sich mal eben schlau zu machen bevor man sich immer und immer wieder blamiert. Gerade die Theoretische Informatik beschäftigt sich mit völlig anderen Problemen, das hardwarenächste sind da Turingmaschinen. Technische Informatik, das geht in diese Richtung.

    http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCcQFjAA&url=http%3A%2F%2Fwww.mathematik.uni-marburg.de%2F~gumm%2FBuch%2F8.Auflage%2Ftext%2FKapitel09.pdf&ei=clSUT_KrGsvKtAa_1MjkDQ&usg=AFQjCNF3JGMTIlNk9hXoMCu3Q9BwY3NrIg

    http://www.tcs.ifi.lmu.de/lehre/ws-2011-12/compiler

    http://www.willemer.de/informatik/compiler/index.htm

    Ich wette, das überzeugt dich alles nicht, weil du es besser als die Quellen weist...

    Ohne Kenntnisse der theoretische Informatik kann da nichts gescheites rauskommen. Die Hardwarekenntnisse... Darum kann sich dann der Programmierer kümmern, wenn in Assembler übersetzt werden soll, aber nicht mal das ist nötig, denn es gibt z. B. Compiler, die die Sprache in C übersetzen.



  • Als Argument dafür, dass die theoretische Informatik sich mit Computern beschäftigt, postest du jetzt Links für Compilerbau. 😕
    So langsam schreibe ich deine Logik endgültig ab, am besten du hörst einfach, so schwer es mir fällt das zu schreiben, auf Pi. 🙄



  • Compiler gehören wohl eher in den Bereich der praktischen Informatik. Zumindest beschäftigt sich bei uns der Lehrstuhl für praktische Informatik damit. Die theoretischen Informatiker beschäftigen sich eher damit, OB eine Sprache parsebar ist, und nicht wie. Theoretische Informatiker machen harte Mathematik. Deswegen sind das auch alles Informatiker. Ob die Ahnung von x86-Architekturen haben? ich bezweifle es.



  • Gut, dann haben Computer mit Compiler, Programmen, Algorithmen, Datenverarbeitung etc. nichts zu tun (weil das ja alles Bestandteil der theoretischen Informatik ist).
    Vielleicht interpretierst du Computer zu sehr mit Hardware als als das, was die Computer tun! 🙄



  • Steffo schrieb:

    Vielleicht interpretierst du Computer zu sehr mit Hardware als als das, was die Computer tun! 🙄

    Der Satz macht nicht nur keinen Sinn, der ist sogar syntaktisch falsch.
    Jetzt sind schon Mathematiker Computerexperten, weil sie sich u.A. mit dem beschäftigen was Computer machen? Oder Honigverkäufer Bienenexperten? Weil Bienen machen den Honig ja schließlich.
    Nein, ich würde eher sagen, du hast einfach keine Ahnung und versuchst dich jetzt irgendwie da rauszuwinden. Wenn dir jeder widerspricht, solltest du mal überlegen, ob an deiner Vorstellung von "Ahnung von Computern haben" nicht irgendetwas ganz stark verschimmelt, sonst wird das nämlich immer peinlicher für dich.



  • Jetzt sind schon Mathematiker Computerexperten, weil sie sich u.A. mit dem beschäftigen was Computer machen?

    Ein Mathematiker oder ein Physiker wird relativ problemlos einen Informatiker ersetzen können, umgekehrt sieht das aber ganz anders aus. Ich weiß: C/C++ Programmierer halten sich für die Götter der Informatik, aber so sieht die Realität nun mal aus: Mathematiker/Physiker > Informatiker! Dazwischen sind IMHO die theoretischen Informatiker.

    Oder Honigverkäufer Bienenexperten? Weil Bienen machen den Honig ja schließlich.

    Ne, aber ein Imker, der sowohl Honig verkauft als auch Bienen züchtet, wird wohl Ahnung von beidem haben...

    Nein, ich würde eher sagen, du hast einfach keine Ahnung und versuchst dich jetzt irgendwie da rauszuwinden. Wenn dir jeder widerspricht, solltest du mal überlegen, ob an deiner Vorstellung von "Ahnung von Computern haben" nicht irgendetwas ganz stark verschimmelt, sonst wird das nämlich immer peinlicher für dich.

    Drei, vier Leute, darunter ein Troll und ein anonymer Nutzer mit skurrilem Namen, sind also JEDER!



  • Ein Mathematiker oder ein Physiker wird relativ problemlos einen Informatiker ersetzen können, umgekehrt sieht das aber ganz anders aus. Ich weiß: C/C++ Programmierer halten sich für die Götter der Informatik, aber so sieht die Realität nun mal aus: Mathematiker/Physiker > Informatiker! Dazwischen sind IMHO die theoretischen Informatiker

    Unsinn. Ein Mathematiker beschäftigt sich idr nicht mit Komplexitätstheorie und p-np Problemen (nur um 2 Beispiele zu nennen)



  • Unterteilung der Informatik von http://www.tinohempel.de/info/info/ti/informatik.htm:

    Angewandte Informatik
    Anwendung von technischer, praktischer und theoretischer Informatik in anderen Wissenschaften und Gesellschaftsbereichen.

    Technische Informatik
    Untersuchung des funktionellen Aufbaus der Hardware; logischer Entwurf von Rechentechnik; maschinennahe Programmierung

    Praktische Informatik
    Formulierung von Methoden, um Programmsysteme zu erstellen, einschließlich konkreter Entwicklungsumgebungen und Softwarewerkzeuge zur Unterstützung von Programmierenn und Anwendern.

    Theoretische Informatik
    Theoretische Informatik ist ein Teilgebiet der Informatik, das die (meist mathematischen) Grundlagen der Information sowie ihre Darstellung und effiziente Verarbeitung untersucht.

    Compilerbau besteht aus folgende Teilgebieten:

    Angewandte Informatik - Linguistik (ohne Sprachdesign gibst kein Zweck)
    Technische Informatik - Prozessoren, Assembler, Laufzeitumgebung, Systemprogrammierung
    Praktische Informatik - Realisierung, Design und Architektur
    Theoretische Informatik - Formale Sprache (Syntax und Grammatik), Automatentheorie (Aufbau von Lexer und Parser), ...

    Kein Anspruch auf Vollständigkeit 😉



  • daki schrieb:

    Ein Mathematiker oder ein Physiker wird relativ problemlos einen Informatiker ersetzen können, umgekehrt sieht das aber ganz anders aus. Ich weiß: C/C++ Programmierer halten sich für die Götter der Informatik, aber so sieht die Realität nun mal aus: Mathematiker/Physiker > Informatiker! Dazwischen sind IMHO die theoretischen Informatiker

    Unsinn. Ein Mathematiker beschäftigt sich idr nicht mit Komplexitätstheorie und p-np Problemen (nur um 2 Beispiele zu nennen)

    Schön, ein Mathematiker beschäftigt sich in seinem Studium auch nicht so intensiv mit dem Programmieren, wie das Informatiker tun, aber er wird sich das schnell beibringen können, genauso wie jedes andere logische, mathematische Modell. Für einen Mathematiker wäre so etwas wie die Komplexitätstheorie nicht wirklich eine Herausforderung...

    Der Fehler, der hier im Thread übrigens die ganze Zeit begangen wurde, war, dass man das, was ihr in den Händen hält (Hardware), den Computer nennt. Tatsächlich ist jedoch die Idee, die dahinter steckt, der eigentliche Computer und hier sind die Mathematiker und auch Physiker viel näher an der Quelle. Das ist auch der Grund, weshalb Mathematiker und Physiker in der IT-Branche gerne gesehen sind.

    BTW ist die Komplexitätstheorie ein Teilgebiet der theoretischen Informatik. 😉



  • Steffo schrieb:

    Der Fehler, der hier im Thread übrigens die ganze Zeit begangen wurde, war, dass man das, was ihr in den Händen hält (Hardware), den Computer nennt. Tatsächlich ist jedoch die Idee, die dahinter steckt, der eigentliche Computer

    Falsch. (Mal wieder..)
    Siehe auch auch deutsche und englische Wikipedia Artikel ("ein Apparat", "a programmable machine") und die Meinung der ganzen restlichen Welt.
    Dagegen siehe Turingmaschine, die ein "mathematisches Konstrukt zur formalen Beschreibung des Begriffes der Berechenbarkeit" darstellt. (Keinen Computer. Wie es der Zufall will sind Computer meistens "Turing-vollständig" (wenn man den Speicher ignoriert) (wäre ja blöd wenn sie etwas nicht berechnen könnten).)
    Man könnte also sagen ein Computer ist eine Turingmaschine, aber umgekehrt gilt das nicht.



  • @Steffo: Also ist auch das Lambda-kalkyl ein Computer? Immerhin hat es doch dieselbe Idee...


Anmelden zum Antworten