Welche Programmiersprache für Anfänger ?

Okay, dann versuche ich das noch mal in XHTML zu machen. Der größte Unterschied, wenn ich das richtig feststelle, ist der Anfang mit der Dokumenttyp-Deklaration um den Bezug zu XML zu schaffen, richtig?
 
Das wäre der auffälligst Unterschied ja. Ansonsten musst du darauf achten, dass der Code auch valides XML ist. Es gibt beispielsweise <br> in HTML. In XHTML musst du <br /> schreiben, kurz: Zu jedem öffnenden Tag muss es ein schließendes Tag geben.

Wie schon erwähnt, sind in XHTML auch einige Tags wie <u> und <b> deprecated.
 
Ich habe einfach die XML-Deklaration aus dem SELFHTML Beispiel genommen und das neu gemacht.
Es hat jetzt zu erstenmal funktioniert:


<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tranistional//EN"
"http://www.w3.org/1999/xhtml">


<head>
<title> Meine ersten Gehversuche </title>
</head>

<body>
<h2>Uninteressant</h2>

Ich bin glueckliches CB Mitglied. <br>
<b> Name: </b> Dr.Cox <br>
<b> Alter: </b> 18 jahre jung <br>
<b> Hobby´s: </b> Glocken starren und Loecher stopfen <br>
<b> Hardware: </b> i7 2600k @ 4GHz <br>
8GB RAM Corsair <br>
GTX 480AMP! <br>
Seasonic X650W <br>
Bald ein Lancool K62 <br>


</head>


So, für heute muss ich leider Schluss machen. Denn ich habe mir grad alles von der Homepage ausgedruckt und mache jetzt Lektüretraining. Morgen bei 2h Zugfahrt kann ich es weiter üben.
Danke für eure Hilfe !
 
Dr.Cox schrieb:
Es hat jetzt zu erstenmal funktioniert:
Aber nur, weil die Browser extrem fehlertolerant sind. Das ist nämlich weder valides HTML noch XHTML. Siehe meinen obigen Post und schau dir deine letzte Zeile nochmal genau an.
 
Hallo, ich schaue mir genau die ganzen Tags für XHTML an. Meinst du die Codes wie <b>xxx</b> sind veraltet?
Was wird stattdessen genommen?
 
Man gestaltet den Text mit CSS mit font-weight: bold oder Ähnlichem.
Alternativ sollte <strong> noch die beste Methode sein, um es in HTML direkt zu machen.
 
Python,
auch wenn ich noch gar nicht damit Programmiert habe würde ich wenn ich programmieren lernen wollte glaube ich diese Sprache wählen.

Pro:
+ sehr gute und viele Bibliotheken
+ du gewöhnst dir die richtige Formatierung an
+ einfach aber mächtig
+ Scriptsprache, läuft ohne großes Tuddelmuddel auf jeden verbreiteten OS
+ modern

Contra:
- Du lernst nicht wie man Speicher alloziert
 
Zuletzt bearbeitet von einem Moderator:
Furtano schrieb:
Contra:
- Du lernst nicht wie man Speicher alloziert

Ein eher unwichtiges Contra. Das kann er dann immer noch lernen, wenn er später mit einer Sprache anfängt, in der man sich direkt mit dieser Thematik auseinandersetzen muß/kann.
 
Nochmal schnell zum (X)HTML-Code:

die letzte Zeile ist falsch. Der Head-Teil ist schon längst geschlossen und du befindest dich gerade im Body. Also müsstest du den Body schließen und nicht Head. Außerdem müsstest du sowohl Head als auch Body eigentlich in ein "<html>"-Tag packen.

Es ist sicher nützlich etwas HTML zu lernen aber eine richtige Programmiersprache ist das noch lange nicht. Dennoch ist es sicher erstmal befriedigender sich damit ein wenig zu beschäftigen. Wenn du etwas in Richtung IT studieren willst empfiehlt es sich schon vorab eine Programmiersprache erlernt zu haben. Das erleichtert den Einstieg ins Studium ungemein (der dennoch Vielen schwer fällt).

An den Unis werden (meines Wissens) vor Allem Python, C#, Java und C++ genutzt. Von Python war ich noch nie besonders angetan aber das sind nur meine persönlichen Präferenzen. Am Lohnendsten wäre es wohl sich mit Java zu beschäftigen. Hier ist der Einstieg vielleicht einen Tick schwerer aber dafür hast du dann eine echt solide Basis. Und wer eine Programmiersprache kann kann im Prinzip auch alle Anderen (oder kann sie schneller lernen :D).
 
antred schrieb:
Ein eher unwichtiges Contra. Das kann er dann immer noch lernen, wenn er später mit einer Sprache anfängt, in der man sich direkt mit dieser Thematik auseinandersetzen muß/kann.
Wenn man richtig programmieren lernen will, gehört sowas eigentlich mit zum Verständnis dazu.
 
