Der Unterschied zwischen Fachinformatikern und Diplom-Informatikern



  • Jester schrieb:

    @mathik: Du hast das Problem scheinbar nicht gesehen 🙂
    Es gibt nur endlich viele int-werte. Man muß die Funktion also nur kompilieren und dann alle möglichen Eingabewerte durchprobieren.

    aber selbst dann ist es keine lösung. was ist z.b., wenn f für eine eingabe nicht terminiert, habe nichts von totalen funktionen gesagt... 😉
    dann soll ja h false zurückgeben.

    @16-hobby-progger. z.b. so ein fall:
    string f = "int f(BigInteger a) { while(true) { } return 0; }";

    also doch kein ei gelegt? 😉

    Gruß mathik



  • Jester schrieb:

    @mathik: Du hast das Problem scheinbar nicht gesehen 🙂
    Es gibt nur endlich viele int-werte. Man muß die Funktion also nur kompilieren und dann alle möglichen Eingabewerte durchprobieren.

    aber selbst dann ist es keine lösung für h. was ist z.b., wenn f für eine eingabe nicht terminiert? habe nicht gesagt, dass f total sein muss! 😉
    dann soll ja h false zurückgeben.

    @16-hobby-progger. z.b. so ein fall:
    string f = "int f(int a) { while(a == 5) { } return 0; }";

    also doch kein ei gelegt? 😉

    Gruß mathik

    @P.S.: wo ist denn jetzt eigentlich FachmannFürInformatik?? für den war eigentlich diese frage gedacht. Die lösung ist einfacher, als manche denken... und so praxisfern ist doch diese aufagabe nun auch nicht, oder? compiler und alle möglichen werkzeuge machen doch auch ganz viele überprüfungen zur compilezeit, ob z.b. eine variable nicht verwendet wird, ein zweig nicht erreicht wird, usw. warum nicht auch so was?



  • Geht ja gar nicht. ⚠



  • Generell kann man schon sagen, dass ein Dipl. Informatiker ein weitreichenderes Verständnis im Umgang mit digitaler Informationsverarbeitung hat, als ein Fachinformatiker.
    Pauschalisieren würde ich das jedoch nicht.

    Obwohl in meiner letzten Firma Diplominformatiker angestellt waren, durfte ich als Fachinformatiker die Abteilungsleitung übernehmen, da ich schlicht und ergreifend eine bessere, praktische Vorgehensweise bei der Entwicklung zeitkritischer Geschäftssoftware bewiesen habe. Hierbei habe ich auch Einstellungsgespräche und -Tests mit Diplominformatikern geführt, und bei einigen war zwar ein sehr gutes Verständnis der Theorie vorhanden (Datenbanken und dergleichen), mit der praktischen Umsetzung einer Geschäftssoftware als Ganzes schienen sie jedoch vollkommen überfordert.

    Ich habe in meiner Vergangenheit viele kommerzielle Projekte für diverse Auftraggeber durchgezogen - von der abstrakten Planung bis hin zur entgültigen Implementierung - auch ohne Studium. Die Meinung, Fachinformatiker würden lediglich der Planung und den Vorgaben eines Diplominformatiker folgen, und wären darüber hinaus nicht in der Lage, selbstständig eine komplexe Software zu planen, ist falsch.

    Als ich allerdings vor einigen Jahren einen Maschinensprachencompiler entwarf, wäre ich um ein Studium ganz froh gewesen. Ich habe die Implementierung zwar erfolgreich durchgeführt, aber ich habe gemerkt, dass ich mit dem Wissen das durch ein Studium vermittelt wird, wesentlich einfacher, schneller und vermutlich auch eleganter zum Ziel gekommen wäre. Ich habe mir entspr. Fachbücher besorgt, aber natürlich können die nicht das vermitteln, was ein Studium vermitteln kann.
    Von daher: Hut ab vor denen, die Informatik studieren.

    Deshalb möchte ich auch nochmal ganz objektiv sagen: Diplominformatiker haben sicherlich große Vorteile in der theoretischen Ausarbeitung.
    Aber mit dieser Pauschalisierung die manche hier an sich haben, sind sie absolut auf dem Holzweg.



  • mathik schrieb:

    @16-hobby-progger. z.b. so ein fall:
    string f = "int f(int a) { while(a == 5) { } return 0; }";

    also doch kein ei gelegt? 😉

    Ob a nun benutzt wird oder nicht... da ist ein leerer Anweisungsblock und es wird nirgendwo ein Setter verwendet. Als Compiler würde ich die ganze Geschichte komplett in die Tonne werfen und dem Entwickler vielleicht eine "stupid programming warning" werfen.

    Hmmm... erlaubst Du derartiges, so ist es nicht entscheidbar, da es relativ einfach ist, Code zu schreiben, wo Fehler vom Compiler (nahezu gar nicht) zu finden sind, wie

    float f = 1.0;
    
    while( f < 20000000.0 ) f += 1.0;
    

    Ich weiß nicht, ob die Ausbildung des Fachinformatikers ausreicht, um den 'Fehler' in dem Code zu erkennen. Vielleicht können die Fachinformatiker darauf antworten, ob sie den Fehler erkennen können, wenn sie nur den Code da oben sehen.

    Worauf Du hinaus wolltest, mathik, ist allerdings nicht, ob eine Funktion für jeden Bereich true oder false liefert. Eine Funktion kann hängen bleiben. Dies zu erkennen ist notfalls über eine Statusüberwachung möglich, den der Status meiner Funktion hier ändert sich ab einem gewissen Punkt nicht mehr, worauf sich das ganze in eine Endlosschleife verabschiedet.

    float f = 1.0;
    float status = 0.0;
    
    while( f < 20000000.0 ) 
      if( status == f ) 
      { 
        printf( "Status unverändert bei %f\n", status ); 
        return 4711;
      }
      else              
      { 
        status = f; 
        f += 1.0; 
      }
    
    return 0;
    

    Derartige Überwachung kostet Zeit, entsprechend macht das kein Compiler freiwillig und entsprechend kann man Software schreiben, die ohne Statusprüfungen auskommt - und das ist ist ja auch der Regelfall.

    Einen Compiler zu schreiben, der jeden Status zwischenspeichert und bereits einen bereits vorhandenen Status erkennt, ist (theoretisch) kein Problem. Praktisch sieht die Sache natürlich anders aus, da man davon ausgehen muss, dass der Computer ein begrenztes System ist, dass von einem System überwacht wird, dass alle Zustände des begrenzten Systems vergleichen kann.

    Für Deine Aufgabe, ich zitiere "gegeben eine funktion f die als eingabe ein int bekommt und als ausgabe ein int zurückgibt" - also nicht "zurückgeben könnte", sondern wirklich "zurückgibt", wurdest Du soeben von einem 16jährigen "geownt".

    Wenn schon Infomatiker, dann bitte auch mit der eines Informatikers würdigen Logik in der Sprache. ^^

    mathik schrieb:

    oh ja, du hast recht! nehmen wir an, dass ein "BigInteger" übergeben wird, der beliebig große zahlen darstellen kann.

    Wir glauben doch als fast Dipl. Inf. nicht mehr an beliebig große Zahlen, oder?
    Wenn wir uns soweit in die theoretische Informatik(beliebig große Zahlen) wagen, dass wir die Realität (Computer sind begrenzt) hinter uns lassen, dann gibt's nur noch die Antwort "Ja, klappt immer", weil sich alle Variablen herauskürzen lassen oder 'tarot cards out of range error'.

    Das ist ungefähr so als ob Du eine Funktion
    bool IsThereAGodOutThere( void );
    erwarten würdest. Bei dem Auftrag kommt selbst ein Dipl. Inf. ins grübeln. Ein Wirtschaftsinformatiker würde vielleicht eine Teillösung anbieten. 😉

    Meine Erfahrung als Dipl. Inf (FH): FI und Dipl. Inf. haben häufig vergleichbare Kenntnisse, was in der Regel auf eine vergleichbar schlechte Ausbildung zurückzuführen ist und die Tatsache, dass sie sich darauf verlassen haben, dass man ihnen schon alles wichtige beibringt. Das sind in der Regel diejenigen, die keine Ahnung haben - in beiden Lagern.
    Wer nichts in seiner Freizeit tut, wird als DAI den Fachbereich verlassen. Party-Informatiker können daher sehr amüsant sein, wenn man mit ihnen arbeitet darf. Hoffentlich ist man dann nicht der Part, der die Verantwortung trägt.
    FI werden darauf geschult, Handlanger zu werden - bei uns FH-Informatikern war man sich da nicht so sicher. Das lief wohl darauf hinaus, dass wir einen Uni-Abgänger als Chef bekommen sollten und dafür FIer quälen sollen.
    Wem das als FIer zu langweilig ist und man stattdessen auch mal ein brauchbares Buch in die Hand nimmt und versucht zu verstehen, was man eigentlich tut, wenn man programmiert, so sehe ich nicht im Entferntesten einen Grund, warum ein FIer einem Dipl. Inf. überlegen sein kann.
    Inbesondere wäre mir ein selbstkritischer FIer, der weiß, dass er einige Dinge nicht kann lieber, als ein Party-Informatiker, der glaubt, etwas zu können. Ich würde es sogar einsehen, wenn der FIer mit dem Wissen, was er nicht kann, mehr verdient als der gläubige Party-Informatiker.

    Ich bin Dipl. Inf. (FH) und weiß, was ich nicht kann, denn niemand kann alles wissen.



  • Mathik, du bekommst n dicken Keks, weil du eine Anwendung vom Satz von Rice gefunden hast. 👍

    Aber andererseits: Who cares? Diese Situation wirst du im realen Arbeitsleben zu 0.001% antreffen. Ich meine: Theorie schoen und gut, sie hilft uns ne Menge. Aber sich in die Theoretische Informatik reinzufressen, mit Saetzen umsich zu werfen die man zwar gelernt aber nicht wirklich verstanden hat (oder kannst du den Satz sauber beweisen?), finde ich etwas bedauernswert und geht meines erachtens am Ziel des Informatik Studiums vorbei. Naja, oder du willst genau am Lehrstuhl fuer Theoretische Informatik an deiner Uni arbeiten. Ich denke nicht, dass man die Qualitet eines Dipl.Inf an der Menge des Theoretischen-Informatik-Wissen messen kann, und entsprechend das nur ein geringer Vorteil gegenueber dem Fachinformatiker ist.
    Den Theoriehype ('oh ist das alles toll, ich weis endlich was NP ist, und ich kann alles aufs Halteproblem reduzieren') erlebe ich vorallem bei Leuten im Grundstudium. Ist ja schoen dass es denjenigen Spass macht (obwohl ich sicher bin, dass nur 2% von denen die Sachen 100% verstehen und auch selbst beweisen koennen), aber in der wirklichen Welt, in der Anwendung und Forschung kommen diese Sachen eigentlich nur im Forschungsgebiet Theoretische Informatik vor. Ich verstehe (und erlebe) Informatik eher als Ingenieurskunst auf hoeherem Level, als Zusammenfuehrung von Programmierwissen/-koennen, Theoretischen Erkenntnissen (Mathematik, Statistik, Etechnik, ...) und effizienten Einbau (Algorithmik). Aber nicht als rumgefurze a la 'ah das ist sicher das Halteproblem'.



  • Xin schrieb:

    FI werden darauf geschult, Handlanger zu werden.

    Genau. Und deshalb hat man in der Abschlussprüfung ein Softwareprojekt auch selbsständig zu planen und zu implementieren. Es gibt genug Fachinformatiker die selbsständig als Auftragsentwickler arbeiten oder Führungspositionen einnehmen. Also träum' weiter von den Handlangern.



  • b. (Fachinformatiker) schrieb:

    Xin schrieb:

    FI werden darauf geschult, Handlanger zu werden.

    Genau. Und deshalb hat man in der Abschlussprüfung ein Softwareprojekt auch selbsständig zu planen und zu implementieren. Es gibt genug Fachinformatiker die selbsständig als Auftragsentwickler arbeiten oder Führungspositionen einnehmen. Also träum' weiter von den Handlangern.

    War das der Punkt, an dem Du aufgehört hast zu lesen?



  • Xin schrieb:

    b. (Fachinformatiker) schrieb:

    Xin schrieb:

    FI werden darauf geschult, Handlanger zu werden.

    Genau. Und deshalb hat man in der Abschlussprüfung ein Softwareprojekt auch selbsständig zu planen und zu implementieren. Es gibt genug Fachinformatiker die selbsständig als Auftragsentwickler arbeiten oder Führungspositionen einnehmen. Also träum' weiter von den Handlangern.

    War das der Punkt, an dem Du aufgehört hast zu lesen?

    Du erwartest doch nicht ernsthaft von nem FIler, dass er sich ein ganzes Posting durchliest und auch noch versteht. Dazu sind wir da, wir verstehen und übersetzen es den FIlern in kleine leicht verdauliche Portionen.



  • EDIT: Hatte mich bei Xin's Beitrag verzählt. ...wie peinlich. 😉



  • Xin schrieb:

    Derartige Überwachung kostet Zeit, entsprechend macht das kein Compiler freiwillig und entsprechend kann man Software schreiben, die ohne Statusprüfungen auskommt - und das ist ist ja auch der Regelfall.

    Einen Compiler zu schreiben, der jeden Status zwischenspeichert und bereits einen bereits vorhandenen Status erkennt, ist (theoretisch) kein Problem. Praktisch sieht die Sache natürlich anders aus, da man davon ausgehen muss, dass der Computer ein begrenztes System ist, dass von einem System überwacht wird, dass alle Zustände des begrenzten Systems vergleichen kann.

    lol! TI geschwänzt, oder was? das problem ist mindestens genauso komplex und nicht entscheidbar wie das halteproblem selbst! somit die einfache lösung für das gestellte problem: es gibt keine lösung!!

    damit wollte ich unserem ExperteFürInformatik sagen, dass eben nicht jedes problem eine lösung hat, egal, wie viel leute und zeit man zur verfügung hat oder was auch immer für tolle rechner...

    Xin schrieb:

    Für Deine Aufgabe, ich zitiere "gegeben eine funktion f die als eingabe ein int bekommt und als ausgabe ein int zurückgibt" - also nicht "zurückgeben könnte", sondern wirklich "zurückgibt", wurdest Du soeben von einem 16jährigen "geownt".

    Wenn schon Infomatiker, dann bitte auch mit der eines Informatikers würdigen Logik in der Sprache. ^^

    schreibst du immer alles im konjunktiv? ich finde, das klingt so unschön. meine profs haben mir das zudem abgewöhnt 😉

    Xin schrieb:

    Wir glauben doch als fast Dipl. Inf. nicht mehr an beliebig große Zahlen, oder?

    natürlich glauben wir daran. schließlich können wir in programmiersprachen abstraktionen schaffen, die quasi beliebig große werte darstellen. oder überprüfst du bei _jeder_ string-konketenation, ob du noch genug speicher hast, oder bei der addition zweier "big-integer"? klar, bestimmt nur, wenn du nur annimmst, dass evtl. nicht ausreichend speicher zur verfügung steht, aber kannst du garantieren, dass du wirklich alle fälle bedacht hast?

    jedoch hat das sowieso keinen einfluss auf die aufgabenstellung, unter der annahme, dass f nicht total ist. von mir aus können das auch ints sein.

    Gruß mathik



  • Xin schrieb:

    War das der Punkt, an dem Du aufgehört hast zu lesen?

    Ich habe dein Posting bis zum Ende gelesen - und deine Meinung unterstütze ich teilweise. Und deshalb habe ich auch nur einen Satz von dir zitiert, der meiner Meinung nach eine falsche Aussage darstellt. Weitere Informationen findest du in den offiziellen Berufsbeschreibungen der Bundesagentur für Arbeit etc.
    Mal abgesehen davon hatte der Rest deines Posts nichts mehr mit der Aussage, Fachinformatiker würden zum Handlanger ausgebildet werden, zu tun.

    @Dipl. Inf.:

    Du erwartest doch nicht ernsthaft von nem FIler, dass er sich ein ganzes Posting durchliest und auch noch versteht. Dazu sind wir da, wir verstehen und übersetzen es den FIlern in kleine leicht verdauliche Portionen.

    😃 😃 😃

    Und genau deshalb haben es meine bisherigen Firmen vermieden, dass einige Diplominformatiker Kontakt mit den Kunden erhielten. Wer will sich schon mit so einem arroganten (offiziell lieber milde ausgedrückt) Menschen unterhalten? 🤡
    Ich beziehe das nicht auf die Allgemeinheit, aber bitte: Das hier spricht für sich selbst.



  • Korbinian schrieb:

    Mathik, du bekommst n dicken Keks, weil du eine Anwendung vom Satz von Rice gefunden hast. 👍

    Aber andererseits: Who cares? Diese Situation wirst du im realen Arbeitsleben zu 0.001% antreffen. Ich meine: Theorie schoen und gut, sie hilft uns ne Menge. Aber sich in die Theoretische Informatik reinzufressen, [...] finde ich etwas bedauernswert und geht meines erachtens am Ziel des Informatik Studiums vorbei.

    [...] Ich denke nicht, dass man die Qualitet eines Dipl.Inf an der Menge des Theoretischen-Informatik-Wissen messen kann, und entsprechend das nur ein geringer Vorteil gegenueber dem Fachinformatiker ist.
    Den Theoriehype erlebe ich vorallem bei Leuten im Grundstudium. Ist ja schoen dass es denjenigen Spass macht, aber in der wirklichen Welt, in der Anwendung und Forschung kommen diese Sachen eigentlich nur im Forschungsgebiet Theoretische Informatik vor.

    Öhm... so will ich das dann auch mal nicht stehen lassen.

    Vielleicht sollte man sich hier darauf besinnen, dass Informatik-Studium heißt, dass man ein Infor-ma-tik-Studium macht. Wissenschaft der automatischen Informationsverarbeitung. Die Idee dahinter ist, dass man auch Dinge lernt, die a) wissenschaftlich sind (z.B. theoretische Informatik) und b) in der Realität vorkommen können.
    Es kann sehr von Vorteil sein, wenn man weiß, dass eine Funktion enden wird und der Videorekorder/das Händi/der Verstärker nicht in der Funktion immer bleibt, die man selbst geschrieben hat.

    Dass man in der Regel im Job nicht wissenschaftlich forschend arbeitet spielt dabei keine Rolle.
    Auch wenn die Ausbildung scheinbar immer mehr an die Realität angepasst wird (Quick'n'Dirty), ist ein Informatik-Studium ein akademisches Ziel, keine Job-Garantie oder Berufsausbildung. Ich bin nicht - wie mich einer meiner Profs mal sagte - "Rohmaterial für die Industrie". Ich studierte nicht, damit ich das optimale Profil für einen Arbeitsplatz habe. Mit meinem Profil kann ich aber den einen oder anderen Job produktiv ausführen.

    Hier ist denke ich die große Unterscheidung FI und Dipl. Infomatiker. Der FIer lernt für den Job, der Dipl. Infomatiker für die Wissenschaft. Und der Bedarf an wissenschaftlich geschulten Informatikern ist ebenso vorhanden, wie für ausgebildete Informatiker. Neue Produkte werden allerdings häufiger Informatikern mit forschendem Hintergrund anvertraut.

    Korbinian schrieb:

    Ich verstehe (und erlebe) Informatik eher als Ingenieurskunst auf hoeherem Level, als Zusammenfuehrung von Programmierwissen/-koennen, Theoretischen Erkenntnissen (Mathematik, Statistik, Etechnik, ...) und effizienten Einbau (Algorithmik). Aber nicht als rumgefurze a la 'ah das ist sicher das Halteproblem'.

    Das "Rumgefurze" gehört irgendwo dazu, weil ohne das "Rumgefurtze" ist es nicht Ingeneurskunst sondern Stammtischlogik. Auch wenn er nicht weiß, was eine Gödelnummer ist, so kennt er die Tatsache doch berücksichtigen, in dem er darauf achtet, dass kritische Funktionen garantiert zurückkehren.

    Und dass man sich als Student noch mehr für die akademischen Fragen begeistert als für die Job-Alltäglichen ist doch normal. Ist doch positiv, wenn er derartiges in seinem Alltag hat. Nicht zu wenige angehende Ingeneure benutzen die Vorlesung als Überbrückung zum nächsten Party.



  • Korbinian schrieb:

    Mathik, du bekommst n dicken Keks, weil du eine Anwendung vom Satz von Rice gefunden hast. 👍
    ...

    Oh ja, danke für den keks! 😃

    Das ist schon richtig was du schreibst. ich wollte nur die fahne der Dipl-Infs hoch halten 😉
    außerdem hat mich die aussage von ExperteFürInformatik "alles geht, wenn man nur genug zeit hat" o.ä., dazu gebracht, diese provokante aufgabenstellung zu formulieren, bei der man nicht sofort sehen kann, dass es sich einfach auf das halteproblem zurückführen lässt. wird doch sicherlich einige überrascht haben, dass für eine solche einfache aufgabe keine lösung existiert... 😉

    Gruß mathik



  • Bin ich jetzt eigentlich zum ExperteFürInformatik befördert oder degradiert worden?

    Das nicht alles geht war mir auch klar.

    Ich gratuliere dem Definierer zu seinem schönen Thread. Dafür bekommt er gleich DREI 😮 Kekse!



  • FachmannFürInformatik schrieb:

    Das nicht alles geht war mir auch klar.

    ich wusste, dass jetzt so eine antwort kommt! 😃 ist doch allen sofort klar, dass das nicht lösbar ist, bla, bla... bist ein toller hengst, wenn du das sofort siehst, ohne entsprechendes hintergrundwissen zu haben!
    nur komisch, dass am anfang des letzten jahrhunderts noch viele großen mathematiker dachten, dass ähnliche probleme eigentlich lösbar sein müssten. und heute weiß man, dass es doch nicht so ist...



  • mathik schrieb:

    Xin schrieb:

    Einen Compiler zu schreiben, der jeden Status zwischenspeichert und bereits einen bereits vorhandenen Status erkennt, ist (theoretisch) kein Problem. Praktisch sieht die Sache natürlich anders aus, da man davon ausgehen muss, dass der Computer ein begrenztes System ist, dass von einem System überwacht wird, dass alle Zustände des begrenzten Systems vergleichen kann.

    lol! TI geschwänzt, oder was? das problem ist mindestens genauso komplex und nicht entscheidbar wie das halteproblem selbst! somit die einfache lösung für das gestellte problem: es gibt keine lösung!!

    Ein begrenzter Computer hat eine begrenzte Anzahl von Zuständen. Das können gerne ein paar Milliarden sein, es bleibt zählbar. Und damit kannst Du die Zustände speichern und vergleichen, ob Du da schonmal warst. In dem Fall bewegst Du Dich nämlich im Kreis und die Sache kehrt nicht zurück.

    Praktisch ist das allerdings ein klein wenig zu aufwendig, weil auch 32 Milliarden Computer für einen Computer mit 4G RAM und ohne HDD zu lange Reaktionszeiten haben. Vom Anschaffungspreis mal abgesehen.
    Aber das spielt keine Rolle... in einem Gedankenmodell sind die problemlos verfügbar und wenn Du in den Bereich der theoretischen Informatik gehst, dann darf ich doch mit 32 Mrd Computern folgen, oder?

    mathik schrieb:

    damit wollte ich unserem ExperteFürInformatik sagen, dass eben nicht jedes problem eine lösung hat, egal, wie viel leute und zeit man zur verfügung hat oder was auch immer für tolle rechner...

    Jedes begrenzte Problem hat eine Lösung. Die Frage ist, ob die wir in der Lage sind, diese Grenzen zu erreichen. Eine Turing-Maschine hat ein unendliches Band. Daraus schließen wir erstmal, dass es in diesem Universum keine Turing Maschine gibt. Die Tatsache, dass auch kleine Touringmaschinen uns vor ein ein bemerkenswertes Problem stellen, macht die Sache aber nicht unlösbar. Nur für unsere Möglichkeiten ist eine Lösung nicht sinnvoll machbar.

    mathik schrieb:

    Xin schrieb:

    Wenn schon Infomatiker, dann bitte auch mit der eines Informatikers würdigen Logik in der Sprache. ^^

    schreibst du immer alles im konjunktiv? ich finde, das klingt so unschön. meine profs haben mir das zudem abgewöhnt 😉

    Ich schreibe vieles im Konjunktiv. Einerseits bin ich Zyniker, andererseits Informatiker und kein Marketingfritze. Das wurde mir bei meiner Diplomarbeit auch böse angerechnet. Ich sollte allgemeine und umumstößliche Aussagen treffen. Ich habe mich entschlossen wahre Aussagen zu treffen. Aber das klingt halt nicht so schön.

    Abgesehen davon klingt es immer unschön, wenn jemand anderer die eigene Meinung nicht vertritt. Dabei spielt es aber keine Rolle, ob derjenige im Konjunktiv schreibe oder im Imperativ.

    mathik schrieb:

    Xin schrieb:

    Wir glauben doch als fast Dipl. Inf. nicht mehr an beliebig große Zahlen, oder?

    natürlich glauben wir daran. schließlich können wir in programmiersprachen abstraktionen schaffen, die quasi beliebig große werte darstellen.

    Dir ist schon klar, dass Du da grade 'quasi' geschrieben hast. Das ist 'quasi' ein Konjunktiv in einer Aussage, die klingt, als wäre sie in Fakt. Es ist zum einen die Wahrheit, dass man 'quasi' beliebig große Zahlen darstellen kann, aber bei einem 32 Bit Computer wird jede Zahl über 4GB Größe schwierig. Und wenn ich eine beliebige 5GB große Zahl, dann wünsche ich Dir viel Spaß. 'quasi beliebig' ist eben nicht 'beliebig'.

    mathik schrieb:

    oder überprüfst du bei _jeder_ string-konketenation, ob du noch genug speicher hast, oder bei der addition zweier "big-integer"? klar, bestimmt nur, wenn du nur annimmst, dass evtl. nicht ausreichend speicher zur verfügung steht, aber kannst du garantieren, dass du wirklich alle fälle bedacht hast?

    Kannst Du garantieren, dass Du Informatiker wirst? Das ist nicht böse gemeint, eher in der Form, ob Du garantieren kannst, dass Du den Fall bedacht hast, dass wir überhaupt existieren? Theroretisch könnten wir eine Simulation in einem ziemlich großen Computer sein.
    Ich kann das auch anders ausdrücken... Was hat das mit dem Halteproblem zu tun?

    Wir extrapolieren ein begrenztes System auf unbegrenztes, dass immer Speicher hat? Wenn das Deine Aussage ist, dann wiederhole ich meine Frage:

    Kannst Du garantieren, dass Du Informatiker wirst?

    mathik schrieb:

    jedoch hat das sowieso keinen einfluss auf die aufgabenstellung, unter der annahme, dass f nicht total ist. von mir aus können das auch ints sein.

    Nochmal zum Mitschreiben... was f ist, oder was für ein Argument f bekommt, spielt keine Rolle, solange es in einem begrenzten System stattfindet. Dann ist es entscheidbar (kein Konjunktiv) - vielleicht nicht praktikabel entscheidbar, aber theoretisch. Sobald wir wir uns ins theoretische wagen, wo Zahlen beliebig werden und Computer beliebig viel Speicher haben, ist es unentscheidbar - und wurde von mir nie in Zweifel gezogen.



  • Xin schrieb:

    Vielleicht sollte man sich hier darauf besinnen, dass Informatik-Studium heißt, dass man ein Infor-ma-tik-Studium macht. Wissenschaft der automatischen Informationsverarbeitung. Die Idee dahinter ist, dass man auch Dinge lernt, die a) wissenschaftlich sind (z.B. theoretische Informatik) und b) in der Realität vorkommen können.
    Es kann sehr von Vorteil sein, wenn man weiß, dass eine Funktion enden wird und der Videorekorder/das Händi/der Verstärker nicht in der Funktion immer bleibt, die man selbst geschrieben hat.

    Richtig. Kann von Vorteil sein. Ist auch gut zu wissen. Aber wie gesagt, besonders diese Ecke der Theoretischen Informatik ist einfach zu 99.95% anwendungsfremd. Bitte vergiss nicht, dass ich in der ganzen Diskussion durchaus ein Befuerworter der TI bin, nur gerade _dieses_ Gebiet (Touring, Halteproblem...) ordne ich fuer mich unter "interessant, gut mal gehoert zu haben, aber eigentlich unwichtig" ab. Auch P=NP ist fuer mich ziemlich schnurz: Ich nehme zur Kenntnis, dass er NP ist, also versuche ich einen zu bauen der besser als NP laeuft, um trotzdem ein Ergebnis in vernuenftiger Zeit zu bekommen.

    Ich studierte nicht, damit ich das optimale Profil für einen Arbeitsplatz habe. Mit meinem Profil kann ich aber den einen oder anderen Job produktiv ausführen.

    Ich studiere, weil es mir Spass macht und einen Weg in eine Arbeitswelt ermoeglicht, die mir weiterhin Spass macht. In welchem Arbeitsgebiet das sein wird, keine Ahnung. Vielleicht werd ich ja Systemkuechenarchitekt.

    Das "Rumgefurze" gehört irgendwo dazu, weil ohne das "Rumgefurtze" ist es nicht Ingeneurskunst sondern Stammtischlogik. Auch wenn er nicht weiß, was eine Gödelnummer ist, so kennt er die Tatsache doch berücksichtigen, in dem er darauf achtet, dass kritische Funktionen garantiert zurückkehren.

    Wie kommt es, dass Berechenbarkeit und die ganzen Touring Geschichten so gut wie in keiner Veroeffentlichung unserer Fakultaet auftaucht? => Keine Sau braucht es, ausser etwas am Rande 🙂

    Und dass man sich als Student noch mehr für die akademischen Fragen begeistert als für die Job-Alltäglichen ist doch normal. Ist doch positiv, wenn er derartiges in seinem Alltag hat. Nicht zu wenige angehende Ingeneure benutzen die Vorlesung als Überbrückung zum nächsten Party.

    Ich habe nicht gesagt, dass diese Begeisterung (der von mir angesprochene Hype) negativ ist. Sie ist nur im Hinblick auf das was kommt, sei es nun Forschung oder 'normale' Arbeitswelt, schlichtweg naiv. (manche Ersties halten sich nach einem Semester TI fuer neunmalklug...)

    Das einzige worauf ich in dieser ganzen Diskussion hinweisen wollte ist folgendes: Nicht wenige Dipl.Informatiker halten sich fuer was besseres, weil sie glauben (!) aeusserst komplexe Teilgebiete der Informatik zu verstehen (wenn andere da etwas drueber lesen, verstehen sie nur Bahnhof). Das macht sie stolz, obwohl sies selber nicht wirklich kapiert haben. Dieses Pseudowissen wird dann als Argument benutzt, sich dem Fachinformatiker ueberlegen zu fuehlen.
    Was meines erachtens der Dipl.Inf an der Uni lernt, und was ihn wirklich vom Fachinformatiker unterscheidet: Er lernt Abstraktion und gezieltes einsetzen des Verstandes. Ich weis von vielem nicht wie es genau geht, aber ich weis genau wo ich nachlesen muss. Ich erkenne Zusammenhaenge, wo es andere nicht sehen. Ich kann 3 Abstraktionsstufen nach oben gehn, und immer nochn den Ueberblick behalten. Warum haben viele Fachinformatiker genau das nicht? Das ist schlicht und einfach in der Ausbildung begruendet: Wo ein Fachinformatiker ein spezielles Gebiet macht, und i.d.R. immer an relativ niedriger Hierarchiestufe Software entwickelt, lernt der Dipl.Inf Grundlagen zu allen Systemen, Konzepten usw. Der Dipl.Inf ist gezwungen zu lernen, wie man ueber den Tellerrand schaut, und trotzdem nicht vom Tisch faellt.

    edit: @xin: nachdem du anscheinend nicht einsehen willst, dass das mit satz von rice gegessen ist, ein einfaches Beispiel: f(a) = rand()*1 Unter der Annahme dass rand() entweder 0 oder 1 gibt: Kannst du entscheiden, ob immer null oder eins bei f(?) rauskommt?
    Glaubs einfach dem Herrn Rice 😉



  • Xin schrieb:

    Nochmal zum Mitschreiben... was f ist, oder was für ein Argument f bekommt, spielt keine Rolle, solange es in einem begrenzten System stattfindet. Dann ist es entscheidbar (kein Konjunktiv) - vielleicht nicht praktikabel entscheidbar, aber theoretisch.

    Jaja und da wir auch nur konstante Speichergrößen haben können wir auch nur konstant große Probleme lösen und damit ist auch die Laufzeit aller Algorithmen konstant.



  • Korbinian schrieb:

    edit: @xin: nachdem du anscheinend nicht einsehen willst, dass das mit satz von rice gegessen ist, ein einfaches Beispiel: f(a) = rand()*1 Unter der Annahme dass rand() entweder 0 oder 1 gibt: Kannst du entscheiden, ob immer null oder eins bei f(?) rauskommt?
    Glaubs einfach dem Herrn Rice 😉

    Du gewinnst, wenn Du mir sagst, wo der Zufall in einem begrenzten System herkommt. ^^

    Wenn Du einen externen Zufallsgenerator, sowas wie eintreffende Photonen pro Zeiteinheit oder göttliche Schnittstelle dazupackst, ist es nicht mehr begrenzt, weil Du eine exterene Eingabe tätigst.
    Benutzt Du eine Formel für rand(), so ist es entscheidbar.

    Beachte meine Aussage: Ich spreche ausschließlich von begrenzten Systemen. Nix theoretisch.

    Ein User, der immer auf 'Beenden' klicht und bei 'Wirklich Beenden' 'Nein' antwortet.... das Programm wird auch niemals enden. Mir wäre aber neu, dass die Unentschlossenheit von Computerbenutzern als Teilbereich der TI aufgenommen wurde.

    Jester schrieb:

    Xin schrieb:

    Nochmal zum Mitschreiben... was f ist, oder was für ein Argument f bekommt, spielt keine Rolle, solange es in einem begrenzten System stattfindet. Dann ist es entscheidbar (kein Konjunktiv) - vielleicht nicht praktikabel entscheidbar, aber theoretisch.

    Jaja und da wir auch nur konstante Speichergrößen haben können wir auch nur konstant große Probleme lösen und damit ist auch die Laufzeit aller Algorithmen konstant.

    Öhm... sind Computer nun doch nicht mehr begrenzt? Habe ich irgendwas verpasst?
    Was im Speicher(HDD...) nicht (irgendwie) darstellbar ist, kann nicht (sinnvoll) verarbeitet werden.

    Spricht hier irgendwer über Laufzeiten von Algorithmen? Interessiert das bei einer Frage, ob es theoretisch möglich ist?!


Anmelden zum Antworten