Seite 1 von 2
tinypy - Was kann es?
Verfasst: Freitag 12. Dezember 2008, 21:59
von crackpod_
Hallo,
Ich bin heute über
tinypy gestoßen, habe mir die neueste Version kompiliert und habe damit ein
Test Script mit folgendem Inhalt ausgeführt:
Funktioniert hervorragend. Andere built-ins natürlich auch. Strings, Liste, Tuple etc. nur was
kann man damit wirklich machen? bzw. wie viel potential hat es?
Wird es irgendwann so funktional wie CPython sein nur viel kleiner? (Das würde mir sehr gefallen)
Was haltet ihr vom Projekt, kennt ihr was vergleichbares?
Verfasst: Samstag 13. Dezember 2008, 00:19
von BlackJack
Ich würde eher sagen es ist ein "proof of concept" mit, soweit ich mich erinnere, total bescheidenen Fehlermeldungen, wenn man irgend einen Fehler gemacht hat. Segfaults waren auch dabei als ich's das letzte mal ausprobierte.
Re: tinypy - Was kann es?
Verfasst: Samstag 13. Dezember 2008, 00:57
von Leonidas
crackpod_ hat geschrieben:bzw. wie viel potential hat es?
Es ist schon länger bekannt und hat immer noch nur einen Entwickler. Was meinst du?
crackpod_ hat geschrieben:Wird es irgendwann so funktional wie CPython sein nur viel kleiner? (Das würde mir sehr gefallen)
Ist dir CPython zu groß? Warum? Musst du etwa Python auf Embedded-Geräten laufen lassen?
Verfasst: Samstag 13. Dezember 2008, 02:18
von abgdf
Hallo,
also, ich träume schon auch von wirklich kleinen Python-Programmen, also Skript + winziger Interpreter.
"Lua" versucht das wohl, keine Ahnung, wie gut das klappt.
So Kompilieren können wie bei
http://www.purebasic.de/
das wäre auch schön.
Bei tinypy klappt wohl noch nicht mal
Solange das nicht geht, ist es wohl kaum benutzbar, so daß man sich das dann auch irgendwie leider insgesamt sparen kann.
Aber was nicht ist, kann ja noch werden.
Viele Grüße
Verfasst: Samstag 13. Dezember 2008, 09:36
von sma
IIRC fehlt Tinypy die Metaebene von Python und insbesondere die ganzen __-Methoden. Dadurch wird der Interpreter natürlich viel einfacher. Somit ist dies eigentlich eine ganz andere eigene Sprache, die nur zufällig eine Syntax wie Python hat.
Dennoch: Die Leistung, das ganze in 64k zu pressen, finde ich sehr beeindruckend. Das zu einem sematisch kompatiblen Python zu entwickeln ist und war aber AFAIK nicht der Plan.
Stefan
Re: tinypy - Was kann es?
Verfasst: Samstag 13. Dezember 2008, 10:29
von crackpod_
Leonidas hat geschrieben:crackpod_ hat geschrieben:bzw. wie viel potential hat es?
Es ist schon länger bekannt und hat immer noch nur einen Entwickler. Was meinst du?
crackpod_ hat geschrieben:Wird es irgendwann so funktional wie CPython sein nur viel kleiner? (Das würde mir sehr gefallen)
Ist dir CPython zu groß? Warum? Musst du etwa Python auf Embedded-Geräten laufen lassen?
Nein, und ich weiß das das nicht deinen Vorstellungen entsprechen wird,
aber ich wäre trotzdem froh über kleine Python executables. Warum?
Ich finde das sich alles ein bisschen in die falsche Richtung entwickelt. Festplatten werden immer größer,
Programme immer unperformanter. Das mag bei heutiger Hardware kein Problem mehr sein,
mir gefällts aber trotzdem nicht. (Das ist meine subjektive Meinung)
Verfasst: Samstag 13. Dezember 2008, 11:15
von Darii
Wenn es dir da drum geht, solltest du C++ und nicht Python nehmen.
Verfasst: Samstag 13. Dezember 2008, 12:59
von Leonidas
sma hat geschrieben:Dennoch: Die Leistung, das ganze in 64k zu pressen, finde ich sehr beeindruckend.
Naja, es sollen 64kb Code sein, wie das Binary ausschaut und was da noch dabei ist, ist eine andere Frage. Und ob die 64kb vor oder nach dem bei JS üblichen Quellcode-packen ist, weiß man auch nicht

Verfasst: Samstag 13. Dezember 2008, 13:30
von BlackJack
@Darii: So viel besser sieht das bei C++ auch nicht aus. Das braucht auch eine Laufzeitbibliothek, nur dass es nicht so auffällt, weil die jeder sowieso schon auf dem Rechner hat.
Verfasst: Samstag 13. Dezember 2008, 13:50
von crackpod_
Darii hat geschrieben:Wenn es dir da drum geht, solltest du C++ und nicht Python nehmen.
Deswegen sagte ich auch "kleine
Python executables",
damit meine ich ganz offensichtlich nicht das ich in C/C++ programmieren will sondern in Python.

