Frage zu Crossplattform programmierung

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Frage zu Crossplattform programmierung

Beitrag von Rainer »

Erst mal eine Erklärung um was es mir geht:

Ich habe eine Funktion in Regime die über RS232 auf den PC zugreifen kann. Dabei simuliert ein Programm auf dem PC einen Fileserver über RS232 und der Hive kann darauf zugreifen wie von SD-Karte. Ist also einfach ein Laufwerk für den Hive, bei dem alle Funktionen genutzt werden können, die es auch für die SD-Karte gibt.
Nun zum Problem:
Ich habe das PC-Programm unter Dotnet programmiert und es läuft nicht unter Mono auf meiner Linux-Installation auf VMWare. Auf Mac's wird es wahrscheinlich gar nicht laufen (kann das nicht ausprobieren).

Ich brauche also irgendeine Programmiersprache die wirklich Crossplattform ist, wie Python z.B., was mich auf Julian bringt ;)
Ich habe leider zu wenig Ahnung von Phyton obwohl mich die Sprache immer interessiert hat.
Wie groß ist denn die Runtime für Python ?
Sind die Leute hier bereit, die Runtime zu installieren ? (wahrscheinlich eher als Dotnet nehme ich mal an)
Was ich NICHT will ist, das Leute erst Sourcecode kompilieren müssen bevor was läuft .. darum kein "C", "C++", usw. Sind ja nicht nur Freaks hier die sowas mit links machen ..... ich kriege immer die Krise wenn ich in Linux den Kernel neu kompilieren soll oder wenn mir jemand sagt "hier ist der Source, kompilieren musst Du mit GNU-C<blabla> mit der Header-Datei und der Link-Chain <irgendwas>".

@Julian: Wärst Du bereit mich bei der Programmierung zu unterstützen ? Ist eigentlich nur ein winziges Programm .. sollte für Dich kein Problem sein.
Ich brauche keine mächtige GUI oder sowas .. einfach nur ein Programm, das im Hintergrund läuft, an der RS232 lauscht und Befehle interpretiert und ausführt.
Kannst Du mir vll. in kurzen Worten erklären, was man alles auf einem Windows/Linux/Mac-PC braucht um mit Python arbeiten zu können ... aus Programmierer- und Anwendersicht ?

Java lasse ich mal absichtlich außen vor ... ich kann die Sprache nicht ausstehen.

Sonst noch irgendeine Idee ? Perl vielleicht ?

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Frage zu Crossplattform programmierung

Beitrag von BorgKönig »

Also... Ich würde das kleine Tool in C oder C++ schreiben. Die ganz harten unter uns schreiben das lieber gleich in ASM, oder gar binär ;)

Nichts fü ungut. Aber, wozu ein Interpreter wenn man das ganze auch gleich als ausführbare Datei haben kann...?
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Frage zu Crossplattform programmierung

Beitrag von Rainer »

BorgKönig hat geschrieben:Also... Ich würde das kleine Tool in C oder C++ schreiben. Die ganz harten unter uns schreiben das lieber gleich in ASM, oder gar binär ;)

Nichts fü ungut. Aber, wozu ein Interpreter wenn man das ganze auch gleich als ausführbare Datei haben kann...?
Assembler war gut *hehe*
Also schreibe ich das Programm in C++ auf meinem Windows-Rechner und stelle "TollesProgramm.exe" jetzt zum Download bereit mit dem Untertitel "Sorry, aber Linux und Mac-User müssen draußen bleiben".
Ich kann natürlich auch den C++ Source mitliefern, da ja sowieso jeder ein C-Entwicklungssystem auf seinem Rechner hat und kompilieren mal so nebenbei macht.

Sehe ich nicht als gangbaren Weg an.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
ringo
Beiträge: 25
Registriert: Mi 8. Jul 2009, 17:27

Re: Frage zu Crossplattform programmierung

Beitrag von ringo »

Rainer hat geschrieben:Erst mal eine Erklärung um was es mir geht ...

Sonst noch irgendeine Idee ? Perl vielleicht ?

Gruß.
Rainer
Hallo Rainer,

deine Idee, den PC als Hive-Laufwerk zu benutzen, finde ich klasse,, weil man dann nicht Gefahr läuft, durch den dauernden SD-Wechsel den SD-Slot abzunutzen.

ich stimme BorgKönig zu und würde C nehmen, weil das für hardwarenahe Programmierung immer noch eine der besten Sprachen ist. Am einfachsten wäre es wohl, wenn du deinen .NET-Code hier veröffentlichst, so daß man abschätzen könnte, wie aufwendig eine Portierung nach C ist.

Übrigens sieht man an deinem Beispiel wieder mal, wie "portabel" .NET und Mono in Wirklichkeit sind :-) Für echt plattformunabhängige Programmierung in Windows und Linux bietet sich z.B. Cygwin an (www.cygwin.com).
Benutzeravatar
laserjones
Beiträge: 291
Registriert: Fr 19. Jun 2009, 10:38
Wohnort: Hennef
Kontaktdaten:

Re: Frage zu Crossplattform programmierung

Beitrag von laserjones »

Eine Möglichkeit wäre PureBasic. Ist allerdings kommerziell, aber nur 79 Euro inkl. lebenslanger Updates, was ich sehr fair finde. Solange man keine speziellen, betriebssystemabhängigen Funktionen benutzt, ist der Code portierbar für Windows, Linux, MacOS und sogar Amiga. Für den seriellen Port gibt es eine fertige Bibliothek, ebenso für grafische Benutzeroberflächen. Der Kaufpreis beinhaltet die Versionen für alle Betriebssteme.

http://www.purebasic.com/german/index.php
Momentan ist richtig, momentan ist gut – nichts ist wirklich wichtig, nach der Ebbe kommt die Flut. (Herbert Grönemeyer)
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Frage zu Crossplattform programmierung

Beitrag von Rainer »

laserjones hat geschrieben:Eine Möglichkeit wäre PureBasic. Ist allerdings kommerziell, aber nur 79 Euro inkl. lebenslanger Updates, was ich sehr fair finde. Solange man keine speziellen, betriebssystemabhängigen Funktionen benutzt, ist der Code portierbar für Windows, Linux, MacOS und sogar Amiga. Für den seriellen Port gibt es eine fertige Bibliothek, ebenso für grafische Benutzeroberflächen. Der Kaufpreis beinhaltet die Versionen für alle Betriebssteme.

http://www.purebasic.com/german/index.php
Sieht interessant aus, löst allerdings mein Problem nicht wirklich.
Der Source ist portierbar wenn ich das richtig verstanden habe ... allerdings benötigt der Zielbenutzer auch PureBasic wenn er das auch laufen lassen will.
Ich kann zwar für Windows und Linux die Sourcen kompilieren und zur Verfügung stellen, nicht aber für Mac, da ich keinen habe.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Julian
Beiträge: 136
Registriert: Mo 1. Jun 2009, 19:33

Re: Frage zu Crossplattform programmierung

Beitrag von Julian »

Ich bin gern bereit dir was in Python zu schreiben (solange ich das hin bekomme). Für Windows gibt es py2exe (integriert den Interpreter + Librarys). Ich habe damit gerade zum Test mal mein Ymodem python script "compiliert". Das ist 4,3MB groß und benötigt keine weiteren Runtimes etc... mehr. Bei Anwendungen mit GUI musst du schon mit 15Mb rechnen (wenn WxPython genutzt wird). Per Zip lässt sich das ganze allerdings ~bis zu einem drittel komprimieren (ich werde nacher mal nen Executable Packer testen). Unter vielen Linux Distributionen wird ja Python meist mit installiert (ich verwende nur Debian und da ist es im Grundsystem dabei). Wie das unter MacOS aussieht weiß ich nicht, da ich keinen Mac habe und auch niemanden mit einem kenne.
//Edit: So mit UPX hab ich die EXE noch mal auf ~3,2MB gedrückt. Dann gezippt. Das Ergebnis war 1,7Mb groß. Da ist dann alles drin (gut ggf. werden noch die C Runtimes benötigt aber die sind eh in 98% der Fälle schon drauf)
//Edit2: Du kannst mir gerne dein .Net Projekt schicken und ich kann schaun ob ich dir das auf Python portieren kann.
Zuletzt geändert von Julian am Sa 19. Sep 2009, 14:49, insgesamt 1-mal geändert.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Frage zu Crossplattform programmierung

Beitrag von drohne235 »

Bei Parallax gibt es grad eine ähnliche Fragestellung, vielleicht sind die Erkenntnisse interessant.

Link Parallax-Forum: http://forums.parallax.com/forums/defau ... 5&m=386519
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
DJLinux

Re: Frage zu Crossplattform programmierung

Beitrag von DJLinux »

Macht den IP Stack auf dem HiVe fertig und schreibt einen FTP Client mehr nicht :lol:

Für MAC,Win und Lin gibt es kostenlose kleine FTP Server dann das Verzeichnis frei geben und auf Regnatix tippen

ftp 192.168.0.1
get porno.pmg
user: drohneXXL
password: ******

get file "porno.mpg"
bye

mpgplay porno.mpg

Grüsse Joshy
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Frage zu Crossplattform programmierung

Beitrag von Rainer »

DJLinux hat geschrieben:Macht den IP Stack auf dem HiVe fertig und schreibt einen FTP Client mehr nicht :lol:

Für MAC,Win und Lin gibt es kostenlose kleine FTP Server dann das Verzeichnis frei geben und auf Regnatix tippen

ftp 192.168.0.1
get porno.pmg
user: drohneXXL
password: ******

get file "porno.mpg"
bye

mpgplay porno.mpg

Grüsse Joshy
LOL ... klar. Geht ja auch viel schneller zu tippen als: "copy porno.mpg sd0:" ;)

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Antworten