Programmation sur Mac

Démarré par kyuhyun91, Mars 09, 2017, 10:16:37

« précédent - suivant »

kyuhyun91

est-ce qu'il existe, sur Mac, un langage de programmation simple (abordable sans se taper 90.000 pages de doc) permettant de développer des petits programmes persos pour des choses que les grands softs ne font pas bien?

Je pense par exemple à des choses toutes bêtes, comme

  une mini appli perso pour calculer le nombre de semaines pleines entre deux dates mais tenant comptes des jours fériés et vacances scolaires

  une mini appli pour trier des fichiers selons des critères un peu plus complexes que ce que fait le finder

(exemples)

Il y a longtemps, on pouvait faire tout ca facilement en basic. Maintenant il faut utiliser des rouleaux compresseurs pour faire un confetti, d'ou ma question

Pascal Méheut

Tu peux déjà jeter un oeil à Applescript et tu verras si ça couvre ton besoin.
Sinon, il existe un nombre énorme de langages de programmation pour le Mac y compris plusieurs Basic.

off7

Citation de: Pascal Méheut le Mars 09, 2017, 12:14:17
Tu peux déjà jeter un oeil à Applescript et tu verras si ça couvre ton besoin.
Sinon, il existe un nombre énorme de langages de programmation pour le Mac y compris plusieurs Basic.

