Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 

Thema: Scala 2.8.0 fertiggestellt

16 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
Score: 3 Von Michi am Do, 15. Juli 2010 um 16:40 #

Scala ist eine wirklich interessante Sprache, die Aspekte objektorientierer Programmierung mit Aspekten funktionaler Programmierung verbindet. Dadurch das Scala JVM Byte-Code erzeugt, kann man problemlos Java Libraries verwenden. Es lassen sich auch beliebig Scala- und Java-Klassen in einem Projekt mischen.

In meiner Firma wurde bisher die meiste Software in .Net geschieben. Im Moment sind wir dabei, unsere Software nach Java zu portieren (wir standen vor dem Problem, daß unsere Kunden die Software auch unter Linux nutzen wollen). Bis jetzt funktioniert das alles sehr gut. Und nach Jahren .Net ist selbst Java ein großer Fortschritt. Endlich Memory-Mapped IO, Soft-References, ein vernünftiges GUI Toolkit, java.util.concurrent.*, Guava. Weiß echt nicht warum soviele Linux-User den .Net Kram so toll finden. Naja, vielleicht ist diese Mono-Fraktion einfach nur besonders lautstark. Ich weine .Net keine Träne nach und freue mich wirklich über Scala.

  • Score: 3 Von Christian am Do, 15. Juli 2010 um 17:52 #

    Welches GUI-Toolkit meinst Du da genau? Das war für mich bei Java bisher immer ein Graus - bis ich QtJambi eine Chance gab...

    • Score: 3 Von Michi am Do, 15. Juli 2010 um 20:45 #

      Welches GUI-Toolkit meinst Du da genau? Das war für mich bei Java bisher immer ein Graus - bis ich QtJambi eine Chance gab...

      Ich meine Swing. Die Applikation die ich schreibe muß große Datenmengen in Tabellenform oder als Tree darstellen. Mit Windows.Forms war das eine Katastrophe und am Schluß haben wir praktisch alle Controls selber programmiert. Ich hab auch eine größere Applikation mit WPF geschrieben und auch in WPF gibt es kein MVC (mal abgesehen vom virtual mode bei Listen, aber das ist ein schlechter Witz). Die MVC-Implementierung von Swing gefällt mir sehr gut. Einfache Sachen lassen damit relativ einfach machen und auch komplizierte Sachen sind möglich. Unsere Applikationen werden zur Darstellung von Telemetriedaten von Satelliten verwendet, daher sind sie natürlich keine "typischen" Desktop-Applikationen und es kommt auch nicht so sehr drauf an, daß sie sich gut in den Desktop integrieren (wobei ich das Look&Feel von Swing unter Windows schon als recht Windows-ähnlich empfinde). Performance-Probleme hatten wir bis jetzt auch noch keine. Die nächste Version der Hotspot VM soll soweit ich weiß, Escape Analysis und Stack Allocation können, das wird sicher nochmal einen Performance-Schub bringen (sowhl bei Swing als auch bei Scala).

      Es scheint relativ viele Leute zu geben, die Swing nicht mögen. Wieso eigentlich? Was gefällt Dir an Swing nicht? Würde mich echt interessieren. Ich hab früher mal an einem KDE Projekt mitprogrammiert und kenne Qt auch ganz gut und finde es auch recht gut. Qt ist eigentlich das einzige Framework außer Java daß ich für Cross-Plattform Entwicklung benutzen würde. Aber die MVC-Implementierung in Qt finde ich auch nicht so besonders toll.

      • Score: 3 Von Christian am Do, 15. Juli 2010 um 21:26 #


        Es scheint relativ viele Leute zu geben, die Swing nicht mögen. Wieso eigentlich? Was gefällt Dir an Swing nicht? Würde mich echt interessieren.

        Hm... als aller erstes empfand ich es immer als enorm träge; speziell bei großen Datenmengen in Tabellenformen... aber ok, vielleicht hat sich da in den letzten Jahren etwas getan.

        Als nächstes habe ich bisher keinen GUI Editor unter Java gesehen, der mich überzeugt hätte. Zum einen von der Bedienung, zum anderen von der Code-Generierung bzw. der Verwaltung der GUI-Daten. Da ist das Qt-Prinzip bisher unschlagbar - was mir bei Jambi noch fehlt ist die Möglichkeit komplett auf die Code-generierung zu verzichten und die GUI aus den XML-Daten dynamisch zu laden, wie es ja in C++ und Python geht.

        Mögen keine Killer-Argumente sein, aber das ist eben meine Ansicht dazu :-)

        Ich kann leider generell zum Vgl. .NET vs. JVM nicht viel sagen; prinzipiell würde ich aufgrund von oberflächlicher Feature-Kenntnis ja C# z.B. für deutlich ausdrucksstärker als Java ansehen. Mich hat jedoch immer gestört, dass das ganze eben von MS gesetuert wird und per se eben nicht Plattform unabhängig ist. Insofern würde ich da schon bei der JVM-Basis die Zukunft sehen.

        Scala ist sicher mal einen Blick wert - aber man ja nie Zeit für so was... ;-)

        • Score: 3 Von + Michi am Do, 15. Juli 2010 um 22:27 #

          +
          Hm... als aller erstes empfand ich es immer als enorm träge; speziell bei großen Datenmengen in Tabellenformen... aber ok, vielleicht hat sich da in den letzten Jahren etwas getan.

          Da ich erst seit so zwei Jahren mit Java programmiere, weiß ich nicht, wie schnell Swing im Vergleich zu früher ist. Wir hatten bis jetzt noch keine Performance-Probleme, aber unsere Rechner sind auch recht schnell.

          Als nächstes habe ich bisher keinen GUI Editor unter Java gesehen, der mich überzeugt hätte. Zum einen von der Bedienung, zum anderen von der Code-Generierung bzw. der Verwaltung der GUI-Daten. Da ist das Qt-Prinzip bisher unschlagbar - was mir bei Jambi noch fehlt ist die Möglichkeit komplett auf die Code-generierung zu verzichten und die GUI aus den XML-Daten dynamisch zu laden, wie es ja in C++ und Python geht.

          Ich benutze Netbeans und der GUI Editor ist ganz o.k., als wirklich gut würde ich ihn aber auch nicht bezeichnen. Den QtDesigner fand ich auch immer ganz gut.

          Ich kann leider generell zum Vgl. .NET vs. JVM nicht viel sagen; prinzipiell würde ich aufgrund von oberflächlicher Feature-Kenntnis ja C# z.B. für deutlich ausdrucksstärker als Java ansehen. Mich hat jedoch immer gestört, dass das ganze eben von MS gesetuert wird und per se eben nicht Plattform unabhängig ist. Insofern würde ich da schon bei der JVM-Basis die Zukunft sehen.

          C# ist sicher ausdrucksstärker als Java, allerdings gefällt mir persönlich Java ganz gut. Mit anonymen inneren Klassen lassen sich viele Dinge recht elegant machen und Netbeans nimmt einem dabei viel Tipp-Arbeit ab. Und Bibliotheken wie Guava sorgen dafür, daß selbst Java-Code halbwegs elegan aussieht:-) An C# stört mich, daß die Sprache total überfrachtet ist. Muß Linq wirklich sein? Braucht man Properties unbedingt? Properties verhalten sich meistens wie Felder, aber nicht immer, zum Beispiel lassen sie sich nicht per Reference an Funktionen übergeben. Warum gibt es anonyme Delegates und Lambdas? Beide machen genau das gleiche. usw. Scala halte ich übrigens noch für deutlich ausdrucksstärker als C#. und im Gegensatz zu C# ist es nocht total überfrachtet (viele Dinge sind in libs implementiert und nicht in der Sprache selbst). Ich denke, es lohnt sich auf jeden Fall, Scala anzuschauen.

        Score: 3 Von Anonymous Coward am Do, 15. Juli 2010 um 21:29 #

        Swing-Applikationen wirken überall wie ein Fremdkörper. Sie benutzen andere Dialoge zum Öffnen von Dateien, zum Drucken usw. usf.. Während es mit nativen Widgets unter Windows noch ganz gut aussieht, ist das GTK-Look-and-Feel für Swing eine Katastrophe, da es viel zu langsam ist und man irgendwie trotzdem noch sieht, dass man kein natives GTK-Programm vor sich hat (ganz abgesehen davon, dass es ein Qt-LaF überhaupt nicht gibt).

        Trotz allem benutze ich auch Swing-Applikationen, wenn es nicht anders geht (z. B. SquirrelSQL, da ich hier eine DB habe, an die ich nur über einen JDBC-Treiber herankomme). Aber toll ist das nicht.

