• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

XCode im Allgemeinen

Senior Sanchez

Damasonrenette
Registriert
08.09.06
Beiträge
491
Das wir die ganze Zeit über Java reden war doch klar und somit bezog sich der String-Vergleich auch darauf ;)

Aber so ist das nunmal mit Objekten, Speichermanagement und Strings *g*
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Das wir die ganze Zeit über Java reden war doch klar und somit bezog sich der String-Vergleich auch darauf [...]
Natuerlich war das klar. Aber es soll Menschen geben, die mit mehreren verschiedenen Programmiersprachen zu tun haben. Da kann es schon mal passieren, dass man im Eifer des Gefechts mit den Konventionen ein wenig durcheinanderkommt.

Insofern wollte ich eine moegliche Erklaerung liefern. Aber das hier ...

[...] so ist das nunmal mit Objekten, Speichermanagement und Strings *g*
... ist natuerlich auch ein schoenes Urteil, vor allem weil es eine gewisse Ueberheblichkeit nur sehr fein und daher kaum beweisbar andeutet. :mad:
 

Senior Sanchez

Damasonrenette
Registriert
08.09.06
Beiträge
491
Natuerlich war das klar. Aber es soll Menschen geben, die mit mehreren verschiedenen Programmiersprachen zu tun haben. Da kann es schon mal passieren, dass man im Eifer des Gefechts mit den Konventionen ein wenig durcheinanderkommt.

Insofern wollte ich eine moegliche Erklaerung liefern. Aber das hier ...


... ist natuerlich auch ein schoenes Urteil, vor allem weil es eine gewisse Ueberheblichkeit nur sehr fein und daher kaum beweisbar andeutet. :mad:

Die Erklärung habe ich auch schon geliefert gehabt ;)

Höh? Was für eine Überheblichkeit?
Ich wollte lediglich andeuten, dass das Problem an diesen ganzen Eigenschaften von Java liegt.
In anderen Sprachen, wo Strings nicht als Objekte gehandhabt werden, funktionieren solche Vergleiche. (Daher das Wort "Objekte")
Könnte man Objekte per * derefenzieren, so könnte man so denke ich auch direkt mit == vergleichen, aber standardmäßig werden eben nur Referenzen verglichen, was bei Strings eben zuwider läuft und die equals-Methode erfordert.

Das ganze war nicht als Beleidigung/Trollen/usw. von AppleScript oder sonst welchen anderen Sprachen gemeint.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
...
String tmp = "bla";
Weil if(tmp == "bla") {}

schlägt ansich immer fehl.

Meinst du? Der Java-Compiler optimiert Speichernutzung durch Wiederverwendung von Stringliteralen. Der Code oben funktioniert daher und schlägt nicht fehl. Viele Java-Kernklassen überschreiben außerdem equals() mit einer Auswertung von Werten, wodurch es sich nicht wie == der Object.class verhält.
 
Zuletzt bearbeitet:

Senior Sanchez

Damasonrenette
Registriert
08.09.06
Beiträge
491
Meinst du? Die String-Klasse überschreibt aber equals(). Der Code oben funktioniert daher und schlägt nicht fehl. Viele Java-Kernklassen überschreiben equals() mit einer Auswertung von Werten. Bist noch neu in Java, gelle?

Ich weiß das String equals überschreibt.
Natürlich funktioniert der Code, d.h. es gibt kein Compiler/Laufzeitfehler, nur der Zweig innerhalb der if-Anweisung wird nicht ausgeführt. Das meinte ich mit fehlschlagen.

Nein, bin nicht so ganz neu in Java.
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Ich wollte lediglich andeuten, dass das Problem an diesen ganzen Eigenschaften von Java liegt.
In anderen Sprachen, wo Strings nicht als Objekte gehandhabt werden, funktionieren solche Vergleiche. (Daher das Wort "Objekte")
Könnte man Objekte per * derefenzieren, so könnte man so denke ich auch direkt mit == vergleichen, aber standardmäßig werden eben nur Referenzen verglichen, was bei Strings eben zuwider läuft und die equals-Methode erfordert.

Also in den OO-Sprachen die ich kenne, ist ein String immer ein Objekt. Es gibt dann noch chars, aber die sind nativ.
 

Senior Sanchez

Damasonrenette
Registriert
08.09.06
Beiträge
491
Meinst du? Der Java-Compiler optimiert Speichernutzung durch Wiederverwendung von Stringliteralen. Der Code oben funktioniert daher und schlägt nicht fehl. Viele Java-Kernklassen überschreiben außerdem equals() mit einer Auswertung von Werten, wodurch es sich nicht wie == der Object.class verhält.


