Deutsche Programmierer im internationalen Vergleich nur im Mittelfeld

BWLer rechnen das anders. Imho ist es 5.- und/oder 6.-Klasse-Mathematik. Ich hatte echt Schwierigkeiten, mich daran zurückzuerinnern:

Vom Brutto(stunden)lohn gehen 5 %, 15 % und 50 % (an A, B und C [Sozialabgaben, Versicherung, Steuern, etc.]) ab. Berechne den Netto(studen)lohn.

Frage an euch, wie würdert ihr das berechnen? Ich hab es nämlich komplett falsch berechnet. Imho berechnet ein Inform. das anders als ein BWLer.

Wie würdet ihr auch den BEP berechnen?

[OT]Politisch soll es damit gewiss wieder nicht werden…[/OT]

On-topic: Klar kann man das Mathem.-Level beliebig hochschrauben - je nachdem, wie sehr man „aussieben“ möchte. Schlimmes Wort. Ich kann etwas lockerer darüber schreiben, da ich z. Z. nicht davon betroffen bin. :wink:

[quote=CyborgBeta]Frage an euch, wie würdert ihr das berechnen?[/quote][SPOILER]Bruttolohn ist für alle Teile der Grundwert. Gesucht ist, was übrig bleibt:
100% - 5% - 15% - 50% = 30%
0,3 * Bruttolohn = NettoLohn[/SPOILER]
bye
TT

[QUOTE=SlaterB]quasi jeder geht so in nahezu allen Themen vor, bis auf die wenigen, die man selber genauer beherrscht,

genau wie ein Architekt oder auch Maurer auf der Baustelle den neuen Kleister nach Anleitung/ Spezifikationen verwendet,
statt die chemische Zusammensetzung und den Entwicklungsprozess dahin zu bewundern
[/quote]

Bis er den lösungmittelhaltigen Kleister verwendet, um die Styroporisolierung an die Wand zu kleben. Wenn der Horizont zu einschränkt ist, ist die Wahrscheinlichkeut höher, dass man irgendwelchen Mist macht. Natürlich braucht man kein Studium, um Programmieren zu können, aber wie schwierig die Ausdifferenzierung dessen ist, was man „unbedingt braucht“ oder nicht, sieht man schon an der „Wall Of Text“, die hierrunter noch folgte. (Nebenbei: Du müßtest dich doch auch noch an die Zeiten „5 B.S.“ (Before Stackoverflow) erinnern…? Es war nicht immer so einfach…)

das ist immer so leicht dahinbehauptet, ich denke nicht, dass ein Studium irgendwelche höheren Fähigkeiten vermittelt,

die Schule könnte sich auf Kernthemen beschränken, Lesen, Schreiben + halbwegs die anderen Deutsch-Themen ‚Text-Analyse‘ usw.,

genauso kann das Informatik-Studium deutlich gekürzt werden,

Netzwerke mit Datenrate + Paketen + Kommunikationsstrategien, Formale Logik, wofür braucht man das je?

ganz aufs Studium zu verzichten, womit man ja genauso gut Programmierer werden kann, wäre etwas drastischer Schritt,

Einen wirklichen Kernpunkt oder ein Argument habe ich hier nicht erkannt. Das, was ich „dahinbehauptet“ habe, ging nicht wesentlich hinaus über „Jemand, der ein Informatikstudium schafft, hat (im allgemeinen!!!) bestimmte (nicht näher benannte) Fähigkeiten, die jemand, der es nicht schafft, nicht hat“. Welche auch immer das sind. Ich behaupte nicht, dass diese Fähigkeiten für das Berufsleben relevant sind. Aber Zusammenhänge können subtil sein. Eigentlich wirderstebt es mir, den Link zu diesem populistisch ausgeschlachteten Experiment zu posten, aber … mache es trotzdem mal: Walter Mischel – Wikipedia

wenn man in einem bestimmten Bereich arbeitet braucht es so oder so Vorbereitung und Fachliteratur:

falls im Studium Kryptographie als Schwerpunkt gewählt und es da noch möglich war, dann passt das ja auch, 20 andere unwichtige Themen zurückgestellt,
aber alles mit der Gießkanne hilft wenig

Mathematik höher als Vektoren bietet sich für vieles in der Informatik an,

maximal Unterschiede zwischen linearen und quadratischen Aufwand etwa bei karthesisches Produkt/ Doppelschleife, auch ohne die Fachbegriffe zu kennnen,
von ‚Monoiden‘ gar nicht zu reden…

für bestimmte Programmierbereiche, in denen die Mathematik in der fachlichen Welt selber liegt, Umsetzung mathematischer Modelle
wie in Grafik Raum, Vektoren, Matrizen, Rotation, da ist keine Frage, da ist es dann passend nachgelernt,
von jemanden ganz ohne Studium in wenigen Wochen auch genauso gut wie nach 4-x Jahren Studium

