(Neuigkeiten...) Java ist tot!
-
Original erstellt von Floh:
ich kann mir jedoch nicht vorstellen daß bei umfassenden projekten, die dann wahrscheinlich zig tausende klassen beinhalten, das prinzip noch funktioniertFrag mal Cengiz.
warum habe ich noch nie einen java programmierer getroffen der gesagt haette, dass Java probleme hat. zB weil dtors fehlen oder es dauernd null-reference exceptions hagelt (obwohl es ja garkeine zeiger gibt)...
Weil es in der Realität keine wirklichen Probleme hierdurch gibt. Die Probleme sind Volkards Hirn entsprungen, nicht der Realität.
-
@FTK
Yo, John Carmack hat auch sicher keine Ahnung und Java ist einfach langsam und unbrauchbar. Übrigens waren es John Carmack und die anderen Leute von idSoftware die Doom als eines der ersten Spiele im damals als furchtbar langsam geltenden C (statt Assembler) geschrieben haben.Ich werd nach diesem Posting ab sofort nix mehr zu dem Thema sagen, weil's mir echt auf'n Sack geht. Keiner braucht Java programmieren und ich geb zu daß in zeitkritischen Programmen C++ nach wievor (vielleicht auch für immer) besser geeignet ist. Was mich ankotzt ist die ständige Negativität gegenüber Java, als ob's die letzte Sprache wäre und alle Vorurteile werden immer wieder abgefeuert: langsam, speicherfressend, umständlich, nur für nubes.. das sich zB die Performance-Probleme bei jeder neuen VM-Version verringern, wird natürlich nicht wahrgenommen oder gar erwähnt. Oder daß Java erst 7 Jahre alt ist und noch lang nicht "erwachsen" und ausgereift ist und man vielleicht mal noch etwas schauen sollte, was die Zukunft noch so bringt, bevor mal entültige Urteile abgibt.
-
Öhm, hier wird immer gesagt "Java ist scheiße, weil es keine Destruktoren hat". Moment mal. Die einzige Sprache, die Destruktoren hat, ist C++. Damit müßte ja logischerweise C++ die Erfüllung für OO sein. LOL.
Man ändert einfach eine simple Schüler-Klasse nicht hinter den Kulissen so ab, dass Clientcode auf jeden Fall eine close-Methode aufrufen müßte. Fertig. Nur weil man in C++ Anwendern in jeglicher Form hinter den Kulissen verschandelten Code vorsetzen kann, ohne dass sie es merken, heißt das nicht, dass das auch gut so ist. Mit OO hat das schon gleich gar nichts zu tun.
Im übrigen find ich finalizer doof.
-
Original erstellt von Bashar:
Öhm, hier wird immer gesagt "Java ist scheiße, weil es keine Destruktoren hat". Moment mal. Die einzige Sprache, die Destruktoren hat, ist C++. Damit müßte ja logischerweise C++ die Erfüllung für OO sein. LOL.was ne scheiße. java hat destruktoren. wie ich das kinde nenne, ist doch egal, es ist code, dem ich sagen kann, daß er automatisch aufgerufen wird, wenn das objekt stirbt. problem an den java-destruktoren ist nur, daß sie nicht sofort aufgerufen werden.
perl hat auch destruktoren, die sofort aufgerufen werden. wie kommste drauf, daß c++ die einzige sei, die destruktoren hat.
ich mag nicht mit php arbeiten, weil es da keine destruktoren gibt. das sollte in php5 anders sein. dann werd ich php vermutlich mögen.
nicht alle sprachen brauchen überhaupt destruktoren. wenn es unaufwendig ist, ne funktion drumzubauen, die das zu destruierende objekt hält und dann killt, dann ist das für auto-objekte auch fein. und für objekte in containern reicht ne close-methode.Man ändert einfach eine simple Schüler-Klasse nicht hinter den Kulissen so ab, dass Clientcode auf jeden Fall eine close-Methode aufrufen müßte. Fertig.
in spielzeugsprachen darf man das nicht.
aber stell dir doch mal vor, man dürfte das ohne die stabilität des programms auch nur zu gefährden! wäre das nicht toll? es ist toll, und ich verlange, daß man das darf.Mit OO hat das schon gleich gar nichts zu tun.
das sagt ja auch keiner.
-
Original erstellt von Gregor:
Für Volkard sind das alles Nubes und andere Idioten, aber das macht nichts. Global gesehen ist Volkards Meinung irrelevant. Sie hat ja nichtmal Auswirkungen auf die Javaprogrammierer in diesem Forum.klar isses schwer, nubes was beizubringen. besondert dann, wenn unter ihnen auch ein paar idioten sind, die politische argumente vor leicht einsehbare technische argumente setzen.
-
Original erstellt von Gregor:
**[quote]
warum habe ich noch nie einen java programmierer getroffen der gesagt haette, dass Java probleme hat. zB weil dtors fehlen oder es dauernd null-reference exceptions hagelt (obwohl es ja garkeine zeiger gibt)...
****
Weil es in der Realität keine wirklichen Probleme hierdurch gibt. Die Probleme sind Volkards Hirn entsprungen, nicht der Realität.**[/QUOTE]
nee.
weil die ganzen java-progger, die nicht über den tellerrand schauen können, das problem gar nicht begreifen. sie kennen es halt nicht anders.
und die, die es begreifen, wechseln sofort zu ner vernünftigen sprache.
folglich haste keine beschwerden von java-proggern.
außer von einigen, die durch den job dazu gewzwungen sind, aber durch irgendwelche unglücklichen umstände schon mehr wissen, als der java-progger wissen sollte.
-
Original erstellt von volkard:
java hat destruktoren. wie ich das kinde nenne, ist doch egalJava hat Finalizer. Nein das ist nicht egal. Destruktoren werden aufgerufen, wenn das Objekt den Scope verläßt, Finalizer wenn das Objekt collectet wird.
perl hat auch destruktoren, die sofort aufgerufen werden. wie kommste drauf, daß c++ die einzige sei, die destruktoren hat.
Was für ein Speichermanagement hat Perl? Destruktoren machen eigentlich nur Sinn in Sprachen ohne Garbage Collection. Man könnte den Begriff des Destruktors auch sinnvoll auf Mechanismen mit Referenzzählung ausweiten, das dürfte eher auf Perl zutreffen. Ist immernoch die Minderheit der Sprachen.
**
aber stell dir doch mal vor, man dürfte das ohne die stabilität des programms auch nur zu gefährden! wäre das nicht toll? es ist toll, und ich verlange, daß man das darf.**Verlangt irgendwer von dir, dass du in Java programmierst? Wenn du C++-like verdrahtet bist, bitte; andere haben andere Programmierstile.
[ Dieser Beitrag wurde am 11.07.2003 um 12:30 Uhr von Bashar editiert. ]
-
Original erstellt von Bashar:
Verlangt irgendwer von dir, dass du in Sprachen programmierst, wo das nicht geht? Jeder hat so seinen Stil ... wenn du so mit C++ verdrahtet bist, bitte.das argument kannste auch zu später bindung, zum operatorenüberladung, zu templates, zu zeigern sagen.
daher ungültiger allgemeinplatz.
-
Warum ungültig?
-
Original erstellt von Bashar:
Warum ungültig?weil man ohne das alles die sprache entweder komplett in die tonne treten muß, oder andere erweiterungen machen muß. aber auch nicht jeder, will aus java gleich lisp machen.
-
Original erstellt von Bashar:
Was für ein Speichermanagement hat Perl?referenzzähler, genau, wie du angenommen hast.
-
Original erstellt von Bashar:
Ist immernoch die Minderheit der Sprachen.und?
ich behaupte, daß die intelligentesten 5% der menschheit in der minderheit sind. sind sie deshalb schlechter?
-
Original erstellt von volkard:
weil man ohne das alles die sprache entweder komplett in die tonne treten muß, oder andere erweiterungen machen muß. aber auch nicht jeder, will aus java gleich lisp machen.Java hat späte Bindung (oder anders gesagt, Java hat keine früher Bindung wie C++), und auch andere Erweiterungen.
Das hat aber alles nichts damit zu tun, ob mein Argument ungültig war. Wenn du im wesentlichen sagst, Features A, B, C gibt es in C++, aber nicht in Java, und ohne die kannst du nicht ordentlich programmieren, dann kannst du daraus nicht schließen, dass niemand in Java ordentlich programmieren kann.
**
ich behaupte, daß die intelligentesten 5% der menschheit in der minderheit sind. sind sie deshalb schlechter?**straw man
[ Dieser Beitrag wurde am 11.07.2003 um 12:51 Uhr von Bashar editiert. ]
-
Original erstellt von Bashar:
**Das hat aber alles nichts damit zu tun, ob mein Argument ungültig war. Wenn du im wesentlichen sagst, Features A, B, C gibt es in C++, aber nicht in Java, und ohne die kannst du nicht ordentlich programmieren, dann kannst du daraus nicht schließen, dass niemand in Java ordentlich programmieren kann.
**so gesehen kannste nichtmal schließen, daß man in intercal nicht ordentlich programmieren kann.
-
Wenn du im wesentlichen sagst, Features A, B, C gibt es in C++, aber nicht in Java, und ohne die kannst du nicht ordentlich programmieren, dann kannst du daraus nicht schließen, dass niemand in Java ordentlich programmieren kann.
doch logisch gesehen kann er dann genau das! Wobei es natürlich falsch ist, das man ohne nicht ordentlich programmieren kann, aber des rafft er ja nicht, weil er soviele Scheiße wie er erzählt ja offensichtlich keine Ahnung hat. (Jo ich weiß ich bin ein Iodot, brauchst dich nicht widerholen )
-
seht ihr, welches problem ich habe?
wie kann man mit solchen nubes sinnvoll diskutieren?Ja, und das Problem liegt offensichtlich bei dir. Du kannst es nicht oder du willst es nicht können.
[ Dieser Beitrag wurde am 11.07.2003 um 13:09 Uhr von Harrison Bergeron editiert. ]
-
Original erstellt von Harrison Bergeron:
Ja, und das Problem liegt offensichtlich bei dir. Du kannst es nicht oder du willst es nicht können.ja, und die stundenlangen diskussionen mit steinen gebe ich auch bald auf, denn ich bin so furchtbar schlecht und kann ihnen nichts vermitteln.
-
Original erstellt von volkard:
so gesehen kannste nichtmal schließen, daß man in intercal nicht ordentlich programmieren kann.Exakt. Du kannst dir allerdings Intercal angucken, versuchen damit zu programmieren, und dann darauf kommen, dass es nicht gerade leicht ist. Aber nicht aufgrund der Tatsache, dass es kein C++ ist.
-
Original erstellt von Bashar:
Exakt. Du kannst dir allerdings Intercal angucken, versuchen damit zu programmieren, und dann darauf kommen, dass es nicht gerade leicht ist. Aber nicht aufgrund der Tatsache, dass es kein C++ ist.ok. eingangs hab ich ja auch ein szenario gebaut, wo es in java ärgerlich wird. man könnte etliche sprachmittel erfinden, den ärger loszuwerden. ich halte es aber nicht für gangbar, seinen code mit try-finally vollzuwerfen und schnittstellenänderungen zu verbieten.
und es gibt eine zu java recht ähnliche sprache, die hat eine klitzekleine änderung bezüglich des zeitpunktes, wann objekte aufgeräumt werden, und da gibts das problem nicht. soweit ich haskell gelesen hab, würde ich da keinen bedarf nach destruktoren haben. das ist auch ok. aber der weg nach haskell ist von java aus ein wenig zu weit. der weg zu ordentlichen destruktoren ist aber enorm nah. die ordentlichen destruktoren sollten übrigens vom entwerfer der klase nur dann eingebaut werden, wenn die destruktion zeitkritisch ist, und normalerweise nur finalize() benutzen. es wäre ein feature, das man wirklich nur dazugebaut werden könnte, ohne alten code zu stören.
letztendlich macht dieser fehler in java es natürlich nicht völlig unmöglich, darin zu programmieren, sondern nur unpraktisch. genauso wie die nicht überladbaren operatoren. ja, echte javaianer sagen, das sei unlesbar, unwartbar und zu kompliziert und würde deshalb zu fehlerhaftem code führen.
das kann man übrigens von nem automatischen phrasendrescher über jedes feature sagen, das irgend eine sprache hat, aber java nicht. zum beispiel zeiger und mehrfache erblichkeit.
-
ja, und die stundenlangen diskussionen mit steinen gebe ich auch bald auf
och nee, des wär doch dumm..die Steine interessiert's doch mehr als alle anderen was du ihnen erzählst! Sprich mal auf nem öffentlichen Platz, wo so 1000 leute dich sehen, mit welchen, dann kommen vielleicht auch mal die netten Nervendoktoren und geben dir gute Medizin..des wär doch mal was