Scriptsprache der Zukunft?

carom schrieb:
Und davon abgesehen ging es hier um die Natur von Skriptsprachen an sich, und nicht um einen exotischen Ansatz wie HipHop.

Java-Compilerergebnisse als Argument anführen, PHP-Compilerergebnisse nicht gelten lassen. So lob' ich mir doch eine Diskussion!

carom schrieb:
Schreibst du jedoch richtigen Scala-Code wie man es sollte, dann ist dieser unter Garantie langsamer als Java, auch wenn er nur ein Viertel so lang ist wie das Java-Äquivalent.

Quelle?

(Übrigens: So'n Garbage Collector ist nur nötig, wenn man Garbage erzeugt.)

carom schrieb:
Was hat eine IDE mit der Code-Qualität zu tun?

Schon mal 'n IDE gesehen, das guten Code erzeugt? Leute, die sich ihren Code vom Programm zusammenkleben lassen, können wohl kaum beurteilen, wie guter Code aussehen muss.

carom schrieb:
durch Refactoring und Content Assist wird da eher höherwertiges dabei rauskommen, als wenn man einen Editor verwendet.

Folge meinen Links!

carom schrieb:
Davon abgesehen kannst du Java genau so in einem Editor schreiben wie du PHP in einer IDE schreiben kannst.

Welcher Javaentwickler nutzt kein IDE? Habe noch keinen gesehen.
 
Tuxman schrieb:
Schon mal 'n IDE gesehen, das guten Code erzeugt? Leute, die sich ihren Code vom Programm zusammenkleben lassen, können wohl kaum beurteilen, wie guter Code aussehen muss.
Verwende mal was besseres als Dreamweaver 4. Der war schon damals scheiße.

Ich selbst kann zwar jetzt nicht viel zu Eclipse sagen da ich PHPStorm verwende, aber wie man da durch den Editor Code "zusammenkleben lassen" kann, musst Du mir mal zeigen. Ich kann für meine Klassen die getter/setter Methoden implementieren lassen, ich kann durch Refactoring den Code besser umstrukturieren, aber letztendlich ist nur einer für das Erstellen des Codes verantwortlich: Der Entwickler.

Und sorry, einen funktionsarmen Editor für die Entwicklung zu benutzen ist meiner Meinung nach eins: Ineffizient. Und damit wären wir auch wieder bei dem Thema Ineffizienz-> mehr Zeit für die Entwicklung -> Kosten.
 
rephluX schrieb:
Verwende mal was besseres als Dreamweaver 4. Der war schon damals scheiße.

Volle Zustimmung.

rephluX schrieb:
Ich kann für meine Klassen die getter/setter Methoden implementieren lassen, ich kann durch Refactoring den Code besser umstrukturieren, aber letztendlich ist nur einer für das Erstellen des Codes verantwortlich: Der Entwickler.

Und schon an Unis (ja, ich habe so was mal von innen gesehen) wird inzwischen gelehrt: "Java ist toll, eclipse macht den Code für euch".
Verantwortung?

rephluX schrieb:
Und sorry, einen funktionsarmen Editor für die Entwicklung zu benutzen ist meiner Meinung nach eins: Ineffizient.

Es gibt noch mehr Editoren als Notepad und nano. So flink wie in einem guten Editor wirst du in deinem Lieblings-IDE trotz all der tollen Tabfunktionen niemals sein.

(Wenn's halt nicht gerade Vim- oder Emacs-Emulation hat.)
 
Welcher Javaentwickler nutzt kein IDE? Habe noch keinen gesehen.
Die, die grad keine zur Hand haben?
Gegenfrage: Ich finde es potthässlich, PHP nicht in einer IDE zu schreiben (IDE ist für mich auch ein Editor mit Syntaxhighlighting).

So'n Garbage Collector ist nur nötig, wenn man Garbage erzeugt.
Du weißt, dass in Java ein String final ist? (=> Stringmanipulationen=GC-Arbeit)

Java-Compilerergebnisse als Argument anführen, PHP-Compilerergebnisse nicht gelten lassen. So lob' ich mir doch eine Diskussion!
Jup, du könntest auch dein Java-Code nach C++ portieren und dann kompilieren, geht alles, aber wer tuts?

Und du willst was, was in Java schnell ist und in PHP nicht? Multithreading? Das gibt's in PHP in der Form wie man es von jeder Bytecode-/"Compiler"sprache kennt in PHP gar nicht.
 
Hancock schrieb:
(IDE ist für mich auch ein Editor mit Syntaxhighlighting).

Dann verwendest du "IDE" falsch, und ich finde deine Einstellung lobenswert. Wie lautet deine Frage?

Hancock schrieb:
Du weißt, dass in Java ein String final ist?

Yep.

Hancock schrieb:
Und du willst was, was in Java schnell ist und in PHP nicht? Multithreading? Das gibt's in PHP in der Form wie man es von jeder Bytecode-/"Compiler"sprache kennt in PHP gar nicht.

http://php.net/manual/en/class.thread.php
 
Du weißt schon, dass der Löwenanteil der Funktionen in PHP als "nicht threadsicher" klassifiziert ist, oder?
Man könnte sicher auch mit den paar threadsicheren Ansätzen arbeiten, aber wer tut sowas? Hier steht der Aufwand in keinem Verhältnis zum Nutzen.
 
Daaron schrieb:
Man könnte sicher auch mit den paar threadsicheren Ansätzen arbeiten, aber wer tut sowas?

"Wer tut sowas?" hast du weiter oben noch implizit eine dumme Frage genannt. Es gilt, mit den verfügbaren Methoden zu arbeiten. Zumindest "PHP kann keine Threads" ist definitiv eine falsche Aussage.
 
Zuletzt bearbeitet: (typo)
@Tuxman

Ein Editor gehört genau so zu einer IDE wie alles andere, was meinst du damit? Was erzeugt denn Eclipse, was so schlimm sein soll? Und was machst du mit deinem Editor wie schneller als in einer guten IDE? Bitte um ernsthafte Ausführungen.

Wenn du tatsächlich verstanden hast, dass ein String in Java "final" ist (immutable wäre richtiger), dann sage ich dir, dass in Scala alles so ist. Denkst du nun immer noch, das Scala "deutlich schneller" ist als Java, und dass ein Garbage Collector bei einem guten Scala/Java-Entwickler überflüssg ist (Zitat: GC braucht nur wer Müll macht) ?
 
Zuletzt bearbeitet:
PHP threaded zu verwenden ist so, als würdest du mit nem Fahrrad Pakete zustellen. Kann man machen, aber warum sollte man? Wenn man statt dessen einen Kleintransporter oder LKW nutzt (resp. eine Sprache, die mehr auf Threadsicherheit achtet) kriegt man dieselbe Arbeit in einem Bruchteil der Zeit erledigt. Man muss eben nur vorher den passenden Führerschein machen....
 
dcobra schrieb:
Was erzeugt denn Eclipse, was so schlimm sein soll?

Wenn ich was programmiere, möchte ich gar nix erzeugt haben.

dcobra schrieb:
Und was machst du mit deinem Editor wie schneller als in einer guten IDE?

Mal mit Vim oder Emacs (oder eclim, also eclipse-Anbindung an beides) gearbeitet? Mag sein, dass man in eclipse inzwischen auch gewisse Bearbeitungsmakros einstellen (manuell nachrüsten) kann, die dem nahe kommen, aber gewisse Annehmlichkeiten dieser Editoren fehlen standardmäßig eben doch. Um bei Vim zu bleiben: Das einfachste Beispiel ist 4dd, "lösche die nächsten vier Zeilen". In eclipse ist das entweder eine elende Mausschubserei oder irgendein merkwürdiges Ctrl-irgendwas-Makro. Stichwort: Textobjekte. Je mehr Code, desto mehr Effizienzsteigerung.

dcobra schrieb:
Wenn du tatsächlich verstanden hast, dass ein String in Java "final" ist (immutable), dann sage ich dir, dass in Scala alles so ist. Denkst du nun immer noch, das Scala "deutlich schneller" ist als Java, und dass ein Garbage Collector bei einem guten Scala/Java-Entwickler überflüssg ist (Zitat: GC braucht nur wer Müll macht) ?

Gute Entwickler vermeiden Klassen, die ihnen den GC vollmüllen.
Mag ja sein, dass das in Java nicht so leicht ist. Den Umkehrschluss überlasse ich dir.
Ergänzung ()

Daaron schrieb:
PHP threaded zu verwenden ist so, als würdest du mit nem Fahrrad Pakete zustellen. Kann man machen, aber warum sollte man?

Aus dem gleichen Grund, wieso irgendjemand Java nutzt: Für manche Anwendungszwecke hat es ggf. gewaltige Vorteile, die den Aufwand rechtfertigen.
 
Tuxman schrieb:
Wenn ich was programmiere, möchte ich gar nix erzeugt haben.
^^ Dann programmierst du noch nicht lange. Oder du musstest noch nie ein großes Projekt refactoren. Niemand möchte Getter/Setter selbst schreiben. Eine IDE ist unglaublich wichtig für das Programmieren und spart einem sehr viel Zeit bei der Arbeit. Wer was anderes behauptet hat noch nicht genug Erfahrung gesammelt.
 
T3rm1 schrieb:
^^ Dann programmierst du noch nicht lange.

Doch, weshalb ich auf Klickibunti-Codeerzeugung gern verzichte.

T3rm1 schrieb:
Oder du musstest noch nie ein großes Projekt refactoren.

Refactoring und Codeerzeugung "from scratch" sind schon was anderes, hm?

T3rm1 schrieb:
Niemand möchte Getter/Setter selbst schreiben.

"Niemand". Das wär' dann wohl ich. Gerade auch, weil ich die mit Vorliebe modifiziere.

T3rm1 schrieb:
Eine IDE ist unglaublich wichtig für das Programmieren und spart einem sehr viel Zeit bei der Arbeit.

Genau wie ein guter Texteditor, den man stattdessen nutzen kann.
 
Tuxman schrieb:
Genau wie ein guter Texteditor, den man stattdessen nutzen kann.

Also in dem Punkt muß ich Tuxman zustimmen. Ich arbeite viel mit Visual Studio, aber ich kann nicht behaupten, daß es mir im Vergleich zum Arbeiten in Notepad++ (was ich bevorzuge) viel Arbeit abnimmt ... im Gegenteil, die Editorkomponente von VS ist verglichen mit Notepad++ eher etwas schwach auf der Brust.

P.S. Und mein Gott, was ich schon alles refactored habe, und es ging auch ohne IDE.
 
antred schrieb:
Also in dem Punkt muß ich Tuxman zustimmen. Ich arbeite viel mit Visual Studio, aber ich kann nicht behaupten, daß es mir im Vergleich zum Arbeiten in Notepad++ (was ich bevorzuge) viel Arbeit abnimmt ... im Gegenteil, die Editorkomponente von VS ist verglichen mit Notepad++ eher etwas schwach auf der Brust.

P.S. Und mein Gott, was ich schon alles refactored habe, und es ging auch ohne IDE.

Du musst schon richtig lesen. Ich habe nicht behauptet, dass es nicht auch anders gehen würde. Es geht bloß alles sehr viel schneller mit IDE. Wer das nicht glaubt, hat sich mit Sicherheit nicht ausreichend damit auseinander gesetzt und kennt wohl auch nicht die wichtigsten Shortcuts.

@Tuxman: Refactoring erzeugt bei mir auch Code. Es gibt keinen Grund, so etwas per Hand zu machen, wenn das Ergebnis gleich aussieht.
 
T3rm1 schrieb:
Es geht bloß alles sehr viel schneller mit IDE. Wer das nicht glaubt, hat sich mit Sicherheit nicht ausreichend damit auseinander gesetzt

Refactoring geht schneller mit 'nem guten Texteditor. Wer das nicht glaubt, hat sich mit Sicherheit nicht ausreichend damit auseinander gesetzt.

Und ja, Refactoring erzeugt Code - aber das Umbenennen von Funktionen und Variablen (oder was du halt sonst so refaktorierst) ist nun schon was Anderes als ihre Erzeugung.
 
Du weißt, dass "kann keine Threads" für PHP stimmt, da ich nicht ohne weiteres Threading machen kann (z.B. auf einem Webserver).

Was mir bei Notepad++ im Vergleich zu VS fehlt, ist die Autovervollständigung (STRG + Leertaste) bzw. das Einblenden der Funktionsdefinition, da ich mir nicht alle Funktionsdeklarationen merken kann/will.


Refactoring: Wie machst du beispielsweise bei Emacs das Umschreiben des Codes (Java), wenn du eine Unterklassen einer Klasse in eine andere Klasse verschiebst?

Aber eigentlich sind wir so was von off-Topic...

Scriptsprache der Zukunft: Wird man nicht beantworten können, weil das gerade die Zukunft ausmacht. Ich denke, dass sich die etablierten Combos schwerlich verdrängen lassen werden, aber das gilt nur für die nahe Zukunft. In 50 Jahren wird sicherlich vieles neu gemischelt werden.
 
Wir haben offensichtlich verschiedene Auffassungen was Refactoring angeht. Ich rede nicht von simplen Methoden/Variablen umbennennen.

Ein Beispiel: Du hast eine abstrake Klasse in der eine abstrakte Methode deklariert ist. Im Laufe deiner Entwicklung stellst du fest, dass es doch besser wäre, diese in einem Interface zu haben. Was muss getan werden, um das zu tun? Neues Interface anlegen, Methode dort deklarieren, Methode aus abstrakter Klasse entfernen, Interface überall dort implementieren, wo zuvor die Methode verwendet wurde. Ich muss der IDE nur sagen, wie das Interface heißen soll und alles passiert dann automatisch. Kein Texteditor kann das in gleicher Geschwindigkeit erledigen.
 
Hancock schrieb:
Du weißt, dass "kann keine Threads" für PHP stimmt, da ich nicht ohne weiteres Threading machen kann (z.B. auf einem Webserver).

Wieso nicht?

Hancock schrieb:
Refactoring: Wie machst du beispielsweise bei Emacs das Umschreiben des Codes (Java), wenn du eine Unterklassen einer Klasse in eine andere Klasse verschiebst?

Die komfortable Antwort wäre emacs-eclim (also Einbindung von eclipse in Emacs), die konservative wäre JDEE (ein etwas komplexerer Java-Modus für Emacs, der dir dafür sogar Tastenkürzel zurechtlegt, wenn dir danach ist).
Ergänzung ()

T3rm1 schrieb:
Kein Texteditor kann das in gleicher Geschwindigkeit erledigen.

Das bestreite ich bis zum Beleg des Gegenteils.
 
T3rm1 schrieb:
Wir haben offensichtlich verschiedene Auffassungen was Refactoring angeht. Ich rede nicht von simplen Methoden/Variablen umbennennen.

Ein Beispiel: Du hast eine abstrake Klasse in der eine abstrakte Methode deklariert ist. Im Laufe deiner Entwicklung stellst du fest, dass es doch besser wäre, diese in einem Interface zu haben. Was muss getan werden, um das zu tun? Neues Interface anlegen, Methode dort deklarieren, Methode aus abstrakter Klasse entfernen, Interface überall dort implementieren, wo zuvor die Methode verwendet wurde. Ich muss der IDE nur sagen, wie das Interface heißen soll und alles passiert dann automatisch. Kein Texteditor kann das in gleicher Geschwindigkeit erledigen.

Ich solchen Szenarien kann eine IDE die Sache wohl tatsächlich etwas beschleunigen, aber die meisten Refactoringschritte, die ich bisher so vorgenommen habe, ließen sich nicht in so ein simples Schema quetschen. Ich rede hier vom Aufsplitten großer Funktionen-Blobs in mehrere, kleine Unterfunktionen, das Verschieben von lokalen Variablen in kleinere Gültigkeitsbereiche, das Identifizieren von stark ähnlichen, aber mehrfach ausgeführten Code Teilen und dann deren Herauskristallisieren in gemeinsam genutzte Funktionen / Klassen, und und und.
Und bei allem natürlich vorher und während des Refactorings immer die gedankliche Analyse, ob der umgeschriebene Code nachher auch wirklich immer noch das gewünschte Verhalten zeigt.

P.S. Was ich noch nicht erwähnt hatte. Ich programmiere hauptsächlich C++, und ich glaube, daß damit das Refactoring überhaupt funktionieren kann, das Intellisense von VS den Code auch richtig verstanden haben muß. Und dieses verflixte Intellisense gibt bei jedem halbwegs komplexen Projekt, an dem ich bisher in VS gearbeitet habe, so wie so zuverlässig den Geist auf.
 
Zuletzt bearbeitet:
PHP und Threading ist wie CSS und Turing-Vollständigkeit. Klar ist CSS Turing-Vollständig, aber kann ich s sinnvoll einsetzen? (In ganz alten IEs ist die Turing-Vollständigkeit sogar offensichtlich, da man dort in CSS Javascript einsetzen konnte. Was ungefähr analog der Threadingmöglichkeiten von PHP ist. Möglich aber scheiße.)
Und PHP kann bei 99% der Installationen kein Threading, Java auf 100% dagegen schon.
 
Zurück
Oben