Auch hier wieder viel Text, bei dem sicht die Kernaussage nicht erschließt. Ist Mathematik nun wichtig oder nicht? Es klingt, BEWUSST überspitzt formuliert, ein bißchen wie: „Man lernt Lesen und Schreiben, Addition und Multiplikation, und wenn man 18 ist, entscheidet man sich, was man werden will, und wenn man Autohändler werden will, lernt man halt innerhalb von 2, 3 Tagen noch schnell die Prozentrechnung dazu“. Ich denke, dass JEDES Wissen und ALLES was man lernt, eingebettet ist, in ALLES andere, was man schon gelernt hat. Man könnte das bildlich (aber möglicherweise auch sehr fundiert) mit einer Gehirnzelle vergleichen, die nur durch viele Verbindungen zu anderen Zellen ihr Potential entfalten kann (pun intended (und jemand, der sich ein bißchen mit Neurobiologie beschäftigt, auch wenn er im Job nur irgendwelches XML parst), versteht es vielleicht auch :stuck_out_tongue_winking_eye: ). Leider sind die Prozesse von Lernen und Verstehen usw. noch nicht gut genug verstanden, um einen algorithmisch-optimierten Prozess zu durchlaufen, an dessen Ende man genau das perfekt kann, was man können muss. Und dass es kaum ein anderes Fach oder Thema gibt, bei dem neues so stark auf schon gelerntem aufbaut, wie die Mathematik, sollte auch klar sein. Dass formale Logik in ALLEN Lebensbereichen nützlich ist, bzw. Logik im allgemeinen unentbehrlich, und dass sie mehr in den Vordergrund rücken sollte, hatte ich schon häufiger gesagt.
[ot]
Vielleicht hast du noch nie code gesehen wie

if (foo != 23 && bar.isTrue() == false || smurf < 13) 
{
    // Do nothing
} 
else 
{
    here();
    doing();
    real();
    work();
}

:verzweifel:
[/ot]

spätes edit: ‚Monoid‘ wird hier im Forum vor diesem Thread nach Suche nur 5 weiteren Threads genannt,

das ist nicht die Realität der Programmierung…

Sicher. Das habe ich auch nicht behauptet. Zugegeben, es ist schwer (und gelingt mir vielleicht nicht), den Zusammenhang, wie ich ihn sehe, zu vermitteln. Man könnte auch sagen, dass die Fähigkeiten, von denen ich glaube, dass sie mit einer „formalen Ausbildung“ zu tun haben, unabhängig von dieser Ausbildung sind oder unabhängig davon entwickelt werden können. Wenn man Klassen hat wie

class State {
    void establishCity(City city);
    void tearDownCity(City city);
    int countCities();
    City get(int i);  
}
class City {
    void addHouse(House h);
    void deleteHouse(House h);
    House accessHouse(int i);
}
class House {
    void insertRoom(Room room);
    void removeRoom(Room room);
    int obtainRoomCount();
    Room fetchRoom(int i);
}

braucht man wohl kein „echter Informatiker“ zu sein, um da ein nicht vorhandenes Muster zu erkennen. Ich denke aber, dass es nicht immer so offensichtlich ist.

Aus gegebenem Anlass: Während ich hier gelesen und geschrieben habe, hat mir ein Kollege einen Link geschickt:

Although interaction is at the heart of effective data visualization, existing systems for designing interactive visualizations are either complex or overly limiting—particularly when it comes to customization. Enter Vega-Lite, which combines a traditional grammar of graphics —including visual encoding rules and a composition algebra for layered and multi-view displays—with a novel interaction grammar to bring the advantages of high-level specification to interactive visualization.

(H.v.m, hab’s aber noch nicht gelesen)

der Kernpunkt war und ist, dass der größte Teil der Studieninhalte weitgehend nutzlos ist,

für die 99% der Anwender von Vega-Lite und anderen ‚composition algebra‘-Frameworks reichen die Tutorials,

für die 1% Elite, die sowas kompliziertes für die Welt erschaffen, ist aber auch nicht das Standard-Studium mit 0815-Diplomarbeit nach Katalog wichtig,
die sind schlau genug diesen Weg ganz von alleine weiter zu beschreiten, also auch in vertiefenden Doktor-Arbeiten usw.,
bzw. auch in der Entwicklung dort gibt es wenige Architekten und viele normale Mitarbeiter

was das andere Extrem ist, wäre auszuforschen,
aber ganz klar bringt diesen Autohändler in der Regel nicht weiter, dass er monate-/ jahrelang französische Grammatik, Dominant-rezessive Vererbung und die Physik der magnetische und elektrischen Felder gelernt hat, edit: hier auch die Vektorrechnung,
das geht zum einen Ohr und Auge rein, zum anderen oder weiter unten wieder raus

im Informatik-Studium in vielen Inhalten genauso,
wie ein if funktioniert versteht jeder von alleine, das Hilbert-Kalkül der Formalen Logik braucht es dafür nicht,
sinnlose Beschäftigung, allein noch für Nachweis an sich, dass jemand Dinge auswendig lernen und halbwegs korrekt wiedergeben/ anwenden kann,


was genau meinst du? es hat da jedenfalls nicht die Masse der Diplomanden dank ihrer Ausbildung Probleme selbstständig gelöst…,
nicht dass Besonderheiten von APIs überhaupt allzu logisch zu lösen wären,

damals mögen Suchen und Problem-Probieren länger gedauert haben und noch Bücher aus Papier lang und aufwendig gelesen worden sein,
evtl. mehr in Foren wiederholt zu fragen,

Gerade das „auswendig lernen“ irritiert mich hier etwas. Darum geht es GERADE (!) NICHT.

Man könnte es, etwas oberflächlich und wie viel zu oft, auf die Frage reduzieren, wo die Grenze zu ziehen ist.

Jeder versteht
if (condition) callFunction();

Wer versteht
if ((a && b) || (a && c)) callFunction();
?

Wer weiß, dass das das gleiche ist, wie
if (a && (b || c)) callFunction();
und warum?

Wer (außer A. DeMorgan) weiß, dass man
if (!(a || b)) callFunction();
auch als
if (!a && !b) callFunction();
schreiben kann?

Wer kann
if ((a && b && !c) || (a && !b && c) || (a && !b && !c) ...) callFunction();
zu
if (a || !c) callFunction();
vereinfachen, ohne schonmal was von Karnaugh, Veitch, Quine oder McCluskey gehört zu haben?

(Da geht es immernoch NUR um reine if-Abfragen, das elementarste was es in der Programmierung gibt)

Ich streite ja nicht ab, dass das „an sich“ und „meistens“ unwichtig ist, und „in der Praxis“ GANZ andere Sachen eine Rolle spielen (Kennen sie sich mit JDBC aus? Können sie einen Glassfish aufsetzen? Vermutlich habe ich gerade keinen Job, weil ich diese Fragen mit „Nein“ beantworten muss. Aber das ist OK). Um mal einen GANZ harten Bruch zurück zum ursprünglichen Thema zu machen: Unabhängig von Sinn und Aussagekraft dieses Hacker-Rankings wird man da wohl kaum vorne mitspielen, wenn man nicht weiß, was dynamsiche Programmierung ist. Und wenn man ein Problem, das man mit dynamsicher Programmierung lösen müßte, anders löst, kann es eben leicht sein, dass die Lösung in der Praxis (ja, der echten Praxis, da draußen, wo die Pizza herkommt) schlicht nicht funktioniert.

ich zumindest verstehe die Sache, und während ich viele Namen behalte, Hilbert und Dilbert und auch noch DeMorgan durchaus einordnen kann,
braucht es dazu kein ‘Karnaugh, Veitch, Quine oder McCluskey’ oder konkrete Erinnerung an ‘kanonischen disjunktiven Normalform’ (gerade nachgeschlagen)

während die genannten Punkte durchaus noch zu den sinnvolleren Dingen einfacher Vorlesungen im ersten Semester passen,
gilt auch für diese durchaus die Erkenntnis, dass ein Studium für diese nicht notwendig ist,

solche Sachen lernt man in der Praxis, entweder selber mit der Zeit, oder durch Kollegen bei Gelegenheit hingewiesen,
(fast) niemand ruft dafür etwas aus Gedächtnis ab oder vergleicht seine ifs mit den Standardstellen eines Lehrbuchs

man schaut sich die ifs an,
if ((a && b && !c) || (a && !b && c) || (a && !b && !c) ...) callFunction();
was ist mit a? a muss immer erfüllt sein,
und ich frage mich was bei … noch stehen soll damit if (a || !c) callFunction(); rauskommt?
da müsste ich wohl doch das ‘Karnaugh, Veitch, Quine oder McCluskey’-Verfahren methodisch durcharbeiten…, wer macht das in normalen Code und warum?
entweder es ist menschlich sichtbar oder den Aufwand nicht wert,

dass die Wissenschaft für alles ihre Namen hat ist für Ornung gut, aber keine Voraussetzung,
genau wie die vielen Design Pattern, auch ohne bestimmte Namen kommt man auf die meisten sinnvollen Konzepte wie eine Fabrik,
ganz einfach weil sie sinnvoll sind,
sie gleich zu lernen ist natürlich eine durchaus sinnvolle Beschäftigung, weitaus sinnvoller als vieles andere, von 5 Jahre nix tun statt Studium lernt man am aller wenigsten


