Der Unterschied zwischen Fachinformatikern und Diplom-Informatikern



  • @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.



  • 16-jähriger Hobbyprogger schrieb:

    mathik schrieb:

    na dann bin ich aber auf die lösung folgender aufgabe gespannt: 😃
    gegeben eine funktion f die als eingabe ein int bekommt und als ausgabe ein int zurückgibt, also int f(int a) {programm-text...; return x; }. schreibe eine funktion bool h(string f), die true zurückgibt, falls f _immer_ eine 0 bei beliebiger eingabe liefert, sonst false.

    bool h(string f)
    {
       bool result = TRUE;
       for(int i=INT_MIN;i<=INT_MAX;i++)
       {
          if(f(i) != 0)
          {
             result = FALSE;
             break;
          }
       }
       return result;
    }
    

    wtf??
    Ich check nicht was du willst! 😕

    sieht schon ganz gut aus!! 😃 was ist jedoch mit funktion, wie z.b.:
    string f = "int f(int a) { return 1 - 1; }";
    ??

    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.

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



  • --- 😉



  • ** sorry, falscher Thread. Bitte löschen **



  • 16-jähriger Hobbyprogger schrieb:

    lol, muss doch verdammt peinlich sein, als Fast-Diplom-Informatiker ausgerechnet von nem 16-jährigen Hobbyprogrammierer geowned zu werden. 🙂

    Ja genau. Dann brich doch am Besten noch heute die Hauptschule (oder ist man mit 16 noch in der großen Gruppe vom Kindergarten?) ab und bewirb dich z.B. bei Microsoft.
    Die nehmen dich sicherlich gleich mit Kusshand, weil zu so schöne Anglizismen "createn" kannst ...



  • mathik schrieb:

    16-jähriger Hobbyprogger schrieb:

    mathik schrieb:

    na dann bin ich aber auf die lösung folgender aufgabe gespannt: 😃
    gegeben eine funktion f die als eingabe ein int bekommt und als ausgabe ein int zurückgibt, also int f(int a) {programm-text...; return x; }. schreibe eine funktion bool h(string f), die true zurückgibt, falls f _immer_ eine 0 bei beliebiger eingabe liefert, sonst false.

    bool h(string f)
    {
       bool result = TRUE;
       for(int i=INT_MIN;i<=INT_MAX;i++)
       {
          if(f(i) != 0)
          {
             result = FALSE;
             break;
          }
       }
       return result;
    }
    

    wtf??
    Ich check nicht was du willst! 😕

    sieht schon ganz gut aus!! 😃 was ist jedoch mit funktion, wie z.b.:
    string f = "int f(int a) { return 1 - 1; }";
    ??

    Gruß mathik

    welches 'f' ist denn gemeint? die funktion oder der string?



  • 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.


Anmelden zum Antworten