Stimmt, hast Recht. Mit dem Beispiel habe ich mich in die Nesseln gesetzt ;)

Anders sieht es dagegen aber aus, wenn der Inhalt zum Compile-Zeitpunkt noch nicht bekannt ist, dann funktioniert es nicht, wie ich gerade getestet habe.

Ist also ne Lösung die mit Vorsicht zu genießen ist.

Natürlich überschreiben viele Klassen equals, mache ich ja selber auch und wäre doch auch Lötzinn wenn man es nicht machen würde.
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
Java ist ja nun von Haus aus schon aufgebläht und ressourcenhungrig und langsam. Was kann man da mit Codeoptimierung noch gewinnen?

Gefährliches Halbwissen würde ich diese Aussage mal nennen ...

Mag sein das Java am Desktop noch nicht richtig angekommen ist und einigen Overhead mitbringt, aber wenn du mir keine Alternative für die schnelle und sichere Entwicklung skalierender Server/Webapps nennst kann ich dich leider nicht ganz ernst nehmen ...

mfg s.
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Java ist ja nun von Haus aus schon

Erkläre mal genauer...

und ressourcenhungrig

Das kommt auf die Sichtweise an. Es stimmt schon, dass wenn Du die VM anwirst recht viel Speicher gezogen wird. Aber das bringt, prinzipbedingt, sogar einiges an Vorteilen.


Das halte ich für ein Gerücht!
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
Womit schreibst du denn deine Apps osfreak und dann erklär uns bitte auch mal die Vorteile der von dir bevorzugten Plattformen ?
 

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
*den Rettungsanker werf*

bevor der Streit der Programmierer los geht...

ich benutze auch des öfteren XCode und bin ehrlich gesagt vom Angebot her überfordert... ich nutze C++ und Java und wenn ich mir die Möglichkeiten von XCode so betrachte, dann fühl ich mich jedesmal so als würde ich nur an der Oberfläche kratzen und würde niemals die Tiefen ausschöpfen können.
In der Hinsicht ist XCode für meine Verhältnisse leider total überladen. Mit XCode könnte ich wohl die Welt programmieren in allen möglichen Sprachen aber bis ich mich da reingefummelt hab, bleib ich wohl bei meinen 10% Ausnutzung des Programmes.

Das finde ich persönlich sehr schade an XCode. Ich würde es gerne intensiver und ausführlicher nutzen aber sehe keine Möglichkeit und XCode bietet auch in der Hinsicht nicht die Möglichkeit mir neue Wege zu offenbaren. Ist auch nun zu viel verlangt von dem Programm, ich weiss :innocent:

und um auf den Krieg der Programmierer zurückzukommen.. ich find Java auch sehr langsam (sind einfach erfahrungswerte... schlechter Programmierstil vielleicht auch). Ich finde es auch aufgebläht (allein der Befehlssatz topt doch wohl schon alles) und das ressourcenhungrig ist wohl eher mit langsam gleichzusetzen.

PS: ich hab vergessen zu sagen, dass ich Java als die beste derzeit verfügbare und verbreitete Programmiersprache empfinde durch ihren prinzipiellen objektorientierten Aufbau. Mit C++ hab ich dagegen meine Probleme. In Java kann es so spielend einfach sein wo man in C++ bereits 2 große Funktionen für schreiben musste, was in Java mit einem Befehl geht... das führt leider wieder zu aufgebläht... aber naja.
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Also ich habe auf der Arbeit das "Vergnügen" mit einigen Java-Programmen arbeiten zu müssen. Die Geschwindigkeit ist einfach grausam. Aber da sind sicher nur die Programmierer unfähig, nicht wahr?
MacApple

Das liegt nicht am Programmierer.. bzw nicht unbedingt, aber wenn Du mit einem Java-Desktop-Programm arbeitest, dann kann es schon langsam wirken. Das liegt aber vielmehr an z.B. Swing als nun an Java selbst. Für GUI-Anwendungen ist Java wirklich nicht der bringer, aber das würde ich mal eher aus Swing-Framework schieben als auf Java an sich.
Wenn ich mir zum Beispiel unsere ApplicationServer hier anschaue, dann werde ich definitiv nciht behaupten, dass Java 'langsam' sei.... ganz abgesehen davon, dass mir keine Sprache einfällt mit der das sonst so geregelt werden kann.

@Cyrics: Wenn Du glaubst, dass XCode 'überladen' sei, dann schau dir mal eclipse an... da kriegst Du das kalte Grausen. Eine IDE, die genau nur deinen Bedarf abdeckt, nicht mehr und auch nicht weniger, wirst Du nicht finden.