um auch wieder mehr Dreh zum Anfang zurück zu bekommen:
das Studium ist weitgehend Schall und Rauch,
vielleicht von einem hohen Teil der Informatiker tatsächlich besucht, aber die wenigsten danach (bw. dadurch) entsprechende Universalgenies,

die Masse der Programmierer besteht aus einfachen (Büro-)Handwerkern ,


‘Dynamische Programmierung’ als neu genannten Punkt ist es wert, im Studium oder einem Buch ‘1000 things to know as a programmer’ seine 10 Min. Zeit
für Nennung zu bekommen, evtl. auch zum späteren Nachschlagen,
dass man es für alle Zeit direkt im Kopf parat hat ist eh nicht zu schaffen,

nur wieder verschwindend geringe Menge Programmierer kommen in ihren Leben auf Algorithmen wie nachgeschlagen ein Beispiel ‘Algorithmus von Floyd und Warshall’,
weitaus mehr werden in täglicher Arbeit ganz von alleine halbwegs von alleine berücksichtigen, dass ein Problem aus Teilproblemen besteht, deren Teillösung bei der Gesamtlösung hilft,
ohne etwas von ‘Dynamischer Programmierung’ gehört zu haben oder sich direkt daran zu erinnern und sich aktiv danach zu richten

Also ich verstehe das und kann es auch begründen - ganz einfach weil ich ein bestimmtest Lehrbuch durchgelernt hab.

Und BEP? Und wenn ich angelehnt aus der Wahrscheinlichkeitsberechnung:

Bruttolohn * (0,5 * 0,85 * 0,95) = ?

schreibe? Dann kommt da der größte Murks raus. Und wenn ich alles in eine Zeile quetschen möchte? Und welche Variablen/Parameter sind in der BWL eigentlich „geläufig/Gang & Gebe/gangbar/üblich/gebräuchlich“?

Und bitte nicht falsch verstehen, das sind BERECHNUNGEN in der BWL. Für alles andere schaut ihr mal in ein BWL-Buch. Der optimale Lagerhaltung z. B.

Floyd und Warshall - gut da wird es dann schon speziell. Ich hätte noch ein paar andere, z. B.: Levenshtein-Distanz, Synthesealgorithmus und und und.

In welche Richtung soll sich dieses Thema eigentlich entwickeln? Hat doch niemand von ‚uns‘ teilgenommen. Oder irre ich mich? (Ich hab ‚uns‘ geschrieben :smiley: )

OK, das ist der Standpunkt, der inzwischen klar geworden ist. Ich denke immernoch, dass Wissen über den Tellerrand hinaus und Vernetzung von Wissen, und auch gelegentlich die „akademische Vorgehensweise“ mal was mit Bleistift und Papier zu zerpflücken neben dem Allgemeinwissen (Kürzester Pfad? Djikstra!) und der Fähigkeit zur Abstraktion (Ideale Wortumbrüche in einem Text bestimmten? Kurzester Pfad!) nicht erreicht werden können, indem man mal schnell ein Tutorial liest - etwas Hippiehaft: Das muss „sacken“, das muss sich setzen, das muss man verinnerlichen, das muss man ATMEN :smiley:

------ :smiley:

Hat sich da schonmal jemand registriert oder mitgemacht?

~ ~ ~ ~
Folgebeitrag, durch Forumsoftware nicht wiederherzustellen:

Das wäre ja auch nur dann sinnvoll, wenn Lohnzahlung einer gewissen Wahrscheinlichkeit unterlägen.[SPOILER]Oh, sorry, tun sie bei Dir ja…

:D[/SPOILER]

bye
TT

Ich hab Mathematik studiert und hatte im Hauptstudium in den Abschlussprüfungen auch Logik und Rekursionstheorie, was natürlich theoretisch viel mit Programmieren zu tun hat.
Im alltäglichen Programmieren hat mir das aber keinen Unterschied beschert zwischen dem Programmieren vorher und dem Programmiren hinterher.
Ganz anders etwa als das Lesen von “Entwurfsmuster von Kopf bis Fuß”.

Trotzdem, auch wenn ein Studium vermutlich nicht die Voraussetzung ist, um ein guter Programmierer (oder eine schlauer Mensch) zu sein, ist die Wahrscheinlichkeit einfach höher, ich glaube dass es Unternehmen darum eher geht, als um Spezialwissen aus dem Studium selbst, so nach dem Motto, wenn er sich da durchgebissen hat, wird er auch hier keine Probleme haben.