1 up |
^^^ Additional posts ^^^
zorg.ch
#34765 by @ 15.06.2004 20:28 - nach oben -
Ich hoffe schwer das du den letzten Satz sarkastisch meintest ;)
zorg.ch
#34793 by @ 15.06.2004 22:11 - nach oben -
nein, ich meinte den letzten satz durchaus nicht sarkastisch. leicht ĂŒbertrieben, ja.

java hat sicher seine berechtigung und seine vorteile (systembedingt), wenns um embedded systeme oder gröbere applikationen mit webfrontend geht. (ich weiss, das ist nicht das einzige)

Allerdings stresst's ich mich jedes mal, wenn ich vor einem java-GUI sitze. Mir kommen die dinger einfach irgendwie trĂ€ge rein. Am meisten nervt mich Eclipse. Des weiteren fehlen wichtige Sprachkonstrukte (enum's, templates oder operator overloading, u.v.m). Das wird in der nĂ€chsten version wenigstens teilweise verbessert. Eine der grössten Ursachen fĂŒr meine Haltung gegenĂŒber Java ist jedoch, dass das ganze systemtechnisch/konzeptinell hĂ€sslich gelöst wurde. Es werden sich zu viele unnĂŒtze Vorteile ĂŒber die Performance erkauft. Damit meine ich in erster Linie nicht mal die VM, obwohl die natĂŒrlich auch Leistung frisst. Sie hat jedoch wegen der Portierbarkeit noch eine gewisse Berechtigung. Wenn ich aber sehe, was da noch fĂŒr Service-Threads laufen, das muss einfach nicht sein. Garbage Collector zum Beispiel brauchts schlicht und einfach nicht. Sollen die Programmierer doch bitte selber ihen Dreck wegrĂ€umen. Es wird zu viel spĂ€t gebunden. Es wird viel zu viel vererbt. (Vererbung ist ein ziemlicher Performance-Killer)

Alles in allem empfinde ich Java ein bisschen als Kinderspielzeug. Java versucht's dem Programmierer so einfach wie möglich zu machen, obwohl das nicht nötig wĂ€re. DafĂŒr werden in meinen Augen etwas zu viele Unschönheiten in Kauf genommen.
zorg.ch
#34794 by @ 15.06.2004 22:16 - nach oben -
java kann kein operator overloading? uh!

Naja, es ist allgemein bekannt dass C# schöner ist. Ohne dass ich jetzt wirklich grob Ahnung von den beiden hÀtte. C# ist hald auch neuer. Ausserdem stinkt sun ;) (und c# ist wenigstens n ECMA Standard)

Ist deine Meinung von Java die, die einem in Rappi beigebracht wird oder ist das deine eigene hand-crafted Meinung?
zorg.ch
#34795 by @ 15.06.2004 22:32 - nach oben -
Nein, das ist meine eigene Hand-Crafted Meinung nach 1 semester java und 1 semester c++. Unser Java-Prof. ist der Java-Fan schlechthin. Er was bei der Entwicklung von Anfang an dabei. (hab ich dir ja mal erzĂ€hlt) Im Gegenzug lĂ€sst es sich unser C++ Lehrer natĂŒrlich nicht nehmen, ab und zu SprĂŒche ĂŒber Java zu reissen. Fakt ist jedoch, dass die relativ deutliche Mehrheit der Diplomarbeiten mit C++ oder C# gecodet werden.
zorg.ch
#34805 by @ 15.06.2004 23:54 - nach oben -
AWT / Swing ist nicht so super. Vor allem wegen der Performance. Einige Java Programme benutzen aber natives GUI.

J2SE 1.5 wird Enums und Generics haben, welche Àhnlich sind wie C++ templates. Operator Overloading wÀre schön...

GC find ich auch nicht so super, obwohl man ein bisschen schneller programmiert hat.
Viel vererben muss man ja nicht, wenn einem die Performance wichtiger ist.

Joh, allgemein ists Performance MĂ€ssig einiges schlechter als C u.Ă€, wegen Garbage Collector, VM etc... aber Kisten werden schneller, und man verwendet ja heutzutags auch nicht mehr fĂŒr alle Applikation Assembler, sondern baut auf "Performance-LuxusgĂŒtern" wie zb. OO auf - was ich nicht als "unnĂŒtzen Vorteil" empfinde.
zorg.ch
#34807 by @ 16.06.2004 00:00 - nach oben -
wobei asm gegenĂŒber c nur einen geschwindigkeitsvorteil hat wenn der coder wirklich _verdammt_ gut ist. ansonsten wĂŒrd ich mich lieber auf die optimierungen des c compilers verlassen ;)
zorg.ch
#34810 by @ 16.06.2004 00:18 - nach oben -
Blöd ist nur, dass alles von Object abgeleitet ist. Ausserdem ist die Lib vollgestopft mit Vererbung ĂŒber mehrere Stufen. Besonders im Bereich Container (Java-Leute nennen das Collections) und Streams.

OO ist vom Prinzip her schon nicht schlecht. Ich finde aber trotzdem, dass man mit OO sparsam sein sollte (eben wegen der Performance). Von daher kommt es einem schon sehr zu gute, wenn nicht gleich alles eine Klasse resp. n Objekt sein muss.

Bei Performance-intensiven Applikationen, wie z.B. 3D-Sachen wird immer noch sehr viel Assembler eingesetzt.

Zu Swing noch n kleiner Hinweis: Bitte benutzt das nicht. Das wird euch sogar in den Bergen auf den Sesselliften beigebracht. Da steht nÀmlich auf den Tafeln an den Masten: "Do not swing!"
zorg.ch
#34815 by @ 16.06.2004 06:30 - nach oben -
Was benutzt du an stelle von Swing? Awt ist ja wohl nich viel hÀsslicher. Stehst du mehr auf SWT?
zorg.ch
#34825 by @ 16.06.2004 08:29 - nach oben -
Ich baue keine GUI's in Java.
zorg.ch
#35038 by @ 16.06.2004 23:20 - nach oben -
Du meinst du machst gar nichts in Java :)
zorg.ch
#35043 by @ 17.06.2004 00:08 - nach oben -
Die Übungen fĂŒr 'Algorithmen und Datenstrukturen' sind in Java. Und darum mach ich die auch ab und zu in Java. Ansonsten nix.
zorg.ch
#35047 by @ 17.06.2004 06:29 - nach oben -
Ich wĂŒr dafĂŒr jetzt C nehmen, schliesslich sollten Algorithmen ja schnell sein.
zorg.ch
#35089 by @ 17.06.2004 13:19 - nach oben -
An den PrĂŒfungen mĂŒssen wir sie aber in Java schreiben. Deshalb muss ich schaun, dass ich das nicht ganz verlerne.
zorg.ch
#34827 by @ 16.06.2004 08:55 - nach oben -
Das mit dem "sehr viel assembler" mĂŒsstest Du mir wirklich zeigen. Es schadet sicher nciht wenn mans kann, bzw wenn man weiss was in etwa so aus dem compiler rauskommt wenn man c schreibt, aber ich bezweifle dass "sehr viel assembler" performancemĂ€ssig ein vorteil ist, vorallem da compileroptimierungen eigentlich besser sein sollten als der durchschnittliche asm monkey..
zorg.ch
#34973 by @ 16.06.2004 17:43 - nach oben -
hab ich auch nur vom hörensagen. ich selbe code weder asm noch 3d-sachen. aber kann schon sein, dass mittlerweile weniger asm benutzt wird.
zorg.ch
#34974 by @ 16.06.2004 17:46 - nach oben -
Richtige Programmierer coden eh nur in BinÀr.
zorg.ch
#34975 by @ 16.06.2004 17:47 - nach oben -
Àh alle, ausser du zeigst mir ein system das mehr als 2 LeitungszustÀnde kennt
zorg.ch
#35001 by @ 16.06.2004 19:18 - nach oben -
wiĂ€ wĂ€rs mit drĂŒ zuĂ€stand:

0
z.org
1
zorg.ch
#34976 by @ 16.06.2004 17:50 - nach oben -
0100010001101001011011100110100100100000011011010111010101100101011101000110010101110010
zorg.ch
#35420 by @ 19.06.2004 13:23 - nach oben -
Wie wÀr's mit weniger Chars pro Zeile?

Harhar, neues Akronym: PDNPELW
Please Do Not Post Extremely Long Words

Ah, und
01000100011010010110111001010100
01101111011000110110100001110100
01100101011100100110100001100001
0110110001110011
zorg.ch
#34831 by @ 16.06.2004 09:16 - nach oben -
Du hast in allen Punkten recht, aber bedenke dass es Anwendungsbereiche gibt wo die Performance nicht essentiell ist, und wo man auch recht viel Entwicklungszeit sparen kann wenn man Java verwendet statt eine lower-level Programmiersprache.

Nimm zum Beispiel eine Anwendersoftware wie zb. Abacus. Ich finde fĂŒr sowas Java ziemlich gut. (Plattform unabhĂ€ngig, NetzwerkfĂ€hig).
Ich fĂ€nds schon recht edel wenn die neue Version in C wĂ€re, aber dann mĂŒsste man sich glaub um einiges mehr kĂŒmmern.
zorg.ch
#34832 by @ 16.06.2004 09:18 - nach oben -
java ist aber nicht die einzige highlevel sprache die es gibt ;)
zorg.ch
#34833 by @ 16.06.2004 09:19 - nach oben -
und irgendwie pfeif ich auf das "compile once run anywhere" geschiss. cross-platform gui toolkits a la qt, verbreitete sprache wie c++ oder evtl python oder was auch immer, und das ding lĂ€uft auch ĂŒberall (sofern man heute etwas auf mehr als 2-3 platformen am laufen haben will).
zorg.ch
#34834 by @ 16.06.2004 09:21 - nach oben -
Jo, fÀnde ich auch noch geil, C++ und QT...
zorg.ch
#35039 by @ 16.06.2004 23:22 - nach oben -
kÀnnÀtÀr SDL?
zorg.ch
#35057 by @ 17.06.2004 09:14 - nach oben -
jab, hab auch schon ein bisschen was damit geschrieben, wurde aber nicht fertig (war aber trotzdem witzig, ne kleine 2d game engine mit parallax scrolling und plugins). LibSDL ist ne nette Sache fĂŒr Games, aber ist kein GUI Toolkit. (ich weiss, es gibt ParaGUI und so zeugs, aber ich wĂŒrd trotzdem kein Notepad.exe mit SDL schreiben)
Additional posts
zorg.ch
#35122 by @ 17.06.2004 14:55 - nach oben -
plattformunabhaengig? ich lach mich krumm, echt. so nen guten witz habe ich schon lange nicht mehr gehoert.
also nicht, dass das konzept es nicht erlauben wuerde... aber man muesste fuer die plattformunabhaengigkeit halt schon jeweils ne vm haben. und da hapert es ziemlich.
zorg.ch
#35123 by @ 17.06.2004 14:56 - nach oben -
Was fĂŒr OS's verwendest du denn fĂŒr dies keine JVM gibt?
zorg.ch
#35126 by @ 17.06.2004 15:02 - nach oben -
ich verwende linux auf ppc (sollte ja nicht so der stress sein), da ist die stable-version noch auf 1.3.1 oder so.
zorg.ch
#35170 by @ 17.06.2004 17:23 - nach oben -
öh bloss nicht in c, btw.

c++ wÀr glaub eher angebracht.
oder C# ;)
zorg.ch
#35172 by @ 17.06.2004 17:25 - nach oben -
Ich dachte jetzt C weil sich OO ja schints zu fest auf die Performance niederschlÀgt ;-)
zorg.ch
#35202 by @ 17.06.2004 21:12 - nach oben -
DafĂŒr schlĂ€gts under die Bequemlichkeit.
Kannst ja mal damit beginnen einige Libaries in C++ zu schreiben, anstelle von Java.
zorg.ch
#35206 by @ 17.06.2004 21:29 - nach oben -
Wozu soll ich Libraries schreiben?
zorg.ch
#35210 by @ 17.06.2004 22:52 - nach oben -
FĂŒr Abacus, damit ihr eure Queries endlich in SQL schreiben könnt z.B.
Additional posts
zorg.ch
#35217 by @ 18.06.2004 00:45 - nach oben -
ich hab eh noch nicht ganz eingesehen, was OO fuer fett berauschenden vorteile bringen soll....
zorg.ch
#35232 by @ 18.06.2004 06:28 - nach oben -
Mehr Buzzwords z.B.
zorg.ch
#35244 by @ 18.06.2004 09:07 - nach oben -
Dank OO

- schreibt man weniger Code, weil man sehr viel Objekte mehrmals brauchen kann, die man sonst 2x schreiben wĂŒrde

- spart man enorm viel Administrationsaufwand, weil man eine FunktionalitĂ€t einmal fixt, und es ĂŒberall gefixt ist wo sie gebraucht wird.
zorg.ch
#35246 by @ 18.06.2004 09:44 - nach oben -
Wenn aber jemand merkt, dass das Objekt welches er braucht einen Bug hat, dann schreib er sein Programm so, dass es diesen Bug umgeht.
Anschliessend fixt jemand den Bug und das Programm lĂ€uft nicht mehr. Ausser er arbeitet bei Microsoft, die wĂŒrden denn Bug dann emulieren, dass das Progamm weiterhin lĂ€uft..
Additional posts
zorg.ch
#35254 by @ 18.06.2004 11:27 - nach oben -
hm? Mir leuchtet der Zusammenhang zwischen OO und deinen Punkten nicht ein. Glaubst Du mit prozeduraler Programmierung schreibt man allen Code mehrmals?

ich bin ja nicht grad anti-OO, aber deine Argumente versteh ich nicht.
Additional posts
zorg.ch
#35347 by @ 18.06.2004 18:00 - nach oben -
ich habe eigentlich nur gelernt, dass man bei OO keine sachen machen soll wie "class.variable = wert", weil das unschoen sei und so.
aber es ist imho ein ziemlicher spast, wenn man immer extra ne auslese/reinschreib-funktion basteln muss, weil es den code elend unuebersichtlich macht (hinter einer funktion getspast kann sich schliesslich so etwa alles verstecken, was es an code so gibt, d.h. man muss sich die funktionen immer erst von hand reinziehen, damit man das programm kapiert. und imho sollte man nur funktionen machen fuer aufgaben, die auch etwas komplexer sind als nur einen wert auszulesen oder zu schreiben.

oder seh ich da was falsch?
Additional posts
zorg.ch
#34839 by @ 16.06.2004 09:40 - nach oben -
Auf /. hats noch ein Newsbeitrag der besagt dass Java schneller ist als C++ ! :-)
zorg.ch
#34840 by @ 16.06.2004 09:58 - nach oben -
den kann ich nicht ernst nehmen, nur einen c++ compiler genommen, und erst noch einer der hald was c++ anbelangt nicht so der Hammer ist.
zorg.ch
#34841 by @ 16.06.2004 10:01 - nach oben -
OTOH stimmts natĂŒrlich dass das "java ist langsam" wohl noch von frĂŒher kommt, als java wirklich schweinelangsam war ;)

Aber der test tut hald auch gui toolkits nicht mit einbeziehen, könnte noch was ausmachen.

Mir egal, ich find java alleine aus Benutzersicht wĂŒst, weil es sich auf keinem OS so anfĂŒhlt als sei es zuhause. Ich hĂ€tt da schon einen Song den man wĂ€hrend der JDK/JRE Installation spielen könnte.
zorg.ch
#35069 by @ 17.06.2004 10:34 - nach oben -
Ein grosser Vorteil von Java gegenĂŒber C++ ist dass man kein Memory-Management machen muss.
zorg.ch
#35072 by @ 17.06.2004 10:55 - nach oben -
DafĂŒr macht jemand Anders das Memory Management, es stellt sich nur die Frage ob dieser Jemand besser weiss wie man das Memory managt.
zorg.ch
#35073 by @ 17.06.2004 11:05 - nach oben -
ich hab zwar keine ahnung von der materie und hab schon leute gelesen die meinten gc funktioniere, ich kann mir das aber irgendwie nicht so richtig vorstellen ;)
zorg.ch
#35075 by @ 17.06.2004 11:10 - nach oben -
Memory Management nimmt sehr viel Zeit in Anspruch.
zorg.ch
#35088 by @ 17.06.2004 13:17 - nach oben -
Das einzige, was man in C++ selber machen muss, ist objekte selber wieder aus'm Heap zu löschen, wenn sie nicht mehr gebraucht werden. Bei kleinen Applikationen muss man nicht mal unbedingt, aber es ist natĂŒrlich schöner wenn mans trotzdem macht. Dazu ist nur eine Zeile Code notwendig. Es ist also ĂŒberhaupt nicht aufwĂ€ndig oder schwierig das selber zu machen.

Der Nachteil des GC ist meiner Meinung nach viel ĂŒberwiegender als dessen Vorteil. Er frisst Performance, da er immer checken muss, ob Referenzen auf ein Objekt vorhanden sind und man weiss nicht mal genau, wann er ablĂ€uft.