Score: 3 Von Lottokönig am Fr, 16. Juli 2010 um 12:28 #

Die Syntax ist sogar noch häßlicher als die von Perl, das muß man dem Odersky schon lassen. Dann lieber gleich Brainfuck oder Unlambda, wenn man schon bekackte Syntax will.

  • Score: 3 Von Christian am Fr, 16. Juli 2010 um 21:17 #

    Das Beispiel BF entlarvt Dich als komplett unwissend! Die syntax von BF ist extrem einfach, schlicht und daher prinzipiell toll.

    Das negative an BF ist die extrem schwache Ausdrucksmächtigkeit, nicht die Syntax!

    • Score: 3 Von pdOrta am So, 18. Juli 2010 um 11:52 #

      >Die syntax von BF ist extrem einfach, schlicht und daher prinzipiell toll.
      Brainfuck ist hässlich für einen Menschen aber schön für eine Maschine.
      Da hat der Vorposter schon recht.

      Syntax mässig kommt nichts an LISP heran.
      Einfach und mächtig was will man mehr.

    Score: 3 Von Schlittschuh Oder Ski? am Sa, 17. Juli 2010 um 13:03 #

    Das ist bewusst so gewollt!
    Kennst du den Artikel mit Bjarne Stroustrup in dem er behauptet, C++ entworfen zu haben, um die Softwareentwicklung zu verlangsamen, weil keiner mehr versteht, was der andere programmiert hat?

    Scala ist das C++ für Java - und das ist sooo lächerlich, weil Java ja gerade den ganzen Blödsinn von C++ bewusst raus gelassen hat und sich auf die vernünftigen Strukturen begrenzt hat, was IMHO zu der ungemeinen Beliebtheit beigetragen hat. Scala ist bei Tiobe zurecht noch weit hinter COBOL.

