Hi.
Wollte mal fragen, ob schon jemand mit PyObjc gearbeitet hat und mir eine gute deutsche Anleitung, Tutorial, ... oder dergleichen für mich hat.
Über Links würde ich mir auch freuen (kenne halt nur die Originalpage).
Thx
PyObjc
-
- User
- Beiträge: 276
- Registriert: Freitag 8. Juni 2007, 08:50
- Wohnort: 84xxx Bereich
- Kontaktdaten:
Hatte auch mal über Cocoa-Programmierung auf dem Mac nachgedacht, doch da die Doku quasi nicht-existent war, mein Wissen über Cocoa gleich 0 und da zu Objective-C nur unwesentlich größer ist (ich kann aber Smalltalk, wo die Sprache 1986 abgespalten wurde) und die Sourceforge-Seite veraltet schien, habe ich das Thema wieder ad acta gelegt.
Google findet aktuell dieses halbe Tutorial.
Auch zu Ruby-Cocoa gibt es nur sehr wenig Infos - und das obwohl doch eigentlich das Gros der Ruby-Entwickler Mac User sind und Apple eigentlich Scriptsprachen wie Python und Ruby durchaus in aktueller Version direkt bei Leopard mitliefert.
Mich persönlich stört etwas, dass die Sprachanbindungen nicht die von Smalltalk geerbte Eigenschaft von Objective-C, bei Schlüsselwortnachrichten die Argumente *in* die Nachricht zu schreiben, übernehmen (können) und so das Ergebnis immer irgendwie häßlich aussieht. Vielleicht würde ich mich mit FScript wohler fühlen.
Wenn's nur um GUI-Programmierung auf dem Mac geht, wäre vielleicht auch wxWindows eine Alternative. Diese Bibliothek liegt auch bei und ist plattformübergreifend. Dafür kann man nicht mehr mit dem InterfaceBuilder native Anwendungen bauen.
Es bleibt unbefriedigend...
Stefan
Google findet aktuell dieses halbe Tutorial.
Auch zu Ruby-Cocoa gibt es nur sehr wenig Infos - und das obwohl doch eigentlich das Gros der Ruby-Entwickler Mac User sind und Apple eigentlich Scriptsprachen wie Python und Ruby durchaus in aktueller Version direkt bei Leopard mitliefert.
Mich persönlich stört etwas, dass die Sprachanbindungen nicht die von Smalltalk geerbte Eigenschaft von Objective-C, bei Schlüsselwortnachrichten die Argumente *in* die Nachricht zu schreiben, übernehmen (können) und so das Ergebnis immer irgendwie häßlich aussieht. Vielleicht würde ich mich mit FScript wohler fühlen.
Wenn's nur um GUI-Programmierung auf dem Mac geht, wäre vielleicht auch wxWindows eine Alternative. Diese Bibliothek liegt auch bei und ist plattformübergreifend. Dafür kann man nicht mehr mit dem InterfaceBuilder native Anwendungen bauen.
Es bleibt unbefriedigend...
Stefan
Naja, was erwartest du? Das PyObjC die Syntax von Python ändert?sma hat geschrieben:Mich persönlich stört etwas, dass die Sprachanbindungen nicht die von Smalltalk geerbte Eigenschaft von Objective-C, bei Schlüsselwortnachrichten die Argumente *in* die Nachricht zu schreiben, übernehmen (können) und so das Ergebnis immer irgendwie häßlich aussieht.
@The Spirit: Also die Suche nach irgendwelchen Deutschen Dokus würde ich aufgeben, da wirst du nichts finden. Viel Dokumentation zu dem Thema gibt es zur Zeit leider nicht, dazu kommt auch, dass sich die bestehenden nicht auf PyObjC 2 beziehen. Am hilfreichsten wird es wohl sein sich die PyObjC-Beispiele im Developer-Ordner anzugucken und für den Rest die Cocoa-Doku zu bemühen.
Nein, aber missfallen darf's mir doch trotzdem, oder? Ich finde haltDarii hat geschrieben:Naja, was erwartest du? Das PyObjC die Syntax von Python ändert?
Code: Alles auswählen
array.concatenate_withSeparator_('*', ',')
Code: Alles auswählen
[array concatenate: @"*" withSeparator: @","]
Man könnte sich ja auch einen Präprozessor überlegen, der tatsächlich ein "Objective-Python" erzeugt und Nachrichtenausdrücke in Python einmischt, so wie es mit C passiert. Die "[]" beißen sich dann mit Listen und man müsste entweder auf `list(...)`als einzige Form zurückgreifen oder aber z.B. ein "$" voranstellen.
Code: Alles auswählen
[$[1, 2, 3] concatenate: "*" withSeparator: ","]
Natürlich, wollte ich dir auch nicht verbieten.sma hat geschrieben:Nein, aber missfallen darf's mir doch trotzdem, oder?Darii hat geschrieben:Naja, was erwartest du? Das PyObjC die Syntax von Python ändert?
Aber wozu, Python kennt im Gegensatz zu C schon Nachrichten/Objekte, da muss man nichts hinzufügen. Nur damit es schöner aussieht? Die Schreibweisen sind doch isomorph.Man könnte sich ja auch einen Präprozessor überlegen, der tatsächlich ein "Objective-Python" erzeugt und Nachrichtenausdrücke in Python einmischt, so wie es mit C passiert.
Ja, Syntax ist extrem wichtig. Sonst könnte man Python ja auch so schreiben:Darii hat geschrieben:Nur damit es schöner aussieht? Die Schreibweisen sind doch isomorph.
Code: Alles auswählen
class Foo extends Bar {
/**
* Adds given arguments.
*/
def baz($a,$b) {
return "$a+$b=" . $a + $b
}
}
Wie wär's mit so einer API?
Funktioniert natürlich nicht, wenn es auf Objective-C-Seite Nachrichten gibt, die die gleichen Schlüsselworte aber in anderer Reihenfolge verwenden.
Code: Alles auswählen
array.concatenate('*', withSeparator=',')
Wie's bei Cocoa aussieht weiß ich nicht, aber bei Smalltalk ist #with:with: oder #value:value:value: nicht ungewöhnlich. Das ließe sich nicht abbilden.BlackJack hat geschrieben:Code: Alles auswählen
array.concatenate('*', withSeparator=',')
Über einen speziellen codec (PEP 263) könnte man aber einen Präprozessor installieren, der z.B. diesen ansonsten syntaktisch falschen Code transformiert:
Code: Alles auswählen
array.(concatenate: '*' withSeparator: ',')
=>
array.concatenate_withSeparator_('*', ',')
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das wird aber ab Python 3.0 nicht mehr möglich sein, dort werden die Codecs einzig dazu da sein, Bytestrings in Unicode zu wandeln.sma hat geschrieben:Über einen speziellen codec (PEP 263) könnte man aber einen Präprozessor installieren
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice