PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerfragen zur Programmierung


XtraLarge
2008-06-04, 19:37:55
Hallo zusammen!

Da ich demnächst wahrscheinlich eine Ausbildung zum FiSi anfange, sollte ich mich so langsam mal damit beschäftigen.

Soweit ich beim googlen rausgefunden habe, sind vom Prinzip her die meisten Programmiersprachen ähnlich. Allerdings habe ich da so meine Schwierigkeiten. Ich habe mal vor ca. 6 Jahren mit einem SEHR dicken C++ Buch angefangen. Die Erfolge waren eher... :rolleyes: In der Ausbildung wird scheinbar Delphi gelehrt. Ist die Sprache tatsächlich für Einsteiger brauchbar? Vorallem wenn man ein Brett vor dem Kopf hat? Oder gibt es eine einfachere Möglichkeit die Syntax zu lernen bzw. zu lernen, wie man dem Computer brauchbare Befehle gibt?

Bin für jeden Tipp dankbar, möchte aber darum bitten, keinen Programmiersprachen-Flamewar auszulösen :smile:

Besten Dank schonmal!

(del)
2008-06-04, 19:47:18
naja delphi ist vom syntax her so wie turbo pascal. es kommt drauf an, was du unter brauchbar verstehst, sie ist halt relativ intuitiv. in der delphi-programmierumgebung kannst du halt recht intuitiv per drag und drop fensterchen bauen, eigenschaften verändern und verschiedenen programmieren was passiert, wenn der user etwas bestimmtes macht.
lernt man normalerweise in der oberstufe, falls der lehrer keine lust hat etwas "brauchbares" zu unterrichten, so viel zum flamewar ;).
google doch einfach mal nach delphi bzw. turbo pascal tutorial und da siehst du, dass die sprache syntaktisch relativ intuitiv ist...

Monger
2008-06-04, 19:56:31
Delphi?!?
Ach du schande... das war ja schon zu meinen Schulzeiten völlig out! :ugly:


Die Frage, wie man am besten eine Programmiersprache lernt, kann man wohl gar nicht eindeutig beantworten. Das kommt wohl auf den Typ an.

Meiner Meinung nach gibt es mal grundsätzlich mindestens zwei Ansätze zur Programmierung: der pragmatische und der theoretische.
Der erstere ist eher "Learning by Doing", und nähert sich allmählich vom prozeduralen Ansatz dem Problem an. Dafür sind skriptorientierte Sprachen ganz sinnvoll wie z.B. Python, weil man damit auch schnell Ergebnisse erreichen kann.

Ich persönlich konnte mit diesem Ansatz kurioserweise die gesamte Schulzeit bis hinein ins Studium überhaupt gar nichts anfangen, bis ich das ganze mal von der theoretischen Seite kennengelernt habe: was ist überhaupt eine Sprache, wie funktioniert ein Parser, wie werden Zusammenhänge modelliert, was ist Objektorientiertes Design... zumindest bei mir musste tatsächlich erst die Theorie einsickern, bevor ich praktisch überhaupt im Stande war irgendeinen durchgängigen Gedanken zu formulieren.
Für den Ansatz halte ich Java (was ähnlich wie Delphi einen nahezu rein akademischen Hintergrund hat) und .NET (weil es ungeheuer komfortabel und vielseitig ist) für die beste Einstiegsmöglichkeit, weil sie beide sich relativ weit von der Maschine entfernen, und somit von der Theorie her relativ saubere Gedankenkonstrukte sind.

Gast
2008-06-04, 20:01:09
Delphi wird hier keinen Flamewar auslösen. Delphi ist von Pascal abgeleitet und war immer mehr Lehrsprache, denn in der Anwendung. Nutzen tut das kaum noch jemand. Aktueller und Praxisnäher sind C# und Java.

Um anzufangen, würd ich aber erstmal gar keine Programmiersprache lernen. Schnapp dir Notepad und schnupper mal in HTML rein. Danach bisl Javascript, dann weitersehen. :)

<start>

http://de.selfhtml.org/

creave
2008-06-04, 20:04:22
Delphi?!?
Ach du schande... das war ja schon zu meinen Schulzeiten völlig out! :ugly:




Delphi out? Hab jetzt Abi gemacht, und in der Oberstufe in den letzten 2 Jahren mussten wir Turbo Pascal samt oldschool-IDE verwenden :ucrazy:

http://upload.wikimedia.org/wikipedia/de/8/84/Turbopascal_6.png

mapel110
2008-06-04, 20:06:31
Also ich bin ja jetzt auch stärker eingestiegen ins Programmieren, bin angehender Anwendungsentwickler.
Ich muss sagen, der prozeduale Ansatz reicht völlig für den Einstieg. Damit kann man zum einen schnell Ergebnisse liefern und zum anderen behält man noch einigermaßen den Überblick.

Als FiSi wirst du sowieso nicht allzuviel damit in Berührung kommen. Du musst es zur Not mal können für kleinere Sachen, jedenfalls ist das bei den FiSis so, die ich hier bisher kennengelernt hab. Bisschen SQL, hier und da was kleines frickeln via Batch-Script, aber das wars meist.

Monger
2008-06-04, 20:08:44
Um anzufangen, würd ich aber erstmal gar keine Programmiersprache lernen. Schnapp dir Notepad und schnupper mal in HTML rein. Danach bisl Javascript, dann weitersehen. :)

Also, HTML hat nun wirklich überhaupt gar nichts mit einer Programmiersprache zu tun! ;)

HTML ist letztendlich ein Datenformat, ein Spezialfall von XML.

Es kann natürlich nicht schaden, sich ein bißchen HTML anzueignen, aber auf dem Weg zum Programmieren hilft das einem kein bißchen weiter.

XtraLarge
2008-06-04, 20:09:27
Delphi?!?
Ach du schande... das war ja schon zu meinen Schulzeiten völlig out! :ugly:


Die Frage, wie man am besten eine Programmiersprache lernt, kann man wohl gar nicht eindeutig beantworten. Das kommt wohl auf den Typ an.

Meiner Meinung nach gibt es mal grundsätzlich mindestens zwei Ansätze zur Programmierung: der pragmatische und der theoretische.
Der erstere ist eher "Learning by Doing", und nähert sich allmählich vom prozeduralen Ansatz dem Problem an. Dafür sind skriptorientierte Sprachen ganz sinnvoll wie z.B. Python, weil man damit auch schnell Ergebnisse erreichen kann.

Ich persönlich konnte mit diesem Ansatz kurioserweise die gesamte Schulzeit bis hinein ins Studium überhaupt gar nichts anfangen, bis ich das ganze mal von der theoretischen Seite kennengelernt habe: was ist überhaupt eine Sprache, wie funktioniert ein Parser, wie werden Zusammenhänge modelliert, was ist Objektorientiertes Design... zumindest bei mir musste tatsächlich erst die Theorie einsickern, bevor ich praktisch überhaupt im Stande war irgendeinen durchgängigen Gedanken zu formulieren.
Für den Ansatz halte ich Java (was ähnlich wie Delphi einen nahezu rein akademischen Hintergrund hat) und .NET (weil es ungeheuer komfortabel und vielseitig ist) für die beste Einstiegsmöglichkeit, weil sie beide sich relativ weit von der Maschine entfernen, und somit von der Theorie her relativ saubere Gedankenkonstrukte sind.

Zur Auswahl an Büchern hätte ich momentan:

- Netzwerkprogrammierung in C - 1205 Seiten :ugly:
- Java2
- JavaScript
- PHP4

Also sollte ich vielleicht mit Java anfangen und schauen, ob mir der theoretische Ansatz liegt. Eigentlich bin ich ja mehr der Typ, der sehen will, was was macht :confused: Naja, mal schauen.

EDIT: Btw. herzlichen Glückwunsch zum "Ritterschlag" :up:

naja delphi ist vom syntax her so wie turbo pascal. es kommt drauf an, was du unter brauchbar verstehst, sie ist halt relativ intuitiv. in der delphi-programmierumgebung kannst du halt recht intuitiv per drag und drop fensterchen bauen, eigenschaften verändern und verschiedenen programmieren was passiert, wenn der user etwas bestimmtes macht.
lernt man normalerweise in der oberstufe, falls der lehrer keine lust hat etwas "brauchbares" zu unterrichten, so viel zum flamewar ;).
google doch einfach mal nach delphi bzw. turbo pascal tutorial und da siehst du, dass die sprache syntaktisch relativ intuitiv ist...

Die Flamewars hatte ich mit Absicht erwähnt, da ich bim Googlen immer wieder auf solche entarteten Threads gestoßen bin, weil da jeder so seine eigenen Vorlieben hat :redface:

Sephiroth
2008-06-04, 20:16:39
Delphi wird hier keinen Flamewar auslösen. Delphi ist von Pascal abgeleitet und war immer mehr Lehrsprache, denn in der Anwendung. Nutzen tut das kaum noch jemand. Aktueller und Praxisnäher sind C# und Java.

Um anzufangen, würd ich aber erstmal gar keine Programmiersprache lernen. Schnapp dir Notepad und schnupper mal in HTML rein. Danach bisl Javascript, dann weitersehen. :)

<start>

http://de.selfhtml.org/
HTML ist keine Programmiersprache und hat damit IMHO nix zu tun. JavaScript zum erlernen von Programmieren ist insofern problematisch, weil man damit keine Anwendungen schreiben kann. Klar kann man damit auch die Prinzipien erlernen etc, aber derjenige bekommt u.U. die falschen Vorstellungen.


Delphi out? Hab jetzt Abi gemacht, und in der Oberstufe in den letzten 2 Jahren mussten wir Turbo Pascal samt oldschool-IDE verwenden :ucrazy:

http://upload.wikimedia.org/wikipedia/de/8/84/Turbopascal_6.png
Macht nix (bis auf die Oberfläche ;)), ist doch nur Schule. Ich würde TurboPascal oder Modula-3 Delphi allemal vorziehen, um Leuten das Programmieren beizubringen.
Danach Java oder C# für das Konzept von objektorientierten Programmieren.

XtraLarge
2008-06-04, 20:18:44
Also ich bin ja jetzt auch stärker eingestiegen ins Programmieren, bin angehender Anwendungsentwickler.
Ich muss sagen, der prozeduale Ansatz reicht völlig für den Einstieg. Damit kann man zum einen schnell Ergebnisse liefern und zum anderen behält man noch einigermaßen den Überblick.

Als FiSi wirst du sowieso nicht allzuviel damit in Berührung kommen. Du musst es zur Not mal können für kleinere Sachen, jedenfalls ist das bei den FiSis so, die ich hier bisher kennengelernt hab. Bisschen SQL, hier und da was kleines frickeln via Batch-Script, aber das wars meist.

Danke! Du hast mir gerade eine große Angst genommen :up: :ugly:

Anwendungsentwicklung übersteigt vermutlich momentan meinen Horizont bzw. würde ich mir das nicht zutrauen. Ich bin mehr der Typ auf der anderen Seite der Software :wink:

Mit HTML/XML und CSS hatte ich auch schon meine Berührungspunkte. Aber auch nichts tiefergehendes.

PHP habe ich noch halbherziger angefangen, da mir das Grundgerüst der Seite nie wirklich gefallen hat.

XtraLarge
2008-06-04, 20:22:25
HTML ist keine Programmiersprache und hat damit IMHO nix zu tun. JavaScript zum erlernen von Programmieren ist insofern problematisch, weil man damit keine Anwendungen schreiben kann. Klar kann man damit auch die Prinzipien erlernen etc, aber derjenige bekommt u.U. die falschen Vorstellungen.



Macht nix (bis auf die Oberfläche ;)), ist doch nur Schule. Ich würde TurboPascal oder Modula-3 Delphi allemal vorziehen, um Leuten das Programmieren beizubringen.
Danach Java oder C# für das Konzept von objektorientierten Programmieren.

Ist OOP nicht eh die Zukunft oder ist das vom Projekt abhängig? Bei mir geht es wohl hauptsächlich um Datenbanken und evtl. eine Schnittstelle zu bestehenden Programmen. Wobei man dafür ja auch noch Kollegen hat :biggrin:

Gast
2008-06-04, 20:24:43
HTML ist keine Programmiersprache und hat damit IMHO nix zu tun. JavaScript zum erlernen von Programmieren ist insofern problematisch, weil man damit keine Anwendungen schreiben kann. Klar kann man damit auch die Prinzipien erlernen etc, aber derjenige bekommt u.U. die falschen Vorstellungen.
....

Er hats ja schon mit einem C++ Buch versucht. Eine aktuelle IDE undn C#-Kurs wird ihn genau so überfordern.
HTML ist sehr geeignet, um erstmal Erfahrungen in der Formartierung und der Ausgabe zu erlernen. Javascript dient prima dazu, mit kurzen Scrpits zu schnell sichtbaren Erfolgen zu kommen und die Grundzüge des Programmierens zu verstehen.

Kinman
2008-06-04, 22:19:32
Ich muss sagen, der prozeduale Ansatz reicht völlig für den Einstieg. Damit kann man zum einen schnell Ergebnisse liefern und zum anderen behält man noch einigermaßen den Überblick.


Bei Deinem Problemen, die Du teilweise postet wirkt es nicht unbedingt so, als hättest Du wirklich den Überblick :weg:


Aber ich glaube Du bist einfach ins kalte Wasser geworfen worden und Du meisterst das ganze eh recht gut.

Er hats ja schon mit einem C++ Buch versucht. Eine aktuelle IDE undn C#-Kurs wird ihn genau so überfordern.
HTML ist sehr geeignet, um erstmal Erfahrungen in der Formartierung und der Ausgabe zu erlernen. Javascript dient prima dazu, mit kurzen Scrpits zu schnell sichtbaren Erfolgen zu kommen und die Grundzüge des Programmierens zu verstehen.

JavaScript ist imho Horror pur, da man bei so vielen Kleinigkeiten so viele Fehler machen kann. Dagegen ist C/C++ mMn harmlos.

mfg Kinman

Monger
2008-06-04, 22:35:44
Ist OOP nicht eh die Zukunft oder ist das vom Projekt abhängig?

OOP ist in erster Linie mal ein Konzept. Du kannst auch in funktionalen Sprachen OOP Strategien nutzen, und in typischen OOP Sprachen hässlich und linear deinen Code runternudeln.

Manche Sprachen legen halt eher das eine oder das andere Konzept nahe. OOP als Konzept ist die Zukunft, ganz klar. Größere Projekte wirst du ohne das nicht in den Griff kriegen. Die Frage ist halt nur eher, ob es dir besser tut, gleich ins kalte Wasser zu springen, oder dich über den Schleichweg durch die Hintertür der Sache anzunähern.

Coda
2008-06-04, 22:46:06
JavaScript ist imho Horror pur, da man bei so vielen Kleinigkeiten so viele Fehler machen kann. Dagegen ist C/C++ mMn harmlos.
Ich hab mich jetzt länger damit beschäftigt und muss auch sagen, dass es sehr komisch ist. Ich werd einfach nicht warm damit.

mapel110
2008-06-04, 22:47:26
Aber ich glaube Du bist einfach ins kalte Wasser geworfen worden und Du meisterst das ganze eh recht gut.

Ja. Ich hab davor nur Miniprogramme in Cobol geschrieben, ging nie über 150 Zeilen hinaus. :ugly:

Und nun ein Projekt, wo ich eben massive Logik noch gepaart mit dem "Ausgabemüll von HTML" kombinieren muss. Ich hab auch noch nicht die Erfahrung, mit einem Code-Editior richtig umzugehen. Das würde mir schon etliche Probleme ersparen, denke ich.
Jedenfalls wenn ich an OOP denke, wird mir ziemlich übel. Da hilft einem doch kaum noch ein Editor. Man muss WISSEN, was man WO und WIE umgesetzt hat. Dazu muss man denke ich ein gutes Organisationstalent haben und das habe ich leider nicht, wobei ich noch hoffe, dass ich das später durch Erfahrung noch hinbekomme, Struktur in meine Programme zu bringen.

XtraLarge
2008-06-04, 22:53:43
OOP ist in erster Linie mal ein Konzept. Du kannst auch in funktionalen Sprachen OOP Strategien nutzen, und in typischen OOP Sprachen hässlich und linear deinen Code runternudeln.

Manche Sprachen legen halt eher das eine oder das andere Konzept nahe. OOP als Konzept ist die Zukunft, ganz klar. Größere Projekte wirst du ohne das nicht in den Griff kriegen. Die Frage ist halt nur eher, ob es dir besser tut, gleich ins kalte Wasser zu springen, oder dich über den Schleichweg durch die Hintertür der Sache anzunähern.

Ich hätte gerne den Schleichweg über die Hintertür, angefangen kurz hinter "print hello" :naughty:

Es geht mir erstmal wirklich nur um die Basics. Ich hatte mal kurzzeitig mit Visual Basic rumgespielt. Dort konnte man ja schonmal viel per WYSIWYG erledigen. Nur muss man dem Ganzen ja auch Leben einhauchen :wink: Viele funktionslose Buttons zu erstellen, ist dort ja kein Problem :redface:

XtraLarge
2008-06-04, 22:55:30
Ich hab mich jetzt länger damit beschäftigt und muss auch sagen, dass es sehr komisch ist. Ich werd einfach nicht warm damit.

Gerade von dir würde ich mir einen Vorschlag/Tipp wünschen :up:

Du solltest davon doch ein wenig Ahnung haben :wink:

Coda
2008-06-04, 22:58:40
Man muss WISSEN, was man WO und WIE umgesetzt hat.
Das muss man so auch.

Gerade von dir würde ich mir einen Vorschlag/Tipp wünschen :up:
Was ist denn überhaupt genau die Frage?

Fang mit einer Sprache an. Als ganz brauchbare Anfängersprachen empfinde ich Java, C# und Delphi auch. Wobei Delphi eher schon am aussterben ist.

Die meisten Programmiersprachen sind wirklich recht ähnlich solange man nicht in den funktionalen Bereich geht. Da hab ich dann aber auch wirklich fast keine Ahnung mehr - nicht das ich es nicht probiert hätte, aber ich komme mit LISP und Co. nicht gut zurecht.

XtraLarge
2008-06-04, 23:18:03
Das muss man so auch.


Was ist denn überhaupt genau die Frage?

Fang mit einer Sprache an. Als ganz brauchbare Anfängersprachen empfinde ich Java, C# und Delphi auch. Wobei Delphi eher schon am aussterben ist.

Die meisten Programmiersprachen sind wirklich recht ähnlich solange man nicht in den funktionalen Bereich geht. Da hab ich dann aber auch wirklich fast keine Ahnung mehr - nicht das ich es nicht probiert hätte, aber ich komme mit LISP und Co. nicht gut zurecht.

Na dann versuche ich es mal mit Java. Das scheint zumindest der kleinste gemeinsame Nenner zu sein.

Mir geht es halt vorallem darum, das Prinzip zu lernen und zu verstehen. Wenn der Groschen dann mal gefallen ist, dann dürfte der Rest auch nicht mehr so das Problem sein...Hoffe ich zumindest :redface:

Grestorn
2008-06-05, 07:17:00
Java ist auf jeden Fall nicht verkehrt.

C++ hat zu viele unnötige Fallstricke für Anfänger.

C# ist sehr ähnlich mit Java, hat aber auch ein paar Konzepte, die gerade den Anfänger schwer verwirren können.

Andere Sprachen kommen zum Lernen von moderner, praxisnaher Programmierung m.E. ohnehin nicht in Frage.