Mit Python, PHP, JavaScript, Java, C#, etc. programmiert man auch "richtig" und muss trotzdem nicht zwangslaeufig mit solchen Details in Beruehrung kommen.

Klar, ungefaehr zu wissen was da im Computer ueberhaupt abgeht, ist schon hilfreich. Aber gerade wenn man "erstmal nur programmieren" will, ist es einfach unnoetig.

Ausserdem ist es mit der Allokation von Speicher nicht getan. Wenn man schon auf die Ebene runter will, sollte man m.M.n. gleich lernen wie Computer und Betriebssystem funktionieren. Das kann er aber auch waehrend seines Studiums machen, zumal in den Grundlagenveranstaltungen sowieso auf das wichtigste eingegangen wird.

Meine Empfehlung ist uebrigens auch Python als Einstieg. Es ist ausgereift, sauber, maechtig und fuehrt schnell zu Ergebnissen.

Desktopanwendungen, Spiele oder Webprogrammierung sind damit kein Problem.
Letzteres kann man dann mit dem Erlernen von HTML, CSS und JavaScript verbinden. JavaScript ist auch eine sehr schoene Sprache mit interessanten Konzepten.
 
Zuletzt bearbeitet:
Also so viel Blödsinn habe ich noch nicht gelesen, weder HTML, SQL oder xHTML sind Programmiersprachen !!

Wenn du wirklich Programmieren lernen willst und das RICHTIG, fängst du mit der Mutter an, C!!.
Jetzt werden einige aufschreien, auf keinen Fall C, jedoch haben allle höheren Programmiersprachen von C gelernt.
Ich selber habe einmal mit Pascal angefangen, dann weiter zu JAVA, Csharp und C.

Jedoch wäre es besser gewesen C als erstes zu erlenen, hier lernt man nicht nur wie Code geschrieben wird, sondern wird auch für Speicherverwaltung usw. sensibilisiert.

Man muss C nicht in Perfektion beherrschen aber wenn man die Grundlagen verstanden hat, sind Java, Csharp und Objectiv-C nicht mehr sehr schwer und ja C macht Spass.

Eclipse CDT + GCC und du brauchts nicht mal mehr die Kommandozeile egal ob Windows oder Linux.

Übrigens sehr viele hardwarenahe und schnelle Anwendungen für PC, Android oder iPhone(hier halt Objective-C) werden heute und auch in den nächsten Jahren in C/C++ geschrieben.

Lass wenn du dicht nicht auf das WEB beschränken willst von PHP, Javascript die Finger und richtig lernen willst.

Studierst du irgendwann mal Informatik kommt JAVA sowieso aber du lernst auch Sachen kennen wie Prolog oder Haskell.

Also mach's richtig.

Gruß
SahneBär
 
SahneBär schrieb:
Wenn du wirklich Programmieren lernen willst und das RICHTIG, fängst du mit der Mutter an, C!!.

Kann man machen, muß man aber nicht. Das jetzt so hinzustellen, als wäre einzig und allein C die "richtige" Wahl als Einstiegssprache, entspricht einfach nicht der Wahrheit. Ich sag's noch mal, sich mit den Komplexitäten von manuellem Speichermanagement auszukennen, ist nützlich aber für den Anfang nicht zwingend notwendig. Man könnte sogar argumentieren, daß solche technischen Details am Anfang nur hinderlich für das eigentliche Ziel sind - und zwar das richtige "Fingerspitzengefühl" fürs Programmieren zu bekommen und frühzeitig ein paar Erfolgserlebnisse zu haben, denn das motiviert unheimlich zum Weiterlernen.
 
Wie kann man denn dafür sein mit C anzufangen aber dann gleich eine wahnsinnig aufgeblähte IDE wie Eclipse verwenden statt es auf der Kommandozeile zu machen (wenigstens mal selbst ein Makefile schreiben)?
Zu lernen wie kompiliert und gelinkt wird halte ich noch für wesentlich wichtiger - und hilfreicher für die spätere Praxis - als manuelle Speicherverwaltung. Wie viele Leute gibt es, die es schaffen mit einer IDE irgendetwas zu kompilieren aber hilflos sind, sobald mal irgendwas nicht funktioniert wie es sollte.
Da bringt es viel mehr für's Verständnis, mal selbst alles per Kommandozeile zu kompilieren und vielleicht auch per gdb zu debuggen. Das muss man nicht für immer weitermachen, sollte man aber meiner Meinung nach wirklich mal gemacht haben.
Ganz im Gegensatz zu manueller Speicherverwaltung, das ist zwar gut zu können und sollte man vielleicht auch mal gemacht haben (und sei es nur, dass man für das Thema sensibilisiert ist und auch bei automatischer Speicherverwaltung besser mit dem Speicher umgeht), muss aber keineswegs am Anfang sein.

Um Programmieren zu lernen ist es letztendlich völlig egal mit welcher Sprache man anfängt, später weitere zu lernen wird immer einfacher und wenn die zugrundeliegenden Paradigmen nicht völlig unbekannt sind muss man sich irgendwann nur noch schnell ein wenig mit der Syntax (und evtl. den Standardbibliotheken) auseinandersetzen und schon kann man mit der neuen Sprache arbeiten.

Meine Empfehlung wären Python und Scheme. Später vielleicht Java, C, C++ oder C#.
Ich selbst habe nicht damit angefangen, aber inzwischen verwende ich wirklich sehr gerne Python und Scheme (oder ähnliches) sollte jeder mal gesehen haben, hat jedenfalls meinen Horizont erweitert und bin froh, dass ich im Studium dazu "gezwungen" wurde.
 
Zuletzt bearbeitet:
[IRONIE]
Wieso sollte man denn so eine hohe Sprache wie C lernen? Da weiß man ja nicht mal in welche Register was reingeschrieben wird und weiß somit gar nichts über den internen Aufbau des Programms!
[/IRONIE]

Also ich behaupte ja einfach mal: je nach Anforderung sollte auch die Wahl der Programmiersprache anders ausfallen ;)

Nicht jeder will unbedingt C lernen und es ist auch nicht für jeden angebracht. Wenn ich nur mal eine kleine Homepage basteln will brauche ich dafür kein C.
 
Speicherverwaltung, das alte Streitthema....
Ich seh das so: Ja, es ist nützlich, wenn man weiß, wie Speicher verwaltet wird. Und es ist auch nützlich, wenn man C/C++ kann, aber man MUSS das nicht unbedingt wissen, außer man schreibt gezielt für Umgebungen, wo nix anderes geht bzw. wo man nur auf diese Weise die nötige Performance erzielen kann. In vielen Fällen braucht mans aber halt nicht.

Das primäre Ziel von "ich möchte Programmieren lernen" ist doch, sich mal Gedanken um Abläufe, Strukturen und grundsätzliche Herangehensweisen zu machen, nicht darum, was genau der Blechkasper unterm Tisch sich dann dabei denkt. Wenn man sich wirklich mit der Funktionsweise einer CPU auseinandersetzen will, dann führt schließlich kein Weg um ASM drumrum.
Aber wie schon gesagt, wenn man nur wissen will, wie das mit dem Programmieren von Anwendungen so funktioniert, dann sollte man sich erstmal Gedanken um den Programmablaufplan machen, um die Datenstrukturen, um die genaue Aufgabenstellung,... und nicht darum, ob man jetzt einen Double- oder Float-Wert deklariert und ob man nun Speicher zuordnen muss oder obs bei der Sprache egal ist.

Meiner Meinung nach sollten die ersten Schritte in einer Sprache erfolgen, die viel ermöglicht ohne viel zu fordern. Da gehört C nun wirklich nicht dazu. C kann man schreiben, wenn man dazu auch gleich noch weiß, wie man Makefiles schreibt. Aber dann wiederum... warum C? Bis man sich damit auseinander setzt hat man auch schon Objektorientierung gelernt, dann ist C ein Rückschritt... Dann wirds halt eher C++.
 
Ich habe an der uni Java gelernt, und das war aus meiner Sicht auch gut so. Danach war der Einstieg in C++ recht easy. Wenns später in Richtung Webentwicklung gehen soll würde ich mit PHP anfangen.
 
Daaron schrieb:
Meiner Meinung nach sollten die ersten Schritte in einer Sprache erfolgen, die viel ermöglicht ohne viel zu fordern. Da gehört C nun wirklich nicht dazu. C kann man schreiben, wenn man dazu auch gleich noch weiß, wie man Makefiles schreibt. Aber dann wiederum... warum C? Bis man sich damit auseinander setzt hat man auch schon Objektorientierung gelernt, dann ist C ein Rückschritt... Dann wirds halt eher C++.

Wenn man so geil auf Objektorientierung ist, weil es ja schon länger das Buzzword ist, auf
das alle so abfahren, kann man ja immer noch in C objektorientiert programmieren.

Also ist absolut kein "Rückschritt" da. Selbst wenn man Objektorientierung fälschlich als Fort-
schritt sieht. Und man kann genauso vernünftige Programme schreiben und dabei auf Objekt-
orientierung vollkommen verzichten. Es ist wie gesagt nichts weiter als ein Buzzword und
eigentlich nur eine von vielen Methoden, ein Problem anzugehen. Andere Methoden sind aber
genauso mächtig.

Den Objektorientierungsfans hier möchte ich sagen "Wenn alles, was man hat ein Hammer
ist, sieht jedes Problem aus wie ein Nagel". Man sollte seine Fähigkeiten erweitern und für
jedes Problem das passende Werkzeug haben. Und Objektorientierung ist es beileibe nicht
immer.
 
Zuletzt bearbeitet:
Zurück
Oben