Quel language pour developper sur iMac ?

secretman

Membre confirmé
21 Juillet 2008
19
0
Bonjour,

Je suis developpeur Windows et je passe bientôt et définitivement sur Mac après 20 ans de PC (a cause de cette m... de Vista : trop c'est trop !)

Je développe sous Delphi (pascal objet) et je connais le Basic.
Que me conseillez vous en dehors du C (j'abborrhe le C et ses dérivés !)

- J'ai entendu parler de REALBasic Pro, est-il bien ? pas trop limité ?
- et aussi de FreePascal et Lazarus qui permettent ensemble de développer sous Mac avec une interface à la Delphi (un clone libre).

Faites moi par de vos conseils et de votre expérience dans ce domaine.

A bon entendeur,

Denis
 
Salut,

Si t'aime le C, tu peux passer à Objective-C et apprendre Cocoa. Bon ce n'est pas très connu et pas très utilisé sur Mac, mais ça devrait quand même te satisfaire ^^.
 
Si t'aime le C, tu peux passer à Objective-C et apprendre Cocoa.

abhorrer, verbe transitif
Sens: Exécrer, avoir en horreur quelqu'un ou quelque chose [Littéraire].
Synonyme: abominer.


Bon ce n'est pas très connu et pas très utilisé sur Mac, mais ça devrait quand même te satisfaire ^^.
Juste utilisé par tous les bestsellers sous OSX mais après...

Il y a des fois où je me demande si certains qui écrivent sur ce forum ont réellement un Mac. ;)
 
Heu... il vient de dire qu'il a horreur du C...

Et c'est vrai que Objective-C et Cocoa sont pas très utilisés et reconnus sur Mac o_O ?
 
J'ai lu trop vite son message, et j'ai donc lu "adore" au lieu de "abhorre".

Concernant l'Objective-C, il s'agissait d'une boutade, visiblement incomprise. Evidemment que Objective-C / Cocoa est le langage indispensable par excellence sur Mac OS X !

Du coup je n'ai pas d'autres langage à conseiller. Mais je pense qu'il ne faut pas se fermer à l'Objective-C sous prétexte qu'il s'agit d'une extension du C. En effet, bien que l'Objective-C reprenne la syntaxe du C, la programmation est généralement à un tout autre niveau d'abstraction, ce qui rend les choses beaucoup plus simples. La couche objet de l'Objective-C est très intéressante. Les outils de développement fournis sont très agréables.
Bref, je te conseille de te diriger vers l'Objective-C en faisant fi de ton abhorration (injustifiée !) pour le langage C.
 
Je développe sous Delphi (pascal objet) et je connais le Basic.
Que me conseillez vous en dehors du C (j'abborrhe le C et ses dérivés !)

- J'ai entendu parler de REALBasic Pro, est-il bien ? pas trop limité ?
- et aussi de FreePascal et Lazarus qui permettent ensemble de développer sous Mac avec une interface à la Delphi (un clone libre).
Tout dépend de ton but : juste pour le fun ou à des fins professionnelles ?:confused:

Pour le fun trouve toi quelque chose de gratuit : je ne sais pas s'il y a encore une licence de RealBasic gratuite, sinon le Java à moins que tu ne le classes dans les dérivés du C :rateau:

A des fins plus pécuniaires : désolé mais ce sera avant tout le C, le C et encore le C et son dérivé de prédilection sur Mac OSX l'objective-C. Cocoa est LE framework pour faire des applications parfaitement intégrées à Mac OSX. Pas de chance si tu n'aimes pas ce langage car c'est la norme choisie par toutes les sociétés faisant des OS (Unix et Windows) et donc les API pour ces OS.
Après si tu choisis d'utiliser des API plus "génériques" et moins bien intégrées à l'OS, surtout sur Mac : le Java.
 
merci pour vos conseils. Je résume : le C, rien que le C !
Personnellement je trouve que c'est un language trop matheux pour moi, sa lecture est trop abstraite et pas évidente. Je jeterais un coup d'oeil sur objective C...

Néanmoins si vous avez une autre expérience que le C, n'hésitez pas à m'en faire part ici même. Je suis ouvert à toute suggestions.


Denis
 
merci pour vos conseils. Je résume : le C, rien que le C !
Personnellement je trouve que c'est un language trop matheux pour moi, sa lecture est trop abstraite et pas évidente. Je jeterais un coup d'oeil sur objective C...

Néanmoins si vous avez une autre expérience que le C, n'hésitez pas à m'en faire part ici même. Je suis ouvert à toute suggestions.


Denis
On te parle pas de spécialement de C mais de Obj C, qui est une surcouche qui amène BEAUCOUP de chose :).
Mais tu peux aussi faire du Cocoa en Python, Ruby, JavaScript depuis moins longtemps... (il y a des binding qui existe pour ces langages).

Puis il y a Qt, Wx, GTK (dans X11) etc qui tourne aussi sur OS X mais seront moins dans le look'n'feel de l'OS.
Tu peux coder dans n'importe quel langages, celui que tu connais déjà c'est pas mal ^^ (REALBasic ? Mais bon ça c'est pas libre :-/).

Le C n'est pas abstrait bien au contraire, c'est ça qui le rend peut-être un peu moins facile à lire que d'autre langage, et encore...


Mais tout ça dit, si tu veux faire une appli OS X "parfaite", tu n'échappera pas à ObjC / Cocoa. C'est comme ça :).
 
Personnellement je trouve que c'est un language trop matheux pour moi, sa lecture est trop abstraite et pas évidente. Je jeterais un coup d'oeil sur objective C...
Denis

Trop matheux le C, n'exagérons rien , c'est plutôt un langage économique pour le compilateur. Non... un langage théorique, matheux et beau c'est (c'était:( ) ADA. D'un autre côté, ADA pour développer des applications graphiques ..bof...
 
Trop matheux ?
Encore un qui n'est pas passé sous les fourches caudines d'Objective Caml ou de Prolog !!
Le C est très proche de la machine, et se pose à un très faible niveau d'abstraction. C'est certainement ce côté "bidouille", "mains dans le cambouis" qui te repousse avec le C. Mais avec Objective-C et Cocoa on ne rencontre que rarement ces problèmes. Tout ce qui est bas niveau est fait pour nous dans des Frameworks de plus haut niveau. Tout ce qu'on a à faire c'est comprendre comme agencer des blocs, et les empiler, parfois les étendre.
C'est assez rare qu'on soit obligé de retomber dans les bas fonds de la machine. Peut-être pour certaines applications réseaux, et encore..

Pour ce qui est d'Ada, je ne pense pas que ce soit plus "matheux" que le C, mais ça fait appel à bien plus de rigueur, c'est évident. Mais c'est en effet pas vraiment fait pour les applications graphiques. Mais beaucoup de voitures ou de machines de ce genre sont programmées en Ada. Si tu veux faire de l'embarqué, apprend l'Ada !
 
  • J’aime
Réactions: arcank
Trop matheux ?

Pour ce qui est d'Ada, je ne pense pas que ce soit plus "matheux" que le C, mais ça fait appel à bien plus de rigueur, c'est évident. Mais c'est en effet pas vraiment fait pour les applications graphiques. Mais beaucoup de voitures ou de machines de ce genre sont programmées en Ada. Si tu veux faire de l'embarqué, apprend l'Ada !

Des voitures je crois pas, mais les calculateurs d'Ariane, du rafale , du char leclerc sûrement. Sans bien sûr parler des programmes américains (boeing 777) , après tout ce sont eux qui avait lancé l'appel d'offre gagné par l'équipe d'Ichbia (décédé depuis) ....
 
Le C est très proche de la machine, et se pose à un très faible niveau d'abstraction. C'est certainement ce côté "bidouille", "mains dans le cambouis" qui te repousse avec le C. Mais avec Objective-C et Cocoa on ne rencontre que rarement ces problèmes. Tout ce qui est bas niveau est fait pour nous dans des Frameworks de plus haut niveau. Tout ce qu'on a à faire c'est comprendre comme agencer des blocs, et les empiler, parfois les étendre.
C'est assez rare qu'on soit obligé de retomber dans les bas fonds de la machine. Peut-être pour certaines applications réseaux, et encore..

Pour ce qui est d'Ada, je ne pense pas que ce soit plus "matheux" que le C, mais ça fait appel à bien plus de rigueur, c'est évident. Mais c'est en effet pas vraiment fait pour les applications graphiques. Mais beaucoup de voitures ou de machines de ce genre sont programmées en Ada. Si tu veux faire de l'embarqué, apprend l'Ada !

Je suis pas du tout d'accord. Le C, comme le C++, sont des langages évolués et ils sont loin d'être près de la machine.
J'en sais quelque chose car j'ai lontemps codé en ASM. Là, on est proche de la machine.
Surement la raison poru laquelle le C ne m'a JAMAIS correspondu, et je n'ai jamais rien su faire de bien évolué avec. Ca me chagrine, mais c'est comme ça, j'ai pas du tout la logique qu'exige ce langage, alors qu'en ASM j'avais absolument aucun problème.

Quant à l'aspect "rigueur", n'importe quel langage l'impose. Rigueur, attention et persevérance.
 
Je suis pas du tout d'accord. Le C, comme le C++, sont des langages évolués et ils sont loin d'être près de la machine.
J'en sais quelque chose car j'ai lontemps codé en ASM. Là, on est proche de la machine.

Eh bien moi, je suis tout à fait d'accord. Si le C n'était pas un langage proche de la machine, il n'existerait pas 8 types d'entiers (char, short, long, long long, et toutes leurs versions non signées).

Pour tenter de répondre à la question de départ:
- RealBasic, c'est du Visual Basic, version Mac, avec les mêmes qualités (prise en main facile) et les mêmes défauts (syntaxe horrible, difficulté à organiser des programmes conséquents) que Visual Basic.
- le couple Python + QT est sympa, mais certainement pas aussi intégré que Delphi. Python n'est pas un langage ni matheux, ni trop proche de la machine, mais il est plutôt lent (langage interpreté). Pareil pour Ruby.
- ObjC + Cocoa: Difficile d'accès, nécessite effectivement de bien connaître le C. La solution la plus adaptée aux gros développements pour Mac, mais sa portabilité est nulle.

Il y a encore d'autres solutions, mais on en revient à une des premières questions posées: "c'est pour en faire quoi ?".
 
Je suis pas du tout d'accord. Le C, comme le C++, sont des langages évolués et ils sont loin d'être près de la machine.
J'en sais quelque chose car j'ai lontemps codé en ASM. Là, on est proche de la machine.
Surement la raison poru laquelle le C ne m'a JAMAIS correspondu, et je n'ai jamais rien su faire de bien évolué avec. Ca me chagrine, mais c'est comme ça, j'ai pas du tout la logique qu'exige ce langage, alors qu'en ASM j'avais absolument aucun problème.

Quant à l'aspect "rigueur", n'importe quel langage l'impose. Rigueur, attention et persevérance.
Le C pas proche de la machine ?

Ok on gère pas les cycle d'horloge ni dans quel secteur de quel block (à moins que ce ne soit quel block de quel secteur ?) on va écrire sur le disque. Mais bon à part l'assembleur il y a très peu de langage plus abs niveau que le C non ?

Et puis va écrire une appli Cocoa en asm :D


Au passage pour les fan d'assembleur, vous connaissez Menuet ? C'est pas libre :-/ Mais c'est impressionnant ! Un OS avec interface graphique et tout qui tient sur une disquette et qui est entièrement codé en assembleur !
 
J'entend parler beaucoup de Qt : Qu'est-ce exactement ?

Wx, GTK (dans X11) ??? merci de préciser que quoi vous parlez. Je ne suis pas un pro de la programmation sinon je ferais du Objective-C !

Mon but est de développer des utilitaires du genre Gratuiciel, dans de nombreux domaines en général en rapport avec la sécurité informatique ou l'anonymat des internautes (fichiers cachés, effacement sécurisé des traces, etc)

Querlqu'un connait le couple Lazarus/Free Pascal ? Ca tiens la route sur Mac ?

Merci de vos nombreuses contributions,

Denis
 
Qt, WxWidget et GTK sont des librairies C et C++ multi-plates-formes qui permettent de créer des applications utilisables sur Mac OSX (sauf GTK, bof sur Mac), Linux et Windows. Mais encore une fois, si c'est pour faire une application purement Mac, rien ne remplace Cocoa.

De toutes façons ce que tu cherches à faire sera difficilement portable car chaque OS ou application web gère différemment ces aspects.
 
J'imagine que l'assembleur est de moins en moins utilisé, pour des raisons de portabilité, et par la difficulté de réaliser des programmes sophistiqués. Je pense qu'aujourd'hui, la plupart des systèmes d'exploitation l'utilisent peu
 
J'imagine que l'assembleur est de moins en moins utilisé, pour des raisons de portabilité, et par la difficulté de réaliser des programmes sophistiqués. Je pense qu'aujourd'hui, la plupart des systèmes d'exploitation l'utilisent peu

C'est vrai qu'il est de moins en moins utilisé. Ce que je trouve regrettable , mais ça ne tient qu'à moi. C'est tellement fun de programmer en ASM!
 
J'imagine que l'assembleur est de moins en moins utilisé, pour des raisons de portabilité, et par la difficulté de réaliser des programmes sophistiqués. Je pense qu'aujourd'hui, la plupart des systèmes d'exploitation l'utilisent peu

l'assembler c'est pour l' instruction par instruction
mais bon au final c'est en ca que ton compiler traduit

la portabilite a ete regle depuis bien longtemps il y a des outils permettant de targeter pour differentes familles, c'est juste que si tu ecris tout en assembler ce n'est pas tres maintenable et au final tres limite j'aimerais bien vous voir ecrire un framework comme cocoa avec un l2g :p, bien que l'asm reste tres utilise pour certain tasks

pour le C je vois pas ce que tu appeles matheux? les pointeurs? :D
 
Pourquoi avoir peur des pointeurs :D :
Les pointeurs regarde TF1
Les pointeurs violent des grand-mères
Les pointeurs sont à l'origine de la crise
Les pointeurs mangent des enfants
Les pointeurs rendent stérile
Les pointeurs nuit à votre entourage
Les pointeurs n'aiment pas les animaux


À vous !

PS: en vrai, les pointeurs ne me dérange pas du tout, au contraire !
 
  • J’aime
Réactions: Tucpasquic