Der Unterschied zwischen Fachinformatikern und Diplom-Informatikern
-
WTF!!
Ich bin mir sicher, dass ich wie von mathik geplant in die Falle getappt bin, ich kapier's aber noch nicht!!
Klärt mich mal auf, ist auch diese Bruteforce-Methode etwa nicht performant genug, habt ihr Dipl. Inf. da irgend ein krankes Hintergrundwissen, wie man das besser macht?
-
Haha! Sieht für mich so aus, als ob sich mathik selbst reingelegt hat. ...bin mal gespannt, wie er sich da rauswinden will. ...vielleicht mit nichtterminierenden Funktionen? ...oder nimmt er es mit Humor?
-
Hab mir die Aufgabenstellung nochmal angesehen, der Witz sollte wohl darin liegen, dass es eine Funktion f und einen Parameter f als Eingabe für die Funktion h gibt, die ja die Funktion f überprüfen soll und man da wohl irgendwie durcheinander kommen sollte.
lol, muss doch verdammt peinlich sein, als Fast-Diplom-Informatiker ausgerechnet von nem 16-jährigen Hobbyprogrammierer geowned zu werden.
---
(Ich stütze mich hier mal voll auf Gregors Annahme, dass sich mathik selbst ein Ei gelegt hat. ;))
-
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.
Die Peinlichkeit von soetwas hält sich in Grenzen. Soetwas kann jedem mal passieren. Mit Sicherheit hatte die Aufgabe allerdings einen anderen Hintergrund, als Du da vermutest.
-
Gregor schrieb:
Haha! Sieht für mich so aus, als ob sich mathik selbst reingelegt hat. ...bin mal gespannt, wie er sich da rauswinden will. ...vielleicht mit nichtterminierenden Funktionen? ...oder nimmt er es mit Humor?
Oder so?
int f(int a){ static int last = INT_MIN; return last++ - a; }
-
Korbinian schrieb:
hehejo schrieb:
Oder zu erkennen, dass sich ein Problem z.B. überhaupt nicht lösen lässt, weil man z.B. das Halteproblem darauf reduzieren kann.
Ich bin ja durchaus auch ein Theoriefan, aber dieses Level an Theorie ist ziemlich anwendungsfremd, und mir bis jetzt noch nicht untergekommen (und ich hab dann doch schon einiges gemacht, wie Graphen, parsen, Differenzialgleichungen und aehnliches...)
So what? Hast du in TI 1 geschwänzt?
-
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.
Schreib das Programm mal so um, daß es auch mit strings als Parameter funktioniert.
-
Gast25250 schrieb:
Korbinian schrieb:
hehejo schrieb:
Oder zu erkennen, dass sich ein Problem z.B. überhaupt nicht lösen lässt, weil man z.B. das Halteproblem darauf reduzieren kann.
Ich bin ja durchaus auch ein Theoriefan, aber dieses Level an Theorie ist ziemlich anwendungsfremd, und mir bis jetzt noch nicht untergekommen (und ich hab dann doch schon einiges gemacht, wie Graphen, parsen, Differenzialgleichungen und aehnliches...)
So what? Hast du in TI 1 geschwänzt?
nein, das 'ist mir bis jetzt noch nicht untergekommen' ist gemeint, dass mir im praktischen bezug das noch nicht untergekommen ist, nicht im studium
-
Gregor schrieb:
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.
Die Peinlichkeit von soetwas hält sich in Grenzen. Soetwas kann jedem mal passieren. Mit Sicherheit hatte die Aufgabe allerdings einen anderen Hintergrund, als Du da vermutest.
@16-hobby-progger:
der parameter f der funktion h enthält eine im string codierte funktion.
z.B.
string f = "int f(int a) { return 0;}";
assert(h(f) == true);
oder
string f = "int f(int a) { ganz komplexer code....; return 0;}";oder:
string f = "int f(int a) { return h(f) ? 1 : 0;}";usw.
also, viel Spaß noch beim Lösen!
mach dir jedoch weniger sorgen um das parsen, sondern überlege dir, wie der grundlegende algorithmus aussehen könnte!@Gregor "Satz von Rice" sagt dir doch was, oder?
Gruß mathik
-
@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.