Seite 72 von 202 ErsteErste ... 226268697071727374757682122172 ... LetzteLetzte
Ergebnis 1.066 bis 1.080 von 3026

Thema: [Programmiererstammtisch] "Zum ächzenden Compiler"

  1. #1066
    Pottwal?! Avatar von E-Feld
    Registriert seit
    30.11.12
    Beiträge
    1.211
    Als Indikator für die Verbreitung einer Sprache kann der TIOBE-Index herangezogen werden(hatte jetzt nicht geschaut ob das schon gepostet wurde). Allerdings hängt das Ranking nicht davon ab, welche Sprache am meisten verwendet wird (loc) - siehe einleitenden Text.
    Zitat Zitat von Tata
    The greatest glory in living lies not in never falling but in rising every time we fall.

  2. #1067
    Puhuhu Avatar von Slaan
    Registriert seit
    29.09.10
    Ort
    Hànbǎo
    Beiträge
    15.142
    Zumindest zu Java kann ich einiges sagen :

    Mapping: Ist inzwischen sehr einfach mit Frameworks, z.b. JAXB (Java Architecture for XML Binding), bei dem man ein xsd erstellt welches das Object in XML notation generell beschreibt, daraus kann man dann direkt klassen erstellen lassen und mit dem framework marshalln/unmarshalln.
    Auch andere Formate wie JSON sind mit diversen Frameworks auch sehr leicht zu verarbeiten (Spring, Spark).
    DB Mapping geht mit Hibernate oder JPA auch sehr leicht inzwischen, ganz ohne viel Configuration. Man hat Notationen über den Klassen stehen die dem framework informationen zu der Abbildung in der DB geben.

    Hibernate Beispiel:

    Code:
    @Entity
    @Table(name="People")
    public class People {
      @ID
      @Column(name = "id")
      private int id;
      @Column(name = "name")
      private String name;
      
      private People() {}
    }
    Ich weiß grad gar nichtmehr ob man zusätzlich die getter und setter benötigt, aber die lässt man sich auch einfach autogenerieren. Hibernate legt dann auch selbstständig die DB an und die Tables, man muss gar kein SQL selbst machen. Mit JPA kann man sogar direkt RESTful API's auf Datenbanken abbilden mit minimalem Code, da geht also einiges.

    Interesant find ich auch, dass Java Devs scheinbar zu den gefragtesten Devs gehören, zumindest wenn man sich Gehaltslisten anschaut sind Java Programmierer immer weit oben, siehe Bild im Spoiler (Quelle: https://s3-us-west-2.amazonaws.com/c...aid=55&elqat=2)

    Achtung Spoiler:
    Bild


    Ein großes Problem mit Java ist imo derzeit noch, dass die JVM riesig ist. Durch die Tendenz von vielen Unternehmen weg von Monolithischen Applikationen hin zu Microservices (ich glaub das meinte PT mit "Inselapplikationen) umstellen um die Wartbarkeit zu erhöhen und andere wichtige Aspekte von OO (Single Responsibility Pattern etc) einfacherer umzusetzen ist der große Overhead durch die JVM oft problematisch. Ein einfacherer Docker Container (docker.io) mit Java verbraucht allein gute 750mb RAM, was viel zu viel ist. In der nächsten Version soll das JDK allerdings modularer werden, was dieses Problem wohl etwas beheben soll. Lambdas gibts im übrigen auch schon seit ein paar Jahren in Java .

    Im Wissenschaftlichen Umfeld ist Java sicher nicht geeignet, für Backends von Webapplikation ist es aber definitiv einer der besten Optionen die es derzeit gibt

    PS: Danke für die ganzen Antworten, mal n bissle Diskussion hier
    Angehängte Grafiken Angehängte Grafiken
    |學而不思則罔,思而不學則殆。 ~ 孔子|
    | Lernen ohne zu denken ist sinnlos, denken ohne zu lernen gefährlich. ~ Kong Zi |

    | During times of universal deceit, telling the truth becomes a revolutionary act ~ George Orwell |

    SdM Dez16 - XCOM2 Make Humanity Great again

  3. #1068
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Slaan Beitrag anzeigen
    Lambdas gibts im übrigen auch schon seit ein paar Jahren in Java
    Nein. Das, was Java Lambda nennt, ist nur ein schwacher Abklatsch. Es können innerhalb des Lambda-Ausdrucks nur außerhalb definierte Variablen verwendet werden, die "effektiv final" sind. Darunter zählen Klassenattribute und lokale Variablen, die nicht verändert werden. Parameter der Methode sind nicht "effektiv final". Man kann also sowas wie z.B. in Python nicht in Java schreiben:

    Code:
    >>> def f(x):
    	return lambda y: x + y
    
    >>> g = f(2)
    >>> g(1),g(2),g(3)
    (3, 4, 5)
    Was doch eine erhebliche Einschränkung ist.

  4. #1069
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Slaan Beitrag anzeigen
    Interesant find ich auch, dass Java Devs scheinbar zu den gefragtesten Devs gehören, zumindest wenn man sich Gehaltslisten anschaut sind Java Programmierer immer weit oben, siehe Bild im Spoiler (Quelle: https://s3-us-west-2.amazonaws.com/c...aid=55&elqat=2)

    Achtung Spoiler:
    Bild
    Wahrscheinlich sind mittlerweile sogar schon die meisten Programmierer Java-Programmier. Alles was heute von der Uni kommt, "kann" Java. Dass das gut bezahlt wird, liegt vielleicht auch daran, dass viele Java-Programmierer in großen Unternehmen arbeiten, die auch viel bezahlen.

    Meiner Erfahrung nach haben Java-Projekte oft eine recht gute Codequalität, brauchen aber viel mehr Ressourcen (Mann, Zeit) um fertiggestellt zu werden. Was drei Java-Entwickler in einem Jahr machen, schafft einer allein in Ruby oder so.

    Wenn wir Leute einstellen, habe ich folgende Vorurteile:
    -"Java-Entwickler": kennt sich gut mit OOP aus, gute Softwarearchitektur, teilweise eleganter Code, beschäftigt sich aber in der Freizeit nicht mit Programmierung und kann auch nichts anderes als Java
    -"PHP Entwickler": Code sieht aus wie zu Zeiten von C64-BASIC, viel Copy&Paste, aber schnell fertig und funktioniert auch bis man etwas ändern will
    -"JS, Python, Ruby, Sonstwas mit web": Wählt für jede Aufgabe das geeignete Mittel, beschäftigt sich auch privat mit Programmierung, bringt selbst neue Ideen mit, kann selbstständig einen dev-Server aufsetzen oder im Notfall Probleme lösen, für die eigentlich ein Dienstleister oder der Kunde zuständig wäre.
    Verstand op nul, frituur op 180.

  5. #1070
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.902
    Schoene Diskussion, gute Beitraege .

    Zitat Zitat von Slaan Beitrag anzeigen
    Mapping: Ist inzwischen sehr einfach mit Frameworks, z.b. JAXB (Java Architecture for XML Binding), bei dem man ein xsd erstellt welches das Object in XML notation generell beschreibt, daraus kann man dann direkt klassen erstellen lassen und mit dem framework marshalln/unmarshalln.
    Auch andere Formate wie JSON sind mit diversen Frameworks auch sehr leicht zu verarbeiten (Spring, Spark).
    DB Mapping geht mit Hibernate oder JPA auch sehr leicht inzwischen, ganz ohne viel Configuration. Man hat Notationen über den Klassen stehen die dem framework informationen zu der Abbildung in der DB geben.

    ...

    Ich weiß grad gar nichtmehr ob man zusätzlich die getter und setter benötigt, aber die lässt man sich auch einfach autogenerieren.
    Bei der Vorstellung Code aus XML bzw. generell generieren zu lassen gruselt es mich immer wieder. IMHO ist die Sprache nicht ausdrucksstark genug, wenn man auf soetwas zurueckgreifen will. In python kann ich ganze Klassenhierarchien ueber Metaklassen aus minimaler Notation erzeugen ohne die Sprache verlassen zu muessen. Die einzigen die code als Strings erzeugen sollten sind Menschen - und das auch nur weil es fuer ASTs kein passendes Eingabegeraet gibt .

    Java ist auch ein extrem was die Diskrepanz zwischen IDE und Texteditor angeht. Ich nutze sehr gern IDEs, gerade fuer refactoring, aber wenn IDEs code erzeugen, dann ist das ein Indiz, dass in der Sprache was fehlt.

    Die Java Annotations sehen erstmal nett aus, sind ja aber auch nur fuer reflection. Das ist auch wieder nicht so ausdrucksstark wie python Dekoratoren und Metaklassen, die direkt bei der erzeugung der Klassen/Funktionen laufen. Das ist also irgendwie ein besseres #pragma.

    Zitat Zitat von Slaan Beitrag anzeigen
    Interesant find ich auch, dass Java Devs scheinbar zu den gefragtesten Devs gehören, zumindest wenn man sich Gehaltslisten anschaut sind Java Programmierer immer weit oben, siehe Bild im Spoiler (Quelle: https://s3-us-west-2.amazonaws.com/c...aid=55&elqat=2)

    Achtung Spoiler:
    Bild
    Ich finde die Tabelle ehrlich gesagt ziemlich irritierend, mir erscheinen die Gehaelter doch sehr niedrig. Da ist ja das Einstiegsgehalt im Oeffentlichen Dienst mit vernuenftigem Uni-Abschluss hoeher.

    Zitat Zitat von Slaan Beitrag anzeigen
    Ein großes Problem mit Java ist imo derzeit noch, dass die JVM riesig ist. Durch die Tendenz von vielen Unternehmen weg von Monolithischen Applikationen hin zu Microservices (ich glaub das meinte PT mit "Inselapplikationen) umstellen um die Wartbarkeit zu erhöhen und andere wichtige Aspekte von OO (Single Responsibility Pattern etc) einfacherer umzusetzen ist der große Overhead durch die JVM oft problematisch. Ein einfacherer Docker Container (docker.io) mit Java verbraucht allein gute 750mb RAM, was viel zu viel ist. In der nächsten Version soll das JDK allerdings modularer werden, was dieses Problem wohl etwas beheben soll.
    Also die JVM ist ja ne sandbox... dazu gibts noch die servlet container... das ganze jetzt noch in einen docker . Warum nicht gleich den docker in ne VM .

    Zitat Zitat von Shakka Beitrag anzeigen
    Wahrscheinlich sind mittlerweile sogar schon die meisten Programmierer Java-Programmier. Alles was heute von der Uni kommt, "kann" Java.
    Mir hat mal jemand kluges gesagt, in ner Java-Klische kannst du immernoch arbeiten wenn du mal keine Lust mehr hast. Da ist halt was dran.

    Zitat Zitat von Shakka Beitrag anzeigen
    Dass das gut bezahlt wird, liegt vielleicht auch daran, dass viele Java-Programmierer in großen Unternehmen arbeiten, die auch viel bezahlen.
    Klassisches Korrelation-Kausation-Misverstaendnis .

    Zitat Zitat von Shakka Beitrag anzeigen
    Meiner Erfahrung nach haben Java-Projekte oft eine recht gute Codequalität, brauchen aber viel mehr Ressourcen (Mann, Zeit) um fertiggestellt zu werden. Was drei Java-Entwickler in einem Jahr machen, schafft einer allein in Ruby oder so.
    Java-Projekte neigen stark zum overengineering (factories everywhere ). Das macht sie aber nur bedingt besser von der Code-Qualitaet. Das kann natuerlich auch mit overuse von Metaprogrammierung in hoeheren Programmiersprachen passieren. Ich kenn auch overengineered C-Code, das ist nicht schoen.

    Zitat Zitat von Shakka Beitrag anzeigen
    Wenn wir Leute einstellen, habe ich folgende Vorurteile:
    -"Java-Entwickler": kennt sich gut mit OOP aus, gute Softwarearchitektur, teilweise eleganter Code, beschäftigt sich aber in der Freizeit nicht mit Programmierung und kann auch nichts anderes als Java
    -"PHP Entwickler": Code sieht aus wie zu Zeiten von C64-BASIC, viel Copy&Paste, aber schnell fertig und funktioniert auch bis man etwas ändern will
    -"JS, Python, Ruby, Sonstwas mit web": Wählt für jede Aufgabe das geeignete Mittel, beschäftigt sich auch privat mit Programmierung, bringt selbst neue Ideen mit, kann selbstständig einen dev-Server aufsetzen oder im Notfall Probleme lösen, für die eigentlich ein Dienstleister oder der Kunde zuständig wäre.
    Kann ich soweit nachvollziehen. Wobei ich ehrlich gesagt noch nie jemanden gefunden hab der tatsaechlich programmieren konnte und sich nicht irgendwie geartet privat damit auseinandersetzt. Zumindest an den Unis lernt man programmieren im Info-Studium nicht wirklich.

    Wo landen bei dir die C/C++/Fortran Programmierer .

  6. #1071
    Qualitätssicherung 2.0 Avatar von Der_Blob
    Registriert seit
    21.10.14
    Beiträge
    1.796
    Und was haltet ihr von C#lern?
    "Die Sprache ist die Quelle aller Missverständnisse." - Antoine de Saint-Exupéry

    Storys:

  7. #1072
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Zulan Beitrag anzeigen
    Bei der Vorstellung Code aus XML bzw. generell generieren zu lassen gruselt es mich immer wieder. IMHO ist die Sprache nicht ausdrucksstark genug, wenn man auf soetwas zurueckgreifen will. In python kann ich ganze Klassenhierarchien ueber Metaklassen aus minimaler Notation erzeugen ohne die Sprache verlassen zu muessen.
    Und Du könntest auch zur Laufzeit Klassen bauen. Hier muss vor dem Start der Applikation das XML verarbeitet werden. Wenn Du am XML etwas änderst, musst Du neu starten. Und so etwas kann man durchaus wollen. Ich denke zum Beispiel an ein Warensystem. Wenn eine neue Produktkategorie kommt, kann man das im Betrieb (vom Kunden über ein Formular) dranpflanschen und hat trotzdem spezielle Tabellen und schicke Objekte.

    Zitat Zitat von Zulan Beitrag anzeigen
    Also die JVM ist ja ne sandbox... dazu gibts noch die servlet container... das ganze jetzt noch in einen docker . Warum nicht gleich den docker in ne VM .
    Das gibt es sicher. Was unterscheidet den Python-Interpreter von der Java VM oder einer VM im Allgemeinen? Und warum benötigt man eine neue JavaVM wenn man neue Sprachfeatures nutzt? Man kauft ja auch keine neue CPU wenn es ein neues Feature in C++ gibt.

    Zitat Zitat von Zulan Beitrag anzeigen
    Java-Projekte neigen stark zum overengineering (factories everywhere ). Das macht sie aber nur bedingt besser von der Code-Qualitaet.
    Bleibt die Frage, ob Java die Leute dazu führt oder ob die Leute das aus Java machen.
    Ich finde dieses "Problem" ehrlich gesagt eigentlich gar nicht so schlimm. Lieber Overengineering als Nullengineering.

    Zitat Zitat von Zulan Beitrag anzeigen
    Zumindest an den Unis lernt man programmieren im Info-Studium nicht wirklich.
    Aber wenn denen nichts besseres einfällt, lernen sie Java während oder neben dem Studium.

    Zitat Zitat von Zulan Beitrag anzeigen
    Wo landen bei dir die C/C++/Fortran Programmierer .
    Die optimieren überall Code. Am Ende läuft der Code 100% schneller. Was 2 Sekunden entspricht. An einer Stelle, die jedes Jahr ein mal passiert wird
    Verstand op nul, frituur op 180.

  8. #1073
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Der_Blob Beitrag anzeigen
    Und was haltet ihr von C#lern?
    Wie Java. Aber mit Shell-Allergie.

    Ist natürlich alles überspitzt, provokativ und diskussionsanregend formuliert.
    Verstand op nul, frituur op 180.

  9. #1074
    Qualitätssicherung 2.0 Avatar von Der_Blob
    Registriert seit
    21.10.14
    Beiträge
    1.796
    Bloß gut, das ich Java und C#kann.
    "Die Sprache ist die Quelle aller Missverständnisse." - Antoine de Saint-Exupéry

    Storys:

  10. #1075
    L'Éléphant terrible Avatar von Gigaz
    Registriert seit
    28.11.06
    Ort
    Zuhause
    Beiträge
    13.229
    Ich lerne grade wie man Cython benutzt. Ich habe schon einigermaßen verstanden, warum es so wenige Leute machen

  11. #1076
    Puhuhu Avatar von Slaan
    Registriert seit
    29.09.10
    Ort
    Hànbǎo
    Beiträge
    15.142
    Zitat Zitat von Shakka Beitrag anzeigen
    Wahrscheinlich sind mittlerweile sogar schon die meisten Programmierer Java-Programmier. Alles was heute von der Uni kommt, "kann" Java. Dass das gut bezahlt wird, liegt vielleicht auch daran, dass viele Java-Programmierer in großen Unternehmen arbeiten, die auch viel bezahlen.
    Vermutlich wahr, zumindest was Informatikstudiengänge betrifft. Bei uns ist das auch noch aufgeteilt in eine technische, angewandte und wirtschaftsinfo, wobei die technischen auch eher C machen .

    Meiner Erfahrung nach haben Java-Projekte oft eine recht gute Codequalität, brauchen aber viel mehr Ressourcen (Mann, Zeit) um fertiggestellt zu werden. Was drei Java-Entwickler in einem Jahr machen, schafft einer allein in Ruby oder so.
    Denke das ist der große Vorteil, grade bei massiven Softwareprojekten dient das der Wartungsfähigkeit der Anwendungen wodurch Erweiterungen leichter werden. Ruby ist auch ganz interessant, wobei einfaches Ruby jetzt nicht viel besser ist als Java. Ruby on Rails für Webanwendungen ist natürlich auch sehr cool, für Backend und Enterprise aber .


    Zitat Zitat von Zulan Beitrag anzeigen
    Bei der Vorstellung Code aus XML bzw. generell generieren zu lassen gruselt es mich immer wieder. IMHO ist die Sprache nicht ausdrucksstark genug, wenn man auf soetwas zurueckgreifen will. In python kann ich ganze Klassenhierarchien ueber Metaklassen aus minimaler Notation erzeugen ohne die Sprache verlassen zu muessen. Die einzigen die code als Strings erzeugen sollten sind Menschen - und das auch nur weil es fuer ASTs kein passendes Eingabegeraet gibt .
    Joa ist nicht schön wie JAXB das löst, XML ist aber auch nichts mit dem ich mich groß beschäftigt habe. Für den einen UseCase den ich vor 4 monaten oder so hatte hat das gereicht.
    Klassenhierachien gehen aber auch in Java, sind sogar integraler bestandteil mit verberbungen, abstrakten klassen, interfaces etc, weiß nicht so ganz worauf du damit hinaus möchtest.

    Java ist auch ein extrem was die Diskrepanz zwischen IDE und Texteditor angeht. Ich nutze sehr gern IDEs, gerade fuer refactoring, aber wenn IDEs code erzeugen, dann ist das ein Indiz, dass in der Sprache was fehlt.
    Weiß auch nicht was gegen autogenerierung von Code spricht den man oft braucht, wie toString methode oder getter/setter. In dem man z.b. das belegen und aufrufen von Instanzvariablen über funktionen löst hat man imo ein schöneres Inteface als wenn man die Variablen selbst als private/protected/public etc setzt. Ist natürilch optional, wer möchte kann das auch manuell machen oder nicht machen - die IDE muss ja kein Code erzeugen .

    Die Java Annotations sehen erstmal nett aus, sind ja aber auch nur fuer reflection. Das ist auch wieder nicht so ausdrucksstark wie python Dekoratoren und Metaklassen, die direkt bei der erzeugung der Klassen/Funktionen laufen. Das ist also irgendwie ein besseres #pragma.
    Kann ich nicht beurteilen, Python hab ich bisher nur angekrazt .

    Ich finde die Tabelle ehrlich gesagt ziemlich irritierend, mir erscheinen die Gehaelter doch sehr niedrig. Da ist ja das Einstiegsgehalt im Oeffentlichen Dienst mit vernuenftigem Uni-Abschluss hoeher.
    Grad nachgeschaut, beim BSI ist man in den Entgeldgruppen E10/11 am anfang, E10: http://oeffentlicher-dienst.info/c/t...kf=&kk=15.5%25

    Jahresbrutto: 37674.11€, beim BSI gibts noch 160 Euro/Monat drauf, also 1920€ pro Jahr macht 39594,11 Euro. E11 sind ~1400 mehr. Das ist sehr vergleichbar mit den Gehältern die in der Tabelle angezeigt werden .

    Also die JVM ist ja ne sandbox... dazu gibts noch die servlet container... das ganze jetzt noch in einen docker . Warum nicht gleich den docker in ne VM .
    Ja ne . Viel Spaß gehabt im letzen Semester, da sollten 7+ Services in Docker laufen von nem vorgefertigtem Projekt, da haben die 4 GB RAM nicht annährend ausgereicht .

    Java-Projekte neigen stark zum overengineering (factories everywhere ). Das macht sie aber nur bedingt besser von der Code-Qualitaet. Das kann natuerlich auch mit overuse von Metaprogrammierung in hoeheren Programmiersprachen passieren. Ich kenn auch overengineered C-Code, das ist nicht schoen.
    Das Umsetzen von Patterns wird durch die Sprache oft gut unterstützt, da muss man klar aufpassen.

    Kann ich soweit nachvollziehen. Wobei ich ehrlich gesagt noch nie jemanden gefunden hab der tatsaechlich programmieren konnte und sich nicht irgendwie geartet privat damit auseinandersetzt. Zumindest an den Unis lernt man programmieren im Info-Studium nicht wirklich.
    Vor allem hat man oft zahlreiche verschiedene Labore/Praktikas, wodurch man in jedem Semester immer irgendwie programmieren muss, ist jedenfalls bei mir so .

    Zitat Zitat von Shakka Beitrag anzeigen
    Und Du könntest auch zur Laufzeit Klassen bauen. Hier muss vor dem Start der Applikation das XML verarbeitet werden. Wenn Du am XML etwas änderst, musst Du neu starten. Und so etwas kann man durchaus wollen. Ich denke zum Beispiel an ein Warensystem. Wenn eine neue Produktkategorie kommt, kann man das im Betrieb (vom Kunden über ein Formular) dranpflanschen und hat trotzdem spezielle Tabellen und schicke Objekte.
    Ja das fehlte mir auch schon, dynamisch was zuzufügen ist bei Java nicht elegant gelöst, wenns überhaupt geht muss man sich dafür stark verbiegen.

    Bleibt die Frage, ob Java die Leute dazu führt oder ob die Leute das aus Java machen.
    Bissle was von beiden vermutlich. Zum einen ist die Umsetzung von Patterns oft recht einfach in Java, zum anderen kommen viele Programmierer die vor allem Java machen vermutlich eher aus dem Softwareengineering Feld und kennen auch die Patterns, wähernd (zumindest aus meiner Erfahrung) die Leute die eher C bevorzugen aus technischeren Feldern kommen und mit Patterns nicht so vertraut sind.

    Ich finde dieses "Problem" ehrlich gesagt eigentlich gar nicht so schlimm. Lieber Overengineering als Nullengineering.


    |學而不思則罔,思而不學則殆。 ~ 孔子|
    | Lernen ohne zu denken ist sinnlos, denken ohne zu lernen gefährlich. ~ Kong Zi |

    | During times of universal deceit, telling the truth becomes a revolutionary act ~ George Orwell |

    SdM Dez16 - XCOM2 Make Humanity Great again

  12. #1077
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Slaan Beitrag anzeigen
    Weiß auch nicht was gegen autogenerierung von Code spricht den man oft braucht, wie toString methode oder getter/setter. In dem man z.b. das belegen und aufrufen von Instanzvariablen über funktionen löst hat man imo ein schöneres Inteface als wenn man die Variablen selbst als private/protected/public etc setzt. Ist natürilch optional, wer möchte kann das auch manuell machen oder nicht machen - die IDE muss ja kein Code erzeugen .
    Es wäre schon cool, wenn man einfach in der Sprache ausdrücken könnte, dass man Getter und Setter haben will anstatt alles mit inhaltslosem, autogeneriertem Müll vollzutexten.
    Aber es liegt auch dran, ob und wer den Code (weiter)verwendet. Dann kann es auch mal sinnvoll sein, Props einfach public zu setzen. Trauen sich viele aber nicht.


    Zitat Zitat von Slaan Beitrag anzeigen
    Bissle was von beiden vermutlich. Zum einen ist die Umsetzung von Patterns oft recht einfach in Java, zum anderen kommen viele Programmierer die vor allem Java machen vermutlich eher aus dem Softwareengineering Feld und kennen auch die Patterns, wähernd (zumindest aus meiner Erfahrung) die Leute die eher C bevorzugen aus technischeren Feldern kommen und mit Patterns nicht so vertraut sind.
    Da könnte was dran sein!
    Verstand op nul, frituur op 180.

  13. #1078
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.902
    Zitat Zitat von Slaan Beitrag anzeigen
    Klassenhierachien gehen aber auch in Java, sind sogar integraler bestandteil mit verberbungen, abstrakten klassen, interfaces etc, weiß nicht so ganz worauf du damit hinaus möchtest.
    Das ist schon klar, es geht darum die aus einer sehr prägnant Definition ohne Redundanz heraus aufzubauen ohne die Sprache selbst verlassen zu muessen. Quasi eine eingebettete domain-specific language. Um beispielsweise ein spezifisches Dateiformat objektorientiert abzubilden, duerfte es in Java so viel code beduerfen, dass man ihn gleich wieder generieren muss...

    Zitat Zitat von Slaan Beitrag anzeigen
    Weiß auch nicht was gegen autogenerierung von Code spricht den man oft braucht, wie toString methode oder getter/setter. In dem man z.b. das belegen und aufrufen von Instanzvariablen über funktionen löst hat man imo ein schöneres Inteface als wenn man die Variablen selbst als private/protected/public etc setzt. Ist natürilch optional, wer möchte kann das auch manuell machen oder nicht machen - die IDE muss ja kein Code erzeugen
    .

    Natuerlich will ich code erzeugen wenn er repetetiv zu schreiben ist . Simple getter oder generische toString sind schoene Beispiele. Das ist alles code, der ueber viel zu viele Zeilen einen wahnsinnigen simplen Intent ausdrueckt. Mit den richtigen Abstraktionsmoeglichkeiten (mixins, properties / slots) kann ich das in der sprache selbst ausdruecken. Wenn mir meine IDE den setter erzeugt, dann liegt da in meiner Klasse code der von den wichtigen Dingen ablenkt und auch noch gewartet werden muss. Wenn ich meiner Sprache in einer Zeile sagen kann: mach mal ein toString was einfach alle member durchgeht., dann muss ich das auch nicht anpassen wenn die sich aendern.

    Grundsaetzlich geht bei autogeneriertem code der Bezug zur Absicht des Programmierers verloren. Man hat auch immer das Problem wie man Aenderungen im urspruenglichen Ausdruck bzw. generierten Code synchron halten soll. Stell dir vor du wuerstest Java bytecode mit ner IDE schreiben. Klar kannst du ganz bequem sagen: Mach mir mal nen loop nach dem schema. Aber dann liegt da halt der bytecode rum.

    Zitat Zitat von Slaan Beitrag anzeigen
    Grad nachgeschaut, beim BSI ist man in den Entgeldgruppen E10/11 am anfang, E10: http://oeffentlicher-dienst.info/c/t...kf=&kk=15.5%25

    Jahresbrutto: 37674.11€, beim BSI gibts noch 160 Euro/Monat drauf, also 1920€ pro Jahr macht 39594,11 Euro. E11 sind ~1400 mehr. Das ist sehr vergleichbar mit den Gehältern die in der Tabelle angezeigt werden .
    Das ist mit FH. Ging mir um Uni-Diplom/Master, also E13. Meine generelle Annahme ist eher, dass die Gehaelter in der Industrie merklich ueber denen im OeD liegen - zumindest deutschlandweit betrachtet. Ist natuerlich auch so, OeD wesentlich staerker nach Abschluss zahlt.

    Zitat Zitat von Slaan Beitrag anzeigen
    Vor allem hat man oft zahlreiche verschiedene Labore/Praktikas, wodurch man in jedem Semester immer irgendwie programmieren muss, ist jedenfalls bei mir so .
    Schoen zu hoeren. Wuerde mich interessieren ob das FH oder Uni ist, welcher Studiengang?

  14. #1079
    Puhuhu Avatar von Slaan
    Registriert seit
    29.09.10
    Ort
    Hànbǎo
    Beiträge
    15.142
    FH, angewandte Informatik

    @autogenerierter Code: Kommt wohl auch etwas drauf an wie man programmiert. Meine Entitäten sind z.b. immer komplett frei von Business Logik, den Code schau ich mir eigtl nie an wenn sich nicht was an den Entitäten selbst ändert (neue/andere Variablen), daher stört das nicht. Das die toString methode automatisch erweitert werden würde wäre natürlich ne schöne Sache, vermutlich gibts aber auch dafür PlugIns . Wobei du natürlich recht hast, wenn man diese intention in der Sprache selbst ausdrücken könnte und man sich da nicht verkrampfen müsste wär das nicht das schlechteste .
    |學而不思則罔,思而不學則殆。 ~ 孔子|
    | Lernen ohne zu denken ist sinnlos, denken ohne zu lernen gefährlich. ~ Kong Zi |

    | During times of universal deceit, telling the truth becomes a revolutionary act ~ George Orwell |

    SdM Dez16 - XCOM2 Make Humanity Great again

  15. #1080
    Qualitätssicherung 2.0 Avatar von Der_Blob
    Registriert seit
    21.10.14
    Beiträge
    1.796
    Es wäre schon cool, wenn man einfach in der Sprache ausdrücken könnte, dass man Getter und Setter haben will anstatt alles mit inhaltslosem, autogeneriertem Müll vollzutexten.
    Aber es liegt auch dran, ob und wer den Code (weiter)verwendet. Dann kann es auch mal sinnvoll sein, Props einfach public zu setzen. Trauen sich viele aber nicht.
    In C# ist der Unterschied zwischen einer Eigenschaft public int MeineZahl {get; set;} und der Variable public int MeineZahl; sehr gering. Daher kann man ruhig die Property benutzen. Außerdem bekommt man das von Kleinauf so beigebracht. Bezüglich Java kann ich deine Meinung nachvollziehen. Da brauch man eine Variable und zwei Methoden.
    "Die Sprache ist die Quelle aller Missverständnisse." - Antoine de Saint-Exupéry

    Storys:

Seite 72 von 202 ErsteErste ... 226268697071727374757682122172 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •