PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : >>> "Programmieren - wie fange ich an?" aka "Lies' mich zuerst" <<< LESEN!



Jesus_666
08.12.2003, 00:07
*********************************************************************
HINWEIS!
Versuche nicht, ein MMORPG zu machen. Es wird nicht funktionieren; MMORPGs sind so ziemlich das Komplizierteste, was man überhaupt entwickeln kann. Wenn du keine Spielefirma mit einem Kapital von mehreren Millionen Euro bist LASS' ES SEIN!
Wenn du gerade erst mit der Spieleprogrammierung (und erst recht überhaupt mit dem Programmieren) anfängst wird selbst ein Tetris-Klon schon eine Herausforderung sein! Ohne jahrelange Programmiererfahrung mit einer Sprache wie C oder C++ solltest du über MMPOGs gar nicht erst nachdenken!
*********************************************************************

Weitere Hinweise:
- Das Programmierforum hat einen IRC-Channel, und zwar #progforum auf irc.euirc.net.
- Wenn du ein Projekt hast und Leute suchst, dann lies' Punkt 5 dieses Posts.


Du willst also Programmieren lernen.
Wahrscheinlich willst du Spiele programmieren, vielleicht sogar einen neuen RPG Maker. Das ist ganz nett, aber du hast keine Ahnung, was du alles brauchst, um dein Ziel zu erreichen.
Das soll dieser Artikel ändern. Er soll dir vermitteln, was du alles brauchst, um Spiele oder was auch immer zu programmieren.


1. Kreativität und Zeit. Viel Zeit.
Das Thema der Kreativität lassen wir erst mal aussen vor.
Ohne Kenntnis einer Programmiersprache muss man sich noch keine Gedanken um Spielprinzip oder ähnliches machen.
Worüber man sich Gedanken machen muß ist das Programmieren des Spiels selber. Sprich: Du mußt eine Programmiersprache beherrschen, bevor du ein Spiel programmieren kannst.
Was brauchst du, um eine Programmiersprache zu lernen? Nun, zuerst brauchst du ein paar Programme, aber darauf kommen wir später zurück. Du brauchst auch und vor allem Geduld. Eine Programmiersprache muß man lernen wie eine normale Fremdsprache und das dauert. Syntax, Methoden und Techniken einer Programmiersprache müssen sitzen, bevor man ein derartig komplexes Projekt wie ein Spiel angehen kann.
Es ist nicht damit getan, zu sagen "Zeit? Hab ich... Ich bin zwar jeden Tag nach der Arbeit/Uni/Schule ziemlich fertig, habe aber so 2 Stunden Zeit um mich damit auseinander zu setzen. Das wird reichen." - Tut es nicht! So lange wird es bei komplexen Projekten alleine dauern, dich erst mal warm zu machen und dich in deinen Code einzulesen.
Die wichtigste Ressource, die ein Programmierer hat ist ununterbrochene Programmierzeit.

Noch wichtiger: Eine Programmiersprache lernt man nicht in drei Wochen, und um anspruchsvolle Spiele zu schreiben mußt du gut mit deiner Sprache umgehen können. Es kann Monate dauern, bis du soweit bist, dein erstes ernsthaftes Spiel in Angriff zu nehmen.
Du brauchst also eine Menge Zeit und Geduld.


2. Eine Programmiersprache
Ohne eine Programmiersprache kannst du nicht programmieren, logisch.
Die Wahl der Sprache ist nicht leicht, und jeder wird dir was anderes empfehlen. Für Anfänger ist eine IDE (Integrated Development Environment; Entwicklungsumgebung) empfehlenswert. Damit erleichterst du dir das Entwerfen deines Programms (und einen Teil des Programmierens selbst).
Gut, wir beschränken uns also auf die Sprachen, zu denen es IDEs gibt. Es gibt grundsätzlich zwei Arten von Sprachen: Compilersprachen und Interpretersprachen. Bei Compilersprachen wird deine Quellcode in ein Programm verwandelt, das so für sich lauffähig ist. Bei Interpretersprachen wird der Code einfach verpackt und später von einem andere Programm ausgeführt.
Interpretetsprachen neigen dazu, langsamer als Compilersprachen zu sein.
Hier einige der bekannteren Sprachen und IDEs:
IDE Sprache Typ
--------------------------------------------------
Bloodshed Dev-C++ C++ Compiler
Borland C++ C++ Compiler
Microsoft Visual C++ C++ Compiler
Microsoft Visual C# (.net) C# Compiler
Borland Delphi Delphi Compiler
Microsoft Visual Basic Basic Interpreter
Eclipse Java Interpreter
Borland JBuilder Java Interpreter
NetBeans Java InterpreterWelche dieser Sprachen/IDEs du wählen solltest werden wir dir nicht sagen - da hat jeder eine andere Meinung, und deine Wahl sollte sich nach deinen Ansprüchen und nach nichts anderem richten. Am besten ist es wohl, wenn du mehrere Meinungen einholst und dir eigene Gedanken machst.


3. Also, ich habe freie Zeit und einen Compiler. Zeit, mein Spiel zu schreiben!
Hey hey, immer ruhig mit den jungen Pferden. Wie schon gesagt ist Spieleprogrammierung eine komplexe Angelegenheit. Eine 3D-Engine oder eine komplette Spiele-IDE (wie den RPG Maker) kann man nicht ohne Erfahrung aus dem Ärmel schütteln.
Am Besten besorgst du dir ein Buch zur Sprache und ein paar Tutorials und machst ein paar kleine Projekte... Kreuzen und Nullen. Tetris. Pac Man. Super Mario Bros. Am Besten in dieser Reihenfolge, denn sie sind nach Schwierigkeit sortiert.
Lies' Tutorials. Bau' Beispielcode nach und schreibe ihn dann um. Erweitere ihn. Welche Techniken du zuerst lernst hängt vom Buch/Tutorial ab.


4. Konzept: (v. Malakai)
Bevor ihr anfangt ein Spiel o.Ä. zu programmieren, solltet ihr vorher eine grössere Konzeptphase machen. Es bringt nichts, mit ein, zwei Ideen einfach drauflos zu programmieren und dann nach 2 Monaten keine Ideen mehr zu haben. In dem Konzept sollten (auf Spiele bezogen) Dinge wie Storyboard, einheitliche Programmierstile, Möglichkeiten und Grenzen des Projekts etc. besprochen werden. Joah, das wollte ich nur dazu sagen. Ohne ein gutes Konzept ist IMHO ein (Spiele)Projekt zum Scheitern verurteilt.


5. "Ich suche Leute für mein Projekt, es ist ein Browsergame, meldet euch unter mail@domain.tld"
Wenn du ein Projekt hast und merkst, daß du es alleine nicht packst, dann solltest du dir die Frage stellen, ob es nicht sinnvoll ist, wenn du dich erst mal an was kleineres setzt. Wahrscheinlich lautet die Antwort "nein, ich will das jetzt machen", also lies' weiter.
Wenn du jemanden für dein Projekt begeistern willst, dann brauchst du vor Allem zwei Dinge:
Informationen - Wenn die User nichts über dein Projekt wissen, dann interessiert es sie auch nicht. Gib' so viele Informationen wie möglich - Art des Projektes, Programmiersprache(n), Betriebssystem(e), verwendete Bibliotheken, Konzept, Aufbau... Alles, was du über dein Projekt sagen kannst, hilft den Usern hier dabei, sich ein Bild vom Projekt zu machen. Wenn du nichts sagst nimmt automatisch jeder an, daß du auch nichts geplant hast - und dann will dir auch niemand helfen.
Ergebnisse - Ein Projekt, an dem schon gearbeitet wurde, ist viel attraktiver als eins, das nur auf dem Papier existiert. Geleistete Vorarbeit zeigt den Usern, daß du es mit deinem Projekt ernst meinst und daß du auch Arbeit investieren willst.

Stell' dir den Thread, in dem du nach Mitarbeitern fragst, wie ein Vorstellungsgespräch vor: Du mußt dein Projekt präsentieren und den Leuten vermitteln, warum sie gerade bei dir mitarbeiten sollen. Hier haben alle ihre eigenen Sachen laufen und niemand macht bei einem ihm unbekannten Projekt mit, nur weil es da ist. Du bist ein Bittsteller und du mußt die Leute überzeugen, deiner Bitte nachzukommen - also zeig' dein Projekt von seiner besten Seite und du könntest vielleicht Glück haben.


Nun weißt du, daß es kein kleiner Schritt ist, ein Spiel zu programmieren. Wenn du wirklich eins machen willst mußt du eine Menge Zeit, Geduld und Nerven investieren. Dafür bietet dir die Programmierung das, was alle schweren Unterfangen bieten: Ein verdammt gutes Gefühl wenn du erst mal fertig bist.

Falls wir dich mit diesem Artikel nicht abgeschreckt haben wünschen wir dir viel Spaß in der bunten Wunderwelt der (Spiele)programmierung.
-- Freezy und Jeez

MuadDib
24.12.2003, 19:26
Da mir an diesem Weihnachtsmorgen ausserordentlich langweilig ist, versuche ich mich einmal an einer wirklich brauchbaren und übersichtlichen Liste in Sachen verschiedene Programmiersprachen, auch wenn ich anfangs nur jene nennen kann, mit denen ich auch wirklich arbeite. Ev. findet sich jemand und ergänzt sie hinsichtlich Pascal und Konsorten. Ich versuche allerdings nur die Sprachen und die dafür erforderlichen Voraussetzungen ansich aufzulisten, Dinge wie ein GLUT-Framework oder spezielle Toolkits lass ich aussen vor.

C, C++

Jesus said it all...

Kostenlose Compiler, IDEs
Für diese sehr mächtige und umfangreiche Programmiersprache gibt es eine Reihe von (guten) Compilern und (mässigen) Entwicklungsumgebungen. Ich selbst hab lange nach einer wirklich guten IDE dafür gesucht und bin schliesslich und endlich wie Jesus auf die

Bloodshed Dev-C++ (http://www.bloodshed.net/devcpp.html) IDE gestossen. Sie verwendet standardmässig den MinGW Compiler und ist auch für große Zwecke ziemlich gut geeignet. Alternativ dazu sei die
NetBeans IDE (http://www.netbeans.org/) genannt. Diese wurde zwar ursprünglich für Java geschrieben, allerdings gibt es dementsprechende C++ Erweiterungen


In Sachen kostenloser Compiler empfehle ich uneingeschränkt

DJGPP (http://www.delorie.com/djgpp/)der auch aus gutem Grund auf so ziemlich jeder C++ CD mit dabei ist.


Für Linux und andere Unix Systeme sieht die C-Welt da um einiges besser aus: Da das Betriebssystem ja selbst in C geschrieben ist, ist standardmässig der Gnu C-Compiler (GCC) dabei. Auch gibt es eine Reihe Entwicklungsumgebungen, angefangen von normalen Editoren (Kate ist nett) bis hin zu Projekt-Orientierten Tools ist alles vorhanden. Wer KDE verwendet hat mit KDevelop eine wirklich tolle IDE, auch wenn die Projekte wirklich gruselig viel Dateien erstellen.

Kommerzielle Software

Microsoft Visual C++ (http://msdn.microsoft.com/visualc/
): IMO der wohl beste C++-Compiler für Windows, leider. Visual Studio ist umfangreich und mächtig, und für große Projekte wirklich 1a, allerdings - wie gesagt - kommerziell. Die IDE ist im Vergleich zum Compiler auch sau-langsam und frisst enorm viel Speicher. Bedingt empfehlenswert, ... ich komme mit den obigen Tools aus :). Kostenpunkt: 115€
Borland C++Builder (http://www.borland.com/cbuilder/): Ich kann nicht viel dazu sagen... die Borland IDEs sind meiner Erfahrung nach ziemlich gut, allerdings ist der Compiler wirklich nicht besonders und hat verdammt viele Eigenheiten, die - sofern man anderes gewohnt ist - das Leben schwer machen können. Dafür gibts den Compiler (http://www.borland.com/cbuilder/cppcomp/index.html) auch umsonst. Die aktuelle Version kostet 145€


Bücher

Die C++-Programmiersprache von Bjarne Stroustrup, dem geistigen Vater der Sprache. Ein wirklich umfassender Überblick über sämtliche Designkonzepte der Sprache und ein wirklich gutes Nachschlagewerk. Wer Erfahrungen mit Programmiersprachen hat, kann auch mit diesem Buch so ziemlich alle Konzepte von C++ erlernen. Mit etwas Glück bekommt an die Edition mit The-Programmer's-Best-Friend: einer Addison-Wessley Kaffeetasse. Preis: 50€
Go To C-Programmierung von Guido Krüger. Wer zuerst das normale Ansi-C erlernen will, und sich erst mit damit Grundlagen erbauen will, bevor er sich mit den Erweiterungen von C++ auseinandersetzt, sollte unbedingt hier zugreifen. Ein wirklich tolles Buch. Auch wird kurz Windows und Linux Programmierung angeschnitten, allerdings sollte schon ein kleines bisschen Programmiererfahrung vorhanden sein. Preis: 40€
C++, das Grundlagenbuch von Gerhard Willms. Dieses Buch gibt es über Amazon zwar nicht mehr, ist aber im guten Fachbuchhandel für ca. 10€ zu haben. Zwar nicht so ausführlich wie Stroustrup, allerdings weit einsteigerfreundlicher und zugänglicher. Wer sich die wahnwitzige Idee in den Kopf gesetzt hat, mit C++ Programmieren zu erlernen, hat eventuell mit diesem Buch Glück dabei.


Java

The Duke is on his way...

Kostenlose Compiler, IDEs
Für Java gibt es mittlerweile auch schon eine Reihe von Compilern, allerdings ist man am allerbesten immer noch mit der SDK des Erfinders bedient:

Java2 SE SDK (http://java.sun.com/j2se/1.4.2/download.html): Dieses Software Development Kit enthält eigentlich alles, um Java Programme zu compilieren und auszuführen - und funktioniert bedeutend besser in Webbrowsern als die Standard-Version von Microsoft. Einen anderen Compiler würde ich auch nicht empfehlen, Finger weg von MS J++ und der IBM Variante.


Auch gibt es eine Reihe von IDEs, weit mehr und bessere als für bsp.weise C.


Eclipse (http://www.eclipse.org/): Ich arbeite noch nicht lange damit, bin allerdings schwerst begeistert. Allumfassende IDE -- komplett kostenlos. In Sachen Features steckt Eclipse dank der Erweiterbarkeit durch Open-Source Plugins jedes kommerzielle Tool in die Tasche. Für Anfänger sicher etwas viel in Sachen Umfang, für Fortgeschrittene und professionelle Anwender 1a Entwicklungsumgebung
JCreator (http://www.jcreator.com): Nicht ganz so kostenlos wie Eclipse, allerdings in einer Trail-Version vorhanden und sehr gut für Einsteiger. Man kann seine Programme sowohl in Projekte organisieren, als ihn auch als einfachen Java Editor mit Compilier-Funktion verwenden. Einige nette Features sind ebenfalls vorhanden. Ich programmier heute noch damit :)
NetBeans (http://www.netbeans.org): Auch sehr professionell und von Sun sogar empfohlen. Für JSP-Projekte auch wirklich eine tolle IDE, ich bin allerdings nie richtig warm damit geworden. Ausserdem läuft sie sehr, sehr langsam


Da man damit eigentlich sehr gut auskommen sollte, lasse ich die komerziellen Produkte weg. Das ganze ist natürlich alles Cross-Platform... es lebe Java :)

Bücher

Handbuch der Java-Programmierung von Guido Krüger. So... wenn ich jetzt das richtige Buch erwischt habe (ich hab leider nur eine HTML-Variante), so ist dieses Werk das IMO die Java-Bibel schlechthin. Ich hab noch kein Problem gehabt, dass ich nicht mit den Beispielen aus diesem Buch gelöst hätte. Sehr gut geschrieben und tolle Beispiele. Deckt auch so ziemlich alles ab, was die SE von Java bietet. Preis: 50€. Edit: Die HTML-Version dieses Buches gibt es kostenlos zum Download unter http://www.javabuch.de
Sprechen Sie Java? von Hanspeter Mössenböck. a.k.a Lern Programmieren mit der Verwendung von Java. Relativ billig, und für Einsteiger, die mit Java Programmierkonzepte und dergleichen erlernen wollen, ist dieses Buch sehr zu empfehlen. Programmier-Erfahrene werden wenig Freude damit haben. Preis: 30€
Java in a Nutshell von David Flanagan. Wie für alle O'Reilly Nutshells gilt: Umfassendes Nachschlagewerk (v.a. für die Java Klassenbibliothek), und auch nur als solche zu gebrauchen. Preis: 46€


C#

Für diesen MS-Neuling gibt es mittlerweile auch schon einiges zu haben, wenngleich das ganze ziemlich MS-Dominierend ist.

Kostenlose Compiler, IDEs

Windows:

Das ganze ist voll und ganz kostenlos, allerdings auch nur von Microsoft zu haben. Um C# zu programmieren benötigt man das .NET Framework (http://msdn.microsoft.com/netframework/technologyinfo/howtoget/default.aspx) und die .NET Framework SDK (http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en). Mehr ist eigentlich nicht nötig.

Als kostenlose IDE bietet sich sehr gut SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/Default.aspx) an. Eine OpenSource IDE für C#.

Linux:
Unter Linux sieht .NET sehr traurig aus. Es gibt einige Projekte, die Plattform zu portieren, allerdings sind alle noch im Entwicklungsstadium und werden von MS nicht wirklich unterstützt. Wer daran interessiert ist, sollte folgende Links besuchen

Project Mono (http://www.go-mono.com/)
DotGNU (http://www.gnu.org/projects/dotgnu/)


Allerdings ist .NET Entwicklung unter Linux noch ein Traum...

Kommerzielle Software
Kurz und bündig: Microsoft Visual C#. Viel langsamer als SharpDevelop, dafür genau auf die .NET Programmierung ausgelegt. Ich bin kein wirklicher Freund davon, ausserdem ist es den hohen Preis nicht wert.

Bücher

Softwareenticklung mit C#. Ein kompakter Lehrgang von Hanspeter Mössenböck. Der Name sagt alles. Nicht mehr und nicht weniger wird einem geboten :). Für Einsteiger sehr gut! Preis: 30€
Die .NET Technologie von Hanspeter Mössenböck u.a. Als Ergängzung zum obrigen, wer C# also kann und nun wirklich die Möglichkeiten des .NET Frameworks ausschöpfen wil. Preis: 41€
C# in a Nutshell von Peter Drayton. Wie alle Nutshells: Tolles Nachschlagewerk, zum Lernen ungeeignet.
Go To C# von Armin Harnisch. Sehr guter Überblick über C# und die neuen Konzepte. Für Programmier-Erfahrene sehr gut zur Einschulung geeignet. Preis: 40€


Wer Java sehr gut kann, und sich mit C# auseinandersetzten will, ist mit diesen PDFs (http://www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/) sehr gut bedient. Mehr ist eigentlich nicht nötig.


So, ich hoffe das hier kommt etwas an und wird eventuell erweitert. Wer weiß, vielleicht wird auch ein "offizieller Thread" daraus, was nicht unbedingt schlecht wäre :).

Frohes Fest euch allen!

Freezy
25.12.2003, 02:11
...

Pascal (Delphi, ObjectPascal, whatever)

Kostenlose Compiler/IDE`s

BloodShed Dev-Pascal (http://www.bloodshed.net/devpascal.html): Open Source mit intigrierten GNU-Pascal oder Free-Pascal Compilern für Programme/DLL`s die unter Windows laufen. Daumen Hoch :A

Komerzielle Programme

Borland Delphi (http://www.borland.de/delphi_net/index.html): Mein persönlicher Fav. Sehr gute IDE, schneller Compiler, einfaches Debuggen uvm. Preis ist mir derzeit nicht bekannt. Erstell Programme/DLL`s für Windows und Linux*

Bücher

Turbo Pascal 7.0 - Das Kompendium (http://www.amazon.de/exec/obidos/ASIN/3827251664/qid=1072292514/sr=2-2/ref=sr_aps_prod_2_1/302-3751488-1516011): Um die Techniken selbst zu erlernen Ideal. Leider bezeiht sich dieses Buch auf die auf MS-DOS version (TP7.0) des Compilers.

* Nur Version 7. Ansonsten Kylix verwenden!

Jesus_666
27.12.2003, 01:53
Ich stelle in diesem Post ein kleines Lexikon mit Begriffen zusammen, die einem in diesem Forum früher oder später über den Weg laufen könnten.
Erweiterungen und Änderungsvorschläge bitte nicht posten, sondern per PM an mich schicken; das spart Platz. Generelle Fragen und ommentare können gepostet werden, allerdings werden alle Informationen in diesem Post bleiben.
Der "rev. *"-Zusatz hinter dem Threadnamen wird immer um einen erhöht, wenn ich das Lexikon erweitere oder ändere.
Einträge sind mit dieser Farbe gekennzeichnet.

API (Application Program(ming) Interface; Schnittstelle für Anwendungsentwicklung) - Offengelegte Programmierschnittstelle einer Anwendung oder eines Betriebssystems. Ermöglicht es, eigene Funktionen zu integrieren und mit dem Betriebssystem/dem Programm zu kommunizieren
App (abk.: application) - Anwendung. Die englische Version von Prog

Binary (pl. Binaries) - Ein fertig kompiliertes Programm
Bug - Ein Fehler in einem Programm

Code (alias Sourcecode, Quellcode) - Das, was man schreibt, um ein Programm zu erstellen
coden (alias proggen) - Code schreiben; programmieren
Compiler - Ein Programm, das Code in ausführbare Programme umsetzt

Debugger - Ein Programm, das dem Anwender hilft, Bugs in seiner Software zu finden und zu entfernen
Dotnet (alias .Net) - Software-Framework von Microsoft, die einfach zu erstellende und angeblich irgendwann portable Programme erlaubt, im Moment aber nicht mal auf Windows wirklich gut funktioniert. Wird oft mit Java verglichen

Framework - Ein Framework ist ein System, welches auf Basis eines Grundgerüsts verschiedene Komponenten für ein bestimmtes Anwendungsgebiet bereitstellt

GUI (Graphical User Interface, Grafische Benutzerschnittstelle) - Eine grafische Anwendungsoberfläche eines Programmes

IDE (Integrated Development Environment; Integrierte Entwicklungsumgebung) - Entwicklungsumgebung für Programmiersprachen, normalerweise mit einer GUI. Enthält für gewöhnlich Editor, Compiler und Debugger, aber auch zahlreichen Tools zur Erstellung eigener Programme

kompilieren - Mit einem Compiler aus Code ein Programm erstellen

Open Source - Open Source-Software (OSS) zeichnet sich dadurch aus, daß jeder Zugriff auf den Sourcecode hat. OSS entwickelt sich für gewöhnlich schneller als normale ("Closed Source"-)Software und paßt sich schneller an. Das bekannteste Beispiel für OSS ist Linux. Die Open Source-Initiative hat eine genauere Definition (http://www.opensource.org/docs/definition.php)

portabel - Ein portables Programm kann auf mehreren Betriebssystemen kompiliert werden und ist dort lauffähig
Prog (abk.) - Programm. Bezieht sich auf Programme in allen Entwicklungsstufen, ob kompiliert oder nicht
proprietär - Das Gegenteil von Open Source. Proprietärer Code gehört einem Unternehmen, bzw. einer Person; Andere haben keinen Zugriff

RAD (Rapid Appliaction Development; Schnelle Anwendungsentwicklung) - Ein Konzept zur schnellen Erstellung von Applikationen, welche u.A. auf Wiederverwendung von Softwarekomponenten und Mehrentwicklerbetrieb baut

SourceForge (alias SF) - Die Website www.sourceforge.net, eine Sammelstelle für Open Source-Projekte

Mit Erweiterungen von MuadDib

Master of Disaster
27.01.2004, 01:10
@MuabDib:
Mit MCS (Teil des Mono-Projekts, http://www.go-mono.com/c-sharp.html) gibts für C# mittlerweile auch einen freien Compiler für Windows, nur wie es mit der Kompatibilität zu Winzigweich aussieht weiß ich nicht. Wenn ich mal Zeit habe, und du nicht schneller bist, werd ich euch meine Erfahrungen zukommen lassen.

Was auch einmal festgehalten werden muß ist, daß HTML, CSS, XML und Konsorten *KEINE* Programmiersprachen sind! Es programmiert doch auch niemand in LaTeX oder RTF!?
JavaScript dagegen würde ich auch eher als Skriptsprache als Programmiersprache im klassischen Sinn definieren. Zumindest ist es noch einer Programmiersprache am Nächsten.

Gothic Magier 9000
21.07.2004, 19:06
Ich würde an deiner Stelle mit Delphi anfangen.
Diese Sprache ist einfach für den Anfang konzipiert und bietet eine Grundlage um Sprachen wie c++ später besser verstehen zu können.

Ich empfehle das Buch Delphi für Kids von Hans Georg Schuman

Später (Wenn du das gut beherschst) kannst du dir dann noch
das Buch 3d programmierung mit Delphi für Kids kaufen.

Freezy
21.07.2004, 23:30
Und ich würde mir an deiner Stelle erstmal die beiträge eines Treads durchlesen bevor man in diesem Postet. Niemand hat hier danach gefragt - es ist ein Info Tread.

Lukas
14.11.2004, 17:10
Also, standardmäßig läuft das bei Compilern so:
Programm schreiben, Konsole öffnen, Befehl "compiler.exe prog•••••" eingeben, dann compiliert der Compiler das und gibt auf der Kommandozeile lediglich Fehlermeldungen aus.

Auf Screenshots sieht man also nur 'ne Kommandozeile, also etwa so:
http://people.freenet.de/masterquest/non-site-pics/compiler.jpg
Sonst hast du Screens von einer Entwicklungsumgebung gesehen. Das ist ein Texteditor mit 'nem eingebauten Compiler und Debugger. Da drückst du nur auf einen Knopf, und das Programm wird kompiliert.

Varuna
04.03.2005, 10:46
Was ist denn, für jemanden der gerade erst durch das lesen dieses threads überhaupt etws übers programmieren erfahren hat, am besten/einfachsten? Weil ich kann mich garnicht entscheiden <_<

Aretures
01.04.2005, 22:14
Aber es gibt auch verschiedene Arten zu Programmieren, die Visuelle Variante und die wo man die Kor. für nen Button oder sowas eingeben muss.Delphi und VisualBasic sind da meine Favos den die sind so ziemlich die besten auf dem gebiet.Beim Visuellen Programmieren sucht man sie eine Kommmpnente aus(z.B. Button,ListBox,Image usw.) und zieht es auf ein Fenster(Form gennant) dieser Kommponente gibt man dann noch den Code und sowas und fertieg ....also setzt man sein Programm mehr oder weniger aus vorgefertiegten Programmteilen zusammen !!!

Ich empfhele jetzt mal Delphi weil Delphi ein Compiler ist und kein Interpreter wie VB aber wers mag :D

Als Buch für Delphi einsteiger empfhele ich "Jetzt lerne ich Delphi", bzw. für VB das "VB 6 Kompendium" beides könnt ihr auf www.mut.de bestellen ^^ Bei beiden Büchern sind Trial Version der beiden Programme dabei!!

Viel glück ^^

BeyondTheTruth
02.04.2005, 01:17
Was du sagst, ist nicht vollkommen richtig....

1. Programmieren basiert grundsätzlich immer auf dem gleichen Prinzip.. man gibt Code ein und compeliert, bzw. interpretiert ihn. Das was du beschreibst sind Entwicklungsumgebungen, wobei bei VB und Delphi die Sprache sehr eng an diese Entwicklungsumgebungen gekoppelt sind, da die Entwickler beider Sprachen (MS und Borland) alle Werkzeuge dafür eben mit diesen ausliefern. Es gibt auch sehr gute Entwicklungsumgebungen für andere Sprachen.. Java, C++, die typischen .NET Sprachen selbstverständlich auch, ....
2. Reden wir hier jetzt von grafischer ("GUI") Programmierung für die sowohl VB als auch Delphi (sowieso) bestens geeignet sind.. es gibt aber (man stelle sich vor :p ) zahlreiche Anwendungsgebiete bei denen man kein Fensterchen und Buttons benötigt (Serveranwendungen z.B.).
3. VB ist auch net wirklich "Interpreter". Man benötigt aber die VB Laufzeitmodule um VB Anwendungen zum Laufen zu bringen..
Frage an die Allgemeinheit: Ist das bei Delphi nicht auch ähnlich?

Crash-Override
11.06.2005, 19:22
Man benötigt aber die VB Laufzeitmodule um VB Anwendungen zum Laufen zu bringen..
Frage an die Allgemeinheit: Ist das bei Delphi nicht auch ähnlich?

Wenn man die VCL verwendet (dieses Klicken und vereinfachte Setzen von Komponenten), dann benötigt Delphi einen Haufen extra Zeug, allerdings haut Delphi das dann immer gleich in die Exe mit rein, deshalb sind Delphi-VCL-Exen auch immer mindestens 300 kb groß, auch wenn sie "nur" ein leeres Fenster darstellen. Wenn man ohne VCL programmiert also die Fenster und Komponenten "zur Laufzeit" aus dem Quellcode generiert, dann sind Delphi Exen nur wenige Kb groß (ich glaube 10-13kb ein leeres Fenster [?]). Allerdings kann man die delphi-VCL-Exen wunderbar mit UPX verkleinern, da wird aus ner 300 kb etwa ne 150er und aus ner 1,3 MB ~ 450 kb Exe (<- Mein altes Projekt RPG-Main)



2. Reden wir hier jetzt von grafischer ("GUI") Programmierung für die sowohl VB als auch Delphi (sowieso) bestens geeignet sind.. es gibt aber (man stelle sich vor :p ) zahlreiche Anwendungsgebiete bei denen man kein Fensterchen und Buttons benötigt .

-> Delphi-Konsolen-Application

Datei|Neu|Weitere...|Konsolen-Anwendung :D

Shin Gouki
23.08.2005, 17:14
jemand der das hier alles lesen / sehen würde kriegt Angst vorm Programmieren , das Geheimnis liegt IMMER darin die Komplexität zu verbergen bzw. stück für Stück Preis zugeben.
Im Moment ist dieser Thread sehr unstrukturiert und sollte ( meiner Meinung nach ^^°)
doch etwas umgestaltet werden WENN dieser Anspruch besteht, WIRKLICH das Problem : << wie fange ich an ? >>
zu klären.

Grundsätzlich ist eine gute Richtline:

http://de.wikibooks.org/wiki/Programmieren
Ich weiß das das DORTIGE nicht unbedingt weniger "verschreckend" ist aber ich habe eine These:
Jemand der weiß das es ein Wort gibt wie:" Softwareentwicklung"
Wird es später immer leichter haben beim Programmieren. Weil er erstmal nachdenkt wie sein Problem am leichtesten zu lösen ist. Anstatt das er gleich drauf los hämmert in der Sprache die er gelernt hat. Man köntne somit sagen das:
(Ausgenommen man hat vor SEHR Monotone Sachen zumachen^^)
Man eigentlich das Prinzip des programmierens lernt (beim ersten mal) und die Sprache eben "nur" so nebenbei. WEswegen ich es für falsch halte die erste Sprache bis zur Perfektion zu erlernen --> man weiß selten was man mal für Probleme zu lösen haben wird.
Sein es nun:
- ein RPG programmieren
- eine Webseite programmieren
- einen Webservice
- eine Ablaufsteuerung in der Automatisierungstechnik
- eine Daatenbank GUI anbindung
- Embedded Entwicklung aufMicrocontrolern
usw...

Die Antwort auf die Frage: wie fange ich an, sollte auch immer einer gewissen Methodik unterliegen (auch wenn viele meinen ein C Compiler und Helloworld reicht aus). Meiner Meinung nach ist es viel wichtiger den Leuten zu vermitteln
W A S man alles mit Programmieren erschaffen kann. Und soweit ich das sehe sind die GRenzen dafür schon nah am unendlichen ^^°.

--> wenn Interese besteht würde ich gerne mit einem Mod diesen WICHTIGEN Beitrag etwas umstrukturiern bzw. über veränderen in diesem BEitrag diskutieren.

*hustnochwas*
Microsoft Visual C# (.net) C# Compiler <-- das ist SO nicht richtig ^^
Ohne Hier eine Grundlagen Diskusion vom Zaun zu reisßen beziehe ich mich mal hierrauf:
http://en.wikipedia.org/wiki/Interpreter_%28computing%29 -->
"..
A technique that has gained attention in recent years is Just In Time compilation (JIT), which further blurs the distinction between interpreters, byte-code interpreters and compilation. JIT is available for both the .NET and Java platforms. The JIT technique is several decades old, appearing in languages such as Smalltalk in the 1980's.
.."
Es ist unnötig (für den Anfang) diese Unterteilung anzugeben da sie (siehe Zitat) nicht wirklich eindeutig zuzuordnen ist.Was ja auch nicht an dieser Stelle sein muss, denn wir wollen ja hier wissen: wie fange ich an? und nich: Compiler Vs Interpreter.
Absolut Grundlegende Themen wie:
# Der Prozess der Softwareentwicklung
# Wahl der Programmiersprache

* Maschinennahe Sprachen
* Hochsprachen
* Prozedurale Sprachen
* Objektorientierte Sprachen
* Auszeichnungs- und Darstellungssprachen
* Skriptsprachen

# Möglichkeiten um Programmieren zu lernen
stehen halt im Wiki weswegen ich auch darauf verweise!

(Ich weiß selbst das in Wikipedia viels falsches drinn steht gerade in Bezug auf .NET und das Programmier buch betreffend sind die Informationen VERLÄSSLICH!!!!!! )
MFG Shin Gouki

MuadDib
15.12.2005, 21:04
Buchempfehlungen

... sollten hier vielleicht auch rein :).

Nachdem für die einen oder anderen Programmiersprachen ja oben schon ein bisschen etwas geschrieben wurde, will ich auf eine Entdeckung eingehen, die schon eher in ein Spezialgebiet geht und etwas Programmierkenntnisse verlangt. Viele Leute hier wollen sich an Spielengines oder 3D Programmen versuchen, ein gutes Buch, sich Computergrafik (also Bildgenerierung) in egal welcher Dimension anzueignen, wäre der Masterkurs Computergrafik und Bildverarbeitung (http://www.amazon.de/exec/obidos/ASIN/3528058749/qid=1134676537/sr=8-2/ref=sr_8_xs_ap_i2_xgl/303-6449954-6236235).
Wie gesagt, das Buch setzt schon ein gewisses Ausmaß an formalem Verständnis und Programmierkenntnisse voraus, dafür wird einem die Computergrafik von Grund auf an der OpenGL-Bibliothek erklärt. Das ganze ist kein OpenGL Lehrbuch, sondern eine Erläuterung von Basiskonzepten, die sich halt hervorragend mit OpenGL darstellen lassen. Dass man nebenbei lernt, mit der API umzugehen, ist eher ein wünschenswerter Seiteneffekt, als Hauptziel des Buches (dafür lässt sich das gelernte auch problemloser auf andere APIs übertragen). Darüberhinaus gibts noch einen Haufen gedruckte Codestücke sowie Programmbeispiele, die man sich zusätzlich runterladen kann.
Der Umfang geht von einfachen Primitiven und Beleuchtung bis hin zu ersten Vertex und Pixel-Shader Beispielen und Animation. Großes Kapitel auch über Texturen.

Der zweite Teil behandelt die Bildverarbeitung (also im Grunde das Gegenteil der Bildgenerierung), und erklärt dabei sowohl die Grundlagen der Signalverarbeitung, sowie die Konzepte der Histogrammbasierten Bildverbesserung, Masken, Transformationen in andere (Merkmals)-Räume, Clustering, etc. Das ganze ist einen gewaltigen Schritt formaler als der erste Teil des Buches. Doch für Leute mit einem gewissen mathematischen Know-How (das durchaus auf Vektor/Matrizen-Basis bleiben kann) durchaus empfehlenswert.

Nach einigem Blättern kann ich das Buch wirklich uneingeschränkt jedem empfehlen, der sich etwas für die beiden Bereiche der Informatik interessiert und seine Kenntnisse darin vertiefen will. Das ganze ist sowohl zum Grundlagen aneignen als auch als Nachschlagewerk (wie mir von Tag zu Tag mehr bewusst wird :)) exzellent geeignet. Ich wage sogar die Prognose, dass dieses Buch in Zukunft in der Lehre als Standardwerk durchgehen wird.

Caine Luveno
26.04.2007, 14:00
Der Thread ist ja schon etwas älter, aber immerhin gepinnt. Deswegen wollte ich mich auch einmal dazu äußern:

"Programmieren" ist mitunter nicht leicht. Wer das erste mal von Programmeiren hört, sollte sich, bevor er sich über eine Sprache oder einen Compiler/Interpreten Gedanken macht überlegen ob er selber überhaupt die Fähigkeiten dazu besitzt.

Ein Programm das "Hallo Welt!" auf den Bildschirm pinselt oder eventuell (a+b)^2 berechnen kann schafft wohl jeder wenn er sich nur einige Tage mit Grundbefehlen und Syntax auseinander gesetzt hat.

Und das ist schon der erste Punkt:

- Lernen, lernen, lernen, ähnlich wie bei Fremdsprachen. Man stelle sich den Syntax als die Grammatik vor, und die Befehle als Vokabeln.

Zwei weitere wichtige Punkte sind:

- Logisches Denkvermögen, abstraktes Denken. Im Endeffekt ist ein Programm eine Abarbeitung einer langen Listen von Befehlen, nicht wirklich schwer. Doche s wird schwer wenn sich Abfragen, Schleifen, Prozeduren, Funktionen, verschachteln bis zum geht nicht mehr.

Mathematik und Physik sind gute Beispiele dafür an denen man sich messen kann->Reine Logik. Wer gut in solchen Schulfächern ist, sollte mit Programmieren wenig Probleme kriegen. Aber die eher mäßigen Schüler müssen entweder sehr viel lernen, oder werden es nicht schaffen (ich kenne einige, die es gerne können würden, aber an der Logik scheitern).

- Strukturiertes Arbeiten! Ordganisationstalent u.a. Wenn ein Quelltext mal eben 10000 Zeilen lang wird, verschiedene DLL's eingebunden werden, hier und da Fremdkomponenten dazu kommen, man das ganze in verschiedene Quelltext Dateien aufteilt etc. ist ein gewisses Organisationstalent unabdingbar.

Man muss zu jeder Zeit wissen wann das Programm wo was und warum macht. Und das auch wenn man das Proejkt mal 3 Monate pausiert hat und danach wieder vor dem Monster-Quelltext sitzt.

Und der letzte und wohl wichtigste Punkt:

- Wer schnell aufgibt hat sofort verloren!

Ich habe ca. 1 Jahr gebraucht um zu checken was ne Schleife ist. Teilweiße sitzt man auch einen ganzen Tag an 10 Zeilen Quelltext und fragt sich warum das nicht geht. Manchmal auch länger. Wer dann schnell aufgibt hat keine Chance. Egal worum es geht, sei es nun ein einfaches Programm oder ein komplexes Spiel.

Dazu gehört auch die Fähigkeit, sich selber Lösungen zu suchen, oder, wenn man einen Befehl nicht kennt diesen auch unter gegebenen Umständen selber finden zu können. Viele IDE's haben hierzu eine sehr ausführliche Hilfedatei.

Wenn man meint man schafft sowas, dann kann man Überlegen damit anzufangen. Wer sich unsicher ist sollte es einfach mal probieren.

Und wie anfangen? Da gibt es sicher verschiedene Meinungen... mir fallen spontan zwei Möglichkeiten ein:

1. Sich über mögliche Sprachen informaieren, Programme dazu suchen, und sich dann darüber im klaren werden was wohl für einen am besten ist.

Einige gehen wohl mit der Devise ran "Ich fang mit C++ an. Wenn dann gleich die populärste und wohl Leistungsstärkste, aber auch schwierigste Programmiersprache" andere sagen sich "Ich fange klein an um die Grundlagen zu lernen: Turbo Pascal uf DOS Ebene, und dann eine ältere Version von Delphi (3 ist ganz gut)"

2. Variante 1# Nun besorgt man sich IDE, inklusive Compiler und allenw as dazu gehört. Installiert es, und versteht erst einmal Bahnhof. Da viele IDE's bereits bei der Instakllation verschiedene Optionen bieten (wie z.b. Delphi+Kylix Library oder nicht?). Man installiert es irgendwie und sucht massig Einsteiger Tutorials oder ackert sich von Anfang an durch die nicht kleinen Hilfedateien bis man sie auswendig kann.

2. Variante 2# Man guckt bei Amazon und Co. nach guten Büchern für die Sprache für welche man sich entschieden hat. Die meisten Bücher für Anfänger liefern eine IDE mit (wenn auch alte und eingestaubte Versionen). Bei mir hat 1 Buch ausgereicht. Man nehme noch einige Tutorials aus dem Netz zur Hilfe und es kann nicht mehr viel passieren.

3. Nun hat man "Hallo Welt" oder ähnliches auf dem Bildschirm stehen und ein Programm das (a+b)^2 berechnet. Das Buch ist am Ende. Was nun?

Kleine Programme schreiben, welche verschiedene Funktionen erfüllen. Paradebeispiel ist der Texteditor. Den Windows Editor kennt jeder, baut ihn nach und verbessert ihn! Oder wenn ihr als Webmaster tätig seid bastelt ein Programm welches Umlaute in HTML-Entities umwandelt, ein Zufallspasswort-Generator, ein Programmd as einen Text nach Wörtern aus einer Blacklist durchsucht und und und.

Sowas macht zwar meist wenig Sinn, aber es gibt einem ein Gefühl für die IDE und die Sprache selber. Und vorallem: KEINE Tutorials benutzen! Schreibt den Texteditor komplett alleine, oder ähnliches. Ein Leitfaden ist zwar immer schön, aber ihr müsst es OHNE können.

Zu guter letzt meine persönliche Empfehlung: Als Buch empfiehlt sich Delphi für Kids von Hans Georg Schuman. Damit habe ich begonnen und es lief ganz rund. Einem Anfänger empfehle ich sowieso meist Delphi, sowohl die Sprache (früher als Object Pascal bekannt) sowie auch die IDE.

Das hat folgende Gründe:
- Die Sprache an sich hat einen klaren Syntax.

Im Gegensatz zu mancher Scriptsprache wie PHP wo manche Sachen weggelassen werden können, oder verschiedene Dinge den selben Zweck erfüllen nur eben "unsauber" programmiert sind.

Allerdings sieht ein fertiger Delphi-Code nicht halb so kryptisch aus wie C++.

- Die IDE ist übersichtlich, und auch ohne alle ihre Funktionen zu kennen kann man sie leicht nutzen. Man startet Delphi und kann theoretisch sofort loslegen.

Der WYSIWYG Editor für die Benutzeroberfläche ist für Anfänger sowieso ganz gut geeignet.

Des weiteren liefert Delphi 6 zumindest, viele umfangreiche Demo Programme mit an denen man auch gut lernen kann.

foley92
13.07.2008, 16:18
Kommerzielle Software

* Microsoft Visual C++: IMO der wohl beste C++-Compiler für Windows, leider. Visual Studio ist umfangreich und mächtig, und für große Projekte wirklich 1a, allerdings - wie gesagt - kommerziell. Die IDE ist im Vergleich zum Compiler auch sau-langsam und frisst enorm viel Speicher. Bedingt empfehlenswert, ... ich komme mit den obigen Tools aus . Kostenpunkt: 115€

Also wer's noch icht mitb ekommen hat, seit einigen Jahren gibt es die Express Editions, unterteilt in Visual Basic, C#, C++, Web Developer (glaub ich) sowie SQL Server. Wiederum in der etwas veralteten (aber immer noch guten) 2005er Version und in der neueren 2008er Version. Alles kostenlos, man muss sich nur bei Microsoft registrieren (die Daten müssen nicht stimmen, bis auf die E-Mail Adresse ;) ).
Und mit einigen Tricks könnt ihr sogar die volle Leistung der "kommerziellen" Versionen erreichen: Ladet euch die Platform SDK herunter und bindet diese ein ;).
Für weitere Fragen: hier ist eine Diskussion darüber im Robsite-Forum (http://www.robsite.de/forum/viewtopic.php?id=26).

Links:

2008er Editions (http://www.microsoft.com/germany/express/) (unter ältere Versionen bekommt ihr auch die 2005er)


MfG. euer Foley

Fl0
14.05.2010, 11:52
Hey Leute,super Thread:
ich bin zwar erst 13 aber ich verwende für meine kleinen C++ Progs :


"Geany" Multi Compiler und Editor)
läuft unter Linux und Windoof:
http://www.geany.org/

bei Ubuntu einfach:
sudo apt-get install geany :)

greetz.flo

tuxtuxtux
11.09.2012, 23:14
Hallo ich kann QT empfehlen ist auch C++(Code wird also compiliert) der gleiche Sourcecode ist jedoch auf allen Platformen lauffähig.
Ich find es da auch etwas einfacher den Buttons usw. Funktionen(Methoden heisst das ja in der Objektorientierung^^) zu hinterlegen als das sonst der Fall ist.

TheCall
23.04.2014, 18:42
Hallo! Ich habe mal eine Frage. Unzwa was ist den nun die Leichteste Programmier Sprache ? oder gibt es da keine Leichteste ?

Whiz-zarD
23.04.2014, 18:55
Es kommt drauf an, was du machen willst.
Aber allgemein: Nein, es gibt nicht _DIE_ leichteste Sprache. Da hat so jeder seinen eigenen Geschmack.
Es kommt eher drauf an, für welche Zielplattform du entwickeln möchtest.

TheCall
23.04.2014, 18:57
Ich würde mich gerne an einem Jump&Run versuchen Für den Pc :D in 2D

Whiz-zarD
23.04.2014, 19:42
Dann würde ich dir eh empfehlen, eine fertige Engine zu nehmen, anstatt mit einer Programmiersprache bei den Basics anzufangen, wenn du noch keine großen Programmierkenntnisse hast.
z.B. GameMaker Studio (https://www.yoyogames.com) oder Torque2D (http://www.garagegames.com/products/torque-2d).

TheCall
23.04.2014, 20:04
Ok Sry wenn das jetzt eine Dumme frage ist aber Wie binde ich Torque2D in Visual Basics 2010 express ein ?

Whiz-zarD
23.04.2014, 20:07
Gar nicht ;)
Torque2D ist eine eigenständige Engine mit einer Entwicklungsumgebung.
Torque besitzt zwei Tools. Einmal den Map-Editor und einmal der Quellcode-Editor (mit integrierten Kompiler), der sich Torsion nennt.
Torque benutzt auch eine eigene Scriptsprache, die PHP ähnelt.

Wenn du mit Visual Basic arbeiten willst, dann wäre vielleicht XNA einen Blick wert, auch wenn XNA eingestellt wurde.
Ich weiß aber nicht, ob man XNA basierte Spiele mit der Express-Version von Visual Studio entwickeln kann. Berufsbedingt habe ich hier die Professional-, bzw. die Ultimate-Edition.

TheCall
23.04.2014, 21:39
achso okey weil das stand auf der Website "All platforms require an installed C++ compiler in order to build the engine. T2D is compatible with the free Microsoft Visual Studio 2008/2010 Express and Apple XCode programs."
Dachte man braucht noch was extra programm :D

Whiz-zarD
23.04.2014, 21:50
Ah, ok, das wusste ich noch nicht :D
Ist mittlerweile auch schon ein paar Jahre her, als ich mit Torque noch was zu tun hatte. Da gabs sowas noch nicht :)
Hier habe ich was gefunden: https://www.garagegames.com/community/forums/viewthread/133869

Aber ich denke, ich würde doch eher GameMaker Studio empfehlen, da ich denke, dass dort die Dokumentation besser ist. Bei Torque2D lässt sie doch sehr zu wünschen übrig.

TheCall
23.04.2014, 21:57
Okey ich probier einfach beides aus :D