Das der Befehlssatz von Java "aufgebläht" sei verstehe ich nicht so ganz.... oder meinst Du die Frameworks die da mit kommen?
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
@Cyrics: Wenn Du glaubst, dass XCode 'überladen' sei, dann schau dir mal eclipse an... da kriegst Du das kalte Grausen. Eine IDE, die genau nur deinen Bedarf abdeckt, nicht mehr und auch nicht weniger, wirst Du nicht finden.
Also ich finde Eclipse für Java (in der Standardconfig) nicht überladen ich arbeite seit ein paar jahren damit für arbeit und uni allerdings nutze ich keine deploy oder sonstige features für j2EE /web entwicklung sondern erledige alles mit ant und xdoclet das bedeutet ich kann schnell änderungen auch mal ohne IDE machen und überall wo es ant gibt auch in der commandline builden und deployen, beim entwickeln nutze ich allerdings das ant interface von eclipse.
Der Editor ist einfach und trotzdem funktional

Ich kenne aber auch keine IDE auch nur annähernd so gut wie eclipse darum kann ich nicht vergleichen ....

Für PHP finde ich (das auch in java geschriebene Zend sehr cool)...
 

osfreak

Zuccalmaglios Renette
Registriert
19.12.04
Beiträge
262
Womit schreibst du denn deine Apps osfreak und dann erklär uns bitte auch mal die Vorteile der von dir bevorzugten Plattformen ?

Rehallo,

was fuer Plattformen? Ich hab bisher alles in Pascal programmiert, fuer alle moeglichen Betriebssysteme. Das liegt daran dass ich vor langer Zeit eben mal damit angefangen habe. Ich hab keine Lust dauernd die Sprache zu wechseln und alles umzuprogrammieren. Pascal gibt es ueberall und es funktioniert bestens, andere Sprachen wie C und seine Nachfolger sicher aber auch. Mir ist es auch egal wie elegant die Progerammiersprache ist wenn sie nur zur Loesung fuehrt.

Ich finde blos eben den Einarbeitungsaufwand fuer XCode relativ hoch zB gegenueber CodeWarrior weil alles anders gruppiert ist und weil das sonstige propagierte Apple-Look-and-Feel scheinbar haltgemacht hat vor XCode. Da ist nix mit Verschlankung und Vereinfachung und Vermeidung von Ueberfrachtung sondern man hat einen weiteren laengeren Lernprozess.

Tcl/Tk find ich auch noch gut. Java hab ich vor ein paar Jahren probiert und alsbald wieder fallengelassen. Es kann schon sein dass es fuer Spezialloesungen geeignet ist. Mir persoenlich hat es eben nicht gefallen.

Ich bin im Ausland und finde die Umlaute leider nicht. Bitte nicht schimpfen deswegen.

Thomas
 

osfreak

Zuccalmaglios Renette
Registriert
19.12.04
Beiträge
262
Womit schreibst du denn deine Apps osfreak und dann erklär uns bitte auch mal die Vorteile der von dir bevorzugten Plattformen ?

Rehallo,

was fuer Plattformen? Ich hab bisher alles in Pascal programmiert, fuer alle moeglichen Betriebssysteme. Das liegt daran dass ich vor langer Zeit eben mal damit angefangen habe. Ich hab keine Lust dauernd die Sprache zu wechseln und alles umzuprogrammieren. Pascal gibt es ueberall und es funktioniert bestens, andere Sprachen wie C und seine Nachfolger sicher aber auch. Mir ist es auch egal wie elegant die Programmiersprache ist wenn sie nur zur Loesung fuehrt.

Ich finde blos eben den Einarbeitungsaufwand fuer XCode relativ hoch zB gegenueber CodeWarrior weil alles anders gruppiert ist und weil das sonstige propagierte Apple-Look-and-Feel scheinbar haltgemacht hat vor XCode. Da ist nix mit Verschlankung und Vereinfachung und Vermeidung von Ueberfrachtung sondern man hat einen weiteren laengeren Lernprozess.

Tcl/Tk find ich auch noch gut. Java hab ich vor ein paar Jahren probiert und alsbald wieder fallengelassen. Es kann schon sein dass es fuer Spezialloesungen geeignet ist. Mir persoenlich hat es eben nicht gefallen.

Ich bin im Ausland und finde die Umlaute leider nicht. Bitte nicht schimpfen deswegen.

Thomas
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
du hast nicht geschrieben das es dir nicht gefallen hat sondern das es aufgebläht und langsam ist, das ist ein unterschied und außerdem nicht ganz korrekt ....