Score: 3 Von Vudi Röller am So, 18. Juli 2010 um 14:37 #

Wer hier gegen Scala und deren Syntax wettert, hat keine Ahnung bzw. vergisst, worauf es eigentlich ankommt. Ich wüsste außerdem nicht, was schlimm an der Syntax von Scala sein sollte.

Die Vorteile von Scala liegen auf der Hand und ich hoffe, dass sich Scala auch in der Industrie durchsetzen wird, weil eine funktionale Programmiersprache viele Probleme bereits im Ansatz verhindert und viele Projekte leiden darunter, dass im Prinzip einfache Programmierfehler große Wirkungen haben und das Projekt verzögen. Ich bin aber pessimistisch, denn gute Sachen setzen sich nicht durch, weil es die intellektuellen Fähigkeiten der Entscheider und auch der meisten Entwickler übersteigt. Angesichts der Kommentare hier im Forum, wird das Grundübel offenbar.

Die Sprache(!) Java war alles andere als ein Fortschritt und trotzdem, vielleicht auch gerade deshalb, erfolgreich.

  • Score: 3 Von Xer am Mo, 19. Juli 2010 um 11:32 #

    Hallo Rudi,

    der scheinbare ach so große Vorteil von Scala sind die vielen "magic" syntax sugar Teile drin. Ich gebe zu, dass dies erst mal verlocken ist.

    Aber genau das ist das Problem an Scala:
    Code wird nun mal viel öfter gelesen als geschrieben!
    Und damit ist es v.a. wichtig, dass Code einfach und schnell zu lesen ist.
    Wenn man 5 (gute) Java-Entwickler an eine überschaubare Sache sezt, kann man sich fast sicher sein, dass sie alle fast identischen Code abliefern und ähnliche Design-Entscheidungen treffen.
    Und damit kann man sich ganz recht schnell in fremden Code einarbeiten.
    So etwas ist überlebensnotwendig in größeren Projekten!

    Wenn du dagegen als Einzelkämpfer in deinem Keller werkelst, ist das natürlich egal - aber in zeiten von "agil" dürfte das nciht relevant sein.

    Wie definierst du also Fortschritt?d
    ava war ein großer Fortschritt, weil es geschafft wurde, die sinnvollen Sachen drinzulassen, die Syntax einfach zu halten und v.a. Überflüssiges rauszuwerfen, um somit alles auf _eine_ gute Art und Weise machen zu können.

    Das Gute ist einfach.
    Java ist einfach.
    Scala ist ein "ich wlll alles machen können" Teil.
    Scala ist dafür sicher nicht schlecht, das will ich nicht sagen, aber IMHO (!) haben die Java-Designer einen viel größeren Weitblick bewiesen.
    Wer das nicht einsieht, soll zu Scala gehen und seine Kollegen mit nicht mehr zu durchblickendem Code in den Wahnsinn treiben.
    Wer so etwas dann als "Fortschritt" ansieht, den kann man nicht als Entwickler ernst nehmen - bleib beim Fußball, Rudi! ;-)

    • Score: 3 Von Vudi Röller am Mo, 19. Juli 2010 um 19:59 #

      Hallo Xer,

      meine Name ist Vudi, Vudi Röller. :-)

      Der Vorteil von Scala ist nicht syntaktischer Zucker, sondern die funtkionale Programmierung, die im Vorfeld viele Fehler verhindert. Ich arbeite viel mit Java und nicht alle guten Entwickler liefern gleichen Code ab, sondern auch extrem unterschiedlichen. Ich selbst zähle mich zu den sehr guten Entwicklern, weil ich viel über Muster, über Programmiersprachen und Compiler und insbesondere über Java weiß. Ich weiß leider auch, welche Fehler häufig gemacht werden und welche Fehler auch Profis machen.

      Typische Fehlerquellen sind die impliziten Casts bei Java, von double nach long, von int nach long usw. Die Fehler werden oft nicht aus Unwissenheit, sondern aus Schussligkeit getan. Eine funktionale Programmiersprache kann das verhindern.

      • Score: 3 Von Lottokönig am Di, 20. Juli 2010 um 18:32 #

        Haskell, SML, OCaml, F#, Clean, Erlang und Scheme sind auch funktionale Sprachen, und deren Syntax sieht nicht aus als hätte jemand seinen Perl Spaghetti-Code gerade wieder hochgewürgt und ausgekotzt um "Scala" zu produzieren.

        Auf der JVM gibts Kawa, SISC und meinetwegen auch Clojure, wenn man auf Interop mit seinem Java-Krempel nicht verzichten will.

        Niemand braucht "Scala".

      Score: 3 Von Kinch am Mi, 19. Januar 2011 um 19:22 #

      Die Frage ist aber auch, ob eine gute Dokumentation das Wett machen kann. Ich zum Beispiel bin ein großer Freund des Literal Programmings. Und ich denke, wenn man eine Sprache beherrscht, eine sauber Architektur hat und seinen Code gut dokumentiert, dann gibt es bezüglich der Lesbarkeit keine großen Probleme. Jedenfalls denke ich nicht, dass die Menge verfübarer Syntax einen so entscheidenen Einfluss hat. Prolog oder Lisp haben ja auch eine furchtbar simple Syntax (Horn-Klauseln oder lediglich Listen) und gelten auch nicht als „leichte” Sprachen.

      Dazu haben kürzere Statements um in einer Sprache etwas auszdrücken mehrere Vorteile, bezüglich der Sicherheit des Codes, der Wartbarkeit, der Wiederverwendbakeit etc pp.

      Das die Java Designer großen Weitblick bewiesen haben, würde ich anders sehen. Ich verstehe zum Beispiel bis heute nicht, warum sie ihr OO-Konzept durch primitive Datentypen versaut haben. Auch die große Menge an Boilerplate-Code in Java-Programmen ist nicht gerade ein Qualitätsmerkmal der Sprache.

Pro-Linux
Newsletter
Neue Nachrichten