1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Red Hat: Project Ceylon…

Vor allem dessen statische Typisierung

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Vor allem dessen statische Typisierung

    Autor: ChilliConCarne 13.04.11 - 12:07

    Was genau ist bei C# 'statisch toller'? Entweder eine Sprache ist statisch typisiert oder nicht. Was übersehe ich?

  2. Re: Vor allem dessen statische Typisierung

    Autor: zilti 13.04.11 - 12:16

    Sie beziehen sich wohl auf bestimmte Features beim Casten, Vererbung u.ä.

  3. Re: Vor allem dessen statische Typisierung

    Autor: pythoneer 13.04.11 - 12:29

    Das klingt wie strenge statische Typisierung mit dynamischer Typisierung in einem ಠ_ಠ

  4. Re: Vor allem dessen statische Typisierung

    Autor: zilti 13.04.11 - 12:31

    pythoneer schrieb:
    --------------------------------------------------------------------------------
    > Das klingt wie strenge statische Typisierung mit dynamischer Typisierung in
    > einem ಠ_ಠ

    Nein, denn das gibt es nicht. Eine Typisierung ist entweder statisch oder dynamisch.

  5. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 12:56

    > Was genau ist bei C# 'statisch toller'? Entweder eine Sprache ist statisch
    > typisiert oder nicht. Was übersehe ich?

    Parametrisierbare Typen, nicht jede Sprache hat sie.

    Typ-Inferenz, kann nicht jede Sprache.

    Die im Artikel genannten Nullable-Types.

    Ist eigentlich Java immer noch mit dem Bug versehen, dass man statt Objekten auch einfach null übergeben kann? Das kann ja PHP besser.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  6. Re: Vor allem dessen statische Typisierung

    Autor: zonk0101 13.04.11 - 13:01

    ಠ_ಠ Java un PHP vergleichen... am besten nimmst HTML auch gleich noch mit dazu...

  7. Re: Vor allem dessen statische Typisierung

    Autor: Mister Tengu 13.04.11 - 13:12

    Ohja...PHP...meine Hassliebe...ich würd lieber Java nehmen, wenns so einfach ginge.

    Lasst uns doch einen "Programmiersprache A ist besser als B, weil..." Thread machen ;)

  8. Re: Vor allem dessen statische Typisierung

    Autor: Tapsi 13.04.11 - 13:14

    Mister Tengu schrieb:
    --------------------------------------------------------------------------------
    > Ohja...PHP...meine Hassliebe...ich würd lieber Java nehmen, wenns so
    > einfach ginge.
    >
    > Lasst uns doch einen "Programmiersprache A ist besser als B, weil..."
    > Thread machen ;)

    Ich finde den Artikel gar nicht mal schlecht ( die PDF ), wenn das am Ende auch wirklich beim programmieren Vorteile bringt, dann ist das doch super :)

  9. Re: Vor allem dessen statische Typisierung

    Autor: pythoneer 13.04.11 - 13:35

    zilti schrieb:
    --------------------------------------------------------------------------------
    > pythoneer schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Das klingt wie strenge statische Typisierung mit dynamischer Typisierung
    > in
    > > einem ಠ_ಠ
    >
    > Nein, denn das gibt es nicht. Eine Typisierung ist entweder statisch oder
    > dynamisch.

    echt jetzt?

  10. Re: Vor allem dessen statische Typisierung

    Autor: Tapsi 13.04.11 - 13:37

    pythoneer schrieb:
    --------------------------------------------------------------------------------
    > zilti schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > pythoneer schrieb:
    > >
    > ---------------------------------------------------------------------------
    >
    > > -----
    > > > Das klingt wie strenge statische Typisierung mit dynamischer
    > Typisierung
    > > in
    > > > einem ಠ_ಠ
    > >
    > > Nein, denn das gibt es nicht. Eine Typisierung ist entweder statisch
    > oder
    > > dynamisch.
    >
    > echt jetzt?

    Zumindest würde mir kein Gegenbeispiel einfallen, bzw. warum das sinnvoll wäre, oder ob das überhaupt sauber umsetzbar ist.

  11. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 14:31

    > ಠ_ಠ Java un PHP vergleichen... am besten nimmst HTML auch
    > gleich noch mit dazu...

    Java und PHP sind nunmal beides Programmiersprachen. HTML aber nicht (auch nicht HTML5).

    Aber sie sind auch unterschiedlich wie Tag und Nacht, unglaublich:

    Java:
    class Foo{
     private Bar bar;

     public Foo bar(Bar bar){
      this.bar = bar;
      return this;}}

    PHP:
    class Foo{
     private $bar;

     public function bar(Bar $bar){
      $this->bar = $bar;
      return $this;}}

    Der Unterschied ist, dass mir in PHP $foo->bar(NULL); (mit $foo = new Foo()) um die Ohren fliegt, in Java aber foo.bar(null); (mit foo = new Foo()) problemlos möglich ist.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  12. Re: Vor allem dessen statische Typisierung

    Autor: ChilliConCarne 13.04.11 - 14:57

    GodsBoss schrieb:
    --------------------------------------------------------------------------------
    > > Was genau ist bei C# 'statisch toller'? Entweder eine Sprache ist
    > statisch
    > > typisiert oder nicht. Was übersehe ich?
    >
    > Parametrisierbare Typen, nicht jede Sprache hat sie.
    >
    > Typ-Inferenz, kann nicht jede Sprache.
    >
    > Die im Artikel genannten Nullable-Types.

    Danke für die Ausführung. Mit den Dingen kann ich etwas anfangen. Zum googeln war ich dann doch zu faul.

  13. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 15:08

    Achso, nur zur Klarstellung: Mir ging es um Unterschiede statischer Typisierung unabhängig von der hier vorgestellten Sprache. Typ-Inferenz hat sie, soweit wie ich das PDF gelesen habe, nämlich nicht.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  14. Re: Vor allem dessen statische Typisierung

    Autor: Jonah Ltd. 13.04.11 - 15:09

    ChilliConCarne schrieb:
    --------------------------------------------------------------------------------
    > Was genau ist bei C# 'statisch toller'? Entweder eine Sprache ist statisch
    > typisiert oder nicht. Was übersehe ich?

    LINQ.

  15. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 18:16

    > Lasst uns doch einen "Programmiersprache A ist besser als B, weil..."
    > Thread machen ;)

    Lisp. Gewonnen.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  16. Re: Vor allem dessen statische Typisierung

    Autor: zilti 13.04.11 - 18:20

    Es gibt so viele JVM-Webframeworks, da ist bestimmt eins für dich darunter ;) Es gibt ja nicht nur die "Enterprise-Lösungen".

  17. Re: Vor allem dessen statische Typisierung

    Autor: bstea 13.04.11 - 19:04

    Und wo soll da ein Fehler sein?
    Du übergibst der Methode bar eine Referenz auf null, das Klassenattribut bar zeigt dann auf null. Ich sehe das Verhalten von PHP als Fehler an.

  18. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 19:40

    > Und wo soll da ein Fehler sein?
    > Du übergibst der Methode bar eine Referenz auf null, das Klassenattribut
    > bar zeigt dann auf null. Ich sehe das Verhalten von PHP als Fehler an.

    Weil NULL nunmal nicht die Schnittstelle hat, die ein Bar hätte. Insofern wird, wo dem Wesen nach ein Bar erwartet wird, stattdessen etwas vollkommen anderes übergeben. Was ist, wenn ich statt der Zuweisung eine Methode von dem übergebenen Argument aufrufen wollte? Bei Java muss man immer dafür sorgen, dass eine Überprüfung stattfindet.

    Nicht umsonst gibt es in einigen moderneren Sprachen stattdessen Nullable Types, wo man explizit ausdrücken muss, wann NULL erlaubt ist.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  19. Re: Vor allem dessen statische Typisierung

    Autor: bstea 13.04.11 - 19:57

    Nein, du teilst der Methode bar ein Referenz mit und kein Objekt.
    Das ist bewusst so geschrieben wurden, wenn du das anders haben willst, wirf eine Exception, wenn die Referenz nicht auf ein Objekt vom Typ bar ist.

  20. Re: Vor allem dessen statische Typisierung

    Autor: GodsBoss 13.04.11 - 21:06

    > Nein, du teilst der Methode bar ein Referenz mit und kein Objekt.

    Eine Referenz auf ein Objekt vom Typ Bar. Oder, im Fall Java, eben nicht. Da gibt es eben statt einer Referenz auf ein Bar… etwas, was ganz sicher keine Referenz auf ein Bar ist.

    > Das ist bewusst so geschrieben wurden, wenn du das anders haben willst,
    > wirf eine Exception, wenn die Referenz nicht auf ein Objekt vom Typ bar
    > ist.

    Und genau das ist das Problem. Warum muss ich zur Laufzeit prüfen, ob das Objekt null ist, wenn das auch schon der Compiler machen könnte?

    Die Erfindung des Null-Pointers (generell, nicht bloß der Null-Pointer in Java) wird nicht umsonst der „Billion Dollar Mistake“ genannt.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. KaiTech IT-Systems GmbH, Paderborn
  2. DRÄXLMAIER Group, Vilsbiburg
  3. ALLPLAN Development Germany GmbH, München
  4. Fresenius Kabi Deutschland GmbH, Friedberg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 0,99€
  2. (-78%) 7,99€
  3. (-80%) 2,99€
  4. (-58%) 24,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


