Suche ein Compiler- und Plattformunabhängige Sprache, um ein Musikprogramm, was zuvor in Tcl geschrieben ist, wegen großer Compilerveränderungen in eine andere Sprache zu konvertieren. Ich würde mich über eure Antworten freuen
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
bin mir nicht sicher das ich die frage verstehe. was bitte stellst du dir unter einer 'compiler-unabhaengigen' sprache vor? meinst du damit eine sprache die nicht compiliert sondern interpretiert wird? eine sprache, für die es verschiedene compiler von unterschiedlichen herstellern gibt?
als 'platformunabhaengig' kann man ausserdem recht viele sprachen bezeichnenen - die frage ist eigentlich was man genau machen will. so ist zum biespiel c/c++ sicherlich platformunabhaengig, das es fuer praktisch jede platform einen c oder c++ compiler gibt. wenn man dann aber mit einem gegebenen compiler eine anwendung schreibt die features der platform verwendet (z.b. dialogboxen, fenster, etc. pp), dann ist es mit der platformunabhaengigkeit _des_programmes_ schnell vorbei. das hat also nicht wirklich was mit der verwendeten sprache zu tun.
nun gibt es verschiedene moeglichkeiten dennoch 'platformunabhaengig' zu bleiben, z.b. in dem man 'portable' abstrakte libraries verwendet (kaufen oder selber programmieren) - aber ob sich ein selcher aufwand lohnt ist fraglich.
m.a.w.: du musst deine frage etwas genauer spezifizieren wenn du eine sinnvolle antwort moechtest.
WM_FYI
thomas woelfer
Ok, nun die genauere Frage:
Ich möchte, das der User, der mein Programm benutzt, egal ob er Linux oder Windows hat, es nutzen kann. Nun zum Compiler: Der User soll auch keinen z.B. Tcl_interpreter runterladen müssen, er soll eine ohne jegliches sonstige Programm (natürlich sein OS, versteht sich) das Programm ausführen können. Also unter Windows z.B. eine .exe-Datei haben. Wenn ich Visual Basic benutze, in wem ich mich recht gut auskenne, kann man das Programm wohl kaum unter Linux benutzen, versteht sich wegen Microsoft. Oder gibt es tatsächlich ein Programm, das Linux-kompatible Anwendungen aus VB-Code macht. Nun sollte die Frage besser sein, ich freu mich natürlich über weitere Antworten. Aber schon mal vielen Dank für die Bemühungen.
wenn der benutzer das programm direkt verwenden koennen soll, ohne zuvor selbst zu uebersetzen oder einen interpreter herunterzuladen bleibt dir nichts anderes uebrig als ausfuehrbaren code auszuliefern.
ich setze dabei mal vorraus, das du auch nicht willst das der benutzer unter linus erst einen layer herunterladen/installieren muss, mit dem er windows programme unter linux ausfuehren kann.
das bedeutet im wesentlichen, das du _zwei_ versionen deines programmes anbieten musst: eine fuer windows, eine fuer linux - und dann dann noch eine fuer jede andere platform die du versorgen willst.
das kann relativ einfach sein, muss es aber nicht. wenn es sich beim programm um eine konsolen-anwendung handelt (also keine fenster, menus etc, sondern nur textmodus) dann kannst du das programm zum beispiel in c/c++ programmieren und dann mit einem windows compiler (borland, microsoft, gnu, etc. pp) fuer windows uebersetzen und mit einem compiler fuer das andere betriebssystem (ich gehe mal davon aus das nur windows und linux als zielplatform angedacht sind) dann nochmals fuer linux uebersetzen. dann hast du zwei versionen des gleichen programmes fuer die beiden zielplatformen.
wie gesagt, bei textmode anwendungen ist das verhaeltnissmaessig einfach.
wenn es aber eine gui anwendung werden soll, wird die sache kniffliger: hier musst du entweder zwei (fast) unabhaengige programme schreiben die direkt die native api der zielplatform verwenden (also win32 fuers windows programm, und was auch immer du dir als windowing-teil fuer linux aussuchst) oder du suchst dir eine bibliothek die ein abstraktes interface bietet, die es fuer mehrere platformen gibt.
solche libraries sind, wenn sie denn funktionieren sollen, nicht ganz billig, sodas bei einem privaten projekt der ansatz mit zwei unterschiedlichen anwendungen meist besser ist. diese kann man dan nja so anlegen, das es einen 'gemeinsamen' teil gibt (also den teil des programmes der nichts mit dem gui zu tun hat) und den man dann in einer eigenen (quellcode) library ablegt, und zwei unterschiedliche teile, die diese library verwenden und das gui fuer die zielplatform oben drauf bauen.
WM_HOPETHISHELPS
thomas woelfer
wie wäre es den mit Java. Das ist doch Plattform unabhängig und sollte auf jedem System ausführbar sein, auch wenn Windows Benutzer von JAR dateien generell Verwiert seien. Und meines Wissen haben doch auch Win95,98,ME und 2000 eine Java unterstützung Serienmäßig und für XP läßt es sich ja auch von Sun Runterladen und alle Anderen Betriebssystem kommen doch auch mit JAVA klar.
Für so etwas verwende ich seit Jahren die QT-Lib von Trolltech
http://www.trolltech.com/
Grafische Oberfläche, eine Codebasis (C++) dahinter und die Binaries lauffähig unter Linux,M$-Windows und MaxOS!
Als plattformunabhängige Entwicklungsumgebung wird CodeWarrior von http://www.metrowerks.com/ genutzt, ebenfall für die Plattform Linux, Windows und Mac erhältlich!