Einsteiger Programmiersprache für bestimmtes Projekt

Ich kann von C/C++ Anfängern nur abraten, damit wäre dein Projekt zum Scheitern verurteilt. Wenn du nur hobbymäßig programmieren willst, dann würde ich dir speziell im Hinblick auf dein Projekt folgende Sprachen empfehlen:

Java
RealBasic
evtl. BlitzMax

Wobei BlitzMax für Hobby-Spiele-Programmierer (Betonung auf Hobby) die einfachste und meiner Meinung nach beste Wahl wäre, denn damit kann man mit relativ wenig Aufwand auch schöne grafische Spiele programmieren (mehr dazu: http://www.blitzmax.com/ ).
 
Hallo cossi,

vielleicht kann man Dein Spiel auch ganz ohne großartige Programmierkenntnisse relativ schnell & easy in Flash basteln?

Der Vorteil wäre:
-völlig plattformunabhängig
-Browsergame (kürzere zeitintervalle, mehr potentielle Mitspieler)


Druckfunktion wäre schon im Browser integriert. Und mit Actionscript hättest Du erste Programmier-Gehversuche. (HC-Coder: bitte nicht steinigen :) )

Nur so, falls es Dir primär um das Spiel geht.
 
konben81 schrieb:
Ich kann von C/C++ Anfängern nur abraten, damit wäre dein Projekt zum Scheitern verurteilt. Wenn du nur hobbymäßig programmieren willst, dann würde ich dir speziell im Hinblick auf dein Projekt folgende Sprachen empfehlen:

Also das halt ich jetzt mal einfach für Quatsch!
Ich habe damals direkt mit Assembler angefangen und es hatte geklappt.

Wenn man mit C oder Objective C anfängt ist es ok. So schwer wie es immer dargestellt wird ist es einfach nicht.
Es kommt vielmehr darauf welches verständnis jemand für eine Programmiersprache hat. Für die einen ist C angenehmer als z.B. Java oder sonstige Programmiersprachen. Und ich selbst ging von Assembler auf Turbo Pascal, auf Visual Basic, auf C und jetzt Objective C.

Man sollte sich vielleicht im Hinterkopf behalten, daß man anfangs halt nicht gleich eine 3D Rendering Engine entwickeln kann.
Das betrifft aber jede Programmiersprache.
 
Da muss ich Kanthos zustimmen. Ausserdem fällt es leichter, auf eine andere Sprache umzusteigen, wenn man mit einer "niedrigen" Sprache angefangen hat. C ist nicht so komplex und trotzdem extrem Leistungsfähig, und man lernt alles, was man über das Programmieren wissen muss, weil es keine richtige High-Level-Sprache ist.

Wenn man Anfänger ist, schreibt man eben Anfängerprogramme mit einfacher Datenmanipulation. Wenn man Profi ist, schreibt man Profiprogramme mit fremden Bibliotheken und GUI. Die Sprache wächst sozusagen mit, je mehr man lernt.

Alle die sagen, dass C zu schwierig für den Einstieg ist, sind lediglich von Sprachen wo alles automatisch geht, etwas verwöhnt ;) Und genau das ist der Grund, wieso man nicht mit sowas einsteigen sollte.

Und bitte, sagt nicht dauernd C/C++. Das sind zwei verschiedene Sprachen mit weitestgehend gleicher Syntax, aber komplett unterschiedlichen Ansätzen und unterschiedlichen Bibliotheken. Programmieren in C++ ist zudem auch ein Bisschen schwieriger als in C.

PHP kann man übrigends fast automatisch, wenn man einmal den Einstieg in C geschafft hat - sogar die Funktionen haben größtenteils den selben Namen und die selbe Syntax ;)
 
Was allgemeines zum Projekt noch mal:
Das ist ja kein neues Spiel, sondern das gibt es ja schon längst. Ist halt nur die Sache, dass die ganzen Zettel immer per Hand ausgefüllt werden müssen... das nimmt irre Zeit weg und deshalb bin ich auf die Idee gekommen das von einem Programm machen zu lassen. Also im Grunde geht es vor allem darum in die Vorlagen, die ausgefüllt werden müssen, die entsprechenden Informationen automatisch einzusetzen, so dass man dann nurnoch auf "Drucken" klickt und die Zettel automatisch und ausgefüllt gedruckt werden. Auf Grundlage dieser Informationen soll es dann möglich sein für das nächste Mal einfach einmal bestimmte Dinge zu ändern, die dann (weil sie in mehreren Vorlagen berücksichtigt sind) automatisch überall geändert werden.
Diesbezüglich dachte ich zuerst daran, dass man das ganze vielleicht auch mit einer einfachen Tabellenkalkulation zu handhaben.
Da gibt es nur das Problem mit dieser HEX-Feld-Landkarte, die eigentlich das komplizierteste sein wird. Auf dieser werden Einheiten und markante Geländemerkmale eingezeichnet und dann eben die Einheiten bewegt, neu aufgestellt, etc. Da wüsste ich nicht wie man das in einer Tabellenkalkulation handhaben soll, weil es ja Sechsecke und keine Quadrate sind (jetzt wegen der Vorlage zum Ausdrucken)...
Vielleicht hat ja da einer einen Tipp?

Zu den Programmiersprachen:
Extra Geld für Oberflächen, Programme etc. will ich eigentlich nicht ausgeben. RealBasic scheint zwar schon klasse zu sein, vor allem da ich keine Zeit daran "verschwende" die GUI (nennt man das so?) zu bauen. Solche Programme finde ich schon super, da man "direkt" anfangen kann und nicht so viel tippen braucht ;-) Doch finde ich solche kommerziellen Programme immer etwas schelcht, weil man immer von den Herstellern abhängig ist. Zumal die Preise völliger Wucher sind! (Ich dachte an Gambas, aber das ist wohl nur für Linux-Distris, wie ich gelesen habe) Außerdem geht da schon genug Geld für die Bücher drauf!

Weiterhin will ich ja die Kenntnisse dann auch anderweitig noch einsetzen können. Bei JAVA und FLASH hätte ich die Möglichkeit das dann in Form einer Homepage zu tun. C, C++, und Python könnte ich wohl für alles einsetzen, speziell wenn ich in Zukunft mich mal näher mit Debian beschäftigen will... Bei RealBasic, Gambas hätte ich natürlich die Möglichkeit schnell weitere Programme zu schreiben, ohne viel Zeitaufwand. Doch gebe ich einen Haufen Geld für die Entwicklungssoftware an sich aus, vor allem wenn ich die Programme nicht nur für Mac OSX kompilieren möchte. Ich bin Student und das ganze soll ein Hobby bleiben! Der Zeitaufwand sollte möglichst gering sein (das spricht wohl für RealBasic und Gambas), doch mir auch langfristig etwas bringen.
Gambas hat halt nur den Nachteil mit Linux...
Vielleicht hilft euch das ja irgendwie bei der Beratung weiter...

Ist es denn wirklich so kompliziert die Fensteroberflächen in C, C++, Java, etc. zu programmieren wie ich gelesen habe?
 
Genau da haben wir das Problem.
Es mag für Dich so aussehen, daß Du schnell mal in Basic die Hex-Felder machst etc., aber spätestens wenn Du es versuchst wirst Du scheitern.

Denn Du musst auch in diesen Sprachen wissen, wie sieht es mit Variablen aus, wie zeichne ich diese Hex-Felder.
Klar, es ist hier und da vielleicht etwas leichter um etwas zu erreichen, aber dafür wirst Du abstriche in der Portierung hinnehmen müssen.

C und auch deren Aufsatz Objective-C sind ebenfalls leicht zu erlernen.
Portierung auf andere Systeme ist dadurch ebenfalls gegeben.

Allerdings gibt es ein paar Punkte zu beachten.
Nur mit Objective-C kannst Du momentan mit dem Kompletten Umfang für die Aqua Oberfläche entwickeln. (Cocoa Framework)

Wenn Du also ein portables Programm entwickeln willst ohne großartigen Mehraufwand, dann musst Du schon auf ein anderes Framework zugreifen wie z.B. QT oder ähnliches. Dies kann dann auch unter Linux laufen.
 
Zuletzt bearbeitet:
Java und Flash für Websites? Naja, wenn du auf unnötige Spieleren stehst, und willst, dass deine Homepage nur einer eingeschränkten Benutzergruppe zugänglich sein soll. Nagut, Flash könnte man noch verstehen. Aber wenn du wirklich was im WWW programmieren willst, brauchst du PHP (siehe C), Perl, Python, C, oder sonstiges. Ist auch alles kostenlos.

C kannst du nicht nur unter GNU/Linux gebrauchen, sondern auf jeder Plattform. Selbst wenn du irgendwann mal Microcontroller oder Gameboys programmieren willst :p

Und ja, grafische Oberflächen sind ganz schön kompliziert.

Für dich könnte man noch Delphi empfehlen - das gibt's aber nur für Windows ;) Für Linux gibt's noch Kylix, das ist eigentlich das Gleiche, aber Windows-orientierte Dinge lassen sich schlecht auf Linux übertragen, genau wie Delphi oder Kylix. Ansonsten wäre Delphi wirklich gut geeignet - gute und einfache Programmiersprache (Object Pascal), sehr guter Compiler, einfache GUI-Programmierung. Ist andererseits auch nicht kostenlos.

Eine andere Idee, die mir gekommen ist, als du das Drucken erwähnt hast: Im allgemeinen ist das nämlich nicht so einfach, wenn du nicht bloß Text drucken willst. Aber mit PHP (= einfach und sinnvoll zu lernen) lassen sich leicht Formulare auswerten (= diese Werte, die du brauchst) und Bilder malen (= wird dann ausgedruckt). Das wäre auch kostenlos, und du lernst was über Webserver :)

Kanthos: Nein, für Linux gibt's GNUstep - dann hast du etwas, das in ausreichendem Umfang mit den Cocoa-Frameworks kompatibel ist :) Und auf NeXTstep und OpenStep laufen die Anwendungen dann auch nativ.
 
Zuletzt bearbeitet:
Hhhmmm......
Also wenn ich das alles nochmal überdenke dann glaube ich, dass PHP ganz praktisch wäre. Läuft ja dann im Browser und ich spare mir das mit der grafischen Oberfläche, was ja sowiso zu kompliziert wäre. Außerdem kann ich es für Homepages gebrauchen (was mich ebenfalls sehr interessiert) und wenn ich dann C (und andere) mal probieren möchte, helfen mir die Erfahrungen die ich damit gemacht habe.
Soweit richtig?
 
Saski schrieb:
Kanthos: Nein, für Linux gibt's GNUstep - dann hast du etwas, das in ausreichendem Umfang mit den Cocoa-Frameworks kompatibel ist :) Und auf NeXTstep und OpenStep laufen die Anwendungen dann auch nativ.

Aha, wieder etwas dazugelernt :)
 
Cossi: Jaaaa :D Ich schreibe "Programme" auch gern in PHP, wenn's schnell gehen muss, und ich keine lust auf Kommandozeilenprogramme hab *gg*

(Auch wenn erst C und dann PHP einfacher wäre, weil du bei C mehr beachten musst, als bei PHP. Bei PHP was weglassen ist einfacher, als Dinge, von denen du bei C noch nichts weisst, zu beachten)

Kanthos: Naja, es ist nicht soo toll (ganz leicht träge, viel Gebastel nötig), aber es läuft *g* Könnte mir das sinnvoll vorstellen, wenn man sein Linux an GNUstep orientiert, als wenn man GNUstep auf ein GNU/Linux installiert.
 
Zuletzt bearbeitet:
Bartleby schrieb:
Ohne deinen gesamten Beitrag gelesen zu haben, fällt mir zu "plattformunabhängig" nur Java ein!

oder Python. wichtig ist das bibliotheken verwendet werden, die auf jeder plattform laufen...
 
cossi schrieb:
Diesbezüglich dachte ich zuerst daran, dass man das ganze vielleicht auch mit einer einfachen Tabellenkalkulation zu handhaben.
Da gibt es nur das Problem mit dieser HEX-Feld-Landkarte, die eigentlich das komplizierteste sein wird. Auf dieser werden Einheiten und markante Geländemerkmale eingezeichnet und dann eben die Einheiten bewegt, neu aufgestellt, etc. Da wüsste ich nicht wie man das in einer Tabellenkalkulation handhaben soll, weil es ja Sechsecke und keine Quadrate sind (jetzt wegen der Vorlage zum Ausdrucken)...
Vielleicht hat ja da einer einen Tipp?

Also das ließe sich ohne großen Aufwand hervorragend mit File Maker lösen.
 
Ich würde dir Python empfehlen. Zum einen kannst du damit objektorientiert, prozedural und funktional programmieren, somit kannst du das für dein Problem passendste Paradigma auswählen. Die Sprache ist sehr leicht zu erlernen und vor allem man lernt sehr gut wie objektorientierte Programmiersprachen funktionieren und wie man objektorientiert Programmiert. Man kann viele Sachen damit anstellen die man in manch anderer objektorientierten Sprachen nicht machen kann, z.B dadurch da alles ein Objekt ist, selbst eine Klasse. Ausserdem hast du auch einen interaktive shell in der du sachen ausprobieren kannst.

Der Code wird nicht compiliert sondern beim ersten Aufruf deines Programmes in Bytecode umgewandelt. Du kannst auch die Funktionalität mit selbstgeschriebenen C routinen erweitern falls du z.B. Zugriff auf nicht unterstützte Hardware an deinem Rechner brauchst.

Es gibt sehr viele Bibliotheken die man verwenden kann, z.B pygame (Spieleprogrammierung), wxpyton (Platformübergreifende GUI mit WxWidgets die native Graphikbibltiotheken auf dem Zielsystem benutzt), pyobjc (Python - Objective C Bridge mit der man auf Apples Cocoa Framework zugreifen kann) und vieles mehr.

Das wichtigste aber, es macht sau viel spaß damit zu programmieren :-D
 
Hallo,

es gibt 2 weitere Basic-Dialekte, die Interessant sein könnten:

wxBasic
ExtremeBasic

Beide plattformübergreifend, aber recht jung.
Daher kann die eine oder andere Funktion (z.B. Datenbankanbindung) fehlen.

Gruß, M.
 
und wie siehts mit Macromedia Director aus??

einfache Programmiersprache mit mächtigen Funktionen, dazu lässt sich unter osx die nötige runtime für osx + win kompilieren -->ohne terminal mit flags zu übersähen


gruß marek
 
Zurück
Oben Unten