Pages

3 mai 2009

AppleScript 1 - UNIX 0

Compte le nombre d'occurences d'un caractère à l'intérieur d'un texte.

AScountChar("hébété", "é")
UNIXcountChar("hébété", "é")

-- Retourne le nombre d'occurence d'un caractère d'un texte.
on AScountChar(theString, charToSearch)
set text item delimiters of AppleScript to charToSearch
set la_liste to text items of theString
set text item delimiters of AppleScript to ""
return (count la_liste) - 1
end AScountChar

Auteur :  Fred;o

-- la même chose en Shell UNIX
on UNIXcountChar(theString, chartoFind)
return (do shell script "echo" & quote & theString & quote & " | tr -cd " & quote & chartoFind & quote & " | wc -c") as number
end UNIXcountChar

>>Ouvrir le script dans l'éditeur

HyperCard memories

"Il est assez remarquable de constater qu'Hypercard est souvent apprécié comme bonne introduction à la programmation. Personnellement, je le pratique depuis quinze ans...sans jamais penser programmation mais seulement scripting. Un bon programmeur, selon l'air du temps, fait du C, du Pascal ou autre... Scripter HyperCard c'est une affaire de novice... Ce n'est pas discutable, c'est ainsi... J'ai perdu beaucoup de temps à essayer d'expliquer autour de moi que ce n'était là que préjugés, qu'il fallait y regarder de plus près techniquement... grossière erreur de ma part. Il n'y a rien de technique là-dedans... Que l'utilisateur utilise et que le programmeur programme... Chacun à sa place, et les vaches seront bien gardées...voilà bien le non-dit. Et dans ce contexte, passer d'HyperCard au C autorise un changement de statut social (souvent fantasmé) que l'on préfère mettre au compte d'une modification de savoir.

C'est du coté de Bourdieu qu'il faut plutot chercher la compréhension de ces discussions de sourds, et considérer que l'informatique n'est pas soumise aux idéologies est assez naif (d'autant plus qu'ici, dans cet isolat numérique, il n'est pas seulement question de discours sur une pratique mais de pratique comme élément de discours, ce qui peut se révéler assez pervers, puisque l'on peut mettre ces éléments de discours au compte des faits sur lesquels on discute).

(...) Je dis qu'il est notoirement accepté que l'on ne fait rien de vraiment bon avec Hypercard...et pense que cette appréciation d'ordre technique cache en fait un verrouillage social...en gros que c'est du bourrage de crane. Il semble accepté que la différence entre outil de scripting et outil de programmation soit une différence technique...langage interprété, langage compilé, etc... cela me semble la partie résiduelle du problème... du moins pour ce qui concerne Hypercard.

Dans l'esprit de Bill Atkinson, la pratique de la programmation, sous la forme du scripting, devait être étendue à une population considérée jusqu'alors comme uniquement utilisatrice de logiciels. C'est-à-dire qu'un instituteur, un médecin, un bibliothécaire, un comptable pouvait s'approprier cette technique pour être, comme le disait si bien récemment Steve Wozniak, maître et non esclave de son ordinateur.

Chaque métier a ses particularités, et pour ne prendre qu'un seul exemple, le bibliothécaire, celui-ci ne travaille pas du tout de la même manière selon qu'il exerce dans une faculté ou un comité d'entreprise d'usine. Or comme l'outil informatique est son principal outil de travail, celui-ci se trouve enfermé, embrigadé, dans des procédures informatiques qui méconnaissent ses particularités de travail, s'il est entièrement soumis à l'outillage des logiciels standards. Cela peut geler ou assécher même ses capacités d'innovations dans son travail. Hypercard reconnaissait que son métier de base était d'être bibliothécaire et non informaticien, et lui fournissait juste ce qu'il fallait pour enrichir son travail en procédures informatiques... sans qu'il soit contraint de négliger son travail de base (s'il se met à Java...il aura tendance à ne plus en foutre une rame en matière de bibliothèque, l'ubiquité n'étant pas donnée à tout le monde...:-)). Ce "juste ce qu'il fallait" a été interprété, de manière interessée, comme une défaillance technique du produit par ceux qui entendent faire qu'un consommateur reste un consommateur.

En matière d'efficacité globale, hypercard remplissait son contrat...parce que ce qui compte, c'est ce que cela donne ... à la finale. Une comparaison entre logiciels reste incomplète si l'on n'inclut pas ce que cela donne in situ (ce qui signifie ici l'enrichissement par l'utilisateur d'hypercard du logiciel de base).

Je ne parle pas de scripting en général, mais bien d'hypercard, en particulier. Je ne dirais pas cela pour Frontier (ou Radio) par exemple...pour AppleScript, par contre le sujet est posé ;-) En d'autre terme, je ne parlais pas technique. Je disais qu'hypercard traçait le dessin d'un certain type de relation sociale potentielle autour de l'activité informatique. Son abandon correspond à une régression, de ce point de vue. Avec des effets techniques induits, évidemment (une communauté de scripteurs qui s'évapore), et là, Apple a loupé le coche."

Gwénaël Le Dréan le 01/09/2002 sur Palimpseste