Das AufrĂ€umen von Objekten ist wie gesagt das einzige, was man machen sollte. Des weiteren gibt es im Bereich Memory-Managemant aber noch viele weitere Dinge, die man machen kann, um seinen Code zu optimieren. So kann man z.B. dem Compiler sagen, er solle versuchen eine hĂ€ufig verwendete Variable in ein Register laden, dann lĂ€uft der Zugriff schneller. In Java hast du in diesem Bereich ĂŒberhaupt keine Optimierungs-Möglichkeiten. Das ist ein gewaltiger Nachteil.
zorg.ch
#34767 by @ 15.06.2004 20:33 - nach oben -
Java ist eine schöne Sprache.
zorg.ch
#34769 by @ 15.06.2004 20:36 - nach oben -
ach deshalb schiessen wir sie auf den mars? ;)
zorg.ch
#34771 by @ 15.06.2004 20:39 - nach oben -
Ja, genau.
zorg.ch
#34775 by @ 15.06.2004 20:45 - nach oben -
Ich mag anti-aliased Code nicht. Aber vielleicht habe ich einfach den falschen Bildschirm / Grafikkarte...
zorg.ch
#34778 by @ 15.06.2004 20:49 - nach oben -
Ein Handgemalter 9 Punkte Pixelfont sieht besser aus als alles Antialiaste. Ich bin gerade mit Suxus sehr zufrieden. Mit etwas Aufwand laesst sich der auch unter Windows nutzen.
zorg.ch
#34781 by @ 15.06.2004 20:55 - nach oben -
was soll den windows mit einem sugus :-) Ist das Defauöt Theme dann noch lÀcherlicher farbig :-)
zorg.ch
#34798 by @ 15.06.2004 23:18 - nach oben -
9 Punkte? Heisst dass du den font nur mit 9 Punkte gross verwenden kannst?
zorg.ch
#34813 by @ 16.06.2004 06:20 - nach oben -
Ja.
zorg.ch
#34828 by @ 16.06.2004 08:56 - nach oben -
Du kannst ja die Punkte grösser machen ;)
zorg.ch
#34800 by @ 15.06.2004 23:27 - nach oben -
handgemalt??
zorg.ch
#34814 by @ 16.06.2004 06:22 - nach oben -
Normalerweise hast du ja TrueType Fonts, die als Vektordaten vorliegen und skalierbar sind. Die sehen nie wirklich gut aus, deswegen muss man mit Antialiasing arbeiten.

Ein 'handgemalter' Font ist ein Font, der gerade mal in einer groesse erhaeltlich ist, aber in dieser Groesse komplett von Hand als Pixel-Font erstellt wurdel. Er verliert zwar die Skalierbarkeit, sieht dafuer um laengen besser aus als jeder TrueType Font.

Das ist sicher nichts fuer eine WYSIWYG Textverarbeitung, aber gerade fuer Terminalemulatoren ein idealer Font.
zorg.ch
#34818 by @ 16.06.2004 07:50 - nach oben -
wo bekommt man "handgemalte" Fonts?
Funktionieren die auch auf Fenster-OS, soweit ich weis benutzt man auf Win nur TTF und FON Schrifttypen...
zorg.ch
#34829 by @ 16.06.2004 09:08 - nach oben -
die .fon sind eben genau die bitmap fonts. google findet da ein paar wenn ich "bitmap fonts" suche. allerdings keine so schönen wie die die ich bei einigen leuten im terminal gesehen habe.
zorg.ch
#34830 by @ 16.06.2004 09:12 - nach oben -
andererseits kann man ttfs auch so machen dass sie in einer gewissen grösse schön aussehen. ich finde verdana und tahoma zb verdammt nett. hald keine fixed-width fonts, drum nicht zum c0d0rn.
zorg.ch
#34822 by @ 16.06.2004 08:17 - nach oben -
wie lĂ€sst er sich nutzen? wĂŒrd ich gerne!
zorg.ch
#34977 by @ 16.06.2004 17:51 - nach oben -
wo krieg ich solche schriftarten fĂŒr windows? bzw. wie krieg ich sie hin?
zorg.ch
#35016 by @ 16.06.2004 20:56 - nach oben -
Du brauchst ein Programm das den Font in TTF-Bitmap Fonts (also, Bitmap Fonts, die in ein .ttf ``encapsulated'' sind) umwandeln kann. Ich hab das mal soweit hingebracht, das ich den Font unter MacOS X mit Terminal.app nutzen kann.

Unter Windows verwende ich den Cygwin X11 Server, der .pcf Fonts native laden kann. Mein .ttf tut unter Windows nicht (war ein typischer WFM Versuch). Versuch mal dein Glueck, das original findest du hier: http://www.goof.com/pcg/marc/suxus.html.

Falls dir der Font nicht passt, such nach weiteren Linux-Terminal Fonts. Es gibt bis 14 Punkte sehr schoene, handgemalte Fonts. Ideal zum Code schreiben, oder in einem CLI arbeiten.
zorg.ch
#35021 by @ 16.06.2004 21:23 - nach oben -
windows kann auch bitmap fonts AFAIK ;)
zorg.ch
#35022 by @ 16.06.2004 21:24 - nach oben -
Ja. Aber die X11 Dinger kanns nicht laden ;)