D'après ce que je sais, aucun de ces outils n'est vraiment viable. Je crois que si on veut développer soi même il n'y a plus que le PC, et encore: VBA est devenu hyper pro et je ne pense pas qu'un programmateur amateur y retrouvera ses petits (ce que me disent les développeurs que j'ai autour de moi)

off7

En fait les bibliothèques du Mac sont tellement nombreuses, riches et complètes qu'un environnement de programmation ne peut plus être simple. Mais il y en a peut-être que je ne connais pas? J'avoue que je ne savais pas qu'il y avait encore un Basic pour Mac

Pascal Méheut

Citation de: off7 le Mars 09, 2017, 12:31:05
D'après ce que je sais, aucun de ces outils n'est vraiment viable. Je crois que si on veut développer soi même il n'y a plus que le PC, et encore: VBA est devenu hyper pro et je ne pense pas qu'un programmateur amateur y retrouvera ses petits (ce que me disent les développeurs que j'ai autour de moi)

J'ai du rater quelque chose alors...
Vu qu'on peut faire du Python, du PHP, de l'HTML5, du Javascript et j'en passe, tous langages largement utilisés y compris par les amateurs aussi bien sur PC que sur Mac et Linux, j'ai du mal à voir la différence.

Quand aux bibliothèques, elles sont aussi riches et complètes sur tous les environnement mais si c'est pour faire une fenêtre avec quelques champs et boutons, c'est aussi simple qu'il y 20 ou 30 ans. Un peu plus même.

gibus

Si on peut se passer de fioritures et pour ceux familiers de l'univers unix, il y a toujours les shell-scripts, bien pratiques pour des choses comme la gestion des fichiers par exemple.
Il y a aussi Automator, mais je n'ai jamais approfondi, pour l'instant je m'en sors avec les scripts en shell...

baséli

Citation de: Pascal Méheut le Mars 09, 2017, 12:43:08
J'ai du rater quelque chose alors...
Vu qu'on peut faire du Python, du PHP, de l'HTML5, du Javascript et j'en passe, tous langages largement utilisés y compris par les amateurs aussi bien sur PC que sur Mac et Linux, j'ai du mal à voir la différence.

+1

Par exemple je fais du JavaScript avec nodejs et VSCode comme environnement. Ca marche exactement pareil sur Mac et PC. Et sur iOS aussi... pas encore fait sur Android, mais normalement c'est du velours.

Sinon sur Mac XCode est gratos, si tu ne connais rien tu peux commencer avec Swift. Bref un énorme embarras du choix!

jean-fr

Citation de: off7 le Mars 09, 2017, 12:31:05
D'après ce que je sais, aucun de ces outils n'est vraiment viable.

:D

fiatlux

Pour des petits programmes simples, macOS est à la même enseigne que tous les autres OS: python, javascript,... fonctionnent comme partout ailleurs. Coder dans un éditeur de texte et compiler/interpréter en ligne de commande est tout à fait jouable pour les applications mentionnées. Python est vraiment recommandé je pense pour débuter. Et le code développé sera utilisable sur n'importe quelle autre plateforme.

Si tu veux aller un peu plus loin dans l'intégration avec macOS tu peux utiliser AppleScript avec l'éditeur correspondant (à ne pas confondre avec Automator, qui ne permet que de faire des applets sur base de blocs de traitement prédéfinis, mais pas vraiment des programmes avec branchements logiques, calculs...).

Encore plus puissant et intégré tu as l'environnement de développement XCode, que je recommanderais de combiner avec le language Swift, plus facile d'accès qu'Objective C. Avantage: c'est gratuit et une bonne école si tu veux à terme développer des trucs sérieux sur macOS et iOS. Mais l'environnement requiert plus de temps d'apprentissage.

D'autres alternatives:
- travailler en Java dans un environnement comme Netbeans (gratuit et portable)
- utiliser les récentes versions Mac de Microsoft Visual Studio (Code) et bosser en C#
- utiliser Xojo (ex-RealBasic), sans doute plus abordable pour les transfuges de VisualBasic mais assez cher

patrickj

Citation de: off7 le Mars 09, 2017, 12:31:05
D'après ce que je sais, aucun de ces outils n'est vraiment viable. Je crois que si on veut développer soi même il n'y a plus que le PC, et encore: VBA est devenu hyper pro et je ne pense pas qu'un programmateur amateur y retrouvera ses petits (ce que me disent les développeurs que j'ai autour de moi)

Un programmateur, c'est pour le chauffage central (entre autres). Je pense que tu veux parler d'un programmeur.

Sinon, je confirme ce qui a été dit ci-dessus, il y a largement le choix pour développer sous Mac, Python étant le plus simple à appréhender.

off7

Citation de: jean-fr le Mars 09, 2017, 18:50:56
> D'après ce que je sais, aucun de ces outils n'est vraiment viable.

:D

je me suis mal exprimé. Trop incomplet en fait. Je voulais juste dire que les gens qui utilisent Automator, Applescript ou Xcode se plaignent souvent des problèmes rencontrés quand Apple change ou supprime des choses sans logique et sans prévenir; c'est ce que je voulais dire pas pas viable. Trop de bugs et de mauvaises surprises à chaque version d'OS.
Pour le reste, bien sûr qu'on peut programmer sur Mac; mais je dois bien reconnaître que les developpeurs sont plus nombreux à préférer le faire sur PC.

off7

Citation de: patrickj le Mars 10, 2017, 13:52:42
Un programmateur, c'est pour le chauffage central (entre autres). Je pense que tu veux parler d'un programmeur.


Bien vu!  ;D  J'ai dû avoir un coup de surchauffe  :D :D :D :D

alpseb

Citation de: off7 le Mars 13, 2017, 14:53:53
je me suis mal exprimé. Trop incomplet en fait. Je voulais juste dire que les gens qui utilisent Automator, Applescript ou Xcode se plaignent souvent des problèmes rencontrés quand Apple change ou supprime des choses sans logique et sans prévenir; c'est ce que je voulais dire pas pas viable. Trop de bugs et de mauvaises surprises à chaque version d'OS.
Pour le reste, bien sûr qu'on peut programmer sur Mac; mais je dois bien reconnaître que les developpeurs sont plus nombreux à préférer le faire sur PC.


c'est sur que apple est spécialiste du deprecatedation (je viens d'inventer le mot).
mais si les passages de iOS 2 à iOS 3, de 3 à 4, de 4 a 5 étaient atroces avec beaucoup de trucs qui marchent plus, depuis ios7, ça passe souvent comme une lettre à la poste.

Ils ont beaucoup progressé sur interface bluider qui est très complet et assez simple à utiliser.
le langage swift qui changeait de v1 à V2 et de V2 à V3 est maintenant stable. le swift 4 apportera de nouvelles fonctionnalité et performances (nouvelles api aussi bien sur) mais rien de devra être ré-écrit pour passer de swift 3 à swift4.

Objective-C était old school et moche (mais puissant), swift est moderne et facile.
pour un débutant c'est un très bon langage.
avec une formation vidéo youtube de 5h on peut coder des applis iOS ou mac os sans problème.

baséli

Citation de: alpseb le Mars 15, 2017, 15:47:52
Objective-C était old school et moche

Quand il a été inventé il était déjà old school et moche :-)

Citation de: alpseb le Mars 15, 2017, 15:47:52
avec une formation vidéo youtube de 5h on peut coder des applis iOS ou mac os sans problème.

Un lien en particulier?

Luc G

Pour faire des programmes sur Mac sans se prendre la tête, regarder Livecode, un descendant de Hypercard.
On fait une interface simpliste en 2 minutes : quelques champs, quelques boutons en faisant glisser depuis la palette
On écrit des scripts dans les boutons dans un langage simple (Un clone de Hypertalk le langage de Hypercard à l'époque), et on exécute sans compilation, édition de liens etc.
Si on veut faire une modification, on ouvre le script, on corrige et le bouton (ou autre) est immédiatement fonctionnel avec la nouvelle version.

La version de base est open source et gratuite.

Voir ici :

https://livecode.com

(On peut aussi aller beaucoup plus loin et faire des trucs très sophistiqués et on peut aussi écrire certains scripts en applescript si on veut)

kyuhyun91

Je remercie tous vos bons conseils. J'arrive à faire pas mal de choses avec Automator mais ca ne passe pas avec tous les softs. Je vais essayer des langages plus évoléius pendant les vacances

jean-fr

Citation de: kyuhyun91 le Juin 27, 2017, 10:17:12
Je remercie tous vos bons conseils. J'arrive à faire pas mal de choses avec Automator mais ca ne passe pas avec tous les softs. Je vais essayer des langages plus évoléius pendant les vacances

Je me suis mis récemment à Swift, le nouveau (ou du moins celui qui remplace Objective-C)
langage de programmation d'Apple. Intéressant même si j'ai un peu de mal à me faire
aux variables optionnelles. Et puis découvrir à la fois Swift, Xcode, la construction
d'interfaces graphiques, ça faisait un peu beaucoup  ;D

alpseb

Interface builder au niveau de complexité ou il en est c'est pas évident de se mettre dedans !
et oui les variables optionnelles c'est un peu chelou mais pas plus chiant que la gestion de la mémoire sous objective-C

Pascal Méheut

Citation de: alpseb le Juin 28, 2017, 14:25:34
et oui les variables optionnelles c'est un peu chelou

C'est une façon de cacher le concept d'Option ou Optional qui est une monade et un concept de programmation fonctionnelle.
Le but est clairement d'éviter les null pointer mais les bases sous-jacentes permettent de faire plus de trucs quand c'est bien implémenté.
Par ex, une variable qui contient soit un résultat, soit l'exception qui a eu lieu pendant le calcul.
Et on peut chainer les traitements ce qui est là aussi super sympa : on écrit tout son code comme si ça marchait tjs et si il y a un problème, on le récupère en sortie.


fiatlux

Citation de: Pascal Méheut le Juin 28, 2017, 14:38:13
C'est une façon de cacher le concept d'Option ou Optional qui est une monade et un concept de programmation fonctionnelle.
Le but est clairement d'éviter les null pointer mais les bases sous-jacentes permettent de faire plus de trucs quand c'est bien implémenté.
(...)

Je crois qu'on vient de perdre 90% de l'audience  ;D

baséli

Citation de: fiatlux le Juin 29, 2017, 16:30:41
Je crois qu'on vient de perdre 90% de l'audience  ;D

Quoi que pour ces 90%, c'est Facebook qui est une monade. J'aimerais bien voir les posts de Pascal sur le seul neurone qui équiperait ceux qui défendraient cette position.

Pour rebondir sur le message de Pascal, et comme j'adore la programmation fonctionnelle (Lisp for ever!), je suis en train de regarder F# sur Visual Studio qui a l'avantage de tourner sur Mac et de ce que j'en lis complètement sur Windows avec la future version de VS17 qui sortira en juillet. Et qui permet aussi de faire des applications sur les smartphones via Xamarin.