Fachinformatiker für Anwendungsentwicklung



  • Hi,

    blos mal einen (sicher auch ein wenig hinkenden) Vergleich aus dem Bauwesen.
    Der Informatiker entspricht dem Architekten bzw. Statiker under der Fachinformatiker ist der Maurer. Der Architekt (Uni-Informatiker bzw. zukünftig der Master) designed das (Programm-)Gebäude, der Statiker (Informatiker(FH) bzw. zukünftig der Bachelor) macht die Statik und der Fachinformatiker mauert das (Proggramm-)Gebäude hoch. Aber da sind meist die Messen schon gesungen und der eigene Entscheidungsspielraum geht gegen null. Die Pseudostudienabsolventen sind dann irgendwo so auf der Ebene des Brigadiers oder Poliers zu suchen.
    Nun kannst Du entscheiden, ob Du einer von denen sein willst, die das Haus entwerfen, oder der der die Mauern hochdreschen muß.
    Einen kleinen Unterschied gibts in der Praxis zu dem Beispiel: Im Bauwesen wird es nicht vorkommen, daß der Statiker oder der Architekt die Mauern selber hochmauert, aber viele Informatiker, vor allem in kleinen Betrieben entwerfen nicht nur die Programme, sondern erstellen sie komplett selber.
    Unabhängig, wie anspruchsvoll Programmiersprachen wie C++ auch sein können, es ändert nichts daran, daß das eigentlich kreative nur das Entwerfen und Konzipieren ist. Das Einmeißeln von konkretem Quellcode ist dagegen mehr oder wengier reines Handwerk.

    Gruß Mümmel



  • Testo erzähle bitte keinen Müll, wenn du selber keine Ahnung hast.
    Wie du sagtest gibt es kein Studium bei dem man Programmieren lernt.
    Das gibt es aber wohl. Also STFU

    Das ich selber gar keine Ahnung habe würde ich nicht sagen. Man merkt ja schon an Deiner Wortwahl und deinen naiven Antworten das nix dahinter steckt - du könntest mir ja mal ein Beispiel nennen warum ich Müll erzähle.
    Und komm jetzt bitte nicht wieder mit STFU

    Die anderen sind die die es theoretisch auch können müssen, sich aber vor der Praxis (meist) drücken.
    Daher sind die "studierten Informatiker" halt meist nur die, die bestimmen was gemacht werden soll, aber von der wirklichen Umsetzung keinen Blassen haben.

    schön das du dieser meinung bist - aber die wirklichkeit kann durchaus sehr sehr anders aussehen. Du pauschalisierst sehr stark und das gefällt MIR nicht. Ich kenne einen Haufen Leute die

    a) sowohl tiefes verständnis in ingenieursgebieten oder sonstigen Anwendungsgebieten haben und
    b) hervorragende programmierer/software entwurfsspezialisten sind.

    Natürlich gibt es auch diejenigen die informatik studiert haben und nicht programmieren können.
    Sich vor der Praxis drücken sehe ich vollkommen anders. Ich z.B. bin immer froh wenn ich coden darf. Meist ist es halt so dass die aufgabenbereiche eher an Fachinformatiker verteilt werden weil deren "Ausbildung" in einen anderen bereich zielt (das reine realisieren). Verständlich.
    Ich oder Wir hier sagen ja nicht dass das schlecht ist bzw. das die Fachinformatiker idioten sind - keinesfalls. Was wir nur versuchen zu vermitteln ist, dass jemand der eine Fachinformatik Ausbildung durchlaufen hat eher selten in die Position bzw. das Aufgabengebiet der Entwicklung (mit allem drum und dran) positioniert wird. Und ich bin mir zu 100% sicher das einige Fachinformatiker besser programmieren können als studierte Informatiker.
    ABER: Es zu sagen dass studierte Informatiker nicht programmieren können bzw. von der Umsetzung keinen Blassen haben finde ICH nicht korrekt.

    viele Informatiker, vor allem in kleinen Betrieben entwerfen nicht nur die Programme, sondern erstellen sie komplett selber.
    Unabhängig, wie anspruchsvoll Programmiersprachen wie C++ auch sein können, es ändert nichts daran, daß das eigentlich kreative nur das Entwerfen und Konzipieren ist. Das Einmeißeln von konkretem Quellcode ist dagegen mehr oder wengier reines Handwerk.

    👍

    nönö, das hier http://www.in.htwg-konstanz.de/inhalte/de/BACHELOR-STUDIUM/seb/?sprache=de&openmenu=4
    ist ja auch kein Software enginering Studium zum Bachelor

    und es gibt anscheinend immer noch leute die Programmieren mit Software Engineering verwechseln.



  • und es gibt anscheinend immer noch leute die Programmieren mit Software Engineering verwechseln.

    darum geht es nicht. DU hast behauptetes gibt kein Studium bei dem man C++ lernt. Aber wie man sieht lernt man im erwähnten Studium C++, C++ Frameworks und Guis usw.



  • DU hast behauptetes gibt kein Studium bei dem man C++ lernt.

    würdest Du mir bitte zeigen wo ich das behauptet habe?
    was ich gesagt habe ist:

    Man kann C++ NICHT studieren.

    und damit meinte ich man kann nicht ausschließlich ein studium absolvieren wo NUR C++ gelesen wird.

    Natürlich gibt es randvorlesungen die sich mit C++ beschäftigen. Trotzdem bleibe ich bei meiner Aussage dass ich bisher in einem Informatikstudium nie eine Vorlesung "Programmierung in C++" gesehen habe. Es sind immer Anwendungstägigkeiten die dann in einer bestimmen Programmiersprache realisiert werden.

    Aber wie man sieht lernt man im erwähnten Studium C++, C++ Frameworks und Guis usw.

    ich finds leider auf der seite nicht. Kannst Dus mir zeigen?
    Außerdem nur so nebenbei: Ein "Studium" was sich so auf eine Programmiersprache festlegt - da runzele ich schon gern die stirn. Unsere "IT"-Welt besteht leider/zum Glück aus mehr als einer Programmiersprache die in ganz spezifischen Bereichen ihre ganz eigenen Vorteile hat.
    Die Informatik an sich hat nichts mit Einschränkung auf eine Sprache zu tun sondern befasst sich viel tiefer mit den eigentlichen "Wurzeln".



  • Blue-Tiger schrieb:

    Blitzschnell schrieb:

    mi wurde aber abgeraten als Fachinformatiker zu Arbeiten weil man dabei nix lernt.
    Was lernt man denn dann in einem Info studium? Das hat ja gar keinen sinn
    wenn man als Softwareentwickler arbeiten will

    Du lernst Software entwickeln. Und das ist NICHT nur stupides Programmieren. Im Idealfall machen dass dann ja die FIAE (Fachinfos fuer Anwendungsentwicklung) fuer dich. Was du in einem (entsprechend auf Software-Entwicklung ausgelegten) Studium lernst, ist es, ein Programm zu entwerfen und komplexe Informatikprobleme zu loesen, mit allem drum & dran. Du lernst z. B. folgendes (je nach Uni & Studiumsschwerpunkt):

    * wie validiere ich Software (d.h. wie kann ich BEWEISEN, dass komplizierte SW genau das tut was sie soll, was z. B. immer dann wichtig ist wenn Menschenleben davon abhaengen)
    * wie schreib ich meine eigene Programmiersprache & einen Compiler dazu, wie kann ich feststellen, ob ein Problem ueberhaupt "berechenbar" (d.h. mit einem Computer loesbar) ist
    * wie kann ich ausrechnen, wie lang mein Programm rechnet, wenn statt 10 Leute am Testserver spaeter mal 100 oder 1000 Leute drauf arbeiten. Oder wenn ich statt 10 Monster ploetzlich 100 Monster in mein Spiel einbaue.
    * du lernst was ueber Technische Informatik: wie funktioniert ein Computer eigentlich genau? Was ist ein Transistor & wie funktioniert er? Wie ist ein Prozessor wirklcih aufgebaut - vom Pipelining ueber Caches und Bussysteme
    * Wie funktionieren Datenbanken? Was sind foederierte Datenbanksysteme, wie integriere ich Daten aus verschiedenen Datenbanken in ein globales DB-Schema, ...

    Dazu lernst du (zwangsweise) eine Menge Mathe, hast ein paar Anwendungsfaecher (Computergrafik, KI, Hardwareentwurf, ...) und ein paar andere Faecher. Das macht in etwa das Studium aus. Da bleibt nicht viel Zeit zum Programmieren. Das wird nur so nebenher gelehrt wenn mans grad mal braucht.

    EDIT: und all die oben genannten Sachen lernst du als FIAE einfach nicht/nur unzureichend. Deswegen sagt man dann gern, FIAE lernen "nichts". Sie lernen naemlich (hauptsaechlich) nur zu Programmieren, und nicht diesen eher theoretischen Ueberbau, das eigentlcihe "Entwickeln", Modellieren und Planen von grossen Sofwaresystemen.

    bester Beitrag!!!

    ich will mal sehen, dass es einen studiengang gibt mit nur einer programmiersprache. Bitte mit Quelle - gehört, gesagt zählt nicht wie z.b. (Mein Bruders Schwager dessen Freundins Cousin)

    Ich weiss nicht ob ich es richtig verstanden habe aber Software-Engineering hat ja man sehr wenig mit dem eigentlichem programmieren zu tun.
    eigentlich bedeutet es "Ingeneursmäßige Herangehensweisen an Softwareproblemen"

    Ein studium hat denn sinn/zweck dass man sich nicht auf ein gebiet zu stark spezialiesiert damit man sich schneller fortbilden kann und auch mal das drumherum betrachten lernt.

    welcher betrieb sucht einen studierten am besten noch mit master der nur C++ kann ? -> show me



  • Naja der Beitrag von Blue-Tiger gehört so in die Flamewar-Ecke.Da er leider etwas selbstüberheblich meint zu wissen was FIAE lernen und was nicht.
    Natürlich lernt man im Studium mehr (sagen wir mal Hintergrundwissen).Aber man kann sich nicht einfach hinstellen und behaupten, das gewisse Themen nicht abgehandelt werden.Besonders die Sachen die er aufgezählt hat, werden alle bei einer regulären Ausbildung FIAE auch abgehandelt.
    Natürlich nicht in dem Umfang wie im Studium.Allerdings sage ich da immer:"Selbst ist der Mann."
    Wenn man etwas lernen will, dann lernt man nicht nur das "Abgehandelte" nur um durch ein paar LK zu kommen oder aber die Prüfungsgrundlagen zu beherschen.
    Genauso wird es immer "Bleibende Studenten" geben.Die lernen zwar ihren Stoff im Studium aber danach ist dieses Wissen trotzdem nicht mehr vorhanden bzw. muss von Grund aufgefrischt werden.



  • Was ist ein Transistor & wie funktioniert er?

    Das gehört nicht in ein Informatik-Studium.

    Das ist hier nicht Hauptthema, und sicher wird das auch in keiner Prüfung abgefragt, aber unser Prof. für technische Informatik hat uns sehr wohl erklärt, wie Transistoren aufgebaut sind, wie sie funktionieren und sogar wie sie heutzutage (modern) hergestellt werden. Außerdem muss man Schaltungen mit Transistoren bauen können. Die eher selten benutzten BJT's lernt man ja auch schon in Physik im Gymnasium kennen.



  • klare_Sicht schrieb:

    Naja der Beitrag von Blue-Tiger gehört so in die Flamewar-Ecke.Da er leider etwas selbstüberheblich meint zu wissen was FIAE lernen und was nicht.
    Natürlich lernt man im Studium mehr (sagen wir mal Hintergrundwissen).Aber man kann sich nicht einfach hinstellen und behaupten, das gewisse Themen nicht abgehandelt werden.Besonders die Sachen die er aufgezählt hat, werden alle bei einer regulären Ausbildung FIAE auch abgehandelt.
    Natürlich nicht in dem Umfang wie im Studium.Allerdings sage ich da immer:"Selbst ist der Mann."
    Wenn man etwas lernen will, dann lernt man nicht nur das "Abgehandelte" nur um durch ein paar LK zu kommen oder aber die Prüfungsgrundlagen zu beherschen.
    Genauso wird es immer "Bleibende Studenten" geben.Die lernen zwar ihren Stoff im Studium aber danach ist dieses Wissen trotzdem nicht mehr vorhanden bzw. muss von Grund aufgefrischt werden.

    Tja, es tut mir leid wenn du den Beitrag beleidigend fandst. Weder wo ich herkomme (Italien) noch wo ich momentan studiere (Oesterreich) gibts eine FIAE-Ausbildung, von daher sind meine Informationen ueber die Ausbildung rein das, was ich erzaehlt bekomme, in Lernunterlagen von FIAEs sehe und das, was ich von den FIAEs schliessen kann, die ich kenne. Und unter letzteren sind durchaus Leute, die wirklich was drauf haben und sich auskennen, aber die haben sich (laut eigener Aussage) dieses Wissen SELBST angeeignet, unabhaengig von der Ausbildung. Mir ist auch klar, dass die Ausbildung manchenorts besser und manchenorts schlechter ist. Trotzdem glaube ich - anhand dessen was ich so mitkriege - nicht, dass die Themen die ich aufgezaehlt habe, in einer typischen Ausbildung durchgemacht werden; Angeschnitten oder erwaehnt vielleicht ("ach ja, uebrigens, wenn man will kann man Programme auch mathematisch korrekt validieren", "O(polynom)nenntmanuebrigensN,O(polynom) nennt man uebrigens N, O(exponentiell) NP Probleme"), aber nicht ernsthaft behandelt.

    Aber vielleicht hab ich auch ein komplett falsches Bild von der Ausbildung. Ich lass mich sehr gern eines besseren Belehren, wenn du mich also ueberzeugen willst, dass FIAEs im Zuge ihrer Ausbildung sehr wohl Compilerbau, Berechenbarkeits- und Komplexitaetstheorie und die anderen obgenannten Dinge behandeln, dann bitte zeig es mir. 🙂 Poste mal Links zu Lernunterlagen o. AE. (wenn du entsprechende Lernunterlagen nicht in oeffentlichen Foren posten willst kannst du mich auch gern per ICQ kontaktieren).



  • 👎 schrieb:

    Was ist ein Transistor & wie funktioniert er?

    Das gehört nicht in ein Informatik-Studium.

    Zumindest die grundsaetzliche Funktionsweise von Transistoren ist bei uns sehr wohl pruefungsrelevanter Stoff, und und spaetere Lehrveranstaltungen (bei uns "Hardwareentwurf" und "Praktikum digitale Schaltungstechnik", wobei AFAIK beide Pflichtveranstaltungen sind) bauen durchaus darauf auf.
    Haengt aber wohl sehr stark mit der Ausrichtung der Uni zusammen. Aber wenn du dich auf Hardwareentwurf oder Embedded Systems spezialisieren willst solltest du davon IMO sehr wohl Ahnung haben. Finde es also durchaus gerechtfertigt, dass man sowas im Grundstudium lernt.



  • http://www.in.htwg-konstanz.de/inhalte/de/BACHELOR-STUDIUM/seb/modulhandbuch/Modulhandbuch_SEB_21042008_WEB.pdf
    Dieses Studium beschäftigt sich zwar nicht nur mit C++ aber es ist wohl das Hauptmerkmal des Studiums.
    C++ einstieg Objecktorientiert GUI usw



  • herbert15 schrieb:

    http://www.in.htwg-konstanz.de/inhalte/de/BACHELOR-STUDIUM/seb/modulhandbuch/Modulhandbuch_SEB_21042008_WEB.pdf
    Dieses Studium beschäftigt sich zwar nicht nur mit C++ aber es ist wohl das Hauptmerkmal des Studiums.
    C++ einstieg Objecktorientiert GUI usw

    👎 Wie kommsten darauf? Hier steht lediglich das die Grundlagen der Programmierung gerlehrt werden, am Beispiel von C++. -> Nebenbei wird also Programmieren gelehrt, und nicht explizit eine einzelne Programmiersprache.



  • Blue-Tiger schrieb:

    ...Angeschnitten oder erwaehnt vielleicht ("ach ja, uebrigens, wenn man will kann man Programme auch mathematisch korrekt validieren", "O(polynom)nenntmanuebrigensN,O(polynom) nennt man uebrigens N, O(exponentiell) NP Probleme"), aber nicht ernsthaft behandelt....

    ...dass FIAEs im Zuge ihrer Ausbildung sehr wohl Compilerbau, Berechenbarkeits- und Komplexitaetstheorie und die anderen obgenannten Dinge behandeln, dann bitte zeig es mir. :)...

    die haben das auch nicht nötig. ich kapier nicht, wieso sich hier manche so viel auf compilerbau oder komplexitätsanalyse einbilden. das sind alles themen, die ein software entwickler nicht kennen muss. niemand schreibt sich seinen compiler und niemand programmiert sich die ganzen datenstrukturen selbst. die leute machen java und c#. blue-tiger, glaubst du wirklich, dass dafür dann compilerdesign nötig ist?

    Blue-Tiger schrieb:

    wie validiere ich Software

    das ist immer noch lächerlich. schreib sowas für eine datenbankanwendung oder für ein 100k zeilen programm. du wirst nie im leben fertig. und wenn du fertig bist, musst du deine validierung erneut validieren. man kann fehler in der validierung ja nicht ausschließen.

    Blue-Tiger schrieb:

    wie kann ich ausrechnen, wie lang mein Programm rechnet, wenn statt 10 Leute am Testserver spaeter mal 100 oder 1000 Leute drauf arbeiten.

    das beispiel ist sehr schlecht. unterschiede zwischen 10 und 1000 sind minimalst bezüglich komplexität der datenstrukturen. der rest ist eine frage der resourcen (ram, anzahl der cores, ...) und der api.

    Blue-Tiger schrieb:

    Was ist ein Transistor & wie funktioniert er? Wie ist ein Prozessor wirklcih aufgebaut - vom Pipelining ueber Caches und Bussysteme

    auch das ist unnötig. wie gesagt, java und c#. man hat null einfluss darauf, was ja für eine plattformunabhängige programmierumgebung auch sinnvoll ist.

    Blue-Tiger schrieb:

    Wie funktionieren Datenbanken? Was sind foederierte Datenbanksysteme, wie integriere ich Daten aus verschiedenen Datenbanken in ein globales DB-Schema, ...

    beides ist auch kaum nötig. die leute schreiben sql und wissen, wie sie indices setzen müssen. das reicht leicht aus. mehr brauchen sie nicht wissen. und föderierte datenbankesysteme ist ein buzzword.

    es braucht sehr gute programmierer. es braucht ebenso gute wissenschafter. ein guter programmierer wird man vor allem durch viel praxis. ein studium ist der denkbar falscheste weg für diesen beruf. im gegensatz braucht es wissenschaft für die neue algorithmen für alte probleme. eine programmierausbildung ist dafür aber nicht nötig. die richtige ausbildung für die richtige aufgabe.



  • Also grundsätzlich ist ein Studium sicherlich nicht zwingend die beste Wahl wenn man unbedingt Programmierer sein möchte. Aber Programmierer sind, wie schon angedeutet auch "nur" Handwerker.

    Jedoch sollte ein Programmierer schon Ahnung haben auf welcher Architektur er programmiert, wie der Cache organisiert ist usw. Das kann nämlich durchaus einen _erheblichen_ Unterschied in der Geschwindigkeit der Berechnungen ausmachen.

    Daten aus dem Cache zu laden ist nunmal schneller als sie aus dem Hauptspeicher zu holen. Also sollte man sich schonmal ein wenig Gedanken darüber machen, ob man seinen Algorithmus nicht so gestalten kann, dass er möglichst lange mit den Daten, die schon einmal im Cache sind, weiterrechnet.



  • @besserwisser:
    Ich gehoer leider zu den Leuten, die Ironie nicht gleich erkennen, wenn sie sie sehen. Wenn deine Aussagen sich auf FIAEs beziehen, geb ich dir recht. Als Programmierer muss man sowas alles nicht koennen, deswegen wuerds mich auch wundern wenn es unterrichtet wird. Als Entwickler von grosser, komplexer Software hingegen sehr wohl, und wenn du das nicht einsiehst geh ich gern auf dein Post ein, ansonsten spar ich mir die Muehe 😉



  • @Lütti
    wie willst du mit java oder c# das anstellen?

    @blue-tiger
    tjo. deine wortwahl lässt schon auf eine eher herablassende art schließen ("etwas einsehen"). bringt es da was, zu diskutieren? der großteil der programme ist nicht komplex. das sind einfachste programme. nicht jeder schreibt steuerungsprogramme für mars-roboter. genau darum geht es mir. für die überwältigende mehrheit der programme reicht eine einfache ausbildung aus. sag mal ein beispiel, was deiner meinung nach eine komplexe software ist.



  • @ besserwisser

    Ganz einfach:

    Nehmen wir das Beispiel Matrix-Vektor Multiplikation

    Je nach Implementierung der Datenstruktur für die Matrix liegen die Werte entweder zeilenweise im Speicher oder spaltenweise. Nehmen wir an sie liegen Zeilenweise im Speicher.

    Nun sollte man bei der Durchführung der Matrix-Vektor-Multiplikation auch zeilenweise durch die Matrix laufen. Denn beim Laden in den Cache werden immer direkt mehrere hintereinander liegende Werte aus dem Hauptspeicher in den Cache geladen (siehe Cache-Lines). Läuft man zeilenweise durch die Matrix sind die Werte für die nächsten x Berechnungen bereits im Cache, man spart sich die Zeit zum nachladen.

    Als Gegenbeispiel:

    In Fortran liegen die Werte der Datenstruktur Matrix Spaltenweise im Speicher. Hier wäre obiger Algorithmus nicht sinnvoll, da man so bei jedem einzelnen Wert wieder neu aus dem Hauptspeicher laden muss.
    Der Algorithmus muss also für eine solche Datenstruktur Spaltenweise iterieren.

    Wer es nicht glaubt, dem kann ich gerne den C++ Code zum berechnen der Spalten bzw Zeilensummennorm einer Matrix posten. Hier liegt nämlich genau das gleiche Problem vor.



  • @Lütti
    noch mal: java, c#? überliest du das mit absicht?

    ich stimme dir bei deinem beispiel zu. aber wie gesagt, c++ und fortran sind nicht java und c#.



  • Ehm, es geht hier darum, ich welcher Reihenfolge ich durch die Matrix interiere.

    Da spielt die Programmiersprache absolut keine Rolle.

    Soll ich es für dich vll noch in Pseudo-Code posten, damit du es verstehst?

    Ob man das ganze in Python, Ruby, Perl, C++, Fortran, C#, Turbo Pascal, oder Java implementiert speilt dabei nicht die geringste Rolle.

    Es macht einfach einen Unterschied ob ich bei einer (m x n) Matrix, die Zeilenweise im Speicher liegt zur Berechnung der Spaltensummennorm
    folgendes mache:

    for(j=0; j<n; j++){
       sum=0;
       for(i=0;i<m;i++){
          sum += matrix[i][j];
       }
    }
    

    oder aber folgendes

    double[] sumArr;
    for(i=0; i<m; i++){
       for(j=0;j<n;j++){
          sumArr[j] += matrix[i][j];
       }
    }
    

    Sind jetzt nur die beiden relevanten Schleifen, fehlt natürlich jeweils das bestimmen des maximums.

    Jedenfalls ist der 2. Code deutlich schneller als der erste
    Und da speilt es keine Rolle ob er in Java, in C# oder in C++ oder in C oder in whatever implementiert ist (außer Fortran, weil die Datenstruktur der matrix dort anders im Speicher liegt)

    Man kann das ganze sogar nochmal ein wenig beschleunigen wenn man das ganze blockweise macht.



  • besserwisser schrieb:

    @blue-tiger
    tjo. deine wortwahl lässt schon auf eine eher herablassende art schließen ("etwas einsehen"). bringt es da was, zu diskutieren? der großteil der programme ist nicht komplex. das sind einfachste programme. nicht jeder schreibt steuerungsprogramme für mars-roboter. genau darum geht es mir. für die überwältigende mehrheit der programme reicht eine einfache ausbildung aus. sag mal ein beispiel, was deiner meinung nach eine komplexe software ist.

    Dann sind wir ja einer Meinung 🙂 Ich bin auch der Meinung dass viele Programme absolut nicht komplex sind und dass man als Programmierer derselben den ganzen theoretischen Ueberbau nicht benoetigt - dass also eine FIAE-Ausbildung reicht wenn man sowas Programmieren will.
    Ich kann dir nicht sagen, ab wann eine SW komplex wird, das haengt ganz vom Anwendungsgebiet ab. Ab einer gewissen Groesse ist jede SW Komplex, und dann brauchst du hin & wieder schon Zeug, das du als FIAE nicht so gelernt hast: was, wenn die Webapplikation so gross wird, dass eine zentrale DB nicht ausreicht? Wenn irgendwo in deinem Programm zig Sekunden Laufzeit verloren gehen, weil dein Algorithmus nur suboptimal ist? Was, wenn dein Kunde verlangt, dass das Programm von seiner eigenen IT-Abteilung mit Features erweitert werden soll (sodass du deine eigene Scriptsprache dafuer baust 😉 ) oder ploetzlich eine XML-Datenquelle mitintegriert werden soll? Klar, das kann man auch als FIAE nachlernen, aber als Student bekommst du's halt schon waehrend der Ausbildung mit. Und du lernst, autonom und wissenschaftlich an die Arbeit heran zu gehen.

    Aber ich geb dir recht, im normalen Alltag benoetigt ein Programmierer weder Compilerbau noch Komplexitaetstheorie. Meiner Meinung nach - und ich glaub so war's auch geplant - macht aber genau der FIAE diese Arbeiten, wo es darum geht, zu Programmieren, und der "Studierte" uebernimmt das Planen usw. Da kommts zwar auch nicht drauf an, dass ich weiss wie ich mir eine Turingmaschine programmier, aber wenn ich irgendwo auf ein Problem stoss, tu ich mich leichter gleich zu sehen "oh oh, das wird ein harter Brocken, kostet viel Laufzeit, besser wir berechnen das vor / lagern es auf unsere Server aus / finden eine approximative Loesung" als wenn ich nie vorher was von der Thematik gehoert hab.
    Ausserdem gibts wesentlich mehr "komplexe" Software, als du vielleicht denkst. Roboter-Steuerung ist gar nicht mal so weit hergeholt, schliesslich gibts genug Industrieroboter. Oder Bankensoftware. Oder Logistikprogramme. Oder embedded systems. Oder andere Systeme, wo Zeitkritisch oder unter Garantie einer Ausfallssicherheit gearbeitet werden muss. Oder auf parallellen Rechnersystemen. Oder...



  • niemand schreibt sich seinen compiler und niemand programmiert sich die ganzen datenstrukturen selbst. die leute machen java und c#.

    damit disqualifizierst du dich ja schon selber in diesem thread. Ich kenne einen haufen leute die compiler schreiben und nicht java oder c# machen. zeig mir mal ein beduetendes OS das in c# geschrieben ist...
    oh ja sorry - wer schreibt heute noch OS 🙄

    der rest ist eine frage der resourcen

    Ich pauschalisiere jetzt mal bewusst:
    typisches denken junger coder heutzutage die nur darauf achten schnell zum ziel zu kommen und ach ja - wir haben alles geld der welt und unendlich viel RAM und die schnellsten CPUs etc...
    Solches denken ist bestimmt in manchen Bereichen möglich. Aber in vielen auch nicht - wo z.B. der speicher oder sonstwas sehr begrenzt ist.

    java und c#. man hat null einfluss darauf, was ja für eine plattformunabhängige programmierumgebung auch sinnvoll ist.

    🙂 mit java und c+ null einfluss - ja das stimmt.
    Beachte: Die Welt besteht nicht nur aus plattformunabhängigen Anwendungen.

    beides ist auch kaum nötig. die leute schreiben sql und wissen, wie sie indices setzen müssen. das reicht leicht aus. mehr brauchen sie nicht wissen.

    Und wieder eine Pauschalisierung: Korrekt - die Fachinformatiker benutzen die Datenbanken genau so.
    Und wer entwirft die DB und schaut welche Baumstruktur den schnellsten Zugriff auf Blattebene erlaubt? Und wer optimiert DB? Genau die leute die über Kostenanalysen "mathematisch" beweisen können dass es so schneller geht.
    Ach so: Es sind nicht die meisten.

    Nur mal nebenbei: Ein Studium soll dich so vorbereiten dass Du "Alles" machen kannst wenn du verstehst. Das du den theoretischen Unterbau hast um z.b. irgendwelche Optimierungen oder Verfikationen zu machen.
    Und da du sowieso so auf C# und Java aus bist - bist du in einer Fachinformatik-Ausbildung genau richtig. Das ist kein Vorwand sondern ich beweundere Deine Entschlossenheit und heisse es gut dass DU jetzt schon weißt wo du hin willst. 👍


Anmelden zum Antworten