BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Studienvorbereitung (http://www.black-board.net/thread.php?threadid=23645)


Geschrieben von Rudolf am 26.02.2009 um 01:05:

 

Zitat:
Original von PygoscelisPapua
Ansonsten kann ich meinen Vorrednern zustimmen. Für einen Einstieg reicht das Online Java Buch oben alle male aus. War auch bei uns *die* Empfehlung.


Ach echt, sogar in einer Uni?

Auf der Homepage steht folgendes:

Zitat:
www.galileocomputing.de/katalog/openbook?GPP=opjiVIII
Die <openbooks> von Galileo sind praktische HTML-Versionen vollständiger Titel aus unserem aktuellen Programm.*


Ich checke es nicht wie eine kostenlose Openbook Version im Handel als printed Version 50€ kosten kann. Da muss es doch einen Haken geben smile



Geschrieben von Zyrus am 26.02.2009 um 06:33:

 

Zitat:
Original von Exelmes
Ich checke es nicht wie eine kostenlose Openbook Version im Handel als printed Version 50€ kosten kann. Da muss es doch einen Haken geben


Gebundene Bücher kosten meist Geld, da die Produktion auch einiges an Geld kostet, sowie die Lizenz des jeweiligen Autors.



Geschrieben von Rudolf am 26.02.2009 um 16:07:

 

Ja ok, aber kostet der Ausdruck wirklich 50€? Und wenn man Lizenzkosten mitberechnen muss, dann fließen sie doch ebenso in die Onlineausgabe ein oder nicht?



Geschrieben von PygoscelisPapua am 26.02.2009 um 16:10:

 

Exelmes: Warum nicht? Der Prof. hatte einige Empfehlungen, diese war aber seine erste, weil es genau so umfassend und vollständig ist, wie jedes andere Buch*, auch auf dem aktuellen Stand der technik ist, allerdings nichts kostet.

Und wieso sollte das auch nicht so sein? Gerade als neuer Autor kann man sich so sehr leicht und schnell einen Namen machen - viele andere Bücher dieses Autors gibt es nur gegen Geld - wer das Java-Buch schon toll fand, wird eher geneigt sein, auch zu anderen Büchern des Autors zuzugreifen.

Daneben sehen viele (ich einschließlich) eBooks nur als eine Ergänzung. Viele Bücher, die ich wirklich lesen möchte, oder soll, kaufe ich mir, weil ich einfach um das x-fache Aufnahmefähiger bin. Schwierige Sachverhalte auf Skripten find ich auch schwieriger zu verstehen, als wenn ich sie ausdrucke und mir dann angucke. eBooks machen für mich zwar auch Sinn, aber nur dann, wenn ich das Werk als Nachschlagewerk benutzen kann (ein Hoch auf die Suchfunktion - bzw. auf Spotlight!), oder Passagen herauskopieren muss, etc.


*) Was man hierbei vielleicht erwähnen sollte, ist dass das Java-Buch natürlich nur eine Einführung in die Sprache bietet - und auch nur bieten kann. Nach der Lektüre kennst Du Dich mit der Sprache Java aus; das beinhaltet vor allem die Syntax, aber auch schon das typische Programmier-Paradigma, welches die Sprache umsetzt (oder eines der vielen).
Das heißt aber natürlich nicht, dass Du danach schon ein guter Programmierer bist - wie phlox81 schon sagte, kommen danach noch sehr viele tiefergehende Thematiken. Objektorientiertes Design (OOD), Unified Modeling Language (UML), Packaging Principles, der Schwerpunktbereich der Webapplications, also Servlets und Weblets, das arbeiten mit guten Java-Frameworks, wie Spring, Struts, Hibernate, PicoContainer, etc. Daneben gibt es Schwerpunkte, wie die GUI-Programmierung mit beispielsweise Swing, oder Java Security, etc.
Zu all diesen Themen gibt es dann vertiefende Literatur, die ähnlich umfangreich sein kann (im 4 stelligen Seitenzahlenbereich) - und hier dann natürlich auch gute und schlechtere Bücher.
--
Das ist aber nicht das, wonach Du fragst - Du fragst nach einem Programmierbuch für den Einstieg in Java - und da ist imho jedes aktuellere und vollständigere Buch ähnlich gut geeignet (sofern es denn auch auf die Objektorientierung eingeht, etc.) - wichtig ist meiner Meinung nach, dass es viele verständliche Beispiele gibt, das Buch nachvollziehbar ist - und man auch mit dem Schreibstil zurecht kommt. Und all das bietet das Galileo-Buch meiner Meinung nach eben so gut, wie jedes nicht-offene Buch (man muss glaub ich, generell mal von dem Denken wegkommen, dass günstig immer gleich Schlecht heißt - gerade im Software/Dokumentationsbereich übers Internet tut sich da einiges!).

Aber wenn Du Dir eins kaufen möchtest: In einer Podcast-Vorlesungsreihe zur Einführung in die Programmierung (ich glaube an der Uni in Aachen, bin mir aber nicht sicher) haben die Dozenten die "Heads first"-Reihe empfohlen. Zu Deutsch heißen die "Von Kopf bis Fuß". Ich selbst kann da aber nichts zum Inhalt sagen: Java von Kopf bis Fuß



Geschrieben von Rudolf am 26.02.2009 um 16:27:

 

Ich glaube ich probiere es doch lieber mit der günstigen Veriante. Kann aber erst frühstens nächste Woche anfangen, weil ich mich noch für eine andere Prüfung vorbereite, die nichts mit Programmieren in Java zu tun hat. Danke nochmal für die Informationen. Die Diskussion über die Vorteile der einzelnen Programmiersprachen war höchst interessant und kann meinetwegen gerne weiter fortgeführt werden.

Beste Grüße
Exelmes



Geschrieben von Zirias am 26.02.2009 um 17:38:

 

Gute Programmierer machen mit C++ kompakten und effizienten Code -- weil sie es können.
Schlechte Programmierer machen mit C++ Spaghetticode voller Speicherlecks und NULL-Derefs -- weil sie es können.

Bei Java treten die Unterschiede eben weniger stark zu Tage.

Ganz klar, wer Business-Software entwickeln lässt, die möglichst schnell fertig sein soll (große Klassenbibliothek vorhanden, die jede Menge Standardaufgaben schon kann, dazu etwas MDD); außerdem Risiken im Projektverlauf minimieren will (Programmierer werden von der Sprache "an die Leine genommen") und dafür mit geringerer Effizienz leben kann, denn Hardware kostet ohnehin nichts -- der greift typischerweise zu Java oder .NET. Das ist noch lange kein Grund, mal wieder in das typisch-dämliche C++ bashing zu verfallen. Versuche, ein OS in Java zu implementieren, gab es schon; wir haben alle gelacht (bzw die Besitzer einer dbox-2 haben eher geweint.)



Geschrieben von PygoscelisPapua am 26.02.2009 um 23:08:

 

Hmpf. Genau das wollte ich doch auch die ganze Zeit sagen?
Ich weiß nicht, wo Du da C++ Bashing siehst... Augen rollen

Zitat:
Original von PygoscelisPapua
Und um das ganze mal ein wenig zu objektivisieren: Ich wollte auch niemals sagen, dass ich C++ für komplett unbrauchbar/schlecht/etc. handele. Es gibt aber viele Gründe, die eher für Java als für C++ sprechen - das heißt sicherlich nicht, das C++ deswegen unbrauchbar ist
(...)
Nur die generelle Frage, die man sich bei der Programmierung und bei Programmiersprachen natürlich stellen muss, ist diejenige, was man letztendlich damit erreichen möchte - C++ wollte einen Konsens zwischen C und Objektorientierung schaffen und hat daneben auch Möglichkeiten zur funktionalen Programmierung mal eben einverleibt. Seine sich damit gestellte Aufgabe hat es, wenn man sich C++ heute betrachtet, sicherlich geschafft - besonders im Hardwarenahem Bereich (man schaue sich doch nur die ganzen Betriebssysteme an).

Im Universitärem Bereich spricht man, wenn man aber von Programmierung spricht, in der Regel von reiner Anwendungsentwicklung. Und da ist Java nun mal in den letzten Jahren wieder stark am Aufholen, denn es bietet Programmierern nunmal die Möglichkeit, sich gar nicht erst um den ganzen Hardware-Kram kümmern zu müssen - ja nichtmal die Speicherverwaltung (wobei man sich hier wieder streiten kann Augenzwinkern - wie auch viele unsauber programmierte Java-Projekte zeigen, wo es dann zu Speicherlecks aufgrund indirekt referenzierter und damit gehaltener Objekte kommt, etc. Aber das muss ich Dir sicher nicht erzählen), musst Du Dich als Anwendungsentwickler kümmern.
Der Vorteil wird darin gesehen, dass Du effektiver und produktiver an Deiner tatsächlichen Problemlösung arbeitest. Und da ist definitiv auch Java nicht das ideal - aber imho besser geeignet als C++.


Hier ging es doch ursprünglich mal um diese Frage:
Zitat:
Warum hat er mir nicht C/C++ empfohlen? Ich glaube, diese Sprache nutzt man eher als Java und Ziel ist es ja mit den Grundkenntnissen einer objektorientierten Programmiersprache vertraut gemacht zu werden.

Diese habe ich versucht zu Beantworten unter der Prämisse, dass es bei einem Informatikstudium in der Vorlesung "Programmierung" um Anwendungsentwicklung geht; nicht um "Hardwarenahe Programmierung", "Betriebssysteme", etc.



Geschrieben von Zirias am 28.02.2009 um 10:12:

 

Ich hab in dem riesen Thread sicher nicht jedes einzelne Posting durchgelesen. Ich habe von dir aber einige Vorwürfe Richtung C++ gelesen, die so einfach nicht haltbar sind.

Zitat:
Original von PygoscelisPapua
Im Universitärem Bereich spricht man, wenn man aber von Programmierung spricht, in der Regel von reiner Anwendungsentwicklung.


Und DAS kann man so wirklich nicht unterschreiben. Im universitären Bereich gibt es (zum Glück) Forschung auf allen möglichen Gebieten.

Natürlich wird einem im Grundstudium erstmal Java empfohlen und es gibt auch ein paar "lustige" Übungsaufgaben dazu -- weil es eben erstmal "leicht" zu lernen ist und man davon ausgeht, dass der Großteil der Erstsemester keine Ahnung vom Programmieren hat.

Im Hauptstudium nimmt man Sprachen her, die zum aktuellen Projekt passen -- ganz wie "da draußen" auch. Ich hatte jedenfalls mehr mit C++ zu tun als mit Java. Java war zuletzt gefragt beim Thema SOA, das ist auch klar, hier gibt es eben entsprechend mächtige Frameworks (und vergleichbares wie C#.NET wird an Unis üblicherweise ausgeblendet). Ebenfalls im Bereich Telematik, aber bei der Simulation von Overlay-Protokollen (also eine "halbe Schicht" tiefer), war schon wieder C++ gefragt. Wenn man Netze mit 10000 Nodes auf einem Rechner simulieren will, ist das irgendwie naheliegend. Bei Praktika zum Thema TCP wird Java und C++ nahezu gleichberechtigt genutzt. Ich werde jetzt noch ein Semester zum Thema Betriebssysteme machen, und da selbstverständlich auch wieder C++ brauchen, eventuell sogar ein bisschen plain-old C.

Also, bitte keine Märchen erzählen, was die Bedeutung der Sprachen an der Uni angeht. Dass Java den Anfängern empfohlen wird, hat hauptsächlich mit der Erlernbarkeit ohne programmier-Vorkenntnisse zu tun und ist meiner Meinung nach auch völlig berechtigt. Was man später mehr braucht, hängt aber davon ab, in welche Richtung man sich spezialisiert, und das weiß wohl noch kaum ein Erstsemester im Voraus. Wichtig ist ab einem gewissen Punkt ohnehin nicht mehr, konkrete Sprachen zu lernen -- man sollte irgendwann <programmieren> können, möglichst unabhängig von der Sprache.

Zur Fragestellung im Thread würde ich deshalb sagen: Ohne Vorkenntnisse der Empfehlung folgen, die Übungsaufgaben für Erstsemester helfen sicher dabei, und daran denken, möglichst bald auch einen Blick auf andere Sprachen zu riskieren. MIT Vorkenntnissen ist es einfach egal, da ist es nur wichtig, bei konzptionellen Dingen (Objektorientiertes Design!) gut aufzupassen und sie anzuwenden, in welcher Sprache auch immer.



Geschrieben von PygoscelisPapua am 28.02.2009 um 14:41:

 

Zitat:
Original von Zirias
Ich hab in dem riesen Thread sicher nicht jedes einzelne Posting durchgelesen. Ich habe von dir aber einige Vorwürfe Richtung C++ gelesen, die so einfach nicht haltbar sind.

Zitat:
Original von PygoscelisPapua
Im Universitärem Bereich spricht man, wenn man aber von Programmierung spricht, in der Regel von reiner Anwendungsentwicklung.


Und DAS kann man so wirklich nicht unterschreiben. Im universitären Bereich gibt es (zum Glück) Forschung auf allen möglichen Gebieten.
(...)
Also, bitte keine Märchen erzählen, was die Bedeutung der Sprachen an der Uni angeht. Dass Java den Anfängern empfohlen wird, hat hauptsächlich mit der Erlernbarkeit ohne programmier-Vorkenntnisse zu tun und ist meiner Meinung nach auch völlig berechtigt. Was man später mehr braucht, hängt aber davon ab, in welche Richtung man sich spezialisiert, und das weiß wohl noch kaum ein Erstsemester im Voraus.


Und all diese Veranstaltungen laufen bei euch unter dem Vorlesungsnamen "Programmierung"? Sicher haben auch wir ein wenig was in C und Assembler gemacht, aber das war in der Vorlesung "Hardwaretechnik"! Genau so haben wir uns mit funktionalen und Logischen Programmiersprachen auseinandersetzten müssen, aber das nannte sich dann "Programmiermethodik" (bzw. auch ein wenig in "Algorithmen und Datensturkturen", das aber eher untergeordnet). Sogar so hässliche Sachen wie ABAP haben wir gemacht, das nannte sich dann "ERP/Internetshopsysteme".

Aber in Programmierung haben wir Java und Smalltalk gemacht. Und wenn ich mich so umhöre, was Leute an der Uni Hamburg, an der FH Wedel oder an der Uni in Göttingen machen, dann heißt es auch überall nur Java.

Und btw. - vielleicht ist es Dir entgangen, weil Du ja nicht jeden einzelnen Post gelesen hast: Es geht hier primär auch um den Studiengang Wirtschaftsinformatik! Vielleicht solltest Du zur Abwechslung mal die Posts genauer durchlesen, bevor Du anfängst, andere Leute hier als Märchenerzähler hinzustellen - ich weiß was ich die letzten 4 Jahre in meinem Studium gemacht habe, und ich schließe mich auch regelmäßig mit meinen Freunden kurz, die ebenfalls Wirtschaftsinformatik an anderen Hochschulen studieren!



Geschrieben von phlox81 am 28.02.2009 um 14:49:

 

Ja, da hast du recht, die Winfs sollen mal bei Java bleiben, da kann ihnen wenigstens nix passieren.

Mit C++ sollten dann schon intelligentere Leute programmieren, nicht welche die Primär irgendwelche Diagramme zeichnen Zunge raus

Aber im Bereich der Informatik ist es auch so, das Java nicht nur positiv an den Unis gesehen wird, siehe die Links die ich gepostet habe:

http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

Ich denke besonders über diese Punkte sollte nachgedacht werden:
Zitat:
1. Mathematics requirements in CS programs are shrinking.
2. The development of programming skills in several languages is giving way to cookbook approaches using large libraries and special-purpose packages.
3. The resulting set of skills is insufficient for today’s software industry (in particular for safety and security purposes) and, unfortunately, matches well what the outsourcing industry can offer. We are training easily replaceable professionals.


Mit der entsprechenden Fachkenntniss kann man in beiden Sprachen gut programmieren, und gerade für das Verständnis von Speicherallokierung und den Effekten auf das Programm dadurch, sollte ein Programmierer auch im Lowlevelbereich Erfahrungen haben.



Geschrieben von LX am 28.02.2009 um 16:32:

 

Hmm, dann oute ich mich mal als Wirtschaftsinformatiker der unter dem Vorlesungsnamen Programmierung im ersten Semester C, im zweiten Semester C++ und im dritten Semester Java programmiert hat.

Und nun? *g



Geschrieben von Zirias am 28.02.2009 um 19:13:

 

Was bitte soll "Programmierung" sein?

Wenn in einem Studienplan tatsächlich eine Veranstaltung mit GENAU DIESEM Namen vorkommt, dann ist zumindest der Informatik-Teil davon wissenschaftlich wohl nicht ernstzunehmen. Aber den Verdacht hatte ich bei Wirschaftsinformatik schon immer *fg*.

Ist aber lustig zu sehen, wie du dich aufregst großes Grinsen

Abseits von allem Gestänker *fg* -- dass an Unis grundsätzlich eine Art Schwerpunkt auf Java liegen soll ist schlicht falsch. Java ist nur die übliche Empfehlung an Anfänger.



Geschrieben von Antiheld am 28.02.2009 um 20:19:

 

Ganz ehrlich Ziras, der einzige der sich hier aufregt, das bist du - und das obgleich deiner hohen fachlichen Kenntnisse, auf einem ziemlich infantilem Niveau. Was hat Wissenschaftlichkeit denn bitte mit dem Komplexitätsgrad des Namens einer Vorlesung zu tun? Was du hier abziehst ist einfach nur peinlich!

Wo wir schon mal dabei sind, könnte ihr mir, als reiner Informatik Student, den Grund erklären warum Wirtschaftsinformatiker so gering geschätzt werden von "meinesgleichen"? Weil sie sich nur 2 SWS statt 4 mit Programmierung beschäftigen? Weil sie was mit BWL machen?



Geschrieben von Zirias am 28.02.2009 um 20:44:

 

Das war nicht nur peinlich, sondern auch noch hochgradig unverständlich. Eventuell würde ich mir sogar die Mühe einer Antwort machen, wenn die Sätze irgendwie Sinn ergäben. Aber das wolltest du sicher gar nicht, du wolltest nur ein bisschen pöbeln, richtig?



Geschrieben von grandmaster S am 28.02.2009 um 20:50:

 

Schön, dass hier wieder mehr los ist, aber auf so einen Quatsch können wir doch alle verzichten!



Geschrieben von Antiheld am 28.02.2009 um 20:51:

 

Nein, erklär mir doch einfach mal wie man vom Namen einer Vorlesung auf deren Qualität schließen kann.



Geschrieben von phlox81 am 28.02.2009 um 20:54:

 

Vielleicht sollten wir ein Forum für Streitgespräche einrichten großes Grinsen Zunge raus

Und jeder weitere nicht fachliche Beitrag könnte gelöscht werden Zunge raus



Geschrieben von Zirias am 28.02.2009 um 21:06:

 

Zitat:
Original von Antiheld
Nein, erklär mir doch einfach mal wie man vom Namen einer Vorlesung auf deren Qualität schließen kann.


Tut mir leid, wenn du entsprechende Textauszeichnungen nicht als Scherz erkennst. Der Kern daran war jedenfalls der Hinweis darauf, dass "Programmierung" erstens mal ein VIEL zu weites Feld ist, um es in EINER Vorlesung abzuhandeln, und dass es außerdem lediglich eine /Anwendung/ der Informatik ist.



Geschrieben von Zyrus am 28.02.2009 um 21:08:

 

Was ich an sich nicht verstehe, ist, dass Java als Einstiegssprache so geschätzt wird.

Ich für meine Verhältnisse hielt und halte Java als eine der Komplexesten Sprachen überhaupt in der Programmierung und für den Einstieg mehr als ungeeignet. Da halte ich Delphi, VB (VB. NET), C# oder C/C++ doch als die sinnvollere Einstiegssprache.

Dabei spreche ich aus Erfahrung, ich hatte damals (Jahr 2000) als Quereinsteiger in der Software - Entwicklung mit Java angefangen (Client/Server Programmierung mit Cobol).

Mittlerweile (seit ca. 2007) habe ich mit VB / VB.NET, C# und C/C++ rum hantiert, auch mit einigen Skriptsprachen (für Server (Login Skripte, etc.)) und muss sagen, dass diese Sprachen um einiges einfacher sind als Java.

Java ist einfach zu mächtig für den Einstieg, ich denke manchmal wissen einige nicht was mit Java überhaupt möglich ist, wenn ich mir vorstelle das Novell 3/4 Ihres Betriebssystems mit Java programmiert hat.

Greetz

Zyrus



Geschrieben von Zirias am 28.02.2009 um 21:14:

 

Äh?

Naja, "mächtig" ist an Java IMHO nicht die Sprache (C++ hat deutlich mehr Sprachfeatures) sondern die mitgelieferte Standard-Lib (entsprechend fett natürlich auch).

Als einfach für den Einstieg wird Java wohl deshalb angesehen, weil man ein lauffähiges Programm ohne viel "boilerplate" drumrum, den man nicht versteht, zusammen hat, und weil man sich eben um Dinge wie Speicherverwaltung, calling conventions usw erstmal nicht kümmern muss. An der Stelle würde es vb.net oder c#.net genauso gut tun, da geb ich dir recht. C bzw C++ dann viellicht doch nicht unbedingt? (andere sind der meinung, dass man GERADE am Anfang lernen sollte, was in so einer Sprache wirklich intern abläuft...)

Jedenfalls muss man ja kaum die ganzen Fähigkeiten der java lib ausnutzen, um java zu programmieren smile


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH