Einsteiger Programmiersprache für bestimmtes Projekt

C

cossi

Hi!
Will programmieren lernen. Kaum (mehr) Kenntnisse vorhanden! Eine simple Sprache, die noch dazu Plattformunabhägig ist, für folgendes Projekt:

Für ein Briefrollenspiel muss ich immer mal wieder einen Haufen Zettel ausfüllen. Dabei müssen auf einer DIN A4 Seite ein Haufen HEX-Felder sein, die eine Landkarte einteilen. Dabei muss es mir möglich sein die Landkarte immer zu erweitern, bzw. ganz neu einzulesen. In jedem HEX-Feld werden zusätzlich Informationen gespeichert. Zum einen einfache Zeichen und dann auch ein paar Grafiken. Gleichfalls sollte es möglich sein die Informationen von einem Feld in das andere per simplen Drag&Drop zu "verlegen" Dabei muss dies mit Pfeilen angezeigt werden. Das ganze sollte dann noch über eine simple Druckfunktion verfügen. Das wärs im groben, der Rest wäre eher unspektakulär!
Ich hab da mal nen Link:Klick mich Schaut euch die Bilder an... im groben so!

Damit wir uns richtig verstehen, ich erwarte nicht das ich mich hinsetze und dann alles in ein paar Monaten fertig hab. Das ist einfach nur mein LANGZEIT-Ziel, und wenn der Weg dahin steinig ist okay. Ich habe nur keine Ahnung von Programmiersprachen und will mich nicht mit etwas befassen, nur um nach einem halben Jahr festzstellen, dass mein Plan mit dieser Sprache nicht zu verwirklichen ist.
Plattformunabhängigkeit wäre mir wichtig, weil ich das Prog dann noch anderen Spielern zur freien Verfügung stellen möchte und es sollte eine möglichst einfache Sprache sein, weil ich keine große Ahnung habe und das halt nur ein Hobby ist (und bleibt!)

Noch ein paar Worte: Ja ich habe die Suche genutzt... Python und Java scheinen im groben dazu geeignet zu sein. Aber bei den Java Sachen die ich bsiher gesehen habe, hab ich da irgendwie Zweifel ob es das richtige ist...

Wäre für eure Hilfe dankbar!
 
cossi schrieb:
Hi!
Will programmieren lernen. Kaum (mehr) Kenntnisse vorhanden! Eine simple Sprache, die noch dazu Plattformunabhägig ist

Ohne deinen gesamten Beitrag gelesen zu haben, fällt mir zu "plattformunabhängig" nur Java ein!
 
Ich würde Dir empfehlen die Sprache C zu erlernen, je nachdem welches Framework Du verwendest ist dies dann ebenfalls auf verschiedenen Systemen zu verwenden.
Wenn Du weiterhin auf dem Mac Programmieren möchtest, dann geh noch den kleinen Schritt zu Objective C damit steht dir Aqua komplett offen und ist ebenfalls auf verschiedene Rechner Portierbar, dann allerdings ohne Aqua.

Oder Du gehst gleich den Weg mit C++.

Java, auch wenn es bei schnellen Rechnern nicht so auffällt ist recht langsam.

Grafik würde ich in OpenGL machen..
Dazu könntest Du vielleicht die SDL Library benutzen welche eigentlich für Spiele gedacht ist, aber z.B. auch auf Windows und Linux Rechnern funktioniert.
 
Du kannst das mir jeder Programmiersprache machen. Zum Anfangen empfehle ich immer C, weil es einfach (im sinne von logisch) ist, nichts versteckt, und als einzige wirklich(!) portabel ist, weil's für jedes System Compiler gibt. Man muss zwar Vieles von Hand machen, aber dafür versteht man nachher auch mehr von der Sache. Und sie ist wirklich für Alles geeignet. Außerdem ist es eine Untermenge von Objective C, also der Sprache, auf der Mac OS X und die ganzen Frameworks aufbauen.

Aber beim Programmieren fängt man im Normalfall nicht mit grafischen Sachen an, sondern mit Kommandzeilenprogrammen.
 
Saski schrieb:
Zum Anfangen empfehle ich immer C, weil es einfach (im sinne von logisch) ist, nichts versteckt, und als einzige wirklich(!) portabel ist, weil's für jedes System Compiler gibt.
.

Das ist für mich aber nicht der Sinn von Plattformunabhängigkeit. Für mich soll ein Programm dann bei jedem laufen, dem ich es gebe OHNE dass derjenige erst anfängt zu compilen. Und das klappt bei C einfach nicht.
 
Bartleby schrieb:
Das ist für mich aber nicht der Sinn von Plattformunabhängigkeit. Für mich soll ein Programm dann bei jedem laufen, dem ich es gebe OHNE dass derjenige erst anfängt zu compilen. Und das klappt bei C einfach nicht.

Hmm, das machst Du doch bloß einmal pro Plattform.

Java musst Du ebenfalls kompilieren um ein .jar zu erstellen.
Wobei Java auch nicht unbedingt auf jedem System läuft wie Du es Dir vorstellst.
 
Bartleby schrieb:
Das ist für mich aber nicht der Sinn von Plattformunabhängigkeit. Für mich soll ein Programm dann bei jedem laufen, dem ich es gebe...

so dachte ich das jetzt eigentlich auch... aber wenn ich euch richtig verstehe dann würdet ihr mir C empfehlen, damit ich erstmal den aufbau und herangehensweise verstehe oder?

ich dachte jetzt ja auch nicht daran sofort damit anzufangen, sondern mich nach und nach da reinzuarbeiten... auch für kommandozeilen programmen hätte ich schon verschiedene Ideen, womit ich dann halt vorerst üben würde und womit auch was nützlich raus käme.
Aber am Anfang kommt ja eh nun mal das verstehen...

noch was: Dem englischen bin ich zwar generell mächtig, aber in eingeschränktem Umfang ;-) Deshalb wäre es wohl günstig was zu haben, das ich durch deutsche Bücher lernen könnte
 
...

Hallo cossi,

vielleicht ist ja REALbasic was Du suchst. Ist aber nicht unbedingt die günstigste Lösung.

Gruß Andi
 
Sieht nach VisualBasic aus - nicht nur wegen dem Namen-
Hatte jenes schon mal unter Win und eigentlich ganz gute Erfahrungen damit...
ich schau mir das mal näher an

Für weitere Tipps wäre ich dankbar! Aber günstig sollte es schon sein, extra Kosten wie bei REALbasic sollten nicht anfallen, wenn möglich!
 
Ich bin immernoch für Java :p

VisualBasic läuft IMHO nur unter Windows. Mit Java hat ich noch nie Probleme unter verschiedenen Plattformen: unter Linux geschrieben, läuft auch unter Windows und MacOSX.

Zu lernen ist es, finde ich, auch sehr einfach, da es letztendlich von der Syntax sehr C/C++ ähnelt. Es gibt viele gute deutsche Bücher dazu. Ein sehr gutes eBook findest du unter http://www.galileocomputing.de/openbook/javainsel4/ .Editoren und die JRE gibt es kostenlos bei Sun.
 
kanthos schrieb:
Hmm, das machst Du doch bloß einmal pro Plattform.

Du mußt dann aber für jede neue Programm-Version für jede verschiedene Plattformen, die du bedienen möchtest, neu-kompilieren. Java ist da komfortabler....
 
Javaprogramme hab ich noch nie zum laufen bekommen ... ausser früher mal, unter Windows 95, aber das war extrem langsam. Bei späteren Versuchen liefen zwar die Programme nicht, aber allein das Starten des Java-Konfigurations-Dings hat ewig gedauert. Auf meinem Linux-Rechner ließ sich die Runtime nichtmal richtig installieren. Achja, und jetzt auf meinem Mac. Ebenfalls sehr langsam.

Aber überleg mal, was ist sinnvoller:
- Einmal schreiben, dann kompilieren, dann läufts auf der jeweiligen Plattform
- Einmal schreiben, dann pseudo-kompilieren, dann muss der User diesen Java-Runtime-Kack installieren, dann läufts (nicht immer), aber nur langsam
?

*BASIC bringt's nicht wirklich, weil's eigentlich eine Anfängersprache für Homecomputer ist, die nur ab und zu mal wieder zum Leben erweckt und ein bisschen erweitert wird (und zwar von jeder Firma anders).

Bei C hat man auch was davon, wenn man die Plattform wechselt ... hab ich schon erzählt, dass ich einen Taschenrechner für Gameboy problemlos auf einem PC kompilieren konnte? 0 Übersetzungsfehler ...
 
Zuletzt bearbeitet:
hab mich mal näher informiert... von REALbasic bin ich wieder runter, aus verschiedene Gründen...
Momentan informiere ich mich über Python. Hab an verschiedenen Stellen gelesen, dass es einfach zu lernen und gut für die ersten Schritte sein soll.
Wahrscheinlich eh egal ob ich jetzt damit, mit C oder JAVA anfange, weil ich mich früher oder später wohl eh mit den Alternativen auseinandersetze (wenn ich so lange durchhalte!) ;-)
Nur halt mal anfangen und nicht ewig schwanken!

Ich danke euch allen bis hierhin für eure Hinweise!
 
Das soll echt kein Flamen sein *g* aber:
Ich rate dir echt zu C. Wenn du keinen Bock mehr hast, kannst du auf Objective C umsteigen, ohne umsonst gelernt zu haben ;) Ausserdem wie gesagt, du kannst es für Alles einsetzen. Mit Java kannst du nicht alles machen.

Python ist ganz gut, auch für eine Anwendung. Es ist halt eine Scriptsprache, aber das reicht für deinen Zweck, und ist doch ziemlich verbreitet, grade unter Unix-Systemen ;)
 
Jaja... hält sich das Gerücht von Java und "Plattformunabhängig" immer noch? ;)

Sorry, aber Java ist da schon lange nicht mehr der Hit drinnen.

Einige Punkte:
- noch kein "offizielles" Java 1.5 für OS X (wenn Apple es nicht raus gibt, warum tut Sun nix? Microsoft haben sie damals auch wegen VisualJ++ verklagt)
- GUI sieht je nach gewähltem Layout auf den Systemen anders aus
- auch ein "pures" Java-Programm kann plattformbegrenzt sein. Siehe den VisualEditor von Eclipse
- stark unterschiedliche Geschwindigkeit, je nach System
- jeder braucht eine aktuelle Runtime...
- aktuelle Runtimes nicht für alle Systeme verfügbar (besonders bei den *BSDs gibts Probleme)

Sorry, aber das ist für mich alles andere als "Plattforumunabhängig".


Gegenbeispiel:

C(++)/GTK+ oder C++/QT

- OpenSource
- läuft auf so gut wie jedem Unix/X11, Windows und MacOS X
- native Systemgeschwindigkeit
- teilweise Programmiersprachenunabhängig

Klar, muss man es für jedes System kompilieren. Aber hey. Wenn man so oft "austauschen" will, richtet man sich einmal ein CrossCompiler-System ein startet ein Build.
 
@Nuke:
Kann die deiner Argumentation in Bezug auf Java in einigen Punkten definitv nicht zu stimmen.

Es kommt m.M. nach immer darauf an, was Du machen willst.
Es gibt Probleme und Aufgaben, die lassen sich mit Java hervorragend lösen.

Andererseits würde ich niemanden, der Programmieren lernen möchte, Java oder C++ zu Beginn empfehlen. Selbst C ist zu heftig. Da kommt nicht viel Sinnvolles raus.

Anfangen würde ich mit Basic oder php. Da stellen sich schnell Erfolge ein. Mit den gewonnen Grundkenntnissen würde ich mich dann in die C++ oder Java Welt wagen.

Zu Java und C++ gehört m. E. auch die Auseinandersetzung mit OOA und OOD.
 
gishmo schrieb:
@Nuke:
Kann die deiner Argumentation in Bezug auf Java in einigen Punkten definitv nicht zu stimmen.
Es kommt m.M. nach immer darauf an, was Du machen willst.
Es gibt Probleme und Aufgaben, die lassen sich mit Java hervorragend lösen.

Ich sag ja nicht das Java für alles unggeignet ist. Du hast ja auch Recht.

Mein Kommentar bezog sich eher auf den Punkt "Plattformunabhängigkeit in Java".

Man kann auch mit C++ oder Java ganz simpel anfangen. Ich denke aber mit welcher Sprache man anfängt ist eigentlich egal. Man sollte nur nicht mit "klick und fertig"-Sachen anfangen, wie Borland Delphi oder Borland C++.
Man gewöhnt sich da einen schlechten Programmierstil an.
 
wenn du in c/c++ richtig programmierst und keine speziellen libs verwendest kannst du ja den code auf win und mac compilen -> alles in ordnung und kein verhasstes java
 
wie wärs denn daraus ein browsergame zu machen?
wenn ja dann php oder javascript
 
Python ist auch für jede Plattform zu haben. Compilieren brauchste nicht, da es eine Interpreterspache ist. Allerdings brauchst auf den Systemen auf denen das Programm laufen soll eine Runtime.
 
Zuletzt bearbeitet:
Zurück
Oben Unten