Bonne nuit.
Je vois que mon sujet continue a vivre…
C´est le sujet de Yuuzhan. Et oui las y´a tjrs qqn pour le remonter.
Bof… C´est un peu du pareil au même.
J´ai pas apporter des masses d´améliorations a mon programme de cryptographie pour le moment ( j´a déjà filer de mises a jour à Yuuzhan Vong).
Je mettrais le contenu de mon iDisk a jour quand ça en vaudra la peine.
C´était quoi déjà comme cryptage ?
En gros César, par addition du message original et du mot de passe pour donnée le message crypter.
Okay.
Bonjour à tous et merci DasHun pour ton message clair et posé.
=> A propos de la syntaxe d´AS :
Comme je l´ai évoqué plus tôt, AS a été conçu pour être accessible aux utilisateurs informatiques " lambda", c-à-d, sans expérience préalable en programmation.
C´est vrai que sa syntaxe est assez unique parmi l´ensemble des langages de la même catégorie.
Le fait que ce soit un langage très peu typé ( les variables n´ont pas de type défini, ils peuvent en changer au cours de l´exécution, les coercitions sont automatiques, etc.) rendent l´analyse du code un peu difficile pour ceux qui sont habitués aux langages fortement typés comme le C par exemple. Je ne connaît pas le langage Python, mais il a aussi un " typage" particulier je crois ( dynamique il me semble, tu peux me donner quelques précisions ? ).
Le texte ne remplace pas les symboles mathématiques en AS, qui sont utilisables comme dans d´autres langages, seulement, je pense que les concepteurs ont voulu pousser la cohérence, du parti pris d´une syntaxe proche du parler courant, jusqu´à proposer des équivalents écrits aux symboles mathématiques habituels...
Du coup, une simple instruction conditionnelle peut s´écrire :
-- if MaVar = MonRes then return true --
ou alors
-- if MaVar is equal to MonRes then return true --
=> A propos de l´utilisation d´AS :
Lorsqu´on ne connaît qu´un seul langage de programmation, je trouve bien normal qu´on ne puisse pas envisager une solution autrement que par lui, mais ceci est vrai pour les développeurs uniquement avec AS ou tout autre langage ( à une époque, je développais des bases de données, et je croyais qu´on pouvait pratiquement tout faire avec... j´ai changé d´avis depuis ; -) ) .
Comme Python, AS non plus n´est pas trop fait pour travailler le graphisme, même si des solutions, plus ou moins efficaces, existent...
Quant à la modularité, AS est un langage très souple, voir trop pour certains développeurs habitués à d´autre langages, et il permet aussi la réalisation et l´utilisation des bibliothèques de routines, mais c´est vrai que ce n´est pas une utilisation courante, car elle demande des connaissances déjà assez bonnes sur les particularités du langage.
=> A propos des débutants en AS :
Le fait que le langage d´AS soit proche du comportement humain, me paraît une excellente chose, pour moi c´est plutôt une qualité, mais c´est vrais aussi que cette caractéristique n´est pas adaptable pour d´autres langages, il peut même s´avérer un handicap...
Mais au delà de cet aspect si particulier d´AS, les fondements sont les mêmes ( ou presque) que la plupart d´autres langages : variables, constantes, commandes, instructions conditionnelles, boucles, routines, etc.
Alors, je pense que, avec un peu d´adaptation aux autres syntaxes, n´importe quel utilisateur d´AS peut apprendre et développer sur d´autres langages, mais c´est vrai que ça sera plus difficile que pour ceux qui sont déjà habitués à des langages moins " bavards".
Voilô
a+
" Comme je l´ai évoqué plus tôt, AS a été conçu pour être accessible aux utilisateurs informatiques " lambda", c-à-d, sans expérience préalable en programmation.
C´est vrai que sa syntaxe est assez unique parmi l´ensemble des langages de la même catégorie. "
=> Hé bien _justemment_, cette syntaxe est " prise de tête". J´ai présenté Python à d´autres personnes, les problèmes qu´elles rencontraient n´était pas liées au langage ou à sa syntaxe. Ils ont ingéré ces deux derniers sans encombres, j´en conclus que la syntaxe de Python, utilisant beaucoup moins de caractères, est tout aussi claire.
" Je ne connaît pas le langage Python, mais il a aussi un " typage" particulier je crois ( dynamique il me semble, tu peux me donner quelques précisions ? ) . "
=> Il est dynamique, et tout les types sont des objets ( les chaînes de caractères, les modules, des extensions de code, les fonctions, les entiers...).
" Le texte ne remplace pas les symboles mathématiques en AS, qui sont utilisables comme dans d´autres langages, seulement, je pense que les concepteurs ont voulu pousser la cohérence, du parti pris d´une syntaxe proche du parler courant, jusqu´à proposer des équivalents écrits aux symboles mathématiques habituels...
Du coup, une simple instruction conditionnelle peut s´écrire :
-- if MaVar = MonRes then return true --
ou alors
-- if MaVar is equal to MonRes then return true -- "
=> Je parle plutôt de lignes du genre
set theIndicator to contents of window 1
qui pourrait avoir leur équivalent en Python
theIndicator = window1.contents
Peut-être n´est-ce qu´une question d´habitude - mais je lis ce genre de lignes très rapidement, ce qui n´est pas le cas d´AppleScript. Et Panther, qui a fait beaucoup plus d´AS que moi, trouve je crois cette syntaxe plus reposante aussi.
" Lorsqu´on ne connaît qu´un seul langage de programmation, je trouve bien normal qu´on ne puisse pas envisager une solution autrement que par lui, mais ceci est vrai pour les développeurs uniquement avec AS ou tout autre langage "
=> Mais certains langages sont polyvalents que d´autres, et AS ne me semble justemment pas capable, pas prévu pour en tout cas, tout faire. Mais apparemment je connais mal l´environnement, voir en dessous.
Ca marche aussi dans l´autre sens. De gros projets libres comme XChat ou TheGimp sont extensibles en Python... mais c´est loin d´être aussi simple et clair qu´en AppleScript.
" Quant à la modularité, AS est un langage très souple, voir trop pour certains développeurs habitués à d´autre langages, et il permet aussi la réalisation et l´utilisation des bibliothèques de routines, mais c´est vrai que ce n´est pas une utilisation courante, car elle demande des connaissances déjà assez bonnes sur les particularités du langage. "
=> Ah désolé autant pour moi.
" que ça sera plus difficile que pour ceux qui sont déjà habitués à des langages moins " bavards". "
=> Pas plus difficile, plus pénible.
Pour détendre le sujet, j´ai une question:
Quelqu´un saurait-il comment accéder à NetInfo à partir d´AppleScript?
Salut
Bien, je pense que si la syntaxe d´AS est " prise de tête" pour toi, c´est avant tout que tu es habitué à une autre, de même que, étant plutôt habitué à AS, je trouve celle de Python plutôt complexe... mais ceci est bien-sûr relatif à chacun, et ton avis à ce sujet, tout pertinent qu´il soit, ne peut être suffisant, à mon avis, pour affirmer quel langage est meilleur que l´autre sur ce point.
Très intéressant l´approche objet de Python, ça à l´aire très puissant.
En AS aussi beaucoup des choses peuvent être considérés comme des objets, mais leur utilisation en tant que tel reste moins courante.
En revanche, sous Python, les variables doivent être typés avant leur utilisation ?
Ou lorsqu´une variable est de type " string" par exemple, peut-elle changer de type en cours de traitement ?
Tu trouves l´instruction :
-- set theIndicator to contents of window 1 --
moins bien que :
-- theIndicator = window1.contents --
Pour ma part, franchement, je ne trouve pas que leur différence soient de nature à dire qu´une est nettement meilleure que l´autre, en tout cas ce n´est pas évident sur cette instruction...
Je dirais même plus, je trouve que sur cet exemple la syntaxe d´AS est moins équivoque que celle du Python, car il s´agit tout simplement d´affecter à une variable " theIndicator", la valeur du contenu d´une fenêtre, et dans le cas de Python, pour un non initié, sa syntaxe peut prêter à confusion, car l´utilisation du signe " égal" peut laisser croire qu´il s´agit plutôt d´une comparaison booléenne, et non pas d´une affectation.
Mais je pense qu´une fois familiarisé avec cette particularité du langage Python, on peut facilement faire la distinction entre les affectations et les comparaisons... en AS il n´y a aucune ambiguïté sur ce point.
Bien-sûr qu´AS n´est pas d´une polyvalence digne d´un Basic par exemple ( je ne connaît pas Python pour en faire une comparaison objective), mais dans l´environnement Mac, elle reste d´une accessibilité et d´une souplesse d´utilisation sans égal depuis feu HyperTallk cher à HyperCard, et son intégration dans ASStudio lui donne désormais l´accès à l´utilisation simple d´une interface graphique complète.
Je ne connaît pas personnellement, pour l´instant, de grosse application entièrement développé en AS, mais il y a une multitude d´applications majeurs qui l´utilisent largement pour automatiser et optimiser certaines tâches.
Ceci étant dit, et par rapport à ce que j´ai pu voir sur le net à propos de Python, je dois avouer qu´il a l´aire d´être très puissant et assez simple d´approche, et ça me donne envie d´en connaître d´avantage, connaît-tu un site ou ouvrage francophone d´initiation à me conseiller ?
Merci, à+ ![]()
Panther751, je ne crois pas que le gestionnaire NetInfo soit directement accessible par AppleScript, mais je crois que le Terminal permet d´intervenir sur certaines infos, et si c´est le cas ( désolé, je ne suis pas un spécialiste du Shell), tu peux utiliser la commande " do shell script" pour manipuler les commandes Shelle sans passer par le Terminal...
a+ ![]()
" ne peut être suffisant, à mon avis, pour affirmer quel langage est meilleur que l´autre sur ce point. "
=> Quelqu´un qui veut débuter pourrait préférer une syntaxe qui se retrouve souvent.
" En revanche, sous Python, les variables doivent être typés avant leur utilisation ?
Ou lorsqu´une variable est de type " string" par exemple, peut-elle changer de type en cours de traitement ? "
=> Il existe des versions de Python ( car, autre avantage pour lui selon moi, Python est libre) qui sont compilés pour faire attention aux variables : un int transformé en autre chose et l´interpréteur renvoie une exception. Mais la plupart du temps Python ne fait pas attention à ça, et se contente d´allouer la mémoire si il le peu ( en faisant toutefois attention, il y´a des limites que je ne connais pas)
" car l´utilisation du signe " égal" peut laisser croire qu´il s´agit plutôt d´une comparaison booléenne, et non pas d´une affectation. "
=> Oui c´est l´éternel == des langages qui suivent la syntaxe du C pour les comparaisons booléennes, et les = pour les affectations.
" mais il y a une multitude d´applications majeurs qui l´utilisent largement pour automatiser et optimiser certaines tâches. "
=> Oui, comme outil secondaire, je le trouve excellent.
http://www.ulg.ac.be/cifen/inforef/swi
y´a un tuto Python là dessus, celui qui m´a servi à débuter. L´utilisateur passe de simple fonctions mathématiques à des interfaces entièrement construites, au sous-classage de widgets, à la programmation CGI, réseau et à l´interfaçage avec Gadfly, une petite base de données. Tu comprends ce que je voulais dire par " polyvalent", le nombre de modules pour Python que ce soit pour Windows, MacOS ou même Solaris ou Irix est impressionnant
Et si toi tu as une liste de modules pour AS, j´aimerai bien y jetter un coup d´oeil.
Merci pour toutes les infos à propos de Python que tu m´as donné, c´est sympa, je vais regarder ça de plus près.
Modules pour AS ?
Je crains ne pas comprendre... Il existent des compléments de pilotage ( nommés aussi OSAX) qui étendent les possibilités d´AS, mais il n´existent pas, à ma connaîssance, des modules spécifiques pour d´autres systèmes...
Si tu veux avoir d´autres infos sur AS, le tout en français bien-sûr, j´avais fait une petit dépêche chez MacPlus il y a un an déjà, avec des liens sur les principaux sites que je connaîssais à l´époque ( malheureusement, il est possible que certains liens soient morts, mais la plupart restent ecore valables : http://macplus.org/magplus/article.php?id_article=5318&var_recherche=AppleScript
a+ ![]()
Nan pas pour d´autres systèmes, mais des compléments comme ça s´appelle qui pourraient par exemple permettre l´utilisation de sockets ou autres.
A propos de modules, ce matin j´ouvre Login, je feuillette un peu, y´a un nouveau module qui a fait son apparition et qui sert à la communication entre programmes et entre ces mêmes programmes et le matériel. Le module pour Python a bien sur été développé. Y´a aussi des modules pour Python qui permettent de développer des programmes pour portables, d´autres pour faire des applets de bureau...
. ..tu vois pourquoi j´ai tendance à préférer les langages multi-plateforme, ils ont tendance à être plus développés.
La bible des compléments de pilotage est ici : http://www.osaxen.com/index.php
C´est vrai que les langages multi-plateformes ont ça d´avantageux, qu´ils mobilisent beaucoup de developeurs sur plusieurs environnements, ce qui crée un dynamisme très enrichissant pour l´ensemble d´utilisateurs.
Mais, dans le giron d´Apple, AS aussi joui de nombreux apports de developpeurs indépendants et des éditeurs tièrces, mais, évidement, biens moins important que pour d´autres langages plus populaires.
Voilô ![]()
Mwep. La " communauté Macqueuse" quoi...
Est-ce que tu sais si Automator va remplacer AS ?
Automator est un peu le iMovie et AppleScript Studio est le Final Cut Pro dans le domaine d´AppleScript.
Okay. " La programmation pour les vraiment très nuls" en somme. Remarque c´est toujours possible d´acheter des VIDE plus construits et perfectionnés...
Le truc c´est qu´avec Automator, ça sera différent de ce que l´on connaît.
On fait un script pour Safari ( il sera accessible dans Safari) qui prendra toute les photos d´une page pour les envoyer par mail.
Un programme comme ça peut être développer en moins de 3 minutes avec Automator.
C´est là qu´est le gros avantage.