[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anfangsbuchstaben in Großbuchstaben ändern [OT]



On 14.08.06 15:34:51, Christian Frommeyer wrote:
> Am Montag 14 August 2006 15:14 schrieb Andreas Pakulat:
> > On 14.08.06 10:24:36, Christian Frommeyer wrote:
> > > > In Java ist das "new" IMHO völlig überflüssig und macht die
> > > > Sprache uneinheitlich.
> > >
> > > Das ist offensichtlich falsch.
> >
> > Nein ist es nicht. Du hast selbst festgestellt dass int ein Wert ist
> > und nicht mittels new erzeugt werden kann. Objekte hingegen koennen
> > nicht einfach als Werte erzeugt werden. Java muesste also nur pruefen
> > ob der Typ einer Variablen ein Werttyp oder eine Klasse ist.
> 
> Mit dem gleichen Argument kann man das in C++ auch behaupten.

Jaein, in C++ hat new eine spezielle Aufgabe, naemlich ein neues Objekt
auf dem Heap zu erzeugen. In Java werden Objekte sowieso _immer_ auf dem
Heap erzeugt und demzufolge faellt diese Aufgabe von new flach. Es ist
einfach nur syntaktischer Zucker um moeglichst aehnlich zu C++ zu sein.

> > Dafuer hat man bis 1.5 gebraucht um statische Typsicherheit in
> > Containern zu gewaehrleisten ;-)
> 
> Wenn man Typsicherheit bei expliziten Casts fordert (und das tut man, 
> wenn man behauptet die alten Container wären nicht Typsicher) dann ist 
> Java auch mit 1.5 nicht Typsicher, denn auch da kann man sich mit 
> expliziten Casts ins Bein schießen. 

?? Du hast das wesentliche weggeschnitten, ich bezog mich auf statische
Typsicherheit der Containerklassen. Die gabs nicht bis 1.5.

Was mir bei Containern noch einfaellt: Wieso schmeisst man die ganzen
Werttypen nicht weg? Man kann diese in keiner Weise erweitern und ihr
einziger Zweck ist es C++ Programmieren etwas "bekanntes" zu
praesentieren. Dies passiert aber auf Kosten der Objektorientiertheit
und Konsistenz. Viele Funktionen in Java arbeiten mit diesen Wertetypen,
stanstatt mit Objekten, andererseits kann man Werte aber nicht in
Container tun hier muss immer erst umkonvertiert werden in ein Objekt.
Irgendwie finde ich das halbherzig umgesetzt, dann lieber ganz auf
Wertetypen verzichten (womit dann auch new verschwinden koennte ;-)

Andreas

-- 
Don't let your mind wander -- it's too little to be let out alone.



Reply to: