# Welche Sprache für Anfänger?



## huntertech (14. Dezember 2009)

*Welche Sprache für Anfänger?*

Nun, ich fange mal direkt mit meinen Vorkentnissen an: *NICHTS!*

Da ich in diesem Schuljahr (bin im 8.) Informatik bekommen habe und auch irgendwann das Thema Programmierung kommt, habe ich mich entschlossen, meine Zeit nicht mehr mit zocken zu verschwenden sondern mich in meinem Interessensgebiet - alles was mit PC zu tun hat - weiterzubilden und eine Programmiersprache zu erlernen.

Meine Ziele: Ich möchte einfach kleine Programme schreiben können, natürlich nichts aufwendiges, einfach ein kleines Programm, wie z.B. ein Programm, was mir nach regelmäßigem Eingeben meiner Schulnoten den durchschnitt errechnet. Natürlich gibts für fast alles schon irgendwo kostenlose Programme, mir gehts aber eigentlich nur um den Spaß am Programmieren und das "Ja, wieder was geschafft-Gefühl".

Da ich (wie oben schon geschrieben) null vorkenntnisse in sowas habe, würde ich von euch gerne wissen, welche Sprache ihr denn empfehlen würdet, die:

-einen leichten Einstieg bieten, 
-für die es auch einfach geschriebene Bücher gibt,
-für die es auch kleine online-Tutorials gibt, um mal in die Sprache reinzufinden,
-Die man auch nach sehr langen Zeiträumen noch aufbauen kann und natürlich
-in welchen es Spaß macht, sich da durchzukämpfen und wo man regelmäßig immer etwas neues dazulernt und nicht erst nach Wochen und Monaten erst weiß, wie man denn den Grundbau ohne Funktionen erstellt.

Aber bitte keine Sprachen, bei denen man nur die funktion von einzelnen Objeken schreiben muss und man diese dann einfach baukasten-artig an Ort und Stelle zieht. Ich möchte schon eine Sprache, die ausschließlich aus Text besteht, auch wenn das länger dauert.

Natürlich sollte sie auch ziemlich einfach zu verstehen sein (wie schon gesagt, bin ert in der 8. ).

Hoffe ihr könnt mir bei der Suche nach der Sprache, den Tutorials und auch Büchern weiterhelfen


----------



## kress (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also ich hab mit HTML angefangen (Klasse 9 wpu informatik). Das ging dann weiter mit Java script. Jetz in der 11 auf ner fos kommt bluej dran, das is java. also so würd ich das jedem empfehlen.

edit: HTML kann man sich gut beibringen, gibt genug tutorials im inet und google mal nach self html, das is super im erklären


----------



## huntertech (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich glaube da ist was falsch rübergekommen 

Ich meinte Sprachen, mit denen ich kleine Programme programmieren kann, keine Sprachen, mit denen ich Internetseiten entwerfe 

Oder bezieht sich HTML auf beides ???


----------



## kress (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

nya html würd ich erstma als grundlage empfehlen. kannst ja gleich weiter mit java script machen, damit kann man spiele wie kniffel oder 4 gewinnt machen.^^ html is erstma wichtig um das mit der zeichensetzung, einrücken und den ganzen anderen kram zu lernen.


----------



## huntertech (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Das wär' ja schon mal 'n Anfang 

Ich google mal kurz danach


----------



## DarkMo (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

html is aber keine wirkliche sprache ^^ man programmiert nix, man reiht einfach nur elemente der seite hintereinander. aber das war auch meine erste "programmier"-erfahrung für mich *g*

also übertrieben gesagt isses völlig egal welche sprache du lernst (wenn wir mal beim imperativen bleiben). ne forschleife is immer ne for schleife, if else und switch case ebenso... also diese prozeduralen grundprinzipien finden sich überall wieder. bei oop (objektorientiertes programmieren mit klassen, vererbung usw) isses im grunde auch überall gleich. programmierer wollen au ned alles 100mal neu erlernen. die einzelnen sprachen kann man eher als dialekte verstehen. früher war c ganz toll, heute soll glaube java das non plus ultra sein aber mit diesem net framework gedöhns da scheint das eh alles zu so ziemlich einer großen sprache alles zu verschmelzen.

also lange rede kurzer sinn: such dir einfach was hübsches aus ^^

ps: neben imperativen (befehls orientierte) sprachen gibt es noch deklarative (logisch orientierte) sprachen wie prolog und lisp. die sin auch sehr mächtig, aber die imperativen sind irgendwie meist eingänglicher (tue dies, tue jenes, wenn das, dann mache dies ansonsten was andres... statt hier friss erstmal diese daten und jetz sag mir wer der urgroßvater meiner neffin mütterlicherseits is... ><).


----------



## huntertech (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich will dir ja nicht sagen, wie du zu schreiben hast aber (wie schon gesagt, bin erst in der 8.) komme ich mit deinen ganzen Fremdwörtern nicht ganz klar 

Also ich gehe gerade mal das SELFHTML durch und denke, es könnte was für mich sein, wenn kress sagt, dass man diese relativ kleine Sprache als Grundlage kennen sollte und schaden kanns ja nicht


----------



## midnight (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also wenn du klein anfangen willst würde ich php oder ruby benutzen. Java in allen ehren, aber dazu musst du an sich gleich oop können. Sicher wirst du das eh lernen müssen, aber zum Anfang würde ich eben mit einfachen Dingen anfangen.

so far


----------



## kress (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

hmm html/ java script is doch so ziemlich das einfachste oder?

fand ich zumindest


----------



## Ahab (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also was Skriptsprachen angeht, so sollte HTML in der Tat ideal für den Einstieg sein. Die Sprache ist sehr frei, man kann schnell Erfolge erzielen. Allerdings, wie schon gesagt wurde, ist HTML gewissermaßen keine Programmiersprache, sondern eine Skriptsprache. 
In Sachen objektorientierter Programmierung sollte Java ganz gut sein. Die Sprache ist zeitgmäß und eventuell nicht ganz so komplex wie C# oder C++. Ich gehe da mal von dem Lehrplan an meiner TFH aus: Da steht auch zunächst Java auf dem Programm, später kommt noch C++ dazu sowie Javascript. 
Dialekt trifft es ziemlich gut! Denn im Prinzip sind die grundlegenden Befehle aller oo-Sprachen gleich, sie unterscheiden sich eher im Detail.
Das beste wäre in jedem Fall, sich erstmal theoretisch mit der Materie auseinander zu setzen, sprich, was bedeutet objektorientiert, prozedural usw. Das macht dann vieles von Anfang an etwas klarer.

Als Lernlektüre soll Sprechen sie Java? sehr gut sein. Meine Dozentin lobt es immer wieder. Ich besitze es nicht, daher weiß ich nicht, ob der Inhalt eher akademisch-orientiert oder auch für Privatpersonen geeignet ist. Ich habe allerdings ein Kapitel gelesen und muss sagen, dass es eigentlich ziemlich interessant und vor allem unterhaltsam geschrieben ist.


----------



## DarkMo (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> komme ich mit deinen ganzen Fremdwörtern nicht ganz klar


also wenn du mich meinst ^^ lies doch einfach was in den klammern hinter den fremdwörtern steht >< ich habs doch extra schon "übersetzt" und versucht zu erklären *g*.


----------



## huntertech (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



DarkMo schrieb:


> ne forschleife is immer ne for schleife,
> 
> if else und switch case ebenso... also diese prozeduralen grundprinzipien finden sich überall wieder. bei oop (objektorientiertes programmieren mit klassen, vererbung usw) isses im grunde auch überall gleich.
> 
> ...



die meinte ich


----------



## huntertech (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Wo ist denn der Unterschied zwischen Java und Java-Script?


----------



## DarkMo (14. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



DarkMo schrieb:


> (tue dies, tue jenes, wenn das, dann mache dies ansonsten was andres... statt hier friss erstmal diese daten und jetz sag mir wer der urgroßvater meiner neffin mütterlicherseits is... ><).


das zum thema imperativ/befehlsorientiert bzw deklerativ/logisch orientiert

die schleifen usw wirst du relativ schnell kennenlernen. kein beinbruch wenn du dir das noch nix sagt. sind sehr grundlegende sprachkonstrukte. if-else is zum bsp ne entscheidungsverzweigung, also wenn irgendeine bedingung wahr ist tue dies, wenn nicht jenes (if(bedingung=true) {dies;} else {jenes;}). nen paar englisch kenntnisse wären natürlich von vorteil ^^

mit ner for schleife kann mn zum bsp gut dinge durchiterieren (nacheinander abarbeiten). also was weis ich, nen array zum bsp (stell dir ne kiste mit spielzeug vor - die kiste is das array, die spielzeuge der inhalt). jetzt willst du alle grünen spielzeuge raussuchen und da sagst du halt: vom ersten bis zum letzten spielzeug (jedes einzeln durchgehend), prüfe ob es grün ist und wenn dan lege es beiseite. sagste dann eben "einfach" for(i=0;i<anzahl_spielzeuge;i++) { if(spielzeug=grün) rauslegen(); } }.

wie du an dieser schreibweise siehst, isses nen bissl schwierig das zu lesen (selbst wenn man schon erfahrung hat) - daher meinten man hier schon, das htm sich eben gut eignet, um diese strukturierungs-grundlagen vom code da schonmal gut lernen kann. viel zu programmieren gibts da ja nich, da kann man sich ganz gut aufs einrücken und gut lesbarmachen vom code konzentrieren ^^


----------



## huntertech (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Achso  Aber weiterhin:



huntertech schrieb:


> Wo ist denn der Unterschied zwischen Java und Java-Script?


----------



## kress (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

java script wird in HTML eingebaut während java ein eigenes Programm hat. Außerdem ist hier und da der Aufbau des Codes ein wenig verschieden.


----------



## huntertech (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Aber man kann mit beidem Programme schreiben, nicht wie bei HTML "nur" Internetseiten oder?

Und was ist denn jetzt leichter bzw. würdet ihr eher empfehlen. Und was kann man am Ende noch weiter aufbauen?


----------



## Akkuschrauber (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Javascript ist eine Scriptsprache, die nur in einer für sie passenden Umgebung läuft. (Browser oder so... ) dieser dient zum interpretieren des Codes, denn im Gegensatz zu einer Hochsprache, wird der Code nicht vorher kompiliert (d.h. in für den PC verständlichen Bytecode übersetzt), sondern bei jedem Ausführen neu übersetzt und ausgeführt.

Java dagegen is eine Hochsprache, die vor dem Ausführen komiliert wird (zumindest zum Teil...).
Java ist somit auch einiges mächtiger als Javascript, zum Beispiel kannst du mit Java Datenbanken ansprechen.

Wenn du also eine "richtige" Programmiersprache lernen willst, kann ich dir echt nur Java ans Herz legen. Is zwar nicht einfach zu erlernen, aber zur Zeit total im Kommen. 
C würde ich grundsätzlich nicht empfehlen, ganz einfach deshalb weil der Funktionsumfang eher nicht so toll ist. Außerdem zählt C nicht zu den Objektorientierten Sprachen, was bei größeren Programmen ein echt nerviger Nachteil sein kann. 
C++ ist auch keine schlechte Sprache, aber der Unterschied zu Java ist ziemlich gering uns wirklich Vorteile bringt es auch nicht. Java hingegen ist plattformunabhängig, das is der große Vorteil. Das bedeutet, überall wo ein Java Runtime Environment läuft, laufen auch deine Programme und zwar meist ohne Anpassungen (z.B. auch auf Handys...).

C# find ich die so ziemlich unnötigste Sprache überhaupt, is Java auch ziemlich ähnlich, aber ohne die Plattformunabhängigkeit. 

Alles in allem kann ich nur sagen: Wenn du ne richtige Hochsprache lernen willst, dann nimm Java, und zwar mit Eclipse als IDE!


----------



## DarkMo (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

also wie ich das verstanden hab is c# genauso plattform unabhängig wie java. was für java die jre is für c# dann das net framework. nun muss ich zugeben, das ich nich weis, ob das net framework überall läuft, aber wenn nich, isses eher nen problem des frameworks un nich von c#. so wie es in dem einen buch angepriesen wurde empfinde ichs als sehr guten ansatz. gibt ja wohl auch java# ^^ und wenn das net framework nich plattform unabhängig is (bzw es nix vergleichbares für andere plattformen gibt), dann wäre der eigentliche sinn ja mehr als verfehlt - un das kann ich schwer glauben ^^

aber ansonsten stimm ich dir zu *g*


----------



## huntertech (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Da  ich ja vermutlich noch nicht so ganz so eine schwere Sprache zum Start nehmen sollte, habe ich mich entschlossen, erstmal einige Wochen bis Monate in HTML zu investieren... man kann ja nie wissen, wann man sich mal ne Homepage machen will 

Habe auch gelesen, dass Java Script sich mit HTML überschneidet, also wenn man HTML kann, wird Java Script schon etwas einfacher. Ist das beim "normalen" Java auch der Fall?

Wenn ja, wäre es ja dann nicht schlecht mit Java weiterzumachen, bekomme ich (glaube ich jedenfalls) auch noch in der Schule. Kennt da jemand denn *einfach geschriebene * Bücher? Also keine Uni-Begleiter, da bin ich noch nicht und ich bezweifle stark, dass ich die verstehe. Also erstmal n Buch für den Einstieg, muss ja nicht direkt den komplexesten Code enthalten aber ein Buch, wo man mind. schon mal gut einen Monat dran ist und das einem so grob die Grundkenntnisse vermittelt.


----------



## DarkMo (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

also an und für sich is html schon keine schlechte strategie (wenn man viel zeit hat ^^). aber wenn man html kann wird man java script immernoch nich können. sicherlich sollte man html kenntnisse besitzen, wenn man sowas macht (das gilt auch für php dann zum bsp), aber in ner richtigen sprache bringt dir html eigentlich garnix ^^

aber um dir schonmal einen kleinen einblick zu geben:
html ist eine rein statische "sprache". du sagst zum bsp dem browser: ich will hier einen etxt haben der soll so und so aussehen und daneben will ich ein bildchen haben. du kannst die seite sooft aufrufen wie du willst, es wird sich a) nie etwas ändern und du wirst b) keinerlei möglichkeit im browser haben etwas zu ändern. das bedeuted statisch - unverändert eben.

nun kann man html aber eben schön ausstaffieren, möchte ich mal sagen *g* die formatierungen kann man von html abkapseln indem man css nutzt. das ist ein kleines textfile mit der endung .css in dem nach ner bestimmten form die formatierungen verewigt sind. diese bindet man dann im html-code einfach ein und schon funzt das. nun gibst du im css zum bsp an, das alle tabellen zellen nen roten hintergrund haben sollen und grün gepunktet umrandet sind. eine spezielle tabellen-zelle soll aber gelb sein zum bsp und diese nennst du "gelb" zum bsp. dann kannst du der tabellenzelle mit <td (die tabellenzelle) class="gelb">(hier das was in der zelle zu sehen wäre)</td> angeben. wenn dich diese farben genug haben leden lassen musst du einfach nur 2 formatierungen ändern statt jeder tabellenzelle einzeln in deinem html code eine neue farbe zu geben.

und ganz nebenbei haste hier schon einen weit entfernten verwandten der objektorientierung kennengelernt ^^ ne klasse und kapselung (trennung von programmteilen). wie gesagt, das is schon nen sehr weiter vergleich ^^

aber mit css isses immernoch nich dynamisch. mit javascript (js) kannst du die seite, nachdem sie bei dir im browser geladen wurde, verändern. inhalte ausblenden, inhalte hinzufügen oder einfach verändern. dies geschieht alles clientseitig. also von deinem rechner aus. der server von wo du die html seite bezogen hast hat mit js nix am hut. anders ist hier php. mit php kannst du schon auf dem server die html seite verändern bzw ganz und gar erst erstellen. du hast dort auch direkten zugriff auf die datenbanken vom server und und und. das is der wichtigste unterschied zw js und php zum bsp - clientseitige und serverseitige ausführung.


----------



## huntertech (15. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also zwei Sachen sind mir immernoch unklar:

1. Warum sagst du erst, HTML ist ein guter Anfang und dann schreibst du, dass HTML aber nichts mit "richtigen" Sprachen zu tun hat?

2. Ja gut, wenn ich HTML kann, kann ich mich bei Bedarf dann ja immernoch in CSS weiterbilden aber mein eigentliches Ziel ist die Sprache Java (wie schon hier in diesem Forum geklärt). HTML wollte ich dann erstmal als Einstieg in die Programmiersprache nehmen, damit ich mich erstmal in die Lernerei der Sprachen reingefunden habe und dann entscheiden kann, ob ich wirklich ein größeres Projekt (wie Java) anfangen möchte.


Und noch so nebenbei (bevor ihr's vergesst ), ich suche weiterhin ein Java-Buch. Bei HTML müsste ich doch eigentlich mit SELFHTML auskommen oder?


----------



## Momchilo (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Für HTML brauchste nicht unbedingt ein Buch, da gibts genug im Internet (SelfHTML etc.).
Für Java kann ich Das Einsteigerseminar Objektorientierte Programmierung in Java: Der methodische und ausführliche Einstieg sehr empfehlen. Es werden keinerlei Grundkenntnise vorausgesetzt und es ist sehr schön geschrieben.
Für spätere Arbeiten wird dieses Buch allerdings nicht mehr reichen. Aber wenn du alles aus dem Buch verstanden hast, kannste schon einiges über die Grundlagen hinaus.


----------



## UnnerveD (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Als kostenlose Variante bietet sich dann auch dieses "Buch" an - hat mir bisher treue Dienste im Studium geleistet und vermittelt selbst Neueinsteigern wichtige Kniffe, um sich in der Programmierumgebung zurechtzufinden und eigene kleine Programme zu schreiben.

mfG


----------



## kress (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Habe auch gelesen, dass Java Script sich mit HTML überschneidet, also wenn man HTML kann, wird Java Script schon etwas einfacher. Ist das beim "normalen" Java auch der Fall?



Wenn man erstmal mit HTML/java script angefangen hat, ist der Rest etwas einfacher, da wie ja schon erwähnt wurde, ähnelt sich die Struktur der Sprachen sehr. Also von daher denke ich, das wenn man 1ne Sprache verstanden hat, kann man sich andere Sprachen schneller beibringen, da alles bis auf die Syntax gleich ist/sich ähnelt.


----------



## DarkMo (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

also wenn du eh java lernen willst, dann fang einfach gleich damit an un gut ^^ ich wüsste jetz nich so recht, was du damit falsch machen könntest. wenn du aktuelle sprachen lernen willst, machste damit nix falsch. nachteilig für einsteiger is halt die problematik, das diese sprache wie c# zum bsp auch voll objekt orientiert sind. sprich: du musst auch als blutiger anfänger dich schon geringfügig mit klassen rumärgern. mit der richtigen ide (entwicklungsumgebung - das programm in dem du den code schreibst usw) wird dir diese grundstrucktur des programms natürlich vorgegeben und du kannst auch ganz normal prozedural arbeiten - halt innerhalb der hauptklasse ^^ wenn dich die unklarheiten um dieses klassengebilde drum herum nich stören, dann sollt das kein problem sein.

wenn dich das allerdings dermaßen aus dem konzept bringt weil du da ne verständnislücke hast die dich nervt ^^ dann kannst du auch c oder c++ hernehmen zum bsp. c kann garkein oop (objeckt orientiert *erinner*) und c++ kann, muss aber nicht. sprich dort kannst du dich auch erstmal komplett auf die prozedurale ebene beschränken ohne das irgendwas drum herum ablenken würde.

ich hoffe du hast das jetz alles verstanden ^^ wenn nich frag ruhig nochmal *g*

und das mit html: es is halt nur ne halbe "sprache". du hast keine variablen oder sowas, einfach nur ein paar blöcke die du irgendwie aneinander reihst oder ineinander tüdelst. aber man kann eben nen sehr sanften einstieg ins programmieren erleben. man hat schnelle erfolge, selfthtml is immer un überall einsehbar, rein theoretisch reicht nen text editor (man brauch keinerlei compiler) und so grundprinzipien wie das einrücken von blöcken zur besseren lesbarkeit des codes lernt man quasi ganz nebenher ohne das mans richtig merkt ^^


----------



## huntertech (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Nun ich habe jetzt ja schon zwei Buchempfehlungen erhalten:

-Das EInsteigerseminar Objektorientierte Programmierung in Java: Der methodische und ausführliche Einstieg

-Java ist auch eine Insel (Version 6 müsste die neueste sein, bitte korrigieren, wenn nicht )

Welches von beidem denkt ihr, wäre eher geeignet bzw, ist einfacher geschrieben? Aus den kleinen "Einlese-Tests" im Netz werde ich einfach nicht schlau!

Und womit sollte ich anfangen? Direkt mit einem Welzer oder mit dem kleineren Buch?


----------



## King_Sony (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also ich hab mir eure Diskossion nicht durchgelesen, aber ich schlage vor das wenn du Proggramiersprachen für den Pc lernen willst einfach mit Visual Basic anfängst. Dann C, C++ usw.
LG Sony


----------



## Akkuschrauber (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also mit Java ist auch eine Insel, würde ich auf keinen Fall anfangen. Das is meiner Meinung nach eher so ne Art Nachschlagewerk, wenn man mal nicht mehr weiter weiß. 
Zum Erlernen von Java ist es zu kompliziert und viel zu umfangreich.

Also ich hab mit "Java mit Eclipse für Kids" von Hans-Georg Schumann angefangen. 
Was ich daran gut finde, ist das es die Sprache anhand von anschaulichen Beispielen, die man auch versteht erklärt. Bei JiaeI sind die Beispiele eher abstakt und auf das jeweilige Element, das gerade erklärt wird bezogen. 
Außerdem geht es für einen Anfänger zu sehr in die Tiefe.


----------



## huntertech (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Achso, dann kann ich die Insel wohl mal für irgendwann später andenken 

Nun, dann hätte ich noch 

"Das Einsteigerseminar Objektorientierte Programmierung in Java: Der methodische und ausführliche Einstieg"

"Java mit Eclipse für Kids"


Achso:

@King_Sony: Bitte vorher lesen!!!!! Wahl steht schon auf HTML, danach kommt Java!
*
*


----------



## huntertech (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Habe mir das "Java mit Evlipse für Kids" mal online angeschaut und es seint ziemlich einfach aber informativ geschrieben zu sein 

Kann das hier noch irgendjemand bestätigen bzw. schwächen an diesem Buch nennen?


----------



## GR-Thunderstorm (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Auch wenn es etwas abwägig scheint: Du kannst dich ja mal in Second Life einspielen, dort kann man Objekten irgendwelche Funktionen einprogrammieren. Die Sprache die dazu verwendet wird basiert auf C und ist wirklich einfach zu handhaben. Es gibt in Second Life auch jede Menge Leute, die dir bei Problemen weiterhelfen können, da dort ziemlich viele Profiprogrammierer rumlaufen. So kann man ohne weiteres ein paar hilfreiche Kontakte knüpfen. 
Man sollte allerdings der englischen Sprache ein wenig mächtig sein, aber das muss man zum Programmieren ohnehin.


----------



## flipp (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

C ist also einfach zu handhaben? 

Ich denke mit so nem Kids Buch kann man ganz gut einsteigen, weißt du in etwa in welche Richtung du später gehen willst beruflich?


----------



## Thomsn (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also ich weiß nicht...

Wenn ich mir vornehme, eine Programmiersprache zu lernen, dann fange ich damit nicht an, indem ich eine Textauszeichnungssprache (HTML) lerne. Dann will ich eigentlich lernen, wie man ein Computerprogramm schreibt und nicht wie ich in einem Dokument ausdrücken kann, dass eine Überschrift eine Überschrift ist.


----------



## HeNrY (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

HTML != Programmiersprache!
Das ist eine Markuplanguage zur Beschreibung, wie etwas auszusehen hat mehr auch nicht.


----------



## Railroadfighter (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ja C ist eigentlich nicht übermäßig schwer, lerne es selber gerade in der Schule.


----------



## kress (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Wenn du informatik studieren willst, musst sowieso zu Java, Bluej ist das aktuelle Programm da, fang gleich mit Java an wenn du nichts anderes vorher machen willst, wie hier schon jemand gesagt hat .


----------



## huntertech (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also Info Studiere ich später auf jeden Fall


----------



## Thomsn (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



kress schrieb:


> Wenn du informatik studieren willst, musst sowieso zu Java, Bluej ist das aktuelle Programm da, fang gleich mit Java an wenn du nichts anderes vorher machen willst, wie hier schon jemand gesagt hat .



Ich finde Java nicht schlecht und würde es vielleicht auch empfehlen, aber das ist so, wie du es geschrieben hast, dann doch eher Quatsch.

Java ist in der universitären Lehre stark verbreitet, ja. Aber es ist mit Sicherheit nicht so, dass es ausschließlich Hochschulen gibt, in deren Grundstudiums-Software-Vorlesung man Java lernt.

BlueJ ist _eine_ mögliche Entwicklungsumgebung für Java, mit Sicherheit aber nicht _die_ (dieser Posten würde dann vermutlich eher Eclipse oder NetBeans zufallen).


----------



## huntertech (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Naja, aber in der Schule bekomme ich auch noch HTML und Java (können Vorkenntnisse ja nicht schaden ) und wie man hier so liest scheint Java ja ganz modern und zeitgemäß zu sein


----------



## Fifadoc (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

was wird hier eigentlich empfohlen?
Java/C++ zum start?
HTML als Programmiersprache? Javascript?
OMG...

Also ich fasse einfach mal zusammen, wie mein Werdegang war:
Ich hab als erstes Turbopascal gelernt. Das läuft in einer Dos-Box und ist wirklich simpel. Die Syntax ist leicht zu lernen und zu lesen, so dass man schnell die einfachen Strukturen umsetzen kann. In einer solchen Umgebung kann man wirklich grundlegendes Programmieren lernen ohne optischen Schnickschnack.

Danach hab ich Delphi gelernt. Das ist quasi TurboPascal mit grafischer Oberfläche. Damit kann man auch problemlos Windows-Tools schreiben. Halt kleine sachen wie Taschenrechner, etc. zum testen. Wer glaubt, dass Delphi nicht verwendet wird, der irrt gewaltig, denn Delphi ist verbreiteter als viele glauben. Ein Freund von mir ist ausgebildeter Systeminformatiker und in seiner Firma wird Delphi geschrieben. Also nix mit Java.

Im Studium hab ich dann C++ gelernt. Wenn man Turbopascal kann ist der Umstieg zwar am anfang nervig, aber dann doch nur ein Umlernen von etwas Syntax. C++ schreibe ich noch heute und mitlerweile bin ich im 11. Semester und kurz vorm Ende. Auch später in der Berufswelt werd ich C++ brauchen, da es für wissenschaftliche Arbeit die verbreitetste Sprache ist.

Zu den Differenzen von Java/C++: Als Informatik Student brauchst du wirklich Java. Die lernen im Studium Java und machen damit alles. Mein Bekannter bezeichnete Java während seines Info-Studiums aber nicht als Programmiersprache, sondern als großes Paket von Objekten mit dem per Maus ganze Programme zusammenklicken kannst, ohne eine Codezeile zu schreiben.
Ich selbst studiere Mathe und da wirst du nie Java brauchen, denn Algorithmen und Berechnungsverfahren schreibt man in C++, da die Sprache einfach viel schneller ist und dazu ist es der anerkannte Standart. Wenn übrigens jemand sagt, dass er programmieren kann, dann geh ich auch davon aus, dass er C++ kann.


----------



## kress (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ists ja auch . Glaub wenn du dir bei Rollenspielen den Charakter anschaust und drehst und wendest, basiert das auf Java.


----------



## Thomsn (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

@huntertech: Na wenn du das schon weißt, dann ist die Richtung, in die es gehen soll, doch klar. :>


----------



## Fifadoc (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Jein, Java ist niedlich und der eine teil. Der andere ist C++.
Wenn du schon spiele Ansprichst, dann bitte auch, dass die Engine in C++ geschrieben wird.


----------



## GR-Thunderstorm (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Also Info Studiere ich später auf jeden Fall



Das solltest du dir ganz genau überlegen.  Ich hatte das früher, als ich noch zur Schule ging, auch mal vor.
Von dem was ich gehört hab, ist Informatik zu 80% reine Mathematik.


----------



## Fifadoc (16. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



GR-Thunderstorm schrieb:


> Das solltest du dir ganz genau überlegen.  Ich hatte das früher, als ich noch zur Schule ging, auch mal vor.
> Von dem was ich gehört hab, ist Informatik zu 80% reine Mathematik.


das stimmt so nicht. Wie angesprochen studiere ich zufällig Mathematik mit Nebenfach Informatik. 
Also gegen reine Mathematik ist Informatik ein Kindergarten, aber du hast durchaus recht, dass Informatik deutlich mehr Mathematik enthält, als die Studenten das gerne hätten. 
Die gesamte Automatentheorie in der Informatik ist reine Algebra. genauso haben die meisten Strukturen halt mathematische Wurzeln.

Aus der Sicht der Mathematiker ist es so: Wenn du die Wahl hast zwischen einem Informatiker und einem Mathematiker, dann nimm den Mathematiker, denn es ist leichter dem Mathematiker das Programmieren beizubringen, als dem Informatiker die Mathematik.

@*huntertech*:
wenn du nur programmieren willst, später, mach eine Ausbildung. Ein Studium ist deutlich vielschichtiger und das Programmieren ist nur das Handwerkszeug, dass man am besten vorher schon kann.
Solltest du interesse an komplexen Aufgaben haben, dich für das lösen von Problemen interessieren und lust haben dich auch mal mit theoretischen strukturen zu befassen, dann könnte ein Studium was für dich sein.


----------



## henmar (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

@huntertech:
ich glaube, für dein vorhaben ist delphi (object pascal) eine geeignete programmiersprache. du kann von einfachen konsolenanwendungen über oop bis datenbanken alles damit anstellen und die grundlagen sind schnell und einfach zu verstehen

edit: hab grad gesehen, dass du dich für html und java entschieden hast, aber vllt. kann man dich ja doch noch zum wechseln überreden.


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also so wie ich das gelesen habe, soll Java ja einfach zur heutigen Zeit passen und da ich HTML und Java noch in Informatik kriege, passt es ja dann


----------



## GR-Thunderstorm (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Steht denn schon fest, dass du genau diese Sprachen in Info machen wirst?
In der 10. Klasse (Leistungskurs) hat unser Infolehrer uns die Grundzüge von QBasic beigebracht, um uns die Grundlagen der Programmierung zu zeigen. In der 11. Klasse kam dann TurboPascal dran und ab der 12. Delphi als sinnvolle Ergänzung.
Ein Kumpel wiederum hatte Java im Abitur gelernt.


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also ganz sicher bin ich mir nicht aber mein Mathe Lehrer (der bis vor einem halben Jahr noch Info unterrichtet hatte), hatte Java unterrrichtet und meint, dass HTML auch noch unterrichtet wurde.

Also ich bin mir zieeemlich sicher


----------



## DMA (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



Fifadoc schrieb:


> Wenn übrigens jemand sagt, dass er programmieren kann, dann geh ich auch davon aus, dass er C++ kann.



So ein Schwachsinn, es gibt weit aus mehr mächtige Programmiersprachen als nur C++.
Wer gerne auf .Net setzt, wird mit C# sicher seine Freude haben und die Programme laufen auch unter vielen anderen Systemen (Mono).

Wer z.B. FPGA Architekturen programmiert, wird eher selten Kontakt mit C/C++ haben, sondern, da man ja eher Gatter programmiert, mit *VHDL *Kontakt haben.

.. tztztz


----------



## feivel (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

ich suche momentan nach einem guten Buch für Csharp.
die Onlinetutorials find ich mehr als unbefriedigend.


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

dann doch bitte nicht in meinem thread


----------



## Fifadoc (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



DMA schrieb:


> So ein Schwachsinn, es gibt weit aus mehr mächtige Programmiersprachen als nur C++.
> Wer gerne auf .Net setzt, wird mit C# sicher seine Freude haben und die Programme laufen auch unter vielen anderen Systemen (Mono).
> 
> Wer z.B. FPGA Architekturen programmiert, wird eher selten Kontakt mit C/C++ haben, sondern, da man ja eher Gatter programmiert, mit *VHDL *Kontakt haben.
> ...



tztztz... und wer chips programmiert kann womöglich assembler. Wer KI's schreibt hat vllt mehr mit Prolog zu tun. 
Das widerspricht aber alles nicht der grundlage, dass C++ ein sehr weit verbreiteter standart ist. Selbst die Informatiker die ich kenne, die mit Java arbeiten, können alle auch C++.
Es geht mir nicht darum, dass es der einzige standart ist, sondern dass alle irgendwann mal kontakt damit hatten. Einen Werdegang ganz ohne Kontakt zu C++ gibt es einfach äußerst selten. (Jedenfalls kenn ich einfach keinen Fall)

@huntertech:
warum nicht in diesem Trööt? er ist vom Titel doch optimal für die Suche nach Literatur und weiteren Infos. Ist ja nicht so, dass das Thema sich auf dich beschränkt. Ein weiterer Trööt zum quasi gleichen Thema würde das Forum nur unnötig unübersichtlicher machen.

@feivel:
worauf legst du denn wert? wofür brauchst du das buch überhaupt und was möchtest du damit machen?
Die Infos könnten sicher helfen, falls jemand einen Überblick über aktuelle C# Bücher hat.


----------



## DarkMo (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Galileo Computing :: Visual C# 2008 – 1 Allgemeine Einführung in .NET

wurde hier schonmal empfohlen un ich finds au ganz gut eigentlich. und das einer der java kann auch c++ kann bzw umgekehrt is doch genau das was ich gesagt hab: is eh im kern alles das selbe ^^ kannste eine, kannste alle (mit bissl einarbeitungszeit in die jeweiligen feinheiten). is zwar bissl stark abstrahiert, aber nuja, im weiten sinne sollte es stimmen.


----------



## HeNrY (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich bin Informatikstudent im ersten Semester und wir lernen badassugly Scheme. Kann ich zum Anfangen nicht empfehlen . (Macht nicht viel Freude und die Syntax ist ein Graus...)

Angefangen damals ich mit PHP, einer Scriptsprache. Syntax ist angelehnt an C(++) und PHP bietet auch OO an. Danach kam ich zu C++, das hat mich aber eher abgeschreckt... also hab ich erstmal VisualBasic gemacht.
Nun schaff ich mir so langsam Java drauf und nebenbei C++. Wobei die Unterschiede nicht so groß sind. Eigentlich kann man sagen, wenn man die Syntax kann, so beherrscht man die Sprache.

Und das Java nur eine "Klickklickfertig"-Sprache ist, stimmt absolut nicht. Wenn man ein gutes IDE wie Eclipse oder VisualStudio hat - kann man das mit jeder Sprache so machen.
C(++) ist halt Hardware näher - Java eher eine Hochsprache...


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

@fifadoc: Naja, eigentlich bezieht sich der Thread ja auf die eigentliche Entscheidung, welche Sprache für Anfänger empfehlenswert ist. Da finde ich es unübersichtlicher, wenn in einem solchen Thread nach einem Buch gefragt wird  Jedenfalls nach einem Buch, was sich nicht mit der Sprach-Entscheidung des Threaderstellers deckt, DAS finde ich unübersichtlich.

Und ich würde ehrlichgesagt in einem neuen Thread auch irgendwie mehr Antworten erwarten 

Aber jeder so wie er meint


----------



## CrazyBanana (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

für einen einsteiger würde ich Visual Basic empfehlen.
seeeehr einfach 

oder sonst c# das ist auch recht angenehm und man kann mehr machen


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



CrazyBanana schrieb:


> für einen einsteiger würde ich Visual Basic empfehlen.
> seeeehr einfach
> 
> oder sonst c# das ist auch recht angenehm und man kann mehr machen




Bitte vorher den Thread lesen! Entscheidung liegt doch schon bei Java!


----------



## rebel4life (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

C oder Assembler.


----------



## huntertech (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



rebel4life schrieb:


> C oder Assembler.



So langsam bin ich's leid


----------



## bingo88 (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



rebel4life schrieb:


> C oder Assembler.


Jawoll, Assembler zum Einstieg 
Meine x86-Befehlsreferenz ist fast so dick wie einige C++-Lehrbücher die ich hab. Und das ist nur eine Befehlsreferenz o0
Ganz ehrlich, Assembler ist als Einstieg vollkommen ungeeignet. Und für die paar Spezialfälle, wo Assembly Sinn machen würde, muss man schon verdammt gut sein, um schnelleren Code als nen guter Compiler zu schreiben!


----------



## HeNrY (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Bitte vorher den Thread lesen! Entscheidung liegt doch schon bei Java!



.....


----------



## rebel4life (17. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

x86 muss ja nicht sein. Man kann ja auch "nur" für RISC programmieren.

C ist einfacher als Assembler, allein schon vom Zeilenbedarf her, denn bei Assembler braucht man bei nem µC 4 Zeilen um etwas von dem einen Pin auf den nächsten weiterzuleiten, bei C sind es nur 2.


----------



## feivel (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

ich finde nicht, dass man für jeden einstieg ein neues thema beginnen sollte 

was ich damit machen sollte?
ich möchte einsteigen, würde mich selbst auch als anfänger im programmieren sehen. html usw zähl ich nicht.


----------



## KaiHD7960xx (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



> (wie schon gesagt, bin erst in der 8.)


 wie wäre es mit Visual Basic? das könntest du evtl nochmal gebrauchen später. Ist auch gut zum Einstieg, ansonten C/C++..

wir haben damals als erste Sprach mit TurboPascal angefangen.. 

EDIT:

ich habe wie viele den Thread wärend meiner Arbeitszeit überflogen.. also nimm's mir bitte nicht übel!  ignorier den Thread doch einfach oder lasse ihn von einem Mod schließen!

Besten Gruß


----------



## huntertech (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> @King_Sony: Bitte vorher lesen!!!!! Wahl steht schon auf HTML, danach kommt Java!





huntertech schrieb:


> Bitte vorher den Thread lesen! Entscheidung liegt doch schon bei Java!





huntertech schrieb:


> So langsam bin ich's leid





HeNrY schrieb:


> huntertech schrieb:
> 
> 
> > Bitte vorher den Thread lesen! Entscheidung liegt doch schon bei Java!
> ...



So, dass sind jetzt alle Posts, wo darauf hingewiesen wurde, dass ich mich für Java entschieden habe! ICH BRAUCHE NICHT NOCH MEHR POSTS, WO FÜR IRGENDWELCHE SPRACHEN EMPFEHLUNGEN AUSGESPROCHEN WERDEN!!!


----------



## Fifadoc (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> So, dass sind jetzt alle Posts, wo darauf hingewiesen wurde, dass ich mich für Java entschieden habe! ICH BRAUCHE NICHT NOCH MEHR POSTS, WO FÜR IRGENDWELCHE SPRACHEN EMPFEHLUNGEN AUSGESPROCHEN WERDEN!!!



Ich entschuldige mich hiermit im Namen aller, die dir gute Hinweise geben wollten und versucht haben dir auf deine Frage zu helfen.
Nimm es mir nicht zu übel, aber ich empfinde deine Reaktionen auf Hilfe als unverschämt.

Eine Diskusion ist in einem Forum erlaubt und auch wenn du den Thread gestartet hast, ist er nicht dein Eigentum. 
Ich empfinde die Wahl von Java als erste Sprache, wie andere sicher auch, als einen katastrophalen Fehler, aber zum Glück ist es nicht mein Fehler.

Ich würde es außerdem begrüßen, dass ein Mod diesen Thread schließt. Das Thema scheint geklärt und bis auf anschuldigungen und Unverschämtheiten seh ich ihn diesem Thread keine weitere Diskusion mehr.
Sollte ich hier etwas schreiben, dass der Mod als unpassend ansieht, so gebe ich hiermit die Erlaubnis, es zu ändern/löschen, oder gar meinen ganzen Post zu löschen, falls er das für Sinnvoll hält.

MfG,
Fifadoc


----------



## CrazyBanana (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> So, dass sind jetzt alle Posts, wo darauf hingewiesen wurde, dass ich mich für Java entschieden habe! ICH BRAUCHE NICHT NOCH MEHR POSTS, WO FÜR IRGENDWELCHE SPRACHEN EMPFEHLUNGEN AUSGESPROCHEN WERDEN!!!



sorry hatte keine Zeit mir 6 Seiten durchzulesen.
ich würde trotzdem mit VB anfangen


----------



## Thomsn (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Es ist IMO relativ egal, mit welcher Programmiersprache man anfängt, solange man am Ende erstmal gelernt hat, was Variablen, Zuweisungen, Operationen, bedingte Sprünge, Schleifen und Funktionen/Methoden sind.

Wenn man erstmal einen Überblick hat und sich trotzdem weiter mit dem Thema beschäftigt, merkt man eh dass es noch mehr gibt. Hat man tatsächlich ein Faible fürs Programmieren, dann findet man schon seinen Weg zu den Sprachen, Frameworks oder Konzepten, die einen glücklich machen und mit denen man das realisieren kann was man möchte.

Es gibt da nicht den "schlechten Weg". Alles eine Frage persönlicher Präferenzen, des Interesses und der Motivation.


----------



## huntertech (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also wenn das hier so rüberkommt, dass ich eure Hilfe nicht möchte, ist hier irgendwas schief gelaufen. Ich habe diesen Thread gestartet, um Hilfe zu bekommen und da ist mir natürlich auch alles recht 

Und ich verlange von euch natürlich auch nicht, dass ihr alle 6 Seiten durchlest, bevor ihr antwortet aber so ein bis zwei mal pro Seite sind schon Hinweise darauf aufgetreten, dass die Entscheidung schon gefallen ist und ich finde, dass man die letzte Seite schon lesen könnte 

Aber wenn ich hier wirklich eine etwas falsche Wortwahl an den tag gelegt habe, entschuldige ich mich hiermit natürlich. Ich bin natürlich über jede Hilfe dankbar!

Und mir ist auch klar, dass das hier nicht mein Thread ist, aber ich habe immer so ein "ah, wieder 'ne Antwort"-Gefühl (im positiven Sinne), wenn ich sehe, dass jemand auf meine Threads geantwortet hat. Aber wenn dann Antworten kommen, die mir garnicht weiterhelfen (wie eben den Vorschlag zu einer anderen Sprache, obwohl ich mich schon entschieden habe), bin ich immer leicht genervt.

Also bitte nicht falsch verstehen, will hier keinem was also nocheinmal Entschuldigt, falls hier was rübergekommen ist, was garnicht so sien sollte.


----------



## Fifadoc (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

nagut ok ^^

aber warum gehts hier nun eigentlich noch? xD

Also du fängst mit Java an. Wie gesagt, kann ich die Entscheidung nicht teilen, was aber auch viel daran liegt, dass ich Java nicht mag und auch gar nicht brauche.
Suchst du also nun passende Einstiegsliteratur?

Als Hilfestellung kann ich einfach mal angeben, was mir so einfällt, das man üben sollte:
- Prozeduren und Funktionen
- Variablen: Definition, Verwendung, Übergabe (Call by Reference/Value)
- Schleifen: for, while, do, ...
- Rekursionen
- Programmierstrukturen: Backtracking
- Zeiger: zuweisen, freigeben, umbiegen, ...
- Zeiger Strukturen: Listen (FIFO/LIFO), Binärbäume, Quadrobäume (+ LWR-Algorithmus)
- Objekte: Constructor, Destructor, Zeiger, Vererbung, Virtual Function, ...

Diese Liste ist sicher nicht vollständig und kann sicher von anderen erweitert werden, aber ich hab sie angeführt, da ich für C++ Bücher kenne, die einige Themen ganz weg lassen. Speziell so Strukturen wie Backtracking oder das Programmieren von Datenstrukturen wie FIFO/LIFO-Listen oder Bäumen.
Und bitte führt nicht das Argument an, das Java manches davon vllt von Haus aus kann. Andere Sprachen können es nicht und für den Fall sollte man es wenigstens mal gesehen haben.


----------



## huntertech (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Naja, also da ich noch keinen Plan von Java bzw. anderen Sprachen habe, weiß ich noch nicht einmal, was die Dinge denn überhaupt können, die du da aufgezählt hast 

Also ich hatte mir das folgendermaßen gedacht:

In investiere jetzt erstmal ein paar Wochen in HTML mit "SELFHTML" und versuche alle wichtigen Dinge der Sprache zu können.

Wenn ich das soweit drin habe, wollte ich erstmal mit diesem Buch hier anfangen: Java mit Eclipse für Kids: Amazon.de: Hans-Georg Schumann: Bücher. Habe mir das erste Kapitel mal online angesehen und es sieht aus, als wäre es ziemlich einfach geschrieben. 

Wenn ich dann das Grundgerüst so in etwa drin habe, suche ich erstmal ein neues Buch, mit dem ich dann schon ein wenig weiter lernen kann, das kann dann ja auch etwas komplizierter geschrieben sein.

Und zu guter letzt (was aber noch Monate dauern wird) besorge ich mir dieses Buch hier als Ergänzung bzw. Nachschlagewerk: Java ist auch eine Insel: Programmieren mit der Java Platform, Standard Edition - Version 6: Amazon.de: Christian Ullenboom: Bücher


Aber wie schon geschrieben, brauche ich noch ein Buch für den Übergang von Grundgerüst beherrschen zu Ergänzung bis ins Detail. Kennt da jemand ein gutes?


----------



## rebel4life (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Wenn dann würde ich ein Buch ala "Java for Dummies" (haben nur nen bescheidenen Namen, sollen aber gut sein) nehmen und nicht so ein halbes Kinderbuch, denn da wirst du recht wenig lernen.


----------



## huntertech (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Welches Buch z.B.?


----------



## rebel4life (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Java For Dummies (For Dummies (Computers)): Amazon.de: Barry Burd: Englische Bücher

Das folgende wird oft empfohlen, habs aber nicht, kann also nichts genaues darüber sagen.

Java ist auch eine Insel: Programmieren mit der Java Platform, Standard Edition - Version 6: Amazon.de: Christian Ullenboom: Bücher

-> Vieleicht hast du ne einigermaßene Biblithek in der nähe, die das da hat oder per Fernleihe holt. Per Fernleihe bekommst du das meiste von der Uni Regensburg, gerade bei Fachbüchern, ist iwie komisch.


----------



## Fifadoc (18. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

lass das mit HTML, das ist wirklich Zeitverschwendung. 
Es mag zwar in der Schule dran kommen, aber wenn du ein wenig programmieren kannst, ist HTML nur noch ein Spielzeug.
Ich mein das nicht abwertend, denn HTML ist ja durchaus ein Thema, aber es dürfte dir Lerntechnisch keinen Mehrwert geben. HTML ist halt keine Programmiersprache und kann auch rein gar nichts, was du beim programmieren verwenden könntest.

Dass du die Begriffe (noch) nicht kennst, ist mir klar. Aber eine Liste der obigen Form kann vllt dazu dienen, dass du nach 1-2 büchern mal abhaken kannst, ob du von diesen Themen was gelesen hast. Falls nicht, fehlt noch was 
Und wegen dem Buch empfehl ich auch lieber etwas aus der Reihe "für Dummies". Die sollen sehr gut sein. Bessere Buchtips kann ich nicht geben, da ich selbst nur "Borland Delphi 6" und "Borland C++" im Regal hab. Beides sind eher Nachschlagewerke. hab halt in der Schule (Leistungskurs Informatik) Delphi gelernt, danach war der Umstieg auf C++ recht leicht.

noch ein Buchtip für die Abendlektüre vorm Einschlafen: Gödel, Escher, Bach
Mein Info-Lehrer hat es damals als "Informatiker-Bibel" bezeichnet. Ist interessant und gibt denkanstöße sowie Typische Denkweisen vor.


----------



## DarkMo (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

wie ich schon schrieb, der umstieg von einer imperativen sprache zu einer anderen (c c++ c# java javascript php turbo pascal delphi...) is nie sehr schwer, weswegen es relativ egal is, mit welcher man anfängt. wichtig wäre hier nur zu wissen, inwiefern diese sich vllt unterscheiden.

mir fällt da erstmal spontan ein, dass c eben garkein oop kann (für einen anfänger vllt schön einfach aber keine möglichkeit sich nach oben zu entwickeln), c++ kanns dafür, brauchs aber nich und c# geht garnich mehr ohne klassen. is wie java und sicher nicht das einfachste zum einstieg. aber wenn einen dieses klassengerüst erstmal nich weiter stört und man das ausblenden kann... wieso nich? prozedural kann man auch in ner klasse arbeiten ^^ also methodal  und wenn man das klassengelumbse ausblendet wärs au wieder nur prozedural ^^

zweites wichtiges kriterium wäre auch die behandlung von variablen. $zahl=1; $zahl.=' auto'; geht in php zum bsp ohne probleme, da diese sprache auf deklarationen pfeifft und auch von sich aus castet (typumwandlung, also integer (ganze zahlen) zu string (zeichenkette/'text') zum bsp) sofern möglich. 'auto' zu ner zahl umwandeln wird bissl schwer ^^ aber hier wird das eben sehr sehr einfach gehandhabt. c wird dich mit nem knüppel jagen wenn du sowas anbringst ^^

aber für php muss man auch wissen, wie ich html schreib  aber das is wieder nen andres thema. das dürfte dabei wohl wieder die größte schwierigkeit sein. ohne kenntnisse wie man html, js und php vermsicht so das am ende ne dynamische webseite rauskommt und am besten gleich noch sql bla... ><

aber an sich schonmal ne schöne liste fifa. denke auch, sone liste sollte man wenigstens einmal selber gebaut und verstanden haben *g*


----------



## Olstyle (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



UnnerveD schrieb:


> Als kostenlose Variante bietet sich dann auch dieses "Buch" an - hat mir bisher treue Dienste im Studium geleistet und vermittelt selbst Neueinsteigern wichtige Kniffe, um sich in der Programmierumgebung zurechtzufinden und eigene kleine Programme zu schreiben.
> 
> mfG


Das gibts auch als richtiges Buch(hab ich hier irgendwo liegen). In der Form kann ich es aber nicht empfehlen. Damit könnte man locker jemanden erschlagen(ist mit Abstand das dickste Buch das es hier im Haus gibt) und über das Webinterface kommt man im Endeffekt doch schneller zu der gesuchten Seite.


Fifadoc schrieb:


> Zu den Differenzen von Java/C++: Als Informatik Student brauchst du wirklich Java. Die lernen im Studium Java und machen damit alles. Mein Bekannter bezeichnete Java während seines Info-Studiums aber nicht als Programmiersprache, sondern als großes Paket von Objekten mit dem per Maus ganze Programme zusammenklicken kannst, ohne eine Codezeile zu schreiben.


Dass es für Java zig vorgefertigte Klassen gibt die halt, wenn man es dann mal kann, vieles beschleunigen kannst du ja wohl kaum der Programmiersprache  an sich ankreiden.

Natürlich kann ich z.B. ein JOptionPane für Eingaben benutzen, aber es ist ja nicht so dass Java es nicht anders kann. Programmierer sind einfach(wie eigentlich alle Techniker) stinkfaul und deshalb nehmen sie gerne mal den Weg des geringsten Widerstands(ich selbst sowieso ). 

Aber es würde mich ja auch nichts davon abhalten in C++ vorgefertigte Klassen zu importieren...


----------



## huntertech (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Gibts das Buch für Dummis nicht auch in Deutsch?


----------



## Thomsn (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Doch. Und wenn man nach dem Titel sucht, findet man es auch.


----------



## rebel4life (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Java 2 für Dummies: Amazon.de: Barry Burd: Bücher

Die Suchfunktion von Amazon ist ja ein Wunderding...


----------



## Fifadoc (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



Olstyle schrieb:


> Dass es für Java zig vorgefertigte Klassen gibt die halt, wenn man es dann mal kann, vieles beschleunigen kannst du ja wohl kaum der Programmiersprache  an sich ankreiden.
> 
> Natürlich kann ich z.B. ein JOptionPane für Eingaben benutzen, aber es ist ja nicht so dass Java es nicht anders kann. Programmierer sind einfach(wie eigentlich alle Techniker) stinkfaul und deshalb nehmen sie gerne mal den Weg des geringsten Widerstands(ich selbst sowieso ).
> 
> Aber es würde mich ja auch nichts davon abhalten in C++ vorgefertigte Klassen zu importieren...


Tja, so ist das halt mit Vorurteilen und ihren Kindern 
Diese Meinung kam als meine rüber. Es wurde nicht klar, dass mein bekannter nach 4 Semestern Informatik es war, der Java als Click-Sprache bezeichnet hat. Die vorgefertigten Klassen gibts natürlich auch in Delphi oder C++.
Ich selbst hab Java nur am Rande kennengelernt und fand es jedes mal grauenhaft. Somit KANN ich mich einfach nicht FÜR Java aussprechen  
Liegt vermutlich daran, dass ich halt C++ schreibe... 

C++ ist einfach die MACHT!
Ne, im ernst. Hier vertrete ich ja mitlerweile eher den Standpunkt, dass ein späterer Crashkurs in C++ anzuraten ist.
Ansonsten sollte man nur drauf achten, dass trotz der großen Menge an vorgefertigten Klassen in Java, man dennoch auch die Grundlagen lernt.


----------



## Thomsn (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Das passiert doch automatisch, wenn man es wirklich mal braucht. Wer irgendwann einmal in die Situation kommt, sich tiefergehend mit Algorithmik befassen zu müssen, der wird sowieso das eine oder andere Buch darüber lesen oder bei entsprechendem Studium Vorlesungen darüber hören.

Für jemanden, der noch nie etwas programmiert hat, stellen sich ganz andere Fragen.


----------



## huntertech (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Also das "Für Dummies"-Buch werde ich mir wohl nicht kaufen. Zitate aus Amazon:

"nicht einmal die beispiele im buch funktionieren, da die befehle unvollständig und tw. falsch sind"

"Das Buch ist voll mit Beispielen von Programmen die zwar einige Befehle erklären aber irgendwie absolut keinen Nutzwert haben,da sie nur das verarbeiten was im Code steht.
Es wird irgendwie fast garnicht erklärt wir ein Programm aufgebaut wird das die Eingaben des Benutzers weiterverarbeitet und ausgibt(vor allem in Dateien!).Und für Dummies ist das Buch schon garnicht!
Wenn man nicht nen Computer statt Gehirn im Kopf hat versteht man etwa ab der Mitte des Buches NICHTS mehr"


----------



## huntertech (19. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Hab mich von euch inspirieren lassen und mal bei Amazon nach gut berwerteten Büchern ausschau gehalten. Bin aber nicht so richtig fündig geworden 

Gibt es denn nicht sonst noch irgendwelche Bücher, die ziemlich einfach geschrieben sind und einem trotzdem den Enstieg in Java vermitteln können?

Sonst muss ich doch zu "Java mit Eclipse für Kids" greifen


----------



## k-b (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich empfehl dir Ruby. Gibt echt gute Bücher und ist ne sehr sehr mächtige und erweiterbare Sprache! 

The Pragmatic Bookshelf | Learn to Program, 2nd Edition

Der Autor hat es sogar an seinen Kindern (noch jünger als du) ausprobiert, ob die das Buch kapieren


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Achso, bei Amazon finde ich mehrere Bücher, die sich mit JAVA 6 befassen, es sind aber auch noch einige mit JAVA 5 und JAVA 2 dabei.

Sind die älteren Versionen denn überhaupt noch zu empfehlen?


----------



## k-b (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

5 ist kein Problem, keine Änderungen die dich beim Lernen betreffen. Zwischen 5 und 6 gibts nur feine Unterschiede in der Sprache an sich.


----------



## Fifadoc (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

wenn es bei Java so ist wie bei C/C++ oder bei Delphi(1-7) dann sind die neuen versionen zwar "mächigter" und haben mehr befehle, aber im großen und ganzen bleibt alles gleich.
Also halt weiterentwicklungen.

Am besten entscheidest du dich für eine Entwicklungsumgebung/Compiler und guckst, dass du ein Buch für die Sprache findest, die die Umgebung verwendet. Es muss nicht die neueste sein. Das wichtigste ist, dass du dich auf eine festlegst um nicht andauernd zu wechseln.


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich wollte eig. mit Eclipse programmieren


----------



## k-b (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Eclipse ist gut  Aber so mächtig, dass schon allein da drüber Bücher geschrieben worden sind


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ja, schon gesehen


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Habe jetzt mal alle Bücher über Java von Amazon mit 4 oder mehr Bewertungssternen rausgesucht, die, die schon in den Kundenrezzisionen als für Anfänger ungeeignet bezeichneten rausgefiltert, darauf geachtet, dass mind. Java 5 oder sogar 6 angesprochen wird und da blieben noch diese hier über ("Zusammenfassung der Kommentare von Amazon-käufern"):

-Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung ("Nur für absolute Anfänger, später wird in jedem Fall noch eine weitere Lektüre benötigt")

-Sprechen sie Java?: Eine Einführung in das systematische Programmieren("Nur die Grundlagen, diese aber ausführlich")

-Java von Kopf bis Fuß ("sehr locker und verspielt aber informativ")


Während ich mich online mal in diese Bücher einlese wollte ich noch fragen, ob irgendeines davon überhaupt nicht zu empfehlen ist.


----------



## Thomsn (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> -Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung ("Nur für absolute Anfänger, später wird in jedem Fall noch eine weitere Lektüre benötigt").


Das habe ich mal gelesen. Fand ich für ein Einsteigerbuch ganz gut. Der Lerneffekt war schon angenehm spürbar.

Es ist allerdings ein Lehrbuch, kein Nachschlagewerk, da der Fokus mehr auf Erklärungen liegt, was bedeutet, dass es relativ viel Fließtext enthält. Gut um etwas völlig neues kennen zu lernen, schlecht um später ein ganz konkretes Detail zu suchen.

Es enthält Übungsaufgaben zu denen alle Lösungen online verfügbar sind, das war auch ganz nett.

Das Buch behandelt nicht das komplette Grundlagengebiet. Der zweite Band ergänzt es dort. Allerdings wird man nach Durcharbeitung dieses Buches eh genug Verständnis für die Thematik entwickelt haben, um selbstständig Informationen finden zu können.

Es wird (wenn ich mich richtig erinnere) nicht auf Details einzelner Entwicklungsumgebungen eingegangen, aber das sollte auch kein Problem sein.


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Das ist ja schon dann nicht schlecht. Ich suche ja momentan ein Buch, mit dem ich von total 0 auf eine gewisse Grundkenntniss komme.

Als Nachschlagewerk soll "Java ist auch eine Insel" ja ganz gut sein.


----------



## huntertech (20. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

So, habe mal bei Google gesucht und bin zu folgendem Ergebnis gekommen:

*Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung (489 Seiten, 24,50€):*

EDIT: Habe bei Amazon auch eine kleine Einleitung gefunden, scheint ganz gut zu sein, hat auch ein darauf aufbauendes Buch, was man sich dann später zulegen kann (Band 2).

*Sprechen sie Java?: Eine Einführung in das systematische Programmieren (327 Seien, 27€)**:

*Erklärung von Befehlen, Daten, Algorythmen, ... waren online einsehbar, scheint einfach geschrieben zu sein.

*Java von Kopf bis Fuß (688 Seiten, 45€):*

Scheint nicht gaaanz so einfach wie die anderen zu sein




Kann irgendjemand das gleiche bzw. das Gegenteil von diesen Büchern sagen?


----------



## Kadauz (21. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Wenn wirklich noch keine Programmierkenntnisse vorhanden sind, würde ich das Buch hier empfehlen.
Das Einsteigerseminar Objektorientierte Programmierung in Java: Der methodische und ausführliche Einstieg: Amazon.de: Alexander Niemann: Bücher

Nicht zu teuer, aber sehr gut strukturiert. Nach diesem Buch kann man dann mit den großen Werken wie "Java ist auch eine Insel" usw. weitermachen.


----------



## Dorni (21. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Ich empfehle dir als eBook "Java ist eine Insel", als richtiges Buch ist es doch sehr unhandlich . Als normales Buch dagegen finde ich als bestes Anfängerbuch :"Java von Kopf zu Fuß". Das Buch ist lustig und weckt das Interesse auf mehr, und es ist nicht so öde wie die normalen Lernbücher 

Ich selbst arbeite auch mit Eclipse, habe aber meine ersten Erfahrungen gemacht mit Notepad und Eingabeaufforderung . Eclipse ist am Anfang viel zu mächtig, viele Anfänger finden es genau deswegen so Klasse. Aber es hilft dir gerade am Anfang zu sehr. Selbst jetzt bin ich manchmal erstaunt wie gut mir Eclipse hilft und meine Fehler findet, wenn du aber wirklich Java lernen willst, dann geh den alten Weg. Notepad ist schon eine Stufe zu tief, da nimm lieber JOE oder Javaedit. Joe ist schon ein wenig mächtiger, du hast deine Klammern farbig unterlegt und es wird richtig eingrückt. Auch kannst du dein Compiler gleich miteinbinden und sparst die viel Zeit.

mfg


----------



## huntertech (21. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Jetzt habe ich alle Bücher, die ich aufgezählt habe, einmal empfohlen bekommen 

Momentan tendiere ich aber zu diesem hier:

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung (489 Seiten, 24,50€)

Da gibts ja auch noch Band 2, mit dem man gleich weiterlernen kann und dann kann man sich "Java ist auch eine Insel" als Nachschlagewerk kaufen.



PS: Ist der 100. Post, der nächste der Antwortet hat dann die 100. Antwort


----------



## Dorni (21. Dezember 2009)

*AW: Welche Sprache für Anfänger?*

Wie gesagt, willst du war kreatives und mit Spaß lernen, dann von Kopf zu Fuß.
Das "Java ist auch eine Insel" würde ich nicht kaufen, da man es kostenlos im Internet als Ebook bekommt.


----------



## NuVeon (4. Januar 2010)

*AW: Welche Sprache für Anfänger?*

ich emphele dir da vb die is total easy zu erlernen und bücher die dir dabei helffen es zu lernen findest du wie schnee in den alpen on mas ...


----------



## n00b (4. Januar 2010)

*AW: Welche Sprache für Anfänger?*

C/C++ und/oder Java!

Erst mit der klassischen Konsolenprogrammierung beginnen und dann wenns läuft gleich GUIs dazu bastlen.

Java sollte sehr gut geeignet sein - zumindest würde ich damit beginnen.

Wie die anderen schon erwähnt haben, C/C++ ist wirklich sehr mächtig. Damit kannst du sehr hardwarenah arbeiten.

Für die reine Windows Programmierung nenne ich auch _optinal_  mal C# - die Microsoft "Mischung" aus den beiden oberen Sprachen.

Kostenlose Bücher zu den Sprachen gibts hier:

- http://openbook.galileocomputing.de/javainsel8/
- http://openbook.galileocomputing.de/visual_csharp/
- http://openbook.galileocomputing.de/c_von_a_bis_z/


Die Syntax des traditionellen "Hello World" (der schnelle wegen aus Wikipedia kopiert):

_C++_


> int main()
> {
> std::cout << "Hallo Welt!" << std::endl;
> }


_

C#_


> class Program
> {
> public static void Main()
> {
> ...


_

Java_


> public class HalloWelt {
> public static void main(String[] args) {
> System.out.println("Hallo Welt!");
> }
> }


Wenn Du wirklich Code schreiben willst, dann solltest du die drei Sprachen mal grob überfliegen und mit einer einfach Konsolenausgabe oder Berechnung "antesten".



**EDIT**

Jetzt hats mich aber richtig erwischt ^^

Ich habe hier mal ein _ganz simples_ Konsolenprogramm in C geschrieben:



> #include <stdio.h>
> 
> int main()
> {
> ...


Erklärung: Der Anwender wird vom Programm nach zwei numerischen Werten gefragt. Diese werden daraufhin eingegeben und das Programm führt den Programmteil (Anweisung) mit der höheren (>) Zahl aus.

Printf dient zur Textausgabe und scanf zur Texteingabe. Das ganze ist als eine sogenannte if-Schleife aufgebaut - das ist für den Anfang aber noch unwichtig.


----------



## Dorni (4. Januar 2010)

*AW: Welche Sprache für Anfänger?*



> public class Zahlenvergleich {
> public static void main(String[] args) {
> int zahl1,zahl2;
> 
> ...


Sollte das gleiche in Java sein, einzige Vereinfachung ist , das ich eine Lesen Klasse benutze (InOut). Das ganze geht zwar auch mit BufferedReader, sieht dann aber so unschön aus


----------



## n00b (4. Januar 2010)

*AW: Welche Sprache für Anfänger?*

@ Dorni
Gutes Beispiel!

@ huntertech
Lass uns ruhig mit deinen ersten Java-Programm hier im Forum teilhaben. Finde das immer sehr interessant wie sich soetwas entwickelt


----------



## Dorni (4. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Was ich noch zu Java loslassen möchte:

Als ich angefangen habe zu programmieren dachte ich immer Java wäre so eine unbeliebte Sprache die letzlich langsam ist und als Vorteil eben die Plattformunabhängigkeit mitbringt. Nur umso mehr man sich mit Java auseinandersetzt, destso toller wird die Sprache. Am Anfang ist es egal was man lernt, die Sprachen ähneln sich alle sehr. Doch ich sehe mehr Vorteile bei Java als bei anderen Sprachen. Bei Java kann man schon fast von gemeinsamen programmieren sprechen. Wenn du eine Klasse nicht hast, na dann importierst du sie eben schnell von jemanden anderen. Schon der Grundaufbau von Java gibt dir so etlich viele Klassen mit, bis du die alle mal benutzt hast, ist schon sehr sehr sehr viel Zeit verstrichen  Ich mein ein Fenster mit Java zu erstellen sind glaube ich nur 2-3 Zeilen. Jetzt schmeißt mit Steinen nach mir, ich weiß nicht wie es bei C / C++ geht, aber so schnell geht das wohl nicht. Und ich kann mit Bekannten programmieren die ganz andere Betriebssysteme benutzen, ist total wumpe, die kompilieren es durch und es läuft. Und von wegen Java ist wegen seiner virtuellen Maschine langsam. Ich rechne die Primzahlen von 0- 60Mio in weniger als 1 sek aus auf einen Rechner . Und ich bin nur deswegen nicht noch schneller weil ich zu faul bin zu optimieren *g. Auch bei Java kann man so tief runtergehen um ins caching zu kommen (der Schritt fehlt mir, dann komme ich sicher auf 0,7sek).

Und viele Unis setzen auch immer mehr auf Java, selbst Großkonzerne!

Was ich sagen will, Java ist unheimlich mächtig und wenn du einmal drin bist, kannst du programmieren bis dich jemand von der Tastatur wegzieht.


----------



## Thomsn (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*



Dorni schrieb:


> Bei Java kann man schon fast von gemeinsamen programmieren sprechen. Wenn du eine Klasse nicht hast, na dann importierst du sie eben schnell von jemanden anderen. Schon der Grundaufbau von Java gibt dir so etlich viele Klassen mit, bis du die alle mal benutzt hast, ist schon sehr sehr sehr viel Zeit verstrichen



Das ist nun wirklich nichts Java-spezifisches. Bibliotheken gibt es für quasi jede Sprache und insbesondere das objektorientierte Konzept (zu dessen Vertretern Java gehört) begünstigt die Wiederverwendbarkeit.


----------



## DMA (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Für Zeitkritische Anwendungen muss man immer optimierten und schnellen Code ausführen können.

Was Java langsam macht, ist auch nicht die VM als Ausführung, sondern der Zeitraum, bis die VM erstmal in potte kommt.

Und alles was du da aufgezählt hast, kann ich mit C++ auch machen undn Boost bringt vieles mit.


----------



## xEbo (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Was ich an Java schade finde ist dass Java den Programmierer zwingt OOP zu schreiben. Zur Portierbarkeit sei gesagt dass je nach Anwendung, z.b. Mikrocontroller, C/C++ JAVA meiner Meinung nach überlegen ist.

Man sollte bei den Diskussionen auch immer Bedenken, es ist eher eine Geschmackssache als ein Patentmittel. Ähnlich wie bei der Werkzeugwahl, der eine nimmt lieber nen Akkuschrauber der andere arbeitet lieber mit ner Knarre und der letzt ist einer der lieber zum Schraubenzieher greift. 
Daher: Anschauen, ausprobieren und nach Gefallen und Anforderungen wählen.


----------



## CWarrior (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Hier noch ein (nicht ganz ernstgemeinter) Vergleich einiger Sprachen: Jaegers.Net: Programmiersprachen im Vergleich


----------



## Thomsn (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*



xEbo schrieb:


> Was ich an Java schade finde ist dass Java den Programmierer zwingt OOP zu schreiben.


Wieso das denn?


----------



## xEbo (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*



Thomsn schrieb:


> Wieso das denn?




dadurch wird der code in meinen Augen ziemlich schnell aufgebläht. Letztendlich ist OOP die Methode die man wählen sollte, dennoch hab ich lieber die Wahl .


----------



## Thomsn (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Dann wählst du eine Programmiersprache die nicht auf dem OO-Konzept beruht.

Und davon abgesehen: Was hält dich davon ab, einfach die Main-Methode aufzublähen? Wenn man unbedingt will, kann man die auch für mehr nutzen, als nur ein paar Objekte zu instanziieren und deren Arbeit anzustoßen. Du kannst der Main-Klasse auch beliebig viele Methoden und Attribute verpassen.
Ich will nicht sagen, dass man sowas tun sollte, aber wenn es einen stört, dass die objektorientierte Sprache, für die man sich entschieden hat, zufällig objektorientiert ist ...


----------



## xEbo (5. Januar 2010)

*AW: Welche Sprache für Anfänger?*



Thomsn schrieb:


> Dann wählst du eine Programmiersprache die nicht auf dem OO-Konzept beruht.
> 
> Und davon abgesehen: Was hält dich davon ab, einfach die Main-Methode aufzublähen? Wenn man unbedingt will, kann man die auch für mehr nutzen, als nur ein paar Objekte zu instanziieren und deren Arbeit anzustoßen. Du kannst der Main-Klasse auch beliebig viele Methoden und Attribute verpassen.
> Ich will nicht sagen, dass man sowas tun sollte, aber wenn es einen stört, dass die objektorientierte Sprache, für die man sich entschieden hat, zufällig objektorientiert ist ...



oder man wird entschieden: Studium, Lehre usw.

Was mich aber am meißten stört ist der Umstand dass viele Institute umstellen auf die Javalehre. Für Maschbauer, Mechatroniker ist das eher suboptimal da bisher die meißten Mikrocontroller eher C/Cpp orientiert arbeiten.


----------



## bingo88 (6. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Es hängt doch eh alles vom Anwendungsbereich ab.
Ansonsten hätte ich noch das hier im Angebot :

```
_addArray:
    push ebp
    mov ebp, esp
    push    ebx
    
    mov    eax, [ebp+8]
    mov    edx, [ebp+12]
    mov    ecx, [ebp+16]
    or    ecx, ecx
    js    L4
L1:    
    cmp    ecx, 4
    jl    L2
    movq     mm0, qword [eax]
    paddw    mm0, qword [edx]
    movq     qword [eax], mm0
    add    eax, 8
    add    edx, 8
    sub    ecx, 4
    jmp    L1
L2:
    jecxz    L4
L3:
    mov   bx, word [eax]
    add   bx, word [edx]
    mov  word [eax], bx
    inc    eax
    inc    eax
    inc    edx
    inc    edx
    dec   ecx
    jnz    L3
L4:    
    pop    ebx
    pop    ebp
    emms
    ret
```
Wer sich quälen möchte


----------



## huntertech (6. Januar 2010)

*AW: Welche Sprache für Anfänger?*



n00b schrieb:


> @ Dorni
> Gutes Beispiel!
> 
> @ huntertech
> Lass uns ruhig mit deinen ersten Java-Programm hier im Forum teilhaben. Finde das immer sehr interessant wie sich soetwas entwickelt



Klar, könnt' nur noch was dauern, bis ich endlich n Buch gekauft bekomme, müsste aber noch diesen Monat passieren


----------



## huntertech (6. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Mir ist gerade aufgefallen, dass ich euch mit noch einer Frage belästigen muss 

Habe mich ja mittlerweile auf dieses Buch hier festgelegt, weil es noch einen ergänzenden Teil 2 gibt, mit dem man dann gleich weitermachen kann:

Band 1: Grundkurs Programmieren in Java. Band 1: Der Einstieg in Programmierung und Objektorientierung: Amazon.de: Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger: Bücher

Band 2: Grundkurs Programmieren in Java 2: Einführung in die Programmierung kommerzieller Systeme: Amazon.de: Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger: Bücher

Jetzt habe ich gerade gesehen, dass bei Amazon "noch nicht erschienen" steht, bei Ebay ist das Buch auch nicht drin. Trotzdem steht auuf der Herstellerseite, dass das Buch zuletzt im März 2006 herausgekommen sein soll. Gibt es das Buch nur als E-book oder wie soll ichs jetzt verstehen?


----------



## Thomsn (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Dieser Hinweis ist schlicht und einfach falsch. Ich kann dazu nur soviel sagen, dass ich dieses Buch hier in meinem Regal stehen habe und gerade einen Blick darauf werfe, und das gibt es auch nicht erst seit gestern.

Kann ja sein, dass es vielleicht einfach nicht mehr gedruckt wird und Amazon zur Zeit keine Angebote von Drittanbietern hat und deswegen diesen Hinweis da hin schreibt. Whatever, das Buch gibts seit ein paar Jahren.

Aber wie ich bereits in einem vorherigen Posting schrieb. Wenn du erstmal die Inhalte des ersten Bands durchgearbeitet hast, ist es relativ egal, ob du dir auch noch den zweiten Band besorgst oder nicht, denn dann solltest du bereits so viel Sachverstand haben, dass du auch mittels Google fähig sein wirst, dich weiter zu bilden (selbst wenn das dann in Form einer erneuten Buchsuche stattfinden würde).


Wenn du noch blutiger Anfänger bist  können dir fortgeschrittene Themen im Moment eh noch egal sein. Du musst erstmal lernen, was die Grundkonstrukte sind, die so ziemlich jede Programmiersprache bietet (hier halt am Beispiel Java), wie auch immer es danach weiter geht ist jetzt im Moment noch völlig unerheblich.


----------



## huntertech (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Naja, sobald ich's erste Buch durchgearbeitet habe, seh' ich dann mal weiter aber ich glaube, ich kaufe mir das zweite Buch dann auch noch (dann habe ich direkt die Informationen im Regal). Dann vermutlich "Java ist auch eine Insel" als Nachschlagewerk bzw. um noch den Rest zu lernen.


----------



## bingo88 (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Wobei du dir letzteres doch bei galileo computing online ansehen/runterladen kannst. Ich find das Buch nicht schlecht, auch wenn ich Java schon kann.


----------



## k-b (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Nutz es auch regelmäßig als schnelle Referenz die man online ansehen kann


----------



## huntertech (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*



bingo88 schrieb:


> Wobei du dir letzteres doch bei galileo computing online ansehen/runterladen kannst. Ich find das Buch nicht schlecht, auch wenn ich Java schon kann.



Das mit dem online ansehen finde ich ziemlich doof. Ich meine, wenn man die Sprache kann und auch anwenden möchte und dann mal was nachschlagen will, muss man immer erst das open book anmachen, da finde ich so ein Buch, was man dann auch vor sich liegen hat schon besser


----------



## Olstyle (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Schon mal die Insel in der Hand gehabt?
Das ist ein Monstrum von Buch in dem man nicht mal eben was nach schlägt. Das "Scheibchen" auf dem(extrem miesen Handy-) Bild ist die letzte PCGHX als Vergleich.

Zumindest ich hab da überhaupt keinen Platz für auf dem Schreibtisch(dafür genug Bildschirme um das EBook aus zu lagern ).


----------



## bingo88 (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Du kannst es dir aber auch runterladen. Ich persönlich finde Papier zwar auch besser, aber irgendwann ist halt ne Gewichtsgrenze erreicht. Besonders wenn der Kram zu Hause steht und man ihn woanders aber bräuchte. Dann müsste man ja 10kg Bücher mit sich rumkarren


----------



## huntertech (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*

OooooH  Ist ja doch schon n Monstrum von Buch 


Meint ihr mit Download die Zip-Datei, wo man dann die ganzen HTML Seiten vorgelegt bekommt?

Gibts das nicht auch als PDF oder so?


----------



## bingo88 (7. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Gibts das nicht auch als PDF oder so?


Meines Wissens leider nicht. Ganz so leicht machen die es einem nicht. Das sieht dann aber halt offline so aus wie auf der Website, kann man also trotzdem mit arbeiten. Außerdem ist es ja umsonst


----------



## AchtBit (8. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Wer ein Umfassendes Online Hilfs Doku baraucht, der kann von mir, meine kompilierte Version(format, HTML Hilfe) haben. 

Folgende Doks sind modular eingebaut

PHP - Handbuch (26.10.2002, english)
Status: "external" Name: "php_manual_en.chm" 
PHP - Comments zum Handbuch (26.10.2002, english)
Status: "external" Name: "php_manual_notes.chm" 
PEAR Extenstion Manual (03.02.2002, deutsch)
Status: "external" Name: "php_pear_ex.chm" 
GTK Extenstion Manual (17.02.2002, deutsch)
Status: "external" Name: "php_gtk_ex.chm" 
ADODB Extenstion Manual Version 1.12 (06.06.2001, english)
Status: "external" Name: "php_adodb_ex.chm" 
PX: PHP Code Exchange (syncronisiert am 16.02.2002, english)
Status: "external" Name: "php_code_ex.chm" 
phplib_7_2 Documentation (vom 13.08.2001, english)
Status: "external" Name: "php_lib_ex.chm" 
FAQs (vom 01.07.2001, deutsch)
Status: "external" Name: "php_faqs_ex.chm" 
Funktions Tabellen (vom 24.01.2001, english)
Status: "external" Name: "function_table_ex.chm" 

nicht mehr aktuellster Standard, kann aber beliebig einfach per style sheet script, mit neue Modulen erweitert(bzw alte enfernen) werden. 

Nur die Lancher Datei muss mit dem HTML Workshop(ms free download) recompiliert werden

Edit: bei Interesse PM an mich.


----------



## k-b (8. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Und wie ist der rechtliche Hintergrund von den Dokus?


----------



## huntertech (8. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Worum geht's? Kann nicht so ganz folgen


----------



## AchtBit (8. Januar 2010)

*AW: Welche Sprache für Anfänger?*



k-b schrieb:


> Und wie ist der rechtliche Hintergrund von den Dokus?


 
Nicht notwending. Alle sind Open Source. Die PHP Dok und ADODB Dok sind bereits original im chm Format erhältlich. Die andreren habe ich recompiliert und einen Index sowie ein Stichwortverzeichnis eingefügt.

Wie gesagt der Aufbau ist modular. Ich lade dabei quasi beim start einmalig die Verzeichnisstruktuten, Indize und Stichwörter und bei einer Seitenanforderung das komplette entsprechende Dok Modul. Der Frame ist Marke Eigenbau und ich hege keine rechtlichen Ansprüche.


----------



## Tony-S (19. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Hm also ich bin ja auch ein Anfänger... und meine ersten Erfahrungen mit der Programmierung habe ich mit Delphi 7 an der hBFS (höhere Berufsfachschule) gemacht - unser Lehrer war jetzt nicht sooo megaklasse, weswegen mir auch manchmal die Lust fehlte. Doch nach kurzer Zeit hab ich begonnen selbst, zu Hause programme zu schreiben und es machte immer mehr Spaß.
ZZ, schreibe ich häufiger in meinem Praktikum kleine Programme mit Visual Basic.net. Als Halblaie kann ich jetzt mal sagen, das vb.net einiges vereinfacht, manche Dinge gegenüber zb Delphi aber auch sehr umständlich händelt.

Ich würde dir also vb.net empfehlen da es weit verbreitet ist und es relativ viel im inet dazu zu lesen gibt, es ist übrigens auch wirklich ratsam Tutorials durchzuarbeiten und nicht direkt mit hochtrabenden Sachen anzufangen.


----------



## k-b (19. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ich würde dir von vb.net abraten - gibt nur weniges, was schlimmer ist. Die Zeit kannst du au nutzen um eine vollwertige Programmiersprache zu lernen


----------



## bingo88 (20. Januar 2010)

*AW: Welche Sprache für Anfänger?*



k-b schrieb:


> Ich würde dir von vb.net abraten - gibt nur weniges, was schlimmer ist. Die Zeit kannst du au nutzen um eine vollwertige Programmiersprache zu lernen


Ich hab noch mit dem alten VB5 angefangen und hab dann später zu .NET gewechselt. Kam eigentlich ganz gut damit klar. Naja, jetzt mach ich aber auch andere Sachen (Java, C/C++, C# und x86 ASM )


----------



## huntertech (21. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ich stehe gerade vor einer Mittelschweren bis katastrophalen Kriese 

Habe gerade nochmal versucht, auf irgendeine Weise mit Eclipse klarzukommen aber es geht GARNICHT!

Könnte einer von euch mir eine (relativ kurze) Anleitung machen, wo die Grunddinge von Eclipse drin sind (also wie ich in das Fenster komme, wo ich ein Programm schreiben kann, wie ich dann später kompilliere (hoffe es heißt so ) und die sonstigen wichtigen Sachen)?


----------



## k-b (21. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Neues Projekt anlegen
Rechtsklick auf das Projekt bzw. auf src-Ordner: Package anlegen
In das Package eine Klasse anlegen (sollte eine Main-Methode haben)

Dann oben auf den Pfeil im grünen Kreis und das ganze ausführen.
Alternativ: Rechtsklick -> run as Java Application (nachdem du das einmal gemacht hast, ist es als Favorit bei deinen Run-Konfigurationen dabei).

Dann öffnet sich eine Konsole mit dem was deine Main-Methode macht.


Essentials:
Ctrl + F11: Z uletzt ausgeführte Run-Konfiguration nochmal laufen lassen
Ctrl Shift o : Automatisch Imports machen

F3: Methodendeklaration (wenn du gerade einen Aufruf  ausgewählt hast)
ctrl shift g: Referenzen auf ausgewähltes Objekt/Methode im Workspace finden

alt ctrl r : Refactoring (Ändert den Variablennnamen bei jedem auftauchen)


War jetzt aus dem Kopf, dürfte aber trotzdem alles passen denke ich


----------



## huntertech (21. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Danke 

Gibts nicht auch n deutsches Touturial?


----------



## k-b (21. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Es gibt sogar ganze Bücher in deutsch..


----------



## rebel4life (21. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Wenn man sich den Threadtitel anschaut, könnte man auch schnell mal Englisch sagen.


----------



## huntertech (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*



k-b schrieb:


> Es gibt sogar ganze Bücher in deutsch..



Ja gut, so weit bin ich ja noch nicht, dass ich ein ganzes Buch über die verstecktesten Funktionen von Eclipse bräuchte. Aber so ein paar Seien, wo so nur das nötigste drinsteht


----------



## Olstyle (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Das nötigste steht eigentlich schon bei klausi. Nochmal in Listenform:

1.Ein (Java-)Projekt anlegen über File->New
Dabei nicht vergessen einen Namen zu wählen.
2.Eine Class-Datei in diese einfügen
Wieder einen passenden Namen(bei der Hauptklasse normalerweise=Projektname) wählen und einen haken bei "public static void main..." setzen wenn es die Hauptklasse wird.
3.Programm schreiben.
4.Ausführen über den grünen "Play" Button
5.Argumente kannst du anpassen wenn du das Dropdownmenü vom "Play" Button öffnest und auf "Run Configurations" gehst.


----------



## huntertech (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Achso 

Und was sind vorgefertigte Klassen von Java? Habe ich auch mal irgendwo gelesen


----------



## Kadauz (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Du sollst Programmieren lernen, nicht Puzzlen.


----------



## Olstyle (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

ein bisschen awt sollte schon erlaubt sein, alles weiter eher nicht. 

Was Klassen und Objekte sind sollte in deinen Büchern stehen.

 Vorgefertigte Klassen sind halt fertige Programme/Programmteile die man in sein Programm importieren und einbinden kann um bestimmte Funktionsweisen nicht selbst programmieren zu müssen.
So kann man mit Math.* z.B. diverse Rechenoperationen wie sinus, cosinus etc. durchführen ohne sie selbst als Methode zu realisieren.


----------



## huntertech (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Wie gehts in Eclipse?


----------



## k-b (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Achso
> 
> Und was sind vorgefertigte Klassen von Java? Habe ich auch mal irgendwo gelesen


Klassenbibliothekn die du benutzt. System.out.println z.b.


----------



## huntertech (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Achso


----------



## Thomsn (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Und solltest du mal nachgucken müssen, was dir die Standard-API so bietet, falls du das nicht eh schon gefunden hast: Java 2 Platform SE 5.0


----------



## huntertech (22. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ach du meine Fresse


----------



## xEbo (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Ach du meine Fresse



besser so als selber schreiben


----------



## Thomsn (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Du musst dir das ja jetzt nicht durchlesen oder so. Aber wenn du mal ein bisschen ins Thema eingestiegen bist und programmierst, wirst du dort regelmäßig vorbeischauen. Das ist einfach nur Dokumentation.

Ich würde es mir bookmarken.


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Was ist bookmarken?


----------



## xEbo (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Was ist bookmarken?



Lesezeichen setzen. Favoriten erstellen. Wie auch immer das dein Browser/Programm nennt.


----------



## Jami (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Meine Güte, wieviel Englisch kannst du denn?
Ich hab neulich mit Java angefangen, und das ist ansich auch nicht so kompliziert.
Ans Herz legen kann ich dir die Bücher
Einstieg in Java 6
Java von Kopf bis Fuß (ist zwar für Java 5, bringt aber die Grundlagen sehr gut bei, den Rest kannst du dir dann online anlesen)
sowie die Video-Tutorial von bucky (Thenewboston), er erklärt die Grundlagen wirklich exzellent, ist witzig und nebenbei lernt man auch noch super Slangamerikanisch  
Guckst du hier!


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ja tschuldigung, dass ich nicht wusste was Bookmarken ist! Ich denke mal, dass keiner hier jede Vocabel aus dem Englischen beherrscht und wenn du nur schreibst um mir zu sagen, dass ichs nicht wusste, hättest du es auch bleiben lassen können!


----------



## Jami (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Ja tschuldigung, dass ich nicht wusste was Bookmarken ist! Ich denke mal, dass keiner hier jede Vocabel aus dem Englischen beherrscht und wenn du nur schreibst um mir zu sagen, dass ichs nicht wusste, hättest du es auch bleiben lassen können!


hey, bleib mal locker, ich hab mich nur gewundert, ok?
Und eigentlich wollte ich dir nur mitteilen, mit welcher Literatur du Java sehr schnell lernen kannst. 
Und die Bücher gibt es sehr warscheinlich in der Bücherei, man muss also nicht erstmal 70€ auf den Tisch legen.


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ich mein ja nur, der erste Satz hätte nicht sein gemusst.

Aber Themawechsel: Die Videos sind genial! Bin jetzt beim 12. von 20 und schreibe mir die ganze Zeit die Sachen im Video raus. Heute gibts das erste Programm von mir 

PS: In den Videos heißt es, dass ein Programm so anfängt:

*[FONT=&quot]class[/FONT]**[FONT=&quot] So heißt deine Classe{[/FONT]*
*[FONT=&quot]      public static void main(String args[]){[/FONT]*
*[FONT=&quot]            [/FONT]*
*[FONT=&quot]}[/FONT]*

Ist das immer so?


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ach und noch eine Frage: Wie bekomme ich ein in Eclipse geschriebenes Programm als .exe Datei daraus?


----------



## Thomsn (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Ist das immer so?


Jain.
Ein Programm besteht meistens aus mehr als nur einer einzigen Klasse und die dort beschriebene Klasse (diese wird auch Main-Klasse genannt) hat nur die Aufgabe, das Programm zum Laufen zu bekommen.

Es gibt da noch einige andere Dinge die vorkommen können, aber das wirst du alles noch sehen.



huntertech schrieb:


> Ach und noch eine Frage: Wie bekomme ich ein in Eclipse geschriebenes Programm als .exe Datei daraus?


Wenn du in Java programmierst: gar nicht.
In Java gibt es stattdessen sogenannte JAR-Files, aber das braucht dich im Moment noch nicht kümmern.

Die vom Java-Compiler javac.exe gebauten Dateien haben die Endung .class, diese wiederum können von dem Programm java.exe ausgeführt werden. Wenn dir dazu irgendwas unklar ist, dann schau in eines der Bücher oder google, dazu sollte es quasi unendlich viele Erläuterungen geben.


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ja gut, aber wie bekomme ich dann ein Programm ohne Eclipse zum laufen???


----------



## Thomsn (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Siehe mein Edit.


----------



## Thomsn (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Wenn dir das Verständnis noch etwas fehlt, ist es übrigens keine schlechte Idee, am Anfang ein paar kleine Programme ganz ohne IDE zu bauen.

Nimm dafür einfach einen Texteditor (sogar Notepad reicht), schreib den Quellcode da rein, nenn die Datei dateiname.java und dann gehts los.
Mit der Konsole (Start -> Ausführen -> cmd) navigierst du zu dem Ort, an dem sich dein Java-Kompiler befindet (dort wo du das JDK installierst hast) und öffnest damit die .java-Datei.
Sieht dann also beispielsweise so aus:

```
C:\Pfad\zum\JDK\bin>javac.exe C:\Pfad\zum\Quellcode\dateiname.java
```
Und anschließend kannst du das Kompilat ausführen:

```
C:\Pfad\zum\JDK\bin>java.exe C:\Pfad\zum\Programm\dateiname
```
(das .class wird tatsächlich weggelassen, Pfad zum Programm ist per default der gleiche wie der Pfad zum Quellcode)

Wenn du dir den Spaß mit dem Pfad zum JDK sparen willst, müsstest du dir eine neue Umgebungsvariable im Windows dafür einrichten.


Das ist auf keinen Fall etwas was du immer tun sollst, aber am Anfang ist das ganz nett, um das Verständnis zu fördern, was Eclipse da eigentlich macht.


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Das mit der neuen Umgebundsvariablen habe ich ja schon alles wegen der Videos gemacht,

Aber geht das denn nicht, dass ich einfach z.B. eine einzelne Datei habe, die ich dann (ohne Start->Ausführen->...) öffnen kann?


----------



## Olstyle (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Kannst auch eine Verknüpfung anlegen die direkt java.exe mit dem Argument "dateiname.java" ausführt, dann hast du was worauf du zum Starten des Programmes doppelt klicken kannst.

Oder du machst dich eben doch an das erstellen von Jar Dateien, oder du programmierst Applets statt "vollwertiger" Javaprogramme.

Exe-Dateien kannst du aus einem Java Programm afaik nur über Wrapper machen.


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Also:

1. Wie geht das mit der Verknüpfung und dem Argument?
2. Welche Programme können Jar-Dateien lesen & ausführen?
3. Was ist Wrapper?


----------



## Olstyle (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

1. Teil zwei von Thomsns Post in einer Verknüpfung verpackt.
2.Im Endeffekt werden sie vom JDK ausgeführt. Solang das installiert ist merkst du aber keinen Unterschied zu einer Exe.
3.Google


----------



## huntertech (23. Januar 2010)

*AW: Welche Sprache für Anfänger?*

soweit bin ich auch schon gekommen, mit dem Wrapper, bin aber nicht schlau draus geworden 

Aber ich denke, ich speichere die dann einfach als .jar

Achso und mein erstes Programm ist endlich fertig (ihr wolltet es ja haben ).

Hier der Quellcode, ist aber auch nochmal im Anhang als .java und .class Datei (und das mit der Verknüpfung musst du mir wohl nich etwas genauer erklären ):

import java.util.Scanner;
class Rechner{
    public static void main(String args[]){
        Scanner Alex = new Scanner(System.in);

        Double Spritkosten, Spritverbrauch, Spritverbrauch1, Treibstoff, Spritverbrauch3, Spritpreis, Spritverbrauch2, Kosten;
        int CO2Steuern2, CO2Steuern1, Hubraum, CO2Steuern, Hubraum1, Hubraum2, Hubraumsteuer1, Hubraumsteuer, Steuern;


            System.out.println("Bitte CO2-Ausstoss pro km eingeben und Enter druecken!");

            CO2Steuern1 = Alex.nextInt();
            if (CO2Steuern1 < 120){CO2Steuern1 = 120;}
            else {}
            CO2Steuern2 = CO2Steuern1 - 120;
            CO2Steuern = CO2Steuern2 * 2;


            System.out.println("Bitte Hubraum in cm³ angeben und Enter druecken!"); 

            Hubraum = Alex.nextInt();
            Hubraum1 = Hubraum / 100;
            Hubraum2 = Hubraum1++;

            System.out.println("Haben sie einen Benziner oder Diesel? Fuer den Benziner 1 druecken, fuer den Diesel die 2");

            Treibstoff = Alex.nextDouble();
            if (Treibstoff == 1){Hubraumsteuer1 = Hubraum2 * 200;}
            else {Hubraumsteuer1 = Hubraum2 * 950;}

            Hubraumsteuer = Hubraumsteuer1 / 100;

            Steuern = Hubraumsteuer + CO2Steuern;

                System.out.println("Geben sie jetzt bitte die aktuellen Treibstoffkosten fuwr den von Ihnen genutzten Treibstoff an (in Euro)");

                Spritpreis = Alex.nextDouble();

                System.out.println("Geben sie jetzt ihren Spritverbrauch auf 100km an (in Litern)!");

                Spritverbrauch1 = Alex.nextDouble();

                System.out.println("Vieviele km fahren sie im Monat?");

                Spritverbrauch2 = Alex.nextDouble();                
                Spritverbrauch3 = Spritverbrauch2 / 100;                
                Spritverbrauch = Spritverbrauch1 * Spritverbrauch3;                
                Spritkosten = Spritverbrauch * Spritpreis;
                Kosten = Spritkosten + Steuern;


                    System.out.println("Danke fuer ihre Angaben! Ihr ergebnis sieht so aus:");
                    System.out.println();
                    System.out.print("Durch ihren CO2-Ausstoss von ");
                    System.out.print(CO2Steuern1);
                    System.out.print("g/km muessen sie " );
                    System.out.print(CO2Steuern);
                    System.out.println(" Euro im Monat an Steuern für ihren CO2-Ausstoss bezahlen.");
                    System.out.print("Da ihr Auto " );
                    System.out.print(Hubraum);
                    System.out.print("Kubikzentimeter Hubraum hat, muessen sie monatlich ");
                    System.out.print(Hubraumsteuer);
                    System.out.println(" Euro an Steuern fuer ihren Hubraum bezahlen.");
                    System.out.println();
                    System.out.print("Das ergibt eine Monatliche Steuerbelastung von ");
                    System.out.print(Steuern);
                    System.out.println(" Euro.");
                    System.out.println();
                    System.out.print("Da sie im Monat ");
                    System.out.print(Spritverbrauch2);
                    System.out.print(" Kilometer fahren und sie ");
                    System.out.print(Spritverbrauch);
                    System.out.print(" Liter Treibstoff auf 100km verbrauchen, welcher momentan zu ");
                    System.out.print(Spritpreis);
                    System.out.print("€ pro Liter angeboten wird, kostet sie das Monatlich weitere ");
                    System.out.print(Spritkosten);
                    System.out.println("€");
                    System.out.println();
                    System.out.print("Wenn man nun ihre Monatlichen Kosten für Steuern und Treibstoff zusammenzaehlt, weiß man, dass ihr Auto ca. ");
                    System.out.print(Kosten);
                    System.out.print(" Euro Euro im Monat aus ihrem Porte-Monnaie zieht ");
    }

}


----------



## Olstyle (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Unabhängig von deinem Problem mal ein paar Anmerkungen zum Programm:
1.Variablennamen werden immer klein geschrieben, innere Worte als "CamelCase". Das ist Java Konvention.
2.Wenn man eine Variable erstellt initialisiert man sie normalerweise auch anschließend.
Bei den Zahlen meist mit 0. Also(unter Beachtung von 1.) "spritKosten=0;" usw.
 2.5 Ich persönlich finde es wesentlich übersichtlicher wenn man Variablen einzeln erstellt. Bei der Gelegenheit kann man dann auch prima initialisieren. Also steht da dann 


> double spritKosten=0;
> double spritVerbrauch=0;
> .
> .
> .


3.du kannst mit einem + mehrere Strings zu einem Ausgabestring verbinden.
Also statt





> System.out.println();
> System.out.print("Durch ihren CO2-Ausstoss von ");
> System.out.print(CO2Steuern1);
> System.out.print("g/km muessen sie " );
> ...



Einfach 





> System.out.println("Durch ihren CO2-Ausstoss von "+CO2Steuern1+"g/km muessen sie "+CO2Steuern+" Euro im Monat an Steuern für ihren CO2-Ausstoss bezahlen.")


(und Kleinschreibung sollte man natürlich trotzdem korrigieren  ) .

Zu deinem Problem:
Wenn ich mich richtig erinnere hatte der Compiler Probleme mit der Unicode Codierung von Notepad. Versuch es mal mit speichern der .java Datei in ANSI.


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

1. Was bringt dieses Initialisieren?
2. Gibts auch eine Funktion um auf 100er aufzurunden?


----------



## Olstyle (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

1. Dass du nicht gefahr läufst das Programm zu killen nur weil villeicht die Variable noch nicht vom User gefüllt wurde. Aktuell nicht gefährlich, bei größeren Programmen aber tödlich.

2.Math.round()  rundet auf ganze Stellen. wenn du z.B. zwei stellen hinter dem komma haben wilsst musst du die Zahl vorher mit 100multiplizieren und dann wieder teilen etc.
also 


> zahl= Math.round(zahl*100.)/100.;


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Gibts auch eine Funktion, die NUR aufrundet, auch wenns z.B. 1,2 ist?

Und jetzt ist schon wieder n Problem aufgetreten:

Wenn ich versuche zu kompillieren, bekomme ich die Fehlermeldung "Class names, "Rechner", are only accepted if annotation processing is expelicitly requested"

Was ist das nu wieder?


----------



## xEbo (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Das initialisieren ist vor allem dann extrem wichtig wenn du ggf. Exception Handling oder ein eigenes Error Management aufsezt. So kannst du gegen den Anfangswert testen um darauf dann reagieren. Seeehr nützlich.
Außerdem läuft man nicht Gefahr auf Speicherbereichen zu hantieren in denen Crap oder alte Daten stehen, das kann wirklich ein interessantes Verhalten hervorrufen 

Zu deinem Fehler:

http://java.sun.com/docs/books/tutorial/getStarted/problems/

oder

http://www.softgames.de/forum/frage122379.html

ich hab beide nicht durchgelesen war aber das erste was google ausgespuckt hat  Daher mein Tipp an dich (nimm ihn bitte nicht krumm), wenn du Fehler hast die du nicht nachvollziehen kannst, kopier die Fehlermeldung einfach und such bei google danach. Wahrscheinlich bist du nicht der Erste und vorallem hoffentlich nicht der einzige der den Fehler hat.


----------



## Olstyle (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Jaja, das liebe nachschlagen  
Galileo Computing :: Java ist auch eine Insel – 5.3 Die Eigenschaften der Klasse Math


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Danke  Das wars, habe nur "javac rechner" statt "javac rechner.java" eingegeben. Aber jetzt habe ichs einmal fertig, jetzt ist hier wieder das alte Problem, hier ist der Fehlercode:

Exceotion in thread "main" java.lang.NoClassDefFoundError: Rechner/class
Caused by: java.lang.ClassNotFounfException: Rechner.class
at java.net.URLCClassLeader$1.run(Unknows Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(unknows Source)
at java.lang.ClassLoader.loadClass (unknows Source)
at sun.misc.Launcher$ApClassLoader.loadClass(unknows Source)
at java.lang.Classloader.loadClass(unknows Source)
Could not find the main class: Rechner.class. Programm will exit

Habe auch schon versucht, die Java-Datei vorher mit Eclipse zu speichern und dann zu compillieren aber das hat auch nichts geholfen. Und Goole spuckt auch nix aus


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

So scheint es ja einduetig nicht zu laufen 

Wie erstelle ich denn eine Jar-Datei? Scheint einfacher zu sein


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Habs jetzt auch gelöst 


Aber das mit der Jar-Datei muss mir nochmal einer erklären.


----------



## rebel4life (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Jar Dateien sind schlichtweg Java Programme, die quasi platformunabhänig sind - laufen unter Linux per java -jar deinkram.jar, unter Windows mit Java.

Man kann das ganze auch noch in ne Exe packen.


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ja gut, aber wie funktioniert das?


----------



## k-b (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Doch, man kann .exe daraus machen. Eclipse ist ja auch in Java geschrieben und eine .exe 

Java Exe Maker - exe4j Das sollte funktionieren. Habe es aber noch nciht selbst ausprobiert. Aber hefte das eher mal unter advanced techniques ab - erstmal musst du richtig programmieren lernen


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Da hätte ich aber noch eine Frage:

Wann benutze ich eine "Int"-variable und wann eine "double"-variable?


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Also langsam gehts mir doch auf den Keks. Habe schon wieder die Fehlermeldung:

Exceotion in thread "main" java.lang.NoClassDefFoundError: Rechner/class
Caused by: java.lang.ClassNotFounfException: Rechner.class
at java.net.URLCClassLeader$1.run(Unknows Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(unknows Source)
at java.lang.ClassLoader.loadClass (unknows Source)
at sun.misc.Launcher$ApClassLoader.loadClass(unknows Source)
at java.lang.Classloader.loadClass(unknows Source)
Could not find the main class: Rechner.class. Programm will exit

Letztes mal hast daran gelegen, dass ich "java kostenrechner.class" statt "java kostenrechner" eingegeben hatte. Aber dieses mal funktioniert beides nicht, kompillieren tut er aber!

Irgendeine Idee? Google habe ich auch schon geguckt, da ist die Rede von einer falsch gesetzten Umgebungsvariablen aber das habe ich schon nachgeguckt, die ist richtig (C:/Programme/java/jdk1.60_18/bin).

Hier ist nochmal der Quellcode, habe ich jetzt etwas überarbeitet, jetzt sollte das Programm dann bis auch den Fehler fertig sein:


import java.util.Scanner;
class main{
    public static void main(String args[]){
        Scanner Alex = new Scanner(System.in);

        Double Spritkosten, Spritkosten1, Spritverbrauch99, Spritverbrauch4, Spritverbrauch, Spritverbrauch1, Treibstoff, Spritpreis, Spritverbrauch2, Hubraum1,  Hubraum4, Hubraum34, Kosten;
        int CO2Steuern2, CO2Steuern3, CO2Steuern4, Hubraum22, CO2Steuern1, CO2Steuern, Hubraum2,  Steuern, Hubraumsteuer, Hubraumsteuer99, Hubraum3, Hubraum;


            System.out.println("Bitte CO2-Ausstoss pro km eingeben und Enter druecken!");

            CO2Steuern1 = Alex.nextInt();
            CO2Steuern3 = CO2Steuern1;
            if (CO2Steuern1 < 120){CO2Steuern4 = 120;}
            else {CO2Steuern4 = CO2Steuern1;};
            CO2Steuern2 = CO2Steuern4 - 120;
            CO2Steuern = CO2Steuern2 * 2;


            System.out.println("Bitte den Hubraum in Kubikzentimetern und auf 100er aufgerundet angeben (bei 1979 also 2000 angeben)!"); 

            Hubraum22 = Alex.nextInt();
            Hubraum = Hubraum22 / 100;

            System.out.println("Haben sie einen Benziner oder Diesel? Fuer den Benziner 1 druecken, fuer den Diesel die 2");

            Treibstoff = Alex.nextDouble();
            if (Treibstoff == 1){Hubraumsteuer99 = Hubraum * 200;}
            else {Hubraumsteuer99 = Hubraum * 950;}

            Hubraumsteuer = Hubraumsteuer99 / 100;

            Steuern = Hubraumsteuer + CO2Steuern;

                System.out.println("Geben sie jetzt bitte die aktuellen Treibstoffkosten (pro Liter) fuer den von Ihnen genutzten Treibstoff an (in cent)!");

                Spritpreis = Alex.nextDouble();

                System.out.println("Geben sie jetzt ihren Spritverbrauch auf 100km an (in Milliliter, bei 5.5l also 5500)!");

                Spritverbrauch1 = Alex.nextDouble();
                Spritverbrauch4 = Spritverbrauch1 / 100;

                System.out.println("Vieviele km fahren sie im Monat?");

                Spritverbrauch2 = Alex.nextDouble();                
                Spritverbrauch99 = Spritverbrauch4 * Spritverbrauch2;    
                Spritverbrauch = Spritverbrauch99 / 1000;
                Spritkosten1 = Spritverbrauch * Spritpreis;
                Spritkosten = Spritkosten1 / 100;
                Kosten = Spritkosten + Steuern;

                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println();
                    System.out.println("Danke fuer ihre Angaben! Ihr ergebnis sieht so aus:");
                    System.out.println();
                    System.out.print("Durch ihren CO2-Ausstoss von ");
                    System.out.print(CO2Steuern3);
                    System.out.print("g/km muessen sie " );
                    System.out.print(CO2Steuern);
                    System.out.println(" Euro im Monat an Steuern für ihren CO2-Ausstoss bezahlen.");
                    System.out.println();
                    System.out.print("Für ihren Hunbraum von ca. ");
                    System.out.print(Hubraum22);
                    System.out.print(" Kubikzentimetern müssen sie ");
                    System.out.print(Hubraumsteuer);
                    System.out.println(" Euro an Steuern pro Monat fuer ihren Hubraum bezahlen.");
                    System.out.println();
                    System.out.print("Das ergibt eine Monatliche Steuerbelastung von ");
                    System.out.print(Steuern);
                    System.out.println(" Euro.");
                    System.out.println();
                    System.out.print("Da sie im Monat ");
                    System.out.print(Spritverbrauch2);
                    System.out.print(" Kilometer fahren und sie ");
                    System.out.print(Spritverbrauch1);
                    System.out.print(" Milliliter Treibstoff auf 100km verbrauchen, welcher momentan zu ");
                    System.out.print(Spritpreis);
                    System.out.print(" Euro pro Liter angeboten wird, kostet sie das Monatlich weitere ");
                    System.out.print(Spritkosten);
                    System.out.println(" Euro");
                    System.out.println();
                    System.out.print("Wenn man nun Ihre monatlichen Kosten für Steuern und Treibstoff zusammenzaehlt, weiss man, dass ihr Auto ca. ");
                    System.out.print(Kosten);
                    System.out.print(" Euro im Monat aus ihrem Porte-Monnaie zieht ");
    }

}


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Komisch, jetzt funktioniert es nur, wenn ich die .java-Datei vorher mit einem Editor gespeichert habe und dann kompilliert habe. Liegt das an Eclipse?


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Habe es jetzt (hoffentlich) zum letzten Mal überarbeitet, jetzt sind die Sätze auch richtig Deutsch und er spuckt auch Jährliche Kosten aus.

Programm ist als ".class", ".java" und ".txt" im Anhang. Gepackt als ".zip"


----------



## k-b (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

int = ganzzahl (bis 32000 ca.)
long = größere ganzzahl 

float = fließkommazahl
double = größere Fließkommazahl


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Habe auch gelesen, dass int irgendwie genauer berechnen soll, was hats damit auf sich? Kann der PC bei Double plötzlich kein Mathe mehr? 

Und mit welchem kann man Wörter benutzen, int oder double?


----------



## Jami (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Gibts auch eine Funktion, die NUR aufrundet, auch wenns z.B. 1,2 ist?


nimm mal Math.ceil();
Das rundet immer auf die nächst größere Ganzzahl. um abzurunden wäre dann Math.floor();



huntertech schrieb:


> Da hätte ich aber noch eine Frage:
> Wann benutze ich eine "Int"-variable und wann eine  "double"-variable?


Also, da ist bucky etwas schludrig, weil es bei ihm nicht von Belang ist, deswegen empfehle ich zusätzlich noch ein Buch wie Einstieg in Java 6.
int ist immer eine Ganzzahl, während double auch Nachkommastellen erlaubt. Zusätzlich dazu ist zu beachten, dass der Wertebereich unterschiedlich groß ist.

^ steht für hoch als 2hoch2=2^2 =2²


_char_  = 2 Byte : Alle Unicode Zeichen
_byte_  = 1 Byte : Zahlen -2^7 bis 2^7-1
_short_ = 2 Byte : Zahlen -2^15 bis 2^15-1
_int_    = 4 Byte : Zahlen -2^31 bis 2^31-1
_long_  = 8 Byte : Zahlen -2^63 bis 2^63-1
_float_  = 4 Byte :Zahlen von etwa +/- 3,40*10^38  dafür aber Nachkommastellen!
_double_ = 8 byte : Zahlen von etwa +/- 1,8*10^308 auch mit Nachkommastellen.
Das heißt es ist prinzipiell am sichersten long und double zu benutzen wenn du nicht sicher sagen kannst, wie groß eine Zahl werden wird. Wenn du aber sicher sagen kannst, dass sie nicht größer wird als z.B. 2^7 also 128 dann kannst du _byte_ benutzen, das spart Speicherplatz. Ist bei so kleinen Programmen zwar nicht wirklich wichtig, aber das spart in großen Programmen unnötigen Ballast.

Übrigens funktioniert dein Programm bei mir, nur gibt er mir meinen Liter verbrauch in Millilitern aus, und berechnet mir statt 1200 € nur 12 Cent  
Aber schon sehr gut, das was ich in den Tutorials gelernt hab, hab ich auch immer gleich in kleine Programme eingebaut.



huntertech schrieb:


> Und mit welchem kann man Wörter benutzen, int oder double?



Für wörter benutzt du entweder _char_,dann musst du allerding jeden Buchstaben einzeln in ein Array packen lassen, und auch wieder hervorholen, deswegen würd ich _String_ benutzen.

So und jetzt zur .jar:
ich erklärs jetzt mal für eclipse, weil ich mich für die cmd-Variante nicht kurz genug fassen kann. 

Also ecplise:
File -> Export -> Dann bei den Ordnern Java aufmachen -> Runnable Jar file -> Next -> Bei launch configuration die classe und das Projekt auswählen -> Zielort auswählen -> Finish.
Aber dein Projekt erzeugt bei mir immernoch Fehler.


----------



## k-b (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Habe auch gelesen, dass int irgendwie genauer berechnen soll, was hats damit auf sich? Kann der PC bei Double plötzlich kein Mathe mehr?


Naja wenn du 3/5 teilst und das Ergebnis ein int ist, dann geht etwas verloren weil es keine Nachkommastellen gibt. Wenn das Ergebnis ein float ist, hast du da noch die Nachkommastellen, ist also genauer.



> Und mit welchem kann man Wörter benutzen, int oder double?


String


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Zu...viele...Informationen 


Aber ein Buch kaufe ich mir ja eh auch noch, dürfte jetzt bald langsam so sein. Dann kann ich in Ruhe die ganzen Sachen nochmal durchgehen 


PS: Manchmal hat mir die Eingabeaufforderung den Error beim kompillieren rausgegeben, dass ein "int" statt "double" benötigt wird. Aber warum? Ich dachte double ist einfach nur größer und kann mehr Zahlen als int???


----------



## huntertech (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Ich bekomme es auch nicht als .jar.

Haben die Anderen da ne Idee?


----------



## k-b (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> PS: Manchmal hat mir die Eingabeaufforderung den Error beim kompillieren rausgegeben, dass ein "int" statt "double" benötigt wird. Aber warum? Ich dachte double ist einfach nur größer und kann mehr Zahlen als int???


Double ist Fließkomma, int Ganzzahl. 

Du musst dich halt einmal entscheiden was du benutzt für eine Variable oder es später umwandeln ("casten").


----------



## Olstyle (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Java castet auch gerne mal von selbst, allerdings nicht immer so wie man will. 
Wenn du z.B. einen Double durch einen Integer teilst und das ganze als Double speicherst bekommst du trotzdem eine Ganzzahl als Ergebnis(hab ich am Freitag 15Minuten für gebraucht um das zu merken -.-).


----------



## Jami (24. Januar 2010)

*AW: Welche Sprache für Anfänger?*

Super damit kann er ja viel anfangen -.-
Also: Wenn du mit einem Int rechnest, dann kann auch nur ein Int rauskommen, du kannst nicht einfach konvertieren. Sonst könntest du ja auch Double+String rechnen und was kommt bei 3,7+Euter raus?
also brauchst du sogenannte cast-Variabel.
Das funktioniert dann z.B. so

class utevogt{
     public static void main(String []args){
        int zahl1 = 5;
        double zahl2 = 3.7;
        double ergebnis = (cast-Variabel, in dem Fall double) zahl1+zahl2;
        System.out.println(zahl1 " + "+zahl2 " sind zusammen "+ergebnis);
     }

}


----------



## huntertech (2. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Habe heute endlich das Buch bekommen (also ist jetzt bestellt).

Hier nochmal Danke an alle, die mir bei der Entscheidung der Sprache geholfen haben und auch allen, die Bücher vorgeschlagen haben.

Werde bei Fragen wieder hier posten und hoffe, dass ich auch die dann beantwortet bekomme


----------



## huntertech (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

So, Buch ist jetzt schon ne Zeit lang da und habe mir jetzt die Grundelemente von Java angetan. Habe bis jetzt:

-Grundlegendes
-Grundgerüst
-Erste Schritte (Ausgeben, Eingeben, Formatierung, ...)
-Einfache Dateitypen

Und arbeite gerade am Umgang mit einfachen Dateitypen.



Jetzt hier wieder die Fragen: 

1. Wie lange wird es voraussichtlich noch ungefähr dauern, bis ich kleine Anwendungen ins Internet einbinden kann und auch grafische Oberflächen z.B. für Webseiten erstellen kann?

2. Wie lange braucht man für kleine Spiele (also zum schreiben)? Meine jetzt so kleine Spiele wie bei Online-Spieleseiten (armorgames, maxgames, jetztspielen, ...).

3. Komme ich eher schnell oder eher langsam voran?


----------



## Olstyle (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

1. Wenn es nur um einfaches HTML und dazu passende Applets(alles drum herum ist Wordpress, also nicht selbst gemacht) geht lässt sich das meiner Erfahrung nach in einer Stunde lernen(also der Sprung ins Web, nicht das Programm an sich). Vorausgesetzt man hat denn ein gewisses Grundverständnis für Java entwickelt. Je nach Buch kommt das halt früher oder später dran, ist im Grunde aber kein besonders komplizierter Schritt.

2. Kommt ganz drauf an wie ausgefallen es sein soll und ob alles beim ersten Versuch so klappt wie man sich das gedacht hat(meistens ja eher nicht). Eine feste Zeit kann man da auf keinen Fall nennen.

3.Schwer ein zu schätzen, schließlich weiß hier ja keiner wie intensiv und wie oft du dich damit auseinander setzt. Was erst ein mal zählt ist dass du überhaupt voran kommst und dass du weiter machst.


----------



## k-b (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

1. Pures Java ist nicht für Websites. Höchstens Applets. Dann müsstest du dir eher ein Buch über JSF zulegen, wenn du Websiteprogrammierung machen willst. Dafür gibt es aber angebrachtere Sprachen als Java  (z.b. Ruby on Rails)

Für kleinere Spiele kannst du je nach Framework 100-500 Stunden rechnen. 
Natürlich nur wenn du die 3d-Engine nicht selbst programmieren willst  
(XNA ist gut dafür)

3. Ist egal. Man kommt eh nicht voran wenn man kein Ziel hat. Man kann nie eine Sprache "komplett". Man schaut einfach die Sachen an, die man für das konkrete Projekt benötigt.
Mit der Zeit entwickelst du ein Gespühr für Dokumentation und wo du Sachen findest.

Man lernt besser wenn man ein konkretes Projekt hat.


Die richtige Reihenfolge wäre also:

Wissen was man umsetzen will (Java ist so allgemein, dass es für wenige Dinge wirklich gut geeignet ist) -> Sprache wählen -> Framework wählen -> Framework lernen -> umsetzen.


----------



## huntertech (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Also:

1. Was ist ein Framework? 
2. Also mein erstes konkretes Ziel ist ja erstmal das zu lernen, was in dem Buch vor mir drin steht  Ganz grob zusammengefasst kommen diese vier Punkte in Java vor:



Einstieg in das Programmieren in Java
Objektorientiertes Programmieren in Java
Grafische Oberflächen in Java
Threads, Datenströme und Netzwerk-Anwendungen
Ich denke, wenn ich mich durch die fast 700 Seiten des Buches durchgearbeitet habe und auch alles soweit verstanden habe, werde ich schon mal einiges damit anfangen können 

Ob ich dann noch weiterlerne oder "nur" das Gelernte wiederhole muss ich dann mal schauen, hängt davon ab, wieviel Lust ich dann noch drauf habe und ob ich dann konkret irgendwelche Ziele habe (dann ist ja auch java in der Schule dran ).


Gibts denn sonst noch Punkte, die man bei Java als ziemlich grundlegend bezeichnen kann, die man sich also auch noch ohne konkrete Ziele angucken sollte und die oben nicht aufgeführt sind?


----------



## Olstyle (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Was das konkrete Ziel an geht kann ich k-b eigentlich nur recht geben. Sobald du eine einigermaßene Grundlage hast ist die beste Möglichkeit zu lernen immer noch sich ein konkretes Programm vor zu nehmen und benötigte Sonderfunktionen dann nach zu lesen wenn sie gebraucht werden.

Gerade der letzte Abschnitt aus deinem Buch muss dazu noch längst nicht bekannt sein.


----------



## huntertech (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Also der letzte Teil gliedert sich nochmal in die Unterhauptpunkte:

-Parallele Programmierung mit Threads
-Ein- und Ausgabe über Streams
-Client/Server-Programmierung in Netzwerken

Sind diese drei Unterpunkte alle nicht als Grundlage zu gebrauchen oder ist da ein Punkt bei, den ich mir trotzdem noch mal genauer ansehen sollte?


----------



## Olstyle (15. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Ich sags mal so:
Ich persönlich kann nichts davon und hab Schul-Info(sowie ein Semester Ingenieurs-Studium, aber da kam eigentlich nichts neues dazu) von A-bis Z durch gemacht und dabei auch halbwegs brauchbare Programme zustande bekommen.


----------



## huntertech (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*



Olstyle schrieb:


> Sobald du eine einigermaßene Grundlage hast ist die beste Möglichkeit zu lernen immer noch sich ein konkretes Programm vor zu nehmen und benötigte Sonderfunktionen dann nach zu lesen wenn sie gebraucht werden.



Habe mir ja mittlerweile auch das Open-book von "Java ist auch eine Insel" gezogen:

Galileo Computing :: Java ist auch eine Insel (8. Auflage)

Geht das dann am Ende auch als Nachschlagewerk?


----------



## k-b (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Jo ich schau bei allen Sprachen eigentlich auch mal gern bei Openbooks nach, wenn ich keine Bücher gerade da hab


----------



## Olstyle (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Habe mir ja mittlerweile auch das Open-book von "Java ist auch eine Insel" gezogen:
> 
> Galileo Computing :: Java ist auch eine Insel (8. Auflage)
> 
> Geht das dann am Ende auch als Nachschlagewerk?


Wie hier schon mehrfach erwähnt wurde ist es sogar DAS Nachschlagewerk für Java.
Ich hab zwar auch die "Vollversion" im Regal stehen(hat sich meine Mum mal gekauft), benutzen tue ich aber eigentlich nur die Onlineversion. Erstere ist einfach viel zu dick und bringt auch keine Suchfunktion mit.


----------



## huntertech (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Dafür musste mit dem Buch nicht immer nen PC in der Nähe haben


----------



## Olstyle (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Programmieren auf Papier tu ich maximal zwei mal im Jahr und dabei sind auch keine Bücher erlaubt  .


----------



## huntertech (16. Februar 2010)

*AW: Welche Sprache für Anfänger?*

stimmt auch wider


----------



## huntertech (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Da das Buch, was ich mir gekauft habe, mit den Prog1Tools arbeitet (ansammlung von Befehlen, die den Scanner ersetzen, z.B. readDouble), wollte ich die auch benutzen aber Eclipse kennt die nicht und streicht mir die immer als falsch an (also alle Befehle, wo Prog1Tools bzw. IOTools drin vorkommt). Aber mit der Eingabeaufforderung funktionieren die Programme (habe die passende Umgebungsvariable zu den Prog1Tools ja gesetzt).

Gibts irgendeine Möglichkeit, dass Eclipse auch diese Prog1Tools bekannt zu machen, dass ich also auch in Eclipse diese benutzen kann und Eclipse mir diese nicht immer als falsch anstreicht?



EDIT: Wollte jetzt auch einen Rechner programmieren, der einem errechnet, wie viele km man jährlich Fahren muss, damit sich ein Diesel lohnt. Die Gleichung in der Mathematik zur bestimmung der Kilometerleistung, bei der beide gleich viel kosten würden wäre ja:

Steuern von Auto 1 + (km-Kosten von Auto 1 * x) = Steuern von Auto 2 +(km-Kosten von Auto 2 * x)

Würde man es auflösen käme dann als x ja die benötigte Kilometerleistung/Jahr raus.


Habt ihr eine Idee, wie man das mit Java realisiert? Also das da die oben stehende Gleichung (natürlich mit passenden Variablen) aufgelöst wird und x errechnet wird?


----------



## bingo88 (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Du musst Eclipse die benötigten Libs mitgeben bzw. den Pfad:
Properties vom Projekt -> Java Build Path -> dann z. B. Libraries. Hängt davon ab, als was der Kram vorliegt!


----------



## Olstyle (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Würde man es auflösen käme dann als x ja die benötigte Kilometerleistung/Jahr raus.
> 
> 
> Habt ihr eine Idee, wie man das mit Java realisiert? Also das da die oben stehende Gleichung (natürlich mit passenden Variablen) aufgelöst wird und x errechnet wird?


Nach x Auflösen musst du schon selbst.
Rechnen kann dann Java.

Ein Programm dass Gleichungen mit einer (oder mehr) Unbekannten löst könnte man zwar sicher auch schreiben, das wäre aber deutlich komplizierter und aufwändiger.


----------



## huntertech (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Ich kann ja schlecht auflösen, wenn die entsprechenden Daten vom Benutzer eingegeben werden sollen.


Wenn ich jetzt bei der Gleichung (Steuern von Auto 1 + (km-Kosten von Auto 1 * x) = Steuern von Auto 2 +(km-Kosten von Auto 2 * x)) mal Beispielswerte einsetzen würde, würde die dann z.B. so aussehen:


160 + (5.50 * x) = 300 + (4.0 * x)

Würde dann so gelöst werden:

160 + 5.50x = 300 + 4.0x  | -4x
160 + 1.5 x = 300            |-160
1.5x = 140                      |*2/3
x = 93 1/3


Dann würde also ab einer Jährlichen Leistung von ~93km der Diesel besser sein. Da das (mir bekannte Aquivalenz-umformungs-)Verfahren ja aber nur funktioniert, wenn man die Werte kennt, kann ichs ja so nicht in ein Programm schreiben, welches die Werte aus Eingaben nimmt.


----------



## Bauer87 (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Du kannst natürlich mit kleinen X anfangen, immer größer werden und abbrechen, wenn Seite 2 größer wird als Seite 1. Dann liegt die Gleichheit zwischen dem letzten und vorletzten Schritt. Das wäre wohl die Variante, die am wenigsten Code braucht.

Du könntest natürlich auch zwei Kilometerwerte nehmen, bei denen ein Mal Auto A und ein Mal Auto B mehr kostet. Dann guckst du, ob der Wert in der Mitte für Auto A oder B günstiger ist und schachtelst so immer weiter ein. Das ist von der Laufzeit deutlich besser, benötigt aber drei Mal so viel Speicher. (Bei der Menge ist das natürlich vollkommen egal…) Der Vorgang wäre dann so:
A=0, B=100; A=50, B=100; A=75, B=100; A=87.5, B=100; A=87.5, B=93.75 ; A=90.625, B=93.75; …;genau genug: Abbruch.
Das ist dann für einen Anfänger schon etwas schwieriger zu implementieren, aber lohnt sich wie gesagt von der Laufzeit.

Die Königsdisziplin wäre, den Bereich zwischen geschätztem oberen und unterem Wert in ein Grid aufzuteilen ähnlich wie im ersten Ansatz zu rechnen, nur alle Gridpunkte gleichzeitig zu berechnen. Damit erreicht man dann auf der Grafikkarte in einem Takt schon die Genauigkeit, für die der erste Ansatz hunderte Schritte braucht und der zweite Ansatz immerhin noch einige duzend.

PS: Gleichungen numerisch Lösen ist aber auf jeden Fall schon fortgeschrittene Programmierung. Zumindest, wenn man es ernst nimmt.


----------



## Olstyle (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*



huntertech schrieb:


> Ich kann ja schlecht auflösen, wenn die entsprechenden Daten vom Benutzer eingegeben werden sollen.
> 
> 
> Wenn ich jetzt bei der Gleichung (Steuern von Auto 1 + (km-Kosten von Auto 1 * x) = Steuern von Auto 2 +(km-Kosten von Auto 2 * x)) mal Beispielswerte einsetzen würde, würde die dann z.B. so aussehen:
> ...



Natürlich kannst du die Gleichung allgemein lösen.
Du musst dir in dem Beispiel nur noch klar machen was was ist.

Im Endeffekt sollte dann das hier raus kommen (wenn ich mich nicht vertan habe):
x=(Steuern von Auto 2 - Steuern von Auto 1)/(km-Kosten von Auto 1 -km-Kosten von Auto 2)

Da du ja die vier Variablen hinter dem =-Zeichen vom User bekommst kann Java so x problemlos ausrechnen.


----------



## Bauer87 (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

…ob damit wirklich gemeint ist, dass er die Gleichung von Hand auflösen und dann nur noch den Quotienten in Java ausrechnen will? Das ist doch mal echt ein dämliches Anwendungsbeispiel: Programmiere einen Taschenrechner, der nur eine Aufgabe lösen kann. Die analytische Lösung von Hand berechnen und dann nur noch maschinell einsetzen ist doch langweilig. Dann lieber gleich maschinell arbeiten und nummerisch lösen.


----------



## huntertech (27. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Und wie genau soll ich das jetzt alles schreiben?


----------



## Bauer87 (28. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Was alles? Du wirst es doch hinbekommen, mit ner Schleife linke und rechte Seite zu berechnen und die Ergebnisse zu vergleichen?

Naja, aber hier mal das einfachste mit Pseudocode:

```
x = Anfangswert mit Kosten für Benziner kleiner
ggf. gewünschte Schrittweite abfragen
solange Kosten für Benziner kleiner{
    berechne Kosten für Benziner bei x Kilometern Laufleistung
    berechne Kosten für Diesel bei x Kilometern Laufleistung
    verschiebe x um Schrittweite nach Rechts
}
Ausgabe: "Diesel lohnt sich ab x Kilometern. (Das Ergebnis kann um die eingegebene Schrittweite nach unten abweichen.)"
```


----------



## huntertech (28. Februar 2010)

*AW: Welche Sprache für Anfänger?*

Guck ich mir mal an


----------



## huntertech (2. März 2010)

*AW: Welche Sprache für Anfänger?*

So hat soweit geklappt 

Aber mir ist noch etwas aufgefallen: Wenn ich ein Programm mit Eclipse schreibe und dann speichere und dann mit Eclipse wieder öffne, ist die automatische Korrektur aus, der streicht mir also nichts mehr als falsch an. Kann man das so einstellen, dass die Nachher auch noch an ist? So muss ich immer den Quellcode kopieren und ein neues Projekt machen und da dann einfügen.


----------



## bingo88 (2. März 2010)

*AW: Welche Sprache für Anfänger?*

Das ist aber ungewöhnlich... hast du mal versucht, das Programm dann zu starten? Normalerweise müsste der das dann nämlich nochmal checken. Visual Studio (bzw. C#) nörgelt manche Fehler auch erst beim Startversuch an...


----------



## huntertech (2. März 2010)

*AW: Welche Sprache für Anfänger?*

Ja, hat geklappt, danke


----------



## Thomsn (3. März 2010)

*AW: Welche Sprache für Anfänger?*

Dieses automatische Anzeigen von Fehlern resultiert ja nur aus dem automatischen Kompilieren. Heißt, Eclipse ist so eingestellt, dass es nach jeder Änderung an dem File versucht, es zu übersetzen.

Vielleicht ist das bei dir einfach ausgestellt. Die Option müsste sich Auto Build nennen, wenn ich das richtig im Kopf hab.


----------



## bingo88 (3. März 2010)

*AW: Welche Sprache für Anfänger?*



Thomsn schrieb:


> Dieses automatische Anzeigen von Fehlern resultiert ja nur aus dem automatischen Kompilieren. Heißt, Eclipse ist so eingestellt, dass es nach jeder Änderung an dem File versucht, es zu übersetzen.
> 
> Vielleicht ist das bei dir einfach ausgestellt. Die Option müsste sich Auto Build nennen, wenn ich das richtig im Kopf hab.


Jo, genau das gibt's auch noch. Dann erstellt der das nämlich beim Speichern neu und checkt die Fehlerchen


----------



## huntertech (3. März 2010)

*AW: Welche Sprache für Anfänger?*

Achso, danngeschöön


----------



## bingo88 (3. März 2010)

*AW: Welche Sprache für Anfänger?*

Kein Ding. Eclipse entwickelt manchmal ein kleines Eigenleben


----------



## huntertech (4. März 2010)

*AW: Welche Sprache für Anfänger?*

Bööses Eclipse


----------

