Aide - Recherche - Membres - Calendrier
Version complète : Programmer ?
iClan, le clan Mac > Public > Apple
Pages : 1, 2, 3
Ogur
Voili voilou, j'en viens à me servir de la matières grise du iClan™ :

J'ai bien envie de me mettre à la programmation, mais je sais pas trop par ou commencer laugh.gif , étant un novice presque absolu en la matière...

Java, cocoa, php, Xcode... tant de nom qui ne me disent pas grand chose biggrin.gif



enfin, j'ai pas envie de me prendre des airs de grands informaticiens, j'ai juste envie de débuter smile.gif

Alors Doc, un ptit conseil? ph34r.gif
CantKillemAll
Appelle Tonton DBSor !! laugh.gif tongue.gif
yuki
HTML/java script: je peux t'aider
PHP: ça c'est Gamoul qui s'y connaît
donc les languages du web, voilà, je peut tetre faire un peu de XML et XHTML
après je suis aussi interessé à apprendre le Java et le Xcod
Tigrou
Moi aussi mais j'aimerai bien me lancé un peu comme DB mais ça m'a l'air asser complexe, je me trompe peu être... huh.gif
Ogur
Le HTML, j'y avais jeté un oeil il y a longtemps.

Pourquoi pas un peu de PHP, mais j'ai plus envie de me tourner vers un truc du genre java/Xcode tongue.gif
Sire Diablo
Moi je lis une tonne de bouqins sur le C, c'est tres cultivant je peux te dire, et je pense que ca peut former des bases pour ensuite attaquer le Coccoa et le C++ pour manipuler les objets, mais encore une fois, je peux pas t'en dire plus que tonton DBSor. biggrin.gif

A Tiger : tu te trompes, c'est pas complexe, mais il y a de la logique et je pense que ca devient automatique a force de faire des erreures wink.gif mais encore une fois, je peux pas t'en dire plus que tonton DBSor. biggrin.gif
macgic
De toute façon, il faut que tu te décides pour savoir ce que tu veux programmer : ça limitera déjà en partie les langages que tu peux utiliser. On ne programme pas la même chose en php ou en C++ wink.gif (enfin peut-être que si mais à mon niveau, on fait encore la différence tongue.gif)

Donc, les questions à se poser :
1) Programmation Web ou création d'applications
2) Programmation graphique ou non ?
3) Compatibilité Windows-Mac ? (c'est toujours possible de faire une appli complètement portable mais il faut faire quand même attention).

Une fois que tu as répondu à ces questions, tu peux t'interroger sur les langages à utiliser. Pour ma part, j'ai appris le C puis le C++ puis le java puis PHP et ça m'a semblé être un bon chemin. Maintenant, il me semble qu'on puisse attaquer l'objective-C assez rapidement, mais je pense que avoir de bonnes bases en C est toujours un plus (pensée qui est plus ou moins remplie d'a priori puisque je ne connais pas du tout l'Objectif-C tongue.gif )

Enfin, XCode, c'est juste un logiciel qui te guide dans la programmation (couleurs, délimitation des fonctions, aide pour la complétion des variables, etc.) ce n'est pas un langage (donc pas la même famille que le java et php).

Cocoa est un framework, c'est à dire un ensemble de fonctions qui sont disponible sur les mac (j'espère ne pas dire trop de bêtises parce que je ne suis pas vraiment sur de ce que j'avance). Donc attention, il n'est pas sur que le programme en utilisant les fonctions Cocoa soit portable.

Voilà mon point de vue. Si tu as besoin d'aide, je peux toujours essayer de t'aider dans la limite de ce que je connais (soit pas grand chose) et du temps que j'aurais (soit pas grand chose non plus laugh.gif). Il y a d'autres langages (qui me semblent plus geek mais c'est toujours mon avis à 2 sous) que tu peux également explorer.
Tigrou
Merci pour vos infos les mecs, je vais réfléchire a tous ça smile.gif
Ogur
Hey mec! c'est moi qui pose la question! tongue.gif

Sinon, alors, c'est plus pour des applis, mias ptet que je me mettrai au web une fois (enfin, disons appli pour le moment happy.gif).


Programmation graphique? uh? Alors, si tu veux dire graphisme, en tout cas pas au début happy.gif

et puis pour windaube + mac, tout d'abord seulement pour mac, ensuite je verrai smile.gif

Merci en tout cas!
macgic
Programmation graphique = y-a-t-il une interface graphique pour le programme ?

Pour ce que j'en connais, le C, ce n'est pas très adapté pour l'interface graphique. C'est plus fait pour des programmes en mode console (affichage de lignes avec questions - réponses et le programme tourne).
Le C++, le java ou l'objective-C sont plus tournés vers l'interface graphique (parce que c'est de la programmation orientée objet alias POO) et sont donc plus aptes à créer des fenêtres et tout autre joyeuseries (mais plus difficile à coder aussi tongue.gif ou plutôt long que difficile parce qu'à la fin, c'est pas si dur les fenêtres)
sky blazer
Je pense que tonton DBSor va te recommander "cocoa par la pratique" de je sais plus qui a chaiplusquelleédition wink.gif
DBSor
DBSor, DBSor, je pense qu'il y a plus pro que moi ici, n'est-ce pas guillôme et son célèbre MACoinche wink.gif

macgic a fait un bon résumé de la situation.

Programmer, c'est simple, surtout sur MacOS où tout est fourni, bonne documentation et une communauté toujours prête à donner un coup de main.

Pour vous faire une idée, j'ai commencé à programmer en basic sur oric1 (vers 1982-83), puis en assembleur 6502 (des jeux déjà biggrin.gif)
Puis C et Pascal à l'école d'ingé, stages sur Think C et Think Pascal (sur Mac), passage sur 4D (bases de données), puis l'enfer, à l'armée, un an de borland C++ sur windows 3.1. J'y ai quand même découvert la philosophie du langage C++ à travers le livre de son inventeur, Bjarne Stroustrup. Rigolo mais bon, pas nécessaire tongue.gif

Puis CodeWarrior (C et C++) en thèse, pour s'amuser car je trouvais MatLab trop lent biggrin.gif

Puis rien jusqu'en juillet 2005, où j'ai acheté le livre Cocoa par la pratique, excellent livre pour débuter en Cocoa (routines MacOS).

Donc pour le php, le java, etc, je me tairais, je n'y connais rien biggrin.gif

Pour programmer une application sur MacOS, je ne saurais trop conseiller l'objective-C (langage de développement issu de Next) avec les API Cocoa, c'est simple à la condition de connaître les bases du C. Si ce n'est pas le cas, acheter un petit bouquin pour les bases (les boucles, les variables, les tests, etc). Le résultat, compilé, est plus rapide qu'en java. De plus, le passage vers intel ne devrait pas poser de problème (en mettant à jour son xcode, ADSL obligatoire). Mais ce ne sera pas compatible windows huh.gif

Le C++ ne sert à rien, mais la philosophie du langage object est à connaître, c'est très simple:

Petit cours de langage objet en objective-C
Tout d'abord, il y a les classes d'object, prenons un exemple, les chaussettes.
Puis il y a les instances, ce sont les objects en particulier, par exemple mes chaussettes, ou celles d'Ogur.
La classe définit des membres, par exemple la laine, la couleur, les trous.
Elle peut aussi définir des actions, par exemple mettre ou repriser.
D'autres classes peuvent être créées (sous classes) et héritent de tout le travail déjà effectué avec la classe mère, c'est pratique.

Traduit en Objective-C simplifié biggrin.gif

@interface Chaussettes // définition de la classe
{
id laine;
id couleur;
id trou;
}
- (BOOL)a_des_trous; //renvoie oui ou non (YES or NO) selon le cas
- (void)mettre;
-(void)repriser;
...

il faut bien sûr définir tout ce que cela fait...

Puis quand on en a besoin

Chaussettes* les_chaussettes_d_ogur; //une paire de chaussettes en particulier
if ([les_chaussettes_d_ogur a_des_trous] == YES) //ici, il faut connaître le C
[les_chaussettes_d_ogur repriser]; //action conditionnelle sur l'instance de Chaussettes
[les_chaussettes_d_ogur mettre]; //action inconditionnelle sur l'instance de Chaussettes

et voila, Ogur est certain de ne plus mettre des chaussettes trouées biggrin.gif

Plus sérieusement, Cocoa définit par exemple une classe fenêtre que l'on peut sous-classer en sous-classe fenêtre_à_moi_qui_affiche_des_choses, et associer une instance de cette nouvelle classe aux documents que l'on ouvre, etc etc..... Et puis il y a Interface Builder, fabuleux outil pour créer les interfaces, etc etc

Par contre, j'attire l'attention de ceux qui veulent s'y mettre, c'est prenant, très prenant, WoW est du pipi de chat à côté de ce passe-temps, donc prudence. Par contre, c'est certainement meilleur pour les neurones biggrin.gif
Plus je xcode est plus je deviens nul au rifle, plus je CoD et plus je retarde la sortie de iClanASC...

En tout cas, n'hésite pas à me soumettre tes interrogations, et lis les archives des forums, un bon point de départ est le forum MacBi, et ce topic qui fournit tout un tas de liens...
Ogur
WoW! merci DB smile.gif

enfin, il je bosserais volontier avec une interface graphique.

j'ajoute que j'ai quand même des bases : Visul Basic, mais j'aime moyen (en plus que c'est chez windows tongue.gif )

donc si j'ai bien compris il faut que je me farcisse les bases du C puis passer à ton C-objective machin? biggrin.gif


je passerai sur Mcbi quand j'aurai un brin plus de temps, Merci bien! smile.gif

Edit: j'ai fait un ptit tour sur la liste de liens, yen a pas mal de HS dans ceux qui touchent le cocoa et l'obj-c. Jm'y retrouve pas trop dans cette jungle, im faudrait simplement un lien vers un bon tuto ph34r.gif
Cyber/RR
Sache que pour faire du cocoa tu peux tout trouver sur www.apple.com/fr section developpeur.
Voici un petit lien qui parle de cocoa.
atarxerxes
DB tu dis que la documentation est fournie pour Objective-C, ça s'est bien arrangé alors. Il y a quelques années (2001-2002 je dirais), la documentation était famélique sur le site d'Apple et comble de tout l'API que je voulais utiliser était bugguée (celle de gravure de CD/DVD en version 10.1 je crois).

Enfin, à l'époque la documentation en ligne de Sun pour Java semblait à des années lumière de celle d'Apple tant elle était plus complète. Du coup j'ai un peu abandonnée l'Objective-C.

Avantage du Java en passant: il peut faire des applis "normales" (certes plus lourdes que des applis compilées) mais il peut surtout servir au développement web (avec un Tomcat on peut se faire un site perso bien chympa). Une sorte de double compétence quoi.

En tout cas pour un débutant, je pense qu'il faut commencer par de l'algorithmique (boucle if, boucle for, parcours d'un arbre, d'un tableau, calcul d'une factorielle, ...) en s'appuyant sur du C (langage impératif par excellence) et un peu sur un langage fonctionnel (Cam-l par exemple) avant de passer à du Java ou de l'Objective-C. Sinon ça risque d'être un peu rude.
DBSor
Tout à fait d'accord avec toi atarxerxes pour la nécessité de connaître les bases du C, d'ailleurs, ça sert à tout, j'arrive même à lire du java sans jamais avoir appris ce langage biggrin.gif

Pour la documentation, du moins pour cocoa et java, je trouve les ressources fournies par Apple, tant celles à installer sur le disque que celles en ligne, très utiles même si toujours incomplètes sur certaines classes. Ca simplifie la vie, un option-clic sur une méthode et hop, la documentation surgit biggrin.gif Par contre, l'ADSL s'impose, 834Mo à charger pour passer en xcode 2.2 et 240Mo pour la doc huh.gif
DBSor
Double Post Powwaaaa !

Ogur, si tu veux vraiment t'y mettre, fais-toi offrir ceci à Noël, c'est un jeu qui permet d'apprendre la programmation (C, C++ et java), à partir de 11 ans tongue.gif
petburn
Bonsoir tout le monde,

je peux vous faire profiter de ma faible expérience (ps si faible que ca quand même) que j'ai en développement.

pour infos, j'ai un DUT en informatique (à vannes - 56) et une licence en Développement des Systèmes Décisionnels (à vannes aussi)

j'ai donc débuté le développement il y a un peu de plus 5 ans, avec au début de l'algorithmique.
très important, c'est la base, après, n'importe qui est capable de "coder" un algo dans un langage, mais faire l'algo...

donc pour débuter, un bon cours d'algo (allez faire un tour sur developpez.com, il y a tout ce qu'il faut)

ensuite, j'ai fait presque que du Java... et même si j'en fait de moins en moins (du fait de ma spé en Décisionnel, je ne "code" plus, ou du moins, de moins en moins... parceque cela ne m'intéresse pas.

voila, j'ai aussi fait du C, C++, mais très très peu, et bien sur tout ce qui touche au web (HTML, php, asp...)

voila, le Java est pour moi plus simple que le C ou C++, parceque j'en ai fait plus, mais il y a moins de chose à gérer (allocation mémoire...)

voila, si vous avez des questions, n'hésitez pas.

à oui, une bible de Java, "Java in a nutshell", mais il y en a plein de très bien...

bonne soirée.
yuki
Ah, si quelqu'un pourrait me donner un ouvrage en Java et en fançais pour noël çe srait super cool, je compte m'y mettre pour faire des tits softs online
yuki
CITATION(DBSor @ 15 Dec 2005, 13:55)
Double Post Powwaaaa !

Ogur, si tu veux vraiment t'y mettre, fais-toi offrir ceci à Noël, c'est un jeu qui permet d'apprendre la programmation (C, C++ et java), à partir de 11 ans tongue.gif

Heiiin?
cékoi ces trucs, je connais djà ça moi, cépo juste, quand on fait du javascript. c'est facile de faire un Java et du C nan?
atarxerxes
CITATION(petburn @ 15 Dec 2005, 18:55)
voila, le Java est pour moi plus simple que le C ou C++, parceque j'en ai fait plus, mais il y a moins de chose à gérer (allocation mémoire...)

Niveau syntaxe, c'est kif-kif vu que c'est grosso-modo la même. Niveau concepts le C est plus simple quand même vu que c'est des appels fonctionnels. Pour les allocations mémoire, c'est important dans passer par là, il vaut mieux comprendre les pointeurs pour programmer (même en Java ça sert, en Objective-C encore plus).

Mais on est d'accord, de toute façon c'est vraiment l'algorithmique qui est le premier truc à apprendre sinon on va pas loin en programmation wink.gif
Ogur
Niveau des boulce,s comme j'ai dit, je fais du Visual Basic à l'école, j'ai déjà la "compréhension".

maintenant, il me faudrait un truc concret laugh.gif

je vais faire un ptit tour sur le site d'Apple smile.gif
ZenZen
Iop
J'arrive après la bataille... Mais je vais appuyer ce que tout le monde te dit... Le premier truc, c'est apprendre les bases de l'algo (relou) mais obligatoire, si tu veux que pouvoir coder des programmes...
Après y'a le langage C qui est un passage obligatoire (imho)...

Pour faire du concret, il faut déja comprendre l'abstrait...
wink.gif
Ogur
Plus qu'à me rtouver un bouqin alors laugh.gif
Gamoul
Et si jamais tu veux faire du PHP, je peux te donner quelques tuyaux. Le PHP est un moyen facile de commencer à programmer, en ayant facilement des résultats.
Ogur
okay, si une envie de ce coté là me prend laugh.gif

je vais me mettre à la recherche d'un bouqin sur le C et tout ça smile.gif
Sire Diablo
Perso moi je lis un petit bouquin sur le C qui s'appelle Learn C On The Macintosh par Dave Mark publié par SpiderWorks, j'en suis aux pointeurs biggrin.gif
yuki
Ogur: ouais moi aussi happy.gif. Perso je cherche chez Payot, z'en ont quelques un intéressants
guillôme
CITATION(DBSor @ 14 Dec 2005, 01:14)
DBSor, DBSor, je pense qu'il y a plus pro que moi ici, n'est-ce pas guillôme et son célèbre MACoinche wink.gif

(...)

Puis rien jusqu'en juillet 2005, où j'ai acheté le livre Cocoa par la pratique, excellent livre pour débuter en Cocoa (routines MacOS).

Ah là, là, il faut surveiller tous les forums ici, car on peut être cité partout biggrin.gif

Effectivement, je me suis mis à XCode + Cocoa + Objective-C avec le fameux livre "Cocoa par la pratique" qui reste actuel pour Tiger même s'il a été écrit pour Jaguar.

Clairement, pour se faire plaisir à développer une appli Mac, je conseille Objective-C + Cocoa avec XCode, j'ai mis moins de un mois pour l'apprendre et m'auto-formé, c'est donc très abordable!

Pour l'aspect, éducatif, apprentissage de l'informatique, je conseille le C. Il n'y a pas photo, apprendre le C, c'est comme apprendre l'anglais, après tu peux comprendre tous les langages et être compris de tous, la plupart du temps (le lisp ou forth s'écarte pas mal du C dans sa logique biggrin.gif)

Pour la référence documentaire, la barrière de la langue (les docs en anglais même en étant fluent c'est pas top) est un problème surtout que la recherche est pourrie. Moi j'utilise : AppKiDo qui est indispensable au quotidien pour programmer avec le framework Cocoa!

Enfin, comme dis précédemment, ne pas faire les choses à l'envers. Il faut d'abord apprendre la théorie informatique et l'algorithmie (sauf chez certains où c'est spontané) avant de passer à un langage.
Il s'agit de savoir ce que c'est que l'itératif, le récursif, le récursif terminal, les effets de bords, l'adressage mémoire, les pointeurs... Et les algo pour ne pas réinventer la roue (ex : tri quicksort).

Pour les bouquins sur le C et le Java, il y en a tout une ribembelle à la Fnac. Eviter les bouquins de 6000 pages que tu ne liras jamais mais préférer les petits livres de poches facile à emporter et à annoter. Moi, j'aime bien l'approche par la pratique (Ed. Eyrolles) d'autres préférons la théorie (Ed. O'Reilly).

Allez bon courage, car la programmation, c'est pas si facile surtout quand ça bug biggrin.gif
Thomas
allez en prépa, vous verrez tout ce qu'on apprend des mérites respectifs du quicksort et du tri fusion laugh.gif

(et vive le Caml ! Excellent langage pour apprendre l'algo... (ça ne sert à rien d'autre))
atarxerxes
Hé l'autre, respect pour le Caml tongue.gif J'avais une simulation de l'évolution d'une termitière écrite en Caml ^_^
yuki
CITATION(guillôme @ 20 Dec 2005, 21:10)
...comprendre tous les langages et être compris de tous, la plupart du temps (le lisp ou forth s'écarte pas mal du C dans sa logique biggrin.gif)

Ouais mais bon, le lisp c'est pas grand chose à apprendre smile.gif
sky blazer
Vive le logo laugh.gif ( language ou l'on fait avancer une tortue pour dessiner des machins )
DBSor
remontetopic.gif

Un livre intéressant et gratuit sur la programmation de jeux sur MacOS à télécharger sur ce site: Pangea
DBSor
remontetopic.gif
Quelqu'un a acheté Cocoa Programming for Mac OS X dans sa troisième édition, c'est pour savoir si ça vaut le coup par rapport à l'édition française.
CantKillemAll
Une étude assez marrante chez Mac4Ever :

CITATION
Vista n'a pas seulement du mal à faire son trou dans le marché grand public, il n'attire pas non plus une masse de développeurs. C'est du moins ce que révèle une étude conduite par Evans Data.

En gros, 92 % des développeurs ne programment pas pour Vista. Ce qui laisse donc, chez Mac4Ever on est fortiche en calcul mental, 8 % des programmeurs à travailler sur l'OS waoou. Il semblerait que l'obsession sécuritaire de Redmond rende leur tâche plus difficile (pas d'accès au noyau et l'affreux UAC).

XP est crédité de 49 % de développeurs débitant du code pour cette plateforme, et 13 % pour Linux. Et Mac Os X dans tout ça ? Pas de données chez Ewans Data (ils ont des problèmes de méthodologie ou quoi ?) sinon que +380 % de développeurs veulent écrire des applications pour notre OS favori. Il faudra se contenter de cette bizarre donnée.


Ils sont trop forts chez M$, bientôt ils vont finir par faire fuir les développeurs laughing1.gif
atarxerxes
En même temps c'est normal :
- quand tu es sérieux, tu redoutes le changement (si ton logiciel marche, pourquoi le changer?)
- tu ne changes d'OS cible que sous la pression de tes clients
- quand ton client a aussi peur du changement, tu attends en fait la fin du support de l'OS par M$ pour passer au suivant

En gros quelles que soient les qualités (ou les défauts) de Vista, la situation aurait été la même pour les logiciels professionnels.
CantKillemAll
C'est dingue car sur OS X, le nombre de softs qui deviennent ou ne vont être que Leopard Only est assez impressionnant par rapport au passage 10.3 -> 10.4
atarxerxes
C'est normal, c'est pas un OS sérieux. Apple est capable de détruire des mois de travail d'une société sur une décision de Steve Jobs d'une révision à l'autre.
Honnêtement, j'aimerais pas avoir à développer uniquement sur Mac, tu as toujours peur de prendre un coup sur la gueule.
Gamoul
Ca a été vrai dans le passé, mais on peut quand même penser que les choses se sont stabilisées maintenant.
atarxerxes
Jusqu'à la 10.4 tout changeait à chaque version. Normalement ça devrait être stable maintenant (10.5 dans la continuité de 10.4), mais bon faut reconstruire la confiance pour les entreprises maintenant.
Gamoul
Moi je parlais surtout des gros changements comme OS9 -> OSX, ou PPC -> Intel

Après les différence entre les OS normalement ça n'oblige pas à tout réécrire, parfois faut s'adapter c'est sur, mais bon...
atarxerxes
Demande à DB. Des APIs entières étaient refaites entre chaque màj majeure jusqu'à 10.4 (et d'autres restaient incomplètes à côté de ça). Sous Windows, ça a gueulé comme des veaux y'a deux ans parce qu'une conséquence de la SP2 de XP a rendu certains parcours de répertoires écrits en 98 non fonctionnels... C'est tout simplement pas le même monde : M$ est prisonnier de ses utilisateurs professionnels, avec Apple c'est le contraire.
CantKillemAll
remontetopic.gif

Xcode 3.1 Final vient de sortir. smile.gif

C'est tonton DB qui va être content, il va pouvoir bosser sur iClanASC Touch biggrin.gif
J'ai bossé sur des UI pour iPhone. J'essaie de t'envoyer le tout cette semaine, si tu veux smile.gif
DBSor
Tu peux, mais en ce moment, je n'ai même plus le temps de lancer xcode ou UO sad.gif
Alors une version Touch, c'est pas pour tout de suite tongue.gif
EDIT: huh.gif je l'ai depuis un moment la 3.1 huh.gif
CantKillemAll
Cette version a été publiée hier wink.gif
DBSor
Oups, oui, j'avais pas la finale, j'espère que ça va se calmer un peu maintenant cho.gif Merci ma poule biggrin.gif
CantKillemAll
DB, tu peux prendre tes sources d'ASC sur une clé ou un DD pour demain midi ?

Je vais te montrer ce que j'ai fait au niveau des interfaces sur mon MBP pour que tu t'y mettes, maintenant que tu auras le Hardware tongue.gif
DBSor
Elles t'arrivent par mail de suite biggrin.gif
CantKillemAll
C'est ce bouquin que tu m'as recommandé ce midi, DB ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2024 Invision Power Services, Inc.