tinypy - Was kann es?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
crackpod_
User
Beiträge: 40
Registriert: Mittwoch 3. Dezember 2008, 21:46

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:

Code: Alles auswählen

print("Hallo Welt")
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?
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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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

Code: Alles auswählen

import os, sys
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
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
Benutzeravatar
crackpod_
User
Beiträge: 40
Registriert: Mittwoch 3. Dezember 2008, 21:46

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)
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Wenn es dir da drum geht, solltest du C++ und nicht Python nehmen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 :D
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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.
Benutzeravatar
crackpod_
User
Beiträge: 40
Registriert: Mittwoch 3. Dezember 2008, 21:46

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. :roll:
Außerdem wäre dann meine nächste Wahl nicht C oder C++ sondern D.
Zuletzt geändert von crackpod_ am Samstag 13. Dezember 2008, 16:15, insgesamt 1-mal geändert.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

crackpod_ hat geschrieben:
Darii hat geschrieben:Wenn es dir da drum geht, solltest du C++ und nicht Python nehmen.
:roll: 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.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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...
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 ...
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

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).
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. :-)
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Weiß jemand wie man das compilieren kann?
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

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?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

@str1442: C von A bis Z soll sehr gut sein. <anspielung>Achte bei der Qualität nicht auf den Verlag, sondern auf den Autor. :wink: </anspielung>
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

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.
Antworten