Hogo hat gesagt.:Ausserdem muss an Java doch mehr dran sein, als plattform Unabhängigkeit. Sonst hätte Microsoft ja nicht auf .Net gesetzt, sonder vielleicht auf MC++.
Achwas, oder? Nur weil es von Sun ist, ist es doch nicht in Java geschrieben. Mit dem gleichen Argument kam ich mal in einem Linuxforum und einer hat mich ausgelacht.stevg hat gesagt.:womit wurde(wird) OpenOffice geschrieben ?
installiere mal openoffice dann wirste sehn das es in (oder teileweise in java geschrieben ist) weil es um vollständige funktionalität zu haben java brauchtReality hat gesagt.:Achwas, oder? Nur weil es von Sun ist, ist es doch nicht in Java geschrieben. Mit dem gleichen Argument kam ich mal in einem Linuxforum und einer hat mich ausgelacht.stevg hat gesagt.:womit wurde(wird) OpenOffice geschrieben ?
Liebe Grüße
Reality
Überzeugend? Das sieht für mich nach einer Ansammlung von Halbwissen und Vorurteilen von pubertierenden Schülern aus. Wenn wenigstens die C++ basher etwas C++ verstanden hätten, könnte man ja darüber reden. Zudem trollt der Eine nur rum.DynamiX hat gesagt.:In Codingzone.de liefern C++ Progger seeeeeeeeehr überzeugende Argumunte dass C++ besser ist.[/url]
Nun ja... das kann man so nicht stehen lassen. Man sollte sich davon lösen, dass A besser als B (oder umgekehrt). Zudem ist es auch ein wenig wie mit den Äpfeln und Birnen. Meist wird bei dieser Diskussion Java, als Programmiersprache und Technologie (Framework?) mit C++ als reine Programmiersprache verglichen. Dabei wird vergessen, dass ich mit Java-Syntax sehr wohl auch native Programme schreiben kann, so wie ich mit C++ Code auch Bytecode erzeugen kann.DynamiX hat gesagt.:So langsam glaub ich nämlich auch, dass C++ besser is
habe dazu auch einige Tests gelesen, aber die Praxis zeigt bei mir immer etwas anderes.pogo hat gesagt.:das argument das java langsamer ist zählt nichtmehr.
hab derletzt nen bericht gesehen, indem die geschwindigkeit getestet wurde.
da kan heraus, dass java und c++ gleichschnell sind.
Beni hat gesagt.:[...]Statement zum Schluss:
"der wahrlich gute Programmierer spricht mehrere Sprachen, und entscheidet abhängig der Aufgabe, welche Sprache geeignet ist."
mfg Beni
Du meinst den C++BuilderX? Mit was wurde der nochmal programmiert?Reality hat gesagt.:Hat jemand schon mal mit Borland C++ Builder
ich habe nur den 5er und da flitzt er.dark_red hat gesagt.:Du meinst den C++BuilderX? Mit was wurde der nochmal programmiert?Reality hat gesagt.:Hat jemand schon mal mit Borland C++ Builder
Reality hat gesagt.:Kannst du mir verraten, wie man in Java seine Programme in Binärcode compilieren kann? Möchte ich mal ausprobieren.
Dabei wird vergessen, dass ich mit Java-Syntax sehr wohl auch native Programme schreiben kann, so wie ich mit C++ Code auch Bytecode erzeugen kann.
Roar hat gesagt.:Reality hat gesagt.:Kannst du mir verraten, wie man in Java seine Programme in Binärcode compilieren kann? Möchte ich mal ausprobieren.
gar nicht. Java bleibt Java und Bytecode bleibt Bytecode. Ansonsten wär das ja völlig unsinnig.
Dr. Morv hat gesagt.:[...]Dafür hat Java einfachere Multimediamöglichkeiten, aber sehr viele Klassen, die zum Teil recht sinnlos sind (ich darf an den Media Tracker erinnern).
Grizzly hat gesagt.:Dr. Morv hat gesagt.:[...]Dafür hat Java einfachere Multimediamöglichkeiten, aber sehr viele Klassen, die zum Teil recht sinnlos sind (ich darf an den Media Tracker erinnern).
Ist der MediaTracker nicht zum Prüfen, ob ein Bild vollständig geladen wurde? ???:L
Reality hat gesagt.:Ist ja echt schlimm was die da schreiben...
http://board.codingzone.de/viewtopic.php?t=146&start=0&sid=280b2f535a514f67d8db47c2b941a799
becstift hat gesagt.:Reality hat gesagt.:Ist ja echt schlimm was die da schreiben...
http://board.codingzone.de/viewtopic.php?t=146&start=0&sid=280b2f535a514f67d8db47c2b941a799
alter, nee du... das ist ja echt schlimm, was die da schreiben... :bahnhof:
0xdeadbeef hat gesagt.:[...]
8 ) Daß man auf die Registry usw. nicht zugreifen kann, ist ja verständlich, aber warum braucht man bereits für Zugriffe auf die serielle Schnittstelle native DLLs, wenn doch auch Sockets platttformübergreifend implementiert sind? Von USB usw. ganz zu schweigen...
[...]
0xdeadbeef hat gesagt.:@Grizzly:
Naja, "javax.comm" zeigt ja, wie man die serielle/parallele Kommunikation sauber kapseln kann. Daß das Anfordern einer Baudrate oder das Senden von ein paar Bytes dann in irgendwelchen HW-Registern endet, ist ja gar auf der Interface-Ebene gar nicht sichtbar.
Mir ist irgendwie nicht so transparent, warum das ein so großer Unterschied zur Ausgabe von Musik, Grafiken oder TCP-IP Kommandos sein soll. Ich würde auch mal annehmen, daß USB ab einer bestimmten Protokollebene (ebenfalls) völlig von der Hardware abstrahierbar ist.
Deshalb gestatte ich mit den Luxus, diese Dinge weiterhin als Lücken in der (ansonsten ja sehr umfassenden) Klassenbibliothek zu sehen.[...]
0xdeadbeef hat gesagt.:[...]14) Weil if (und dergleichen) nur boolsche Ausdrücke zuläßt, sind klassische Zuweisungsfehler nicht möglich ( "if (a=3) {}" ).
boolean a = false;
boolean b = true;
if (a = b) { }
Reality hat gesagt.:Ist ja echt schlimm was die da schreiben...
http://board.codingzone.de/viewtopic.php?t=146&start=0&sid=280b2f535a514f67d8db47c2b941a799
becstift hat gesagt.:Reality hat gesagt.:Ist ja echt schlimm was die da schreiben...
http://board.codingzone.de/viewtopic.php?t=146&start=0&sid=280b2f535a514f67d8db47c2b941a799
Hab die Diskussion da noch mal angestachelt... hehe :wink:
Naja, C++-Programmierer kennen sogenannte Smart-Poitner, mit denen die Speicherfreigabe voll automatisch statfidnet. Außerdem gibt es auch GC-Bibliotheken. Da man den new-Operator überladen kann könnte man sogar per Klasse entscheiden, wie sie am besten handzuhaben ist.Vorteile von Java sind unter anderem, das man sich nicht um Speicherfreigaben kümmern muss.
Die unterschiedliche Behandlung von Basistypen und Objekten ist einigermaßen eigentümlich. Speziell bei der Übergabe als als Parameter wird zwar in beiden Fällen "copy by value" benutzt, weil Objekte in Java aber immer Referenzen sind, bekommt man immer eine Referenz auf ein Objekt, aber niemals auf einen Basistyp. Insofern kann man auch nicht ohne weiteres mehr als einen Basistyp zurückgeben, dazu muß man wieder ein Container-Objekt benutzen. Wesentlich schöner wäre eine gleichartige Behandlung von Basistypen/Objekten und die manuelle Auswahl zwischen "by value" und "by reference" gewesen.
Tja, da sieht man mal wieder, was Java alles von C übernommen hat.Ich finde es extrem eigenartig, daß es keine unsigned Integertypen gibt. Zudem sind einige der Erweiterungsregeln äußert merkwürdig (byte + byte = int).
Immer wenn du merkst, das du ein finally brauchst, um etwas garantiert aufzuräumen. RAII ist ein tolles konzept, was dem Programmierer viel Arbeit abnimmt und den Code zudem übersichtlicher hält.Und was willst du in Java bitte in einen Destruktor schreiben, wenn alles automatisch aufgeräumt wird? Ich hab noch nie einen gebraucht.
Naja, da gibt's immernoch die Möglichkeit, dass das Objekt null ist. Zudem sind Operatoren deutlich übersichtlicher.Nunja die fehlende Operatorüberladung kann man positiv und negativ sehen, sinnvoll eingesetzt, ist es sicher gut. Aber: wofür gibt es Object#equals, dass man überschreiben kann? Das macht ja dann auch kein Unterschied mehr zu einem Operator.
Ach. Schreib mal in einem D-Programm14) Weil if (und dergleichen) nur boolsche Ausdrücke zuläßt, sind klassische Zuweisungsfehler nicht möglich ( "if (a=3) {}" ).
if (a=3) {}
if (3) {}
Nein das ist in C/C++ definitiv nicht so...Tja, da sieht man mal wieder, was Java alles von C übernommen hat.Ich finde es extrem eigenartig, daß es keine unsigned Integertypen gibt. Zudem sind einige der Erweiterungsregeln äußert merkwürdig (byte + byte = int).
Ich programmiere kein "D". Ich habe von C/C++ gesprochen und da stimmt meine Behauptung. Daß der "Schutz" in Java für boolesche Typen nicht funktioniert, ist auch klar, aber zu 99% vergleicht man ja Zahlenwerte und da tut es.Ach. Schreib mal in einem D-Programm14) Weil if (und dergleichen) nur boolsche Ausdrücke zuläßt, sind klassische Zuweisungsfehler nicht möglich ( "if (a=3) {}" ).
und du wirst einen Fehler erhalten, weil du innerhalb der Bedingung versuchst zuzuweisen. Schreibst du hingegenCode:if (a=3) {}
ist das vollkommen legal, weil integrale Werte als Wahrheitswerte gesehen werden. Es geht also auch anders. Und Java hat immernoch das Problem, das man boolsche Werte zuweisen kann, was in D logischerweise nicht geht.Code:if (3) {}
Dagegen habe ich nie etwas gesagt. Ich habe lediglich eine Sprache aufgeführt, die eine dritte Möglichkeit verwendet.Ich programmiere kein "D". Ich habe von C/C++ gesprochen und da stimmt meine Behauptung.
Wenn es nur um die Sprache an sich geht, hast du eindeutig recht. Java ist schneller und einfacher erlernbar. Allerdings musst du dich in jeder OO-Sprache mit Dingen wie Design-Pattern, etc. auseinandersetzen.Ich weiß nicht viel über C++, aber ich denke das Java (SE) einfacher (und schneller) zu erlernen und handhaben ist, konkret kann ich nicht werden, ist nur so'n Eindruck den ich habe.
Das ist richtig, "byte" ist aber unsigned und wird AFAIK in C nicht automatisch erweitert.helium hat gesagt.:sigend char + sigend char = int
auch wenn du z.B. ein char an eine elipsis-Funktion übergibtst (...) wird daraus ein int.