Downhill-Board
Java - Druckversion

+- Downhill-Board (https://downhill-board.com)
+-- Forum: Off Bike (https://downhill-board.com/forumdisplay.php?fid=7)
+--- Forum: Ranger's Talk Corner & Off-Topic (https://downhill-board.com/forumdisplay.php?fid=66)
+--- Thema: Java (/showthread.php?tid=14631)

Seiten: 1 2


Java - Nikee - 2003-11-14

kennt jemand von euch ein brauchbares buch for java beginners?
bitte um vorschläge (titel, autor, verlag) für empfehlenswerte lektüren [Bild: wink.gif]

lg nikee


Java - el panecillo - 2003-11-14

Markt & Technik Kompendien sin immer recht brauchbare bücher - einführung, arbeitsteile, nachschlagewerk. sin zwar ziemlich dicke schmöker, aber auch einiges wert.


Java - noox - 2003-11-14

a nu auf.
kenn zwar kein brauchbares, aber es ist im Web verfügbar. Hab ich für die für die Dipl. verwendet, weil ich da ein kleines Java-Programm (ist schon übertrieben) geschrieben hab.

http://www.galileocomputing.de/openbook/javainsel/java-18.htm

Da gibt's mehr so gratis Bücher.


Java - noox - 2003-11-14

Von den Büchern her bin ich normalerweise ein Addison-Wesley Fan. Aber mit der Zeit werden die auch immer schlechter. Nix was man net selber auch schreiben könnte *ggg*

Aber zum Anfangen schaust am besten auf Amazon.de und liest dir die rezensionen durch. Da erfährt man einiges. wenn es viele Rezensionen gibt, dann nur die negativen lesen [Bild: icon_wink.gif]

Wer die wenigsten negativen hat, bzw. die negativen Kommentare am wenigsten für einen selber ein Problem sind - zuschlagen.


Java - el panecillo - 2003-11-14

jojo addison wesley - die mit de 3 kleinen dreiecke [Bild: wink.gif] mei erstes asp buch war so eins und vb hab i auch eins glaub ich...
mir ham die von markt und technik aber immer irgndwie besser gfallen.

die rezensionen auf amazon.de sin wirklich sehr hilfreich - ham ma auch bei meim flash buch gholfen [Bild: wink.gif] (na was is es wohl? richtig ein kompendium von markt und technik [Bild: grin.gif])


Java - Nikee - 2003-11-14

super, super, super - danke ihr 2!

werd ich morgen gleich mal nachschauen und ev. gleich a bestellung machen lassen! kaufen, kaufen, kaufen [Bild: icon_twisted.gif]

@a nu auf: ja und diese woche jede nacht nur ca. 4 stunden geschlafen und sonst immer volles programm und on fire [Bild: crazy.gif]
....ober wird hoffentlich wieder besser werden, zumindest freu ich mich auf mitte/ende dezember!!!


Java - v1per - 2003-11-14

kannst ma a glei was kaufen =D


Java - noox - 2003-11-14

des is vermutlich so a erste-eindruck-geschichte. Mir haben die Markt & Technik Bücher noch nie gefallen - schon alleine vom Layout her. Allerdings ist dieses Vorurteil sicher schon mehr als 10 Jahre alt *ggg*. Mein erstes selbstgekauftes EDV-Buch (vorhér hatte ich nur a Kopie von den englischen GW-Basic Instructions) war a Turbo-Pascal 5.5 Buch von Sybex. Des war für mich als Einsteiger a super Buch. Kann mich noch erinnern - 1. HTL. Ich als GW-Basic-Spaghetti-Code-Programmiere habe nix zu melden gehabt, wenn die anderen von Prozeduren und Funktionen aufgeschatzt haben. Hab net mal gewusst, wie man Array richtig ausspricht. 2 Wochen später hab ich schon pascal Programmiert wie a einser!

Mir kommt aber irgendwie vor, dass heute das Programmieren-Anfangen viel schwieriger ist wie damals. Damals hast dich über a kleines Commandozeilen-Programm schon voll gefreut. Heute machst Klick-Klick-Klick und du hast scheinbar irgendein Programm - aber Programmieren kann man trotzdem net. Aber mit so Kommandozeilen-Gschichten Anfangen, wie damals ist halt auch net lustig.


Java - Nikee - 2003-11-14

ok, sag ich unserer lieben sekretärin - die macht das sicher für dich [Bild: icon_twisted.gif]

und was genau hab´ dann ich davon? weeeiiiiißbier wäre ok!


Java - el panecillo - 2003-11-14

array? wie spricht mas eigentlich richtig aus? (blöde frage jetzt aber bei mir verwendet dieses wort außer mir kein mensch *gg*) i sag ärräi dazu (a bissl englischer ausgsprochn halt, aber so in etwa) - stimmt des? [Bild: icon_lol.gif] [Bild: icon_lol.gif]

najo programmiern lernen heutzutage is a definitionssach - i mein bei da neuen .net umgebung is zb bei vb.net echt nimmre viel von wirklichem programmiern dabei, jetzt stellt sich die frage, was is programmiern? hardcoden? nur weil alles mit a par klicks viel leichter geht und ma mehr weiterkrigt als 3 stunden zu coden, heißts ja ned dass ka programmiern mehr is [Bild: wink.gif] des wie und warum bleibn ja die entscheidenden fragen, denk i ma halt.

i bin irgndwie froh dass i erst so "spät" zum programmiern angfangen hab - hab mich mit assembler, pascal, C und so nie herumschlagen müssen, von anfang an alles halbwegs objektorientiert und mit gui [Bild: icon_mrgreen.gif] [Bild: icon_mrgreen.gif]
andererseits find ichs schad weil ja doch sehr viel wertvolles grundwissen verloren geht...
ich glaub die leut, die wirklich noch betriebsysteme und hardwarenahe applikationen schreiben können, werden immer weniger - weil alles nurnoch auf runtimes und .net ähnliche systeme aufsetzt [Bild: icon_eek.gif]


Java - v1per - 2003-11-14

ja ok weißbier [Bild: smile.gif] weil bald weihnachten is [Bild: smile.gif]


Java - noox - 2003-11-14

ja, aber ich bin so ein leser, der manche Worte - vorallem Namen nie ganz liest, und einfach nur vom Aussehen her kennt. Array war für mich dann immer area - ich hab's ja vorher auch nie ausgesprochen.

zum Programmieren: Ich wollte meinem Bruder Programmieren lernen (er wollte auch). Ich hab dann in einigen Programmierer-Foren herumgefragt, was da das gescheiteste ist. Basic wollte ich aus Prinzip net. C ist zach. Dann sind wir auf Delphi gestoßen. Vermutlich war's das falsche Buch - aber da ist's am Anfang nur um zusammenklicken von irgendwelchen Forms gegangen. Irgendwie hat er dann das Interesse verloren und hat - obwohl schon 100, 200 seiten vom buch durchgearbeitet - noch kein If oder irgendwas gemacht. In der Schule müssen's C lernen - Consolen-Geschichte. Auch wenn's im ersten Eindruck langweilig ist -man sieht halt schneller was man *selber* gemacht hat.

Ich Programmiere jetzt eine zeitlang in C# in der Firma und habe schon verdammt vielen Programmiersprachen. C# ist echt voll geil. Nach jahrelangem Webprogrammieren mit Perl, PHP und klassischem ASP ist es sooo cool wieder mal so richtig objektorientiert programmieren zu können. Mit C(++) bin ich irgendwie nich so richtig zum Objektorientierten Programmieren gekommen.

Ich muss sagen, dass ich es schon etwas übertreibe, was Optimierung auf Geschwindigkeit betrifft - da ich normalerweise ganz gut sagen kann, was der Prozessor macht, wenn ich dieses und jenes schreibe.

Ich glaube z.B. dass vielen Programmierern, die nie in C oder Assembler programmiert haben net wissen, wie aufwändig String-Manipulationen sind. In der Zeit in der ein String der Länge n in Großbuchstaben umgewandelt wird, kann man schätzungsweise mindestens 4 x n Integer-Berechnungen, Sprünge, Entscheidungen (if) etc. durchführen.

oder ein anderes Beispiel: Der Code schaut ja im ersten Moment nicht spektakulär aus.
int i = 100000;
int j = 2000000 + i; // ein Taktzyklus
// integers können direkt in die 32-Bit Prozessor-Register gespeichert werden. Oft werden die Variablen vom Compiler komplett wegoptimiert.

string str = "a";
str = str + "b";
// das können extrem viele Taktzyklen werden. String wird länger, passt nicht mehr in den speicherbereich => neuer Speicherbereich reservierern, dazu muss eventuell vom BS ein neuer Speicherbereihc reserviert werden. Der ursprüngliche String muss in den neuen String reinkopiert werden, das was angehängt wird dann ebenfalls. C-basierte Strings (so wie sie der Prozesser intern verwendet) haben keinen Längenzähler. Der String muss also immer von vorne bis hinten durchgecheckt werden, wie lange er ist. (2n Taktzyklen). Ich nehme allerdings an, dass die meisten String-Klassen Längezähler mitspeichern (Pascal tat das schon immer). Allerdings müssen die dann wieder extra kopiert und berechnet werden.

.NET hat z.B. eine eigene String-Builder Klasse, die vorallem bei vielen Concatenationen verwendet werden soll, da sie wissen wie furchtbar langsam sowas ist:
str = "Seite " + strTitel + " " + i.ToString() ....;
bei jedem + wird das von mir oben erklärte ausgeführt. Die Stringbuilder-Klasse reserviert vorher schon genügend Speicherplatz und spart sich dann meist das Speicherplatzreservieren bei jedem Anfügen.


Ganz schlimm ist es ja bei solchen Sprachen wie das alte Basic, wo es keine echten Typen gab. Schreib mal in C oder in Assembler eine Funktion, die einen String in eine Zahl umwandelt. Dann weiß man was das jedesmal kostet, wenn man mit Datentypen nicht sauber umgeht. Da sind bei einer einzigen Anweisung gleich mal 100erte Taktzyklen Unterschied zwischen einer Typ-basierten Sprache und einer typlosen.

Und wenn ich dann noch bedenke, wieviel Bereichsüberprüfungen Visual Basic gemacht hat, dann wird einem klar, dass VB pro Anweisung viel, viel mehr Taktzyklen braucht, als C.

Aber das neue .NET (inkl. VB) ist eh auch typbasiert. Das bringt schon verdammt viel. Bereichsüberprüfungen sind schon auch noch drinnen, aber nicht mehr so arg.

Umgekehrt sind viele der Sicherheitslücken dadurch bedingt, das C einfach keine Bereichsüberprüfungen hat. z.B. der typische Buffer-Overflow: Ich reserviere mir ein Array mit 256 Einträgen. Sprachen wie VB oder auch .NET überprüfen bei einem Zugriff auf das Array, ob du eh nicht das - 1 oder das 257. abfragst. Wenn ja, bekommst an Fehler. D.h. diese Sprachen fügen bei jeder Abfrage einen Befehl ein, ob der Index eh noch passt. Damit kann man natürlich keine Geschwindigkeitskritischen Sachen machen. Z.B. Treiber (Netzwerk, Grafik, Sound, ...) oder sowas.

In C gibt's sowas nicht. Wenn du sagst, ich will das 257. Element von meinen 256, dann erhältst du einen Speicherbereich, der gar nicht zu dem Array gehört, sondern den dahinter. Angenommen an dieser Stelle (direkt nach dem Array) steht ein Code-Bereich - also ein Bereich, den der Prozessor irgendwann mal ausführt. Dann könnte ich da z.B. meinen eigenen Virus/Wurm-Code reinschreiben.
Konkret: Protokoll ist so definiert, dass bestimmte Daten nur 256 Bytes lang werden dürfen. Schlampig programmiert, kein Überlauf abgefragt, und irgendein Hacker schickt einfach nicht daten, die nur 256 Bytes groß sind, sonder eben größere, wobei nach den 256 eben der böse Code drinnen steht. Die Daten werden in Gutem glauben in den Buffer geschrieben, sind aber beim 256. nicht aus, sondern gehen weiter. Die Daten überschreiben einfach den Code der normal ausgeführt werden würde.

Das war quasi ein primitives Beispiel von am Buffer-Overflow.

Also momentan ist mein Favorit sicher C# für alles was schnell gehen muss, aber einfach zu Implementieren sein soll. Allerdings brauch ich es sicher von Zeit zu Zeit hardcore-C zu programmieren. Des ist noch viel mehr Kick. [Bild: icon_wink.gif] Aber mit C# kommst schneller zum Ziel. Java kenne ich leider nicht und außer JSP/Servlet Webseiten habe ich noch keine g'scheiten Java-Programme gesehen. (langsam, absturzgefährdet und nicht Windows-konform). Die Rangers Seiten werden ich weiterhin mit PHP programmieren - obwohl ich schon einiges vermisse im Vergleich zu C#. Aber C# ist halt kommerziell und man ist momentan noch total von Microsoft abhängig. Es gibt allerdings schon .NET Open-Source Ports.

Aber ich hab schon mehrmals geträumt so a Forum wie dieses hier in C zu schreiben, das großteils im Speicher läuft. Es würde zig mal mehr (wenn net 100 mal) mehr gleichzeitige Besucher auf dem gleichen Server schaffen...

Aber da würde man sicher mal ein, zwei Jahre sitzen...


Java - Monty Burns - 2003-11-14

hi!

falls du voll der "Anfänger" bist, wäre vielleicht das Buch "Sprechen Sie Java?" etwas für dich! Dieses Buch führt dich in die Java-Basics ein und gleichzeitig auch in das systematische Programmieren. Hab auch mit diesem Buch begonnen und hab es relativ schnell damit gelernt!

Hanspeter Mössenböck
Sprechen Sie Java?
dpunkt.verlag 2001


Java - Rehlien - 2003-11-14

nimm des "Handbuch der Java-Programmierung"
mit dem programmieren wir schon seit 2 jahren java in der schule und des is wirklich gut
duke.htl-leonding.ac.at
oder sonst auf
http://www.javabuch.de/


Java - LtoThaEON - 2003-11-14

Hab jetzt nicht alles gelesen also kann sein das es schon einer gesagt hat..

aber Java for Dummies is gut!

da gibts alles moeglich
HTML for Dummies
Visual Basic for Dummies... und so weiter [Bild: wink.gif]