Außerdem wäre dann meine nächste Wahl nicht C oder C++ sondern D.
Verfasst: Samstag 13. Dezember 2008, 13:54
von Darii
crackpod_ hat geschrieben:Darii hat geschrieben:Wenn es dir da drum geht, solltest du C++ und nicht Python nehmen.

Deswegen sagte ich auch "kleine
Python executables", damit meine ich ganz offenstichlich nicht das ich in C/C++ programmieren will sondern in Python.
Ich bezog mich auch mehr auf
crackpod_ hat geschrieben: Ich finde das sich alles ein bisschen in die falsche Richtung entwickelt. Festplatten werden immer größer,
Programme immer unperformanter. Das mag bei heutiger Hardware kein Problem mehr sein,
mir gefällts aber trotzdem nicht. (Das ist meine subjektive Meinung)
Wenns du dir um deine Systemressourcen Sorgen machst, dann ist eine Sprache wie Python purer Luxus.
Verfasst: Samstag 13. Dezember 2008, 14:37
von sma
Wenn Ressourcen geschont werden sollen, aber dennoch eine interaktive Entwicklung und Abstraktionen wie bei Hochsprachen möglich sein sollen, empfehle ich Forth :)
Früher, in der guten alten Zeit, passte ein ganzes Forth-System mit interaktiver Kommandozeile, Texteditor, Compiler, Assembler und Disketten-Funktionen (also dem Betriebssystem) in 4 KB.
Stefan
PS: Ein modernes, funktionales und objektorientieres Forth ist übrigens Factor von dem JEdit-Erfinder Slava Pestov. Das passt dann aber eber in 4 MB als in 4 KB...
Verfasst: Samstag 13. Dezember 2008, 15:28
von lunar
BlackJack hat geschrieben:@Darii: So viel besser sieht das bei C++ auch nicht aus. Das braucht auch eine Laufzeitbibliothek, nur dass es nicht so auffällt, weil die jeder sowieso schon auf dem Rechner hat.
Zumal die C++-Standardbibliothek außerhalb der STL ziemlich armselig ist, und man damit kaum zurande kommt. Für eine einigermaßen anständige Entwicklung ist mindestens noch Boost dabei, und dann ist man ganz schnell bei der Größe eines angepassten Python-Interpreters ...
Verfasst: Samstag 13. Dezember 2008, 19:06
von str1442
64kb Quellcode? Wie siehts denn mit dem RAM Vebrauch aus? Ist generell in irgendeiner "höheren" Sprache etwas im Bereich... <188 kb RAM möglich? Zum Beispiel Forth? (Bei 4kb Speicherverbrauch vermute ich bei so Dingen wie einem interaktivem Interpreter doch mehr RAM Verbrauch).
Verfasst: Samstag 13. Dezember 2008, 21:06
von BlackJack
Was sind für Dich "höhere" Sprachen? Es gibt zum Beispiel BASIC, Comal, Pascal und auch Forth für den C64, also für maximal 64 KiB RAM.

Verfasst: Samstag 13. Dezember 2008, 22:40
von burli
Weiß jemand wie man das compilieren kann?
Verfasst: Samstag 13. Dezember 2008, 22:59
von str1442
Was sind für Dich "höhere" Sprachen? Es gibt zum Beispiel BASIC, Comal, Pascal und auch Forth für den C64, also für maximal 64 KiB RAM. Smile
Höher im Sinne von "man kann damit halbwegs anständig prozedural und / oder (wenn möglich) objektorientiert / funktional / xyz programmieren". Momentan nutze ich auf diesem Gerät, das 188kb freien Ram bei Betrieb besitzt, C. Funktioniert auch relativ gut, wenngleich meine C Kenntnisse nicht die besten sind [1]. Aber das hört sich schonmal ganz nett an. Nur wäre die Frage, inwiefern grade Sprachen wie Python oder Ruby oder auch Scheme und Io speicherhungriger sind, zb auch in Kombination mit einer StdLib.
[1] Ich habe leider immernoch keine gute Ressource für das Programmieren mit C gefunden, die mehr als nur die Syntax und ein paar Basisfunktionen erklärt gefunden. Grade bei C hat es ja oft Umwälzungen gegeben (gets?), kennt da jemand was?
Verfasst: Samstag 13. Dezember 2008, 23:12
von Leonidas
burli hat geschrieben:Weiß jemand wie man das compilieren kann?
``python setup.py linux`` und das Binary findet man dann in Build. Geht übrigens sehr schnell, der Buoldvorgang dauert bei mir 4 Sekunden. Das ist etwa so lange wie sich Javac (OpenJDK Java Compiler) für eine recht kleine Java-Datei rausnimmt.
Verfasst: Samstag 13. Dezember 2008, 23:12
von derdon
@str1442:
C von A bis Z soll sehr gut sein. <anspielung>Achte bei der Qualität nicht auf den Verlag, sondern auf den Autor.

</anspielung>
Verfasst: Samstag 13. Dezember 2008, 23:18
von burli
Danke Leonidas,
ich bin inzwischen dahinter gekommen. Ich hatte zuerst die Version 1.0 und dann hab ich versucht wie in der Readme mit pygame zu compilieren.