HR-Analytics: Weshalb Mitarbeiter kündigen
HR-Analytics
Weshalb Mitarbeiter kündigen

HR-Analytics soll vorhersagbare und damit wertvollere Informationen liefern als reine Zahlen aus dem Controlling. Diese junge Disziplin im Personalwesen hat großes Potenzial, weil sie Personaler in die Lage versetzt, zu agieren, statt zu reagieren.
Ein Bericht von Peter Ilg

  1. Frauen in der IT Ist Logik von Natur aus Männersache?
  2. IT-Jobs Gibt es den Fachkräftemangel wirklich?
  3. Arbeit im Amt Wichtig ist ein Talent zum Zeittotschlagen

Von De-Aging zu Un-Deading: Wie Hollywood die Totenruhe stört
Von De-Aging zu Un-Deading
Wie Hollywood die Totenruhe stört

De-Aging war gestern, jetzt werden die Toten zum Leben erweckt: James Dean übernimmt posthum eine Filmrolle. Damit überholt in Hollywood die Technik die Moral.
Eine Analyse von Peter Osteried


    Ryzen 9 3950X im Test: AMDs konkurrenzlose 16 Kerne
    Ryzen 9 3950X im Test
    AMDs konkurrenzlose 16 Kerne

    Der Ryzen 9 3950X ist vorerst die Krönung für den Sockel AM4: Die CPU rechnet schneller als alle anderen Mittelklasse-Chips, selbst Intels deutlich teurere Modelle mit 18 Kernen überholt das AMD-Modell locker.
    Ein Test von Marc Sauter

    1. Zen-CPUs AMD nennt konkrete Termine für Ryzen 3950X und Threadripper
    2. Castle Peak AMDs Threadripper v3 sollen am 19. November erscheinen
    3. OEM & China AMD bringt Ryzen 3900 und Ryzen 3500X

    1. Cherry Keys ausprobiert: Cherry stellt Software für Tastatur- und Maus-Remapping vor
      Cherry Keys ausprobiert
      Cherry stellt Software für Tastatur- und Maus-Remapping vor

      Mit Cherry Keys hat der Tastaturhersteller eine einfache Möglichkeit vorgestellt, auf bestimmte Tasten einer Tastatur oder einer Maus neue Funktionen zu programmieren. Nutzer können beispielsweise die F-Tasten mit Systemfunktionen, dem Start von Anwendungen oder Makros belegen.

    2. Linux: Google will Einheits-Kernel für alle Android-Geräte
      Linux
      Google will Einheits-Kernel für alle Android-Geräte

      Bisher nutzen die Android-Geräte verschiedene, speziell angepasste Versionen des Linux-Kernel. Google will stattdessen künftig ein einheitliches Image mit stabiler API für Hardware-Treiber nutzen.

    3. BGH-Urteil: Gericht soll Marktmissbrauch von Adblock Plus überprüfen
      BGH-Urteil
      Gericht soll Marktmissbrauch von Adblock Plus überprüfen

      Missbraucht der Adblock-Plus-Anbieter Eyeo beim Whitelisting von Anzeigen eine marktbeherrschende Stellung? Das Geschäftsmodell von Eyeo könnte nach einem BGH-Urteil nun sehr genau überprüft werden.


    1. 14:47

    2. 14:20

    3. 13:06

    4. 12:40

    5. 12:29

    6. 12:04

    7. 12:00

    8. 11:43