Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Programmieren lernen - Welche Software, welche Sprache?
Wenn Du Studieren willst und Dich dafür bereits jetzt in eine Programmiersprache einarbeiten willst, dann nehm Java. Ganz eifnach weil die Uni zu 99% auch Java bentuzen wird .
Daneben eigenet sich Python gut, um sich die Grundkennisse anzueignen. Für Objektorientierung wirst Du dann aber irgendwan sowieso auf eine andere Sprache umsteigen müssen (wie etwa Java, oder auch C#).
Also Python würde ich, wie viele andere hier auch, empfehlen Die Sprache ist einfach und man kann beispielsweise mit der Schildkröte malen... War ziemlich Simpel und hat echt Spaß gemacht, da wir 3D Bilder damit gemalt haben und man immer Schritt für Schritt die Kröte geschickt hat
Einen kurzen Abstecher haben wir dann in VBA gemacht, war ziemlich gut um die Grundlagen der, ich nenn es mal "richtigen" Programmierung zu lernen. Danach geht Java, wenn man sich damit gut auseinander setzt einfach von der Hand. So lief es zumindest bei mir ab und danach kannst du auf alle Fälle sagen, obs dir gefällt oder nicht .
Was du angesprochen hattest mit Web: Ich liebe es mit HTML5 und CSS zu arbeiten. Es macht einfach unheimlich viel Spaß und du solltest dir das unbdedingt mal ansehen.
Den Anfang habe ich mit einem Buch gemacht, das aus dem Jahr 2000 stammt ^^. Ich würde dir empfehlen ein gut bewertetes Buch auf Amazon zu bestellen, wenn du weißt das du das wirklich machen möchtest. Ansonsten gibt es für den Anfang sehr gute Videos auf Youtube. Gib mal in der Suche auf YT Graphicone ein, mir gefallen seine Videos...
So das wäre es von meiner Seite, etwas unstrukturiert, aber hey
Was würdet ihr denn machen wenn es um Web Programmierung geht? Ich habe mir überlegt ob ich eine Internetseite für eine Freundin programmiere, und daran könnte ich dann praktisch lernen!
Wenn es unbedingt webdevelopment sein muss würde ich python empfehlen, da gibt es einige nette frameworks für.
Aber: Die Sprache die du nimmst ist im Grunde egal. Du wirst ohnehin einige an Zeit an den basics arbeiten bevor du sowas anfangen solltest und die sind bei allen hier genannten Sprachen (Pascal, Delphi, C, C++, C#, Java, python) gleich. Du kannst also eine beliebige aussuchen und dann nach dem Einstieg problemlos (meint vielleicht einen Tag um sich an die andere Syntax zu gewöhnen).
Aus usability Gründen würde ich dir Java ans Herz legen, einfach weil ich es immer sehr anstrengend fand Visual Studio (C, C++, C#) zu installieren und ich Python noch nie auf Windows entwickelt habe, das ist aber nur meine persönliche, eventuell veraltete Erfahrung.
Edit: Wenn du dich auf die Uni vorbereiten möchtest, schau ob du vielleicht irgendwo das Material (Folien und Übungsaufgaben) von einem Einstiegskurs für Programmierung findest und arbeite das durch.
Java ist eine Überlegung wert, ich würde aber mit C anfangen. Und wenn er Informatik studieren will wird er mit Assembl ( y | er ) arbeiten müssen / dürfen, ich fand es toll.
Geh einfach mal auf Wikipedia und schau dir mal da die "HelloWorld" Programme an, damit du auch mal siehst wie sich die Programmiersprachen voneinander im Aussehen unterscheiden.
Viel kann man nicht so dazu sagen finde ich jetzt. Ob C, C++, C#, Java, Javascript, Python, Ruby, LUA, ...
Pick dir das was dir am besten aussieht und spiel etwas rum. Im ersten Semester bekommt ihr die Basics beigebracht, bzw. müsst euch die in den Übungen erarbeiten.
Mein Empfehlung: C oder Java.
Oder anders gefragt, wenn du Informatik studieren würdest, wo würdest du studieren wollen? Dann würde ich erstmals schauen was die Profs da so beibringen und das mit in deiner Entscheidung teil haben lassen.
Es ist zwar ne ganz gute Kompromisslösung um zu lernen, was auf einer Maschine tatsächlich vor sich geht, aber sie legt einem viel zu viele Fallstricke in den Weg und macht es einem dadurch unnötig schwer sich in die eigentlichen Programmierstrukturen einzuarbeiten (und das Sage ich als überzeugter C++-Programmiere).
Gibt es irgendwo gute Tutorials womit ich üben kann? Würde als erstes am liebsten versuchen eine Webseite zu programmieren. Möchte auch alles direkt mit HTML5 und den neuesten Web Standards. Wie würdet ihr dafür vorgehen? Welche Programme würdet ihr nutzen?
An meinen zwei Unis gab's von vorn bis hinten Java. Zwischendurch natürlich Abstecher in alle anderen Sprachen, aber sonst nur Java.
Für einfache Webentwicklung kann ich ruhigen Gewissens Node.js empfehlen. Vorteil: Eine Sprache für Front- und Backend. Zumindest wenn es um sehr dynamische Seiten und Single-Page-Apps geht.
Dasselbe kann man auch in Java mit GWT haben, aber da braucht's dann doch schon einige Erfahrung, bis man es verstanden hat.
Für statische Inhalte tut es prinzipiell jede Sprache. Das Einfachste ist natürlich PHP, ABER ... (den Part spar ich mir jetzt, sonst müsste ich sämtliche Speicherressourcen des Servers hier aufbrauchen und keiner könnte mehr antworten ). Vergiss diese 3 Buchstaben einfach ganz schnell wieder.
Greif lieber zu Ruby (on Rails), Python, Java oder eben auch Node.js. Da macht man nichts verkehrt und es gibt massenhaft Kram dazu im Netz.
Die ganzen C-Derivate wären natürlich auch Optionen, allerdings gerade in der Webentwicklung quasi nicht vertreten (abgesehen von C#, aber (fast) niemand benutzt Windows als Web-Server). D.h. wenig Infos, Beispiele und Hilfe im Netz.
Würde als erstes am liebsten versuchen eine Webseite zu programmieren. Möchte auch alles direkt mit HTML5 und den neuesten Web Standards. Wie würdet ihr dafür vorgehen? Welche Programme würdet ihr nutzen?
Dazu braucht man genau zwei Programme: eine Web-Browser (Mozilla finde ich schön wegen der Entwicklungsunterstützung) und einen Text-Editor.
Dann erstellst Du ein Verzeichnis: "C:\Meinweb" und dort drin erstellst Du eine leere Textdatei mit dem Namen "dan1.html". Diese Datei lädtst Du in den Texteditor und schreibtst rein:
Code:
<html>
<head>
<title>Dans erste Webseite</title>
</head>
<body>
<h1>Eine Webseite</h1>
<p>Ein Text auf der Webseite</p>
</body>
</html>
Dann hast Du Deine Webseite "programmiert". Von hier gehts dann weiter:
Java ist für Anfänger top, einzig aus dem Grund dass man präzise Fehlermeldungen auf die Zeile genau bekommt.
Was habt ihr mit Python ? Das versteckt vieles mit seinen ganzen Komfort Features die jede Skriptsprache hat und ist nicht leichter als Java mit seinen Grundfunktionen. Und wieso der Bammel vor Objektorientierung ? In Java kann es nicht leichter sein. .java Datei = Klasse = Objekt, wenn man sauber programmiert.
Objekte sind halt sowas wie virtuelle "Kopien" einer Klasse, die eigenständig funktionieren ohne einer anderen Kopie quer zu schießen. Mehr ist Objektorientierung nicht.
Es ist immer das gleiche wie sich hier dir Köpfe über Programmiersprachen eingeschlagen werden...
Er will Webseiten bauen, dann lasst ihn doch erstmal statische Wenseiten mit HTML5, CSS3 und JavaScript (ECMA6) bauen. Da hat er genug Arbeit und wenn er dann nicht das Interesse verliert, kann er immernoch eine Sprache lernen um sein HTML dynamisch zu erzeugen!
Und C? Rlly? Es gibt wohl überhaupt gar kein Diskussionspotential, dass C so mit die ungeeignetste Sprache ever für dynamische Webseiten ist. Da haben "Exoten" wie Haskell noch eine deutlich höhere Verbreitung wie C.
C ist nicht mal für Anfänger geeignet die keine 300% Frustresistenz haben.
Selbst Erfahrene Java Entwickler heulen bei C, hat keine Komfortfunktionen, macht Ärger und die Fehlermeldungen sind bei 20.000 Zeilen Code etwa so: "Segmentation fault". Oft gibt es nicht mal einen Fehler, es funktioniert vorerst, nur dann crasht es irgendwann irgendwo.
Kriegst du in Python genau so. Wahrscheinlich auch in jeder anderen halbwegs modernen Skriptsprache.
rob- schrieb:
Was habt ihr mit Python ? Das versteckt vieles mit seinen ganzen Komfort Features die jede Skriptsprache hat und ist nicht leichter als Java mit seinen Grundfunktionen. Und wieso der Bammel vor Objektorientierung ? In Java kann es nicht leichter sein. .java Datei = Klasse = Objekt, wenn man sauber programmiert.
Java ist sicherlich eine Option. Mir persönlich missfällt allerdings der Zwang, dass alles eine Klasse sein muß. Wieso sollte ich für ein Hallo-Welt-Programm eine Klasse erstellen müssen, die dann sowieso nur statische Methoden enthält?
Ja. Es ist beinahe unfassbar welche Bedeutung Java an Unis erlangt hat. Man könnte denken so ein Informatikstudium ist verkommen zu einem Ausbildungsberuf für die Industrie.
Als Lehrsprache gibt es sicherlich bessere Sachen. Vorallem sollte man ja meinen gerade im Rahmen eines Studiums kann man auch mal etwas exotischere Sachen nehmen die dafür aber konzeptionell sauber sind. Beispielsweise funktionale Programmierung anhand von Haskell oder OOP anhand von Smalltalk usw.
Das auch wirklich die Konzepte mehr in den Vordergrund treten.
Mit Java programmieren lernen ist so, wie mit Hilfe einer Seifenkiste ein Führerschein zu machen. :-)
Oder wie würdest Du das einschätzen?
benneque schrieb:
Für einfache Webentwicklung kann ich ruhigen Gewissens Node.js empfehlen. Vorteil: Eine Sprache für Front- und Backend. Zumindest wenn es um sehr dynamische Seiten und Single-Page-Apps geht.
Das PHP lediglich den Vorteil hat, auf jedem Feld, Wald und Wiesenhoster verfügbar zu sein und sonst eigentlich nur (ne ganze Latte) an Nachteilen hat, ist sicher keine Diskussion wert. :-)
benneque schrieb:
Vergiss diese 3 Buchstaben einfach ganz schnell wieder.
Ja. Gerade so Rails-like-Sachen machen es einem ja extrem einfach schnell mal was lauffähigen auf die Beine zu stellen, was man dann nach und nach ausbauen kann.
benneque schrieb:
Die ganzen C-Derivate wären natürlich auch Optionen, allerdings gerade in der Webentwicklung quasi nicht vertreten (abgesehen von C#, aber (fast) niemand benutzt Windows als Web-Server).
Naja. Der .NET-Kram ist schon ziemlich interessant und auch mächtig für Webentwicklung. Allerdings ist das nix, was ich jetzt einem Anfänger vor die Füße werfen würde. Das kann man mal angehen, wenn man in der Materie drin ist.
Was die Plattformabhängigkeit angeht tut sich ja jetzt vielleicht mehr (also mehr als vorher durch Mono) wo .NET open-sourced ist.
Gruß
Andy
Ergänzung ()
rob- schrieb:
Java ist für Anfänger top, einzig aus dem Grund dass man präzise Fehlermeldungen auf die Zeile genau bekommt.
Ja. Vorallem sollte man sich erstmal ne Vorlage machen von dem, was bei Java am schwierigsten zu merken ist:
Code:
class MyClass {
public static void main(String[] args) {
}
}
:-)
rob- schrieb:
Was habt ihr mit Python ? Das versteckt vieles mit seinen ganzen Komfort Features die jede Skriptsprache hat und ist nicht leichter als Java mit seinen Grundfunktionen. Und wieso der Bammel vor Objektorientierung ?
Ja. Java ist so toll objektorientiert, dass man sich beispielsweise mit primitiven Typen herumschlagen muss die dann plötzlich keine Objekte sind und solche Schoten.
Abgesehen ging es um Webanwendung und das heißt bei Java, dass man sich ggf. mit JavaEE oder vergleichbaren Frameworks rumschlagen muss.
Ist ansich nicht wirklich ein Problem. Ob es für einen Anfänger das Richtige ist .... ist zumindest diskussionswürdig.
(und ja: theoretisch kann man erstmal mit nem einfachen Servlet/JSP-Contrainer rumspielen)
Was das bedeutet und wo die Unterschiede sind -> Google.
Und gewöhn dir besser ganz schnell an selbst zu Googeln, das wirst du noch tausende male benötigen.
Schau dir mal HTML5 und CSS an. Java ist für den Anfang eher schwer. HTML zählt zwar nicht als vollwertige Programmiersprache, aber gerade für Anfänger ist es einfach, gute Ergebnisse zu erzielen.
Als Software empfehle ich dir den kostenlosen Texteditor "Sublime Text 2".
Aaaaahhhh. Von diesen Büchern bekomme ich Alpträume. Warum nicht einfach einen Web-Kurs durcharbeiten? Und dann auf Self-HTML vertauen? Ganz ohne Geldausgabe.
Ja. Java ist so toll objektorientiert, dass man sich beispielsweise mit primitiven Typen herumschlagen muss die dann plötzlich keine Objekte sind und solche Schoten.
Da ist es in etwa auf einem Level mit C++. Was aber auch überhaupt nicht schlimm ist. Die 1-2 mal im Monat, dass man ein 2.pow(4) gebrauchen könnte, kann man auch Math.pow benutzen
Und man kann pro .java Datei beliebig viele Klassen erzeugen, in Form von inneren Klassen, was hier und da sehr praktisch für die Strukturierung und Sichtbarkeit ist.
Oder eher nicht nachdenken/wissen was man tut und/oder was gerade passiert.
Daher sollte man, wenn man schon C Programmiert den Rechner etwas verstehen und sich veranschaulichen was die einzelnen Funktionen alles machen und nicht nur:"Damit lese ich eine Datei aus....".
Nicht falsch verstehen, ich programmiere auch in Java, aber mit dem nachfolgenden kann ich dir absolut nicht zustimmen. Ich weiß echt nicht woher du das hast.
Selbst Erfahrene Java Entwickler heulen bei C, hat keine Komfortfunktionen, macht Ärger und die Fehlermeldungen sind bei 20.000 Zeilen Code etwa so: "Segmentation fault". Oft gibt es nicht mal einen Fehler, es funktioniert vorerst, nur dann crasht es irgendwann irgendwo.