Welche Sprache für Anfänger?

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.
 
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 ...
 
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()
{
System.Console.WriteLine("Hallo Welt!");
}
}


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()
{
int zahl1, zahl2;

printf("PCGHX.DE\n\n");

printf("Bitte geben Sie die 1. Zahl ein: ");
scanf("%i", &zahl1);

printf("\n\nBitte geben Sie die 2. Zahl ein: ");
scanf("%i", &zahl2);

if (zahl1 > zahl2)
{
printf("\n\nAnweisung 1 wird ausgefuert: Zahl 1 ist groesser!");
}

else
{
printf("\n\nAnweisung 2 wird ausgefuert: Zahl 2 ist groesser!");
}

getch();
return 0;
}
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.
 
Zuletzt bearbeitet:
AW: Welche Sprache für Anfänger?

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

System.out.println("Bitte geben Sie die 1. Zahl ein");
zahl1 = InOut.leseInteger();

System.out.println("Bitte geben Sie die 2. Zahl ein");
zahl2 = InOut.leseInteger();

if(zahl1 > zahl2)
{
System.out.println("Anweisung 1 wird ausgefuehrt: Zahl 1 ist groesser!");
}
else
{
System.out.println("Anweisung 2 wird ausgefuehrt: Zahl 2 ist groesser!");
}


}
}
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 :daumen:
 
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 :-)
 
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.
 
AW: Welche Sprache für Anfänger?

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.
 
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.
 
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.
 
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 ...
 
Zuletzt bearbeitet:
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 ...

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.
 
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 :ugly::
PHP:
_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 :devil:
 
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 :-)

Klar, könnt' nur noch was dauern, bis ich endlich n Buch gekauft bekomme, müsste aber noch diesen Monat passieren ;)
 
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?
 
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.
 
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.
 
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.
 
Zurück