# [XCode] Même programmation sous Mac que sous Windows ?



## bernacouri (1 Novembre 2008)

Bonjour à vous tous,

Je viens de découvrir que je devrais bientôt faire de la programmation pendant mes études et je me demandais avant d'acheter mon portable si la programmation sous Mac était la même que sous Windows. Plus simplement, est-ce que mon programme écrit et compilé sous Mac (avec XCode par exemple) sera le même sur PC et marchera sur PC (si je le mets sur un PC) ou pas ?


----------



## Dr_cube (1 Novembre 2008)

Tout dépend ton programme.. 

Si tu programmes en Java (par exemple), qui utilise une machine virtuelle pour fonctionner, alors tu n'auras pas besoin de recompiler pour que ça marche aussi bien sur Windows que sur Mac. Mais attention quand même à bien prendre en compte les différences des deux systèmes (chemins de fichiers etc.). 

Si tu programmes en C, en C++ ou autre, alors dans le meilleur des cas tu devras recompiler. Dans le pire des cas tu devras réécrire une partie du programme. Ca dépend de ce que tu fais. 

Si tu programmes en Objective-C en utilisant Cocoa, alors il n'y a aucune chance pour que ça puisse marcher sur PC. 
De même, si tu dois programmer en .Net alors tu auras du mal à le faire sur Mac. 

Soit plus précis, et dis nous ce que tu dois faire exactement.


----------



## bernacouri (1 Novembre 2008)

Je sais déjà que je vais faire du C, et de la programmation web (donc du xHTML et CSS sans doute même si c'est pas de la prog, et des langages pour Internet).

Alors ?

En fait je ne sais même pas sur quoi je programmerai durant mes études (Mac, Windows ou Linux). Mais est-ce qu'avec un Mac je peux programmer sur "tout" ? Je veux dire, si j'utilise XCode est-ce que je peux écrire mon programme de manière à ce qu'il fonctionne sous Windows directement (si je dois programmer pour Windows) ou pas ?

Je me suis peut-être mal fait comprendre, alors prenons un exemple. En imaginant que quelqu'un me demande de programmer un programme en tel ou tel langage de manière à ce qu'il marche sur son ordinateur qui tourne sous Windows, est-ce que je peux faire cela à partir de Mac OS (et XCode), ou dois-je obligatoirement passer par un PC équipé de Windows (ou bootcamp) ?


----------



## ntx (1 Novembre 2008)

Pour le code en C pas de soucis tant que tu utilises de librairies standards et communes aux deux plates-formes. Pour la compilation, il te faudra le compiler sur Windows pour avoir une application exécutable sous Windows.
Pour tout ce qui est web, c'est la même chose sur toutes les plate-formes, seules les incompatibilités de IE avec les normes du 3W posent problèmes.


----------



## BS0D (1 Novembre 2008)

ntx a dit:


> Pour le code en C pas de soucis tant que tu utilises de librairies standards et communes aux deux plates-formes. Pour la compilation, il te faudra le compiler sur Windows pour avoir une application exécutable sous Windows.
> Pour tout ce qui est web, c'est la même chose sur toutes les plate-formes, seules les incompatibilités de IE avec les normes du 3W posent problèmes.


 
Yep, W3C IE connaît pas 

Le plus facile serait effectivement d'utiliser bootcamp, pr voir si tout roule


----------



## bernacouri (1 Novembre 2008)

C'est quand même dur de choisir son ordinateur quand on ne sait pas sur quoi on va programmer (je ne pense pas avec Mac OS, soit Linux soit Windows) ... :/


----------



## BS0D (1 Novembre 2008)

bernacouri a dit:


> C'est quand même dur de choisir son ordinateur quand on ne sait pas sur quoi on va programmer (je ne pense pas avec Mac OS, soit Linux soit Windows) ... :/


 
ouais je comprends tout à fait. 
tu n'es pas obligé de choisir tout de suite après tout. 

mais sur un mac, tu peux faire tourner Windows, Linux, et pas le contraire. 

Donc tu as *tous les avantages de la stabilité* du système, *et les autres petits trucs* en plus qu'un PC ne pourra pas t'offrir. 

Enfin c'que j'en dis moi !


----------



## bernacouri (1 Novembre 2008)

Ca, c'est sûr. Mais bon, au prix où coûte un PC portable, si c'est pour toujours utiliser Windows ou Linux... 

Mais c'est vrai que c'est la meilleure option. ^^

Encore faut-il avoir l'espace disque avec les 160Go ! ^^


----------



## p4bl0 (3 Novembre 2008)

Dr_cube a dit:


> Si tu programmes en Objective-C en utilisant Cocoa, alors il n'y a aucune chance pour que ça puisse marcher sur PC.



Cocotron ! ^^


----------



## Membre supprimé 2 (3 Novembre 2008)

p4bl0 a dit:


> Cocotron ! ^^



Oui et c'est vraiment sympa qu'un projet comme ça existe. Voici le lien 
http://www.cocotron.org/


----------



## clampin (5 Novembre 2008)

Euh, moi je programme et compile mes appli en c pour windows sur mon mac ! (et en plus je suis sur un ppc)... Comment je fais ? simple j'ai installé sur ma machine *mingw32*

http://www.mingw.org/

Bon ça alourdi largement les exécutables... mais ça fonctione (du moins pour du C pur, par Objective-C bien sur)....

Donc compiler depuis macosx pour windows, c'est possible...


----------



## grumff (5 Novembre 2008)

Moui y'a pas d'impossibilité technique, mais t'arrive à avoir une exécutable qui marche sur les deux plate-formes ? ça ça m'étonne un peu quand même. Enfin en tous cas ça dispense pas de tester sous windows à mon avis...


----------



## bernacouri (6 Novembre 2008)

Ce serait plutôt de la programmation en C (avec Carbon donc). Cocotron et mingw32 permettentde programmer pour Windows (liens en anglais :////) ?


----------



## grumff (6 Novembre 2008)

Non carbon ça a rien à voir, c'est pour faire de l'os 9... Ca fait longtemps qu'on s'en sert plus.


----------



## dmo95 (7 Novembre 2008)

Petit récapitulatif simple qui fait la correspondance Machine -> Peut programmer pour :

- Mac : Mac, Linux, Windows.
- PC : Linux, Windows. 

Le choix semble simple, avec un Mac tu pourras coder pour n'importe quel OS pour la simple est bonne raison, qu'il te sera possible d'installer tout les systèmes. Ce qui ne sera pas faisable avec un PC (de manière légal ^^, car tu ne pourras pas programmer pour OS X) !

Mais en vu de tes futurs études, tu ne programmeras surement pas des applications Mac... Mais le mac est entièrement adapté pour des études d'informatique !


----------



## bernacouri (7 Novembre 2008)

> Mais le mac est entièrement adapté pour des études d'informatique !



S'il s'est entièrement adapté à l'informatique grâce à Bootcamp, je trouve ça plutôt bof d'utiliser Windows tout le temps avec un Mac...

L'intérêt du Mac à part un beau design et du matériel de grande qualité c'est quand même l'OS. L'utiliser que pour Internet/Musique/Vidéo, ça me parait un peu cher payé quand même.

Je réfléchis encore !


----------



## grumff (7 Novembre 2008)

Mac OS X c'est un environnement de dev rêvé, jamais eu un seul soucis de compatibilité au cours de mes études, quelques adaptations mineures tout au plus. J'ai bien eu recours à un émulateur une ou deux fois, mais c'est tout. Et puis maintenant, si vraiment un jour t'es bloqué tu peux toujours mettre un windows, mais je suis sur que tu pourras faire sans.

Enfin on est très nombreux ici à avoir fait nos études en développant sur mac pour des programmes à destination de windows ou linux. J'ai jamais entendu personne dire qu'il s'était retrouvé bloqué. Au contraire la plateforme apporte un paquet d'avantages, et c'est toujours très enrichissants de bosser sur plusieurs pateformes.


----------



## bernacouri (7 Novembre 2008)

Bah, si c'est le cas, c'est super. Mais je lis depuis le début de ce sujet que c'est difficile de compiler pour Windows à partir de MacOS. 

Donc je suis assez perdu j'avoue, entre ceux qui me disent que je dois passer par BootCamp et les autres...


----------



## grumff (7 Novembre 2008)

Compiler pour windows oui c'est difficile, mais il y a une différence de taille entre avoir un exécutable multiplateforme et avoir des sources multiplateforme. Si le premier est difficile voir impossible, le deuxième est tout ce qu'il y a de plus courant.
L'important c'est pas de pouvoir compiler pour windows directement depuis le mac, l'important c'est que tu puisses récompiler les mêmes sources pour une plateforme ou une autre. En général quand on te demande de développer un programme pour tes études, on te demande les sources et un makefile (ou équivalent) pour compiler, et en s'y prenant bien ça passera sur tous les environnements. Et au pire si on te demande de fournir l'exécutable il suffit de passer 5 minutes à le recompiler sur le premier pc que tu trouves.
Et puis tu parlais de développement web, pour ça t'auras aucun problème, c'est des langages interprétés, pas compilés, donc la plateforme n'a aucune importance. Au contraire les outils fournis avec mac os x t'aideront vraiment.


----------



## dmo95 (9 Novembre 2008)

Et honnêtement, je pense avoir compris que c'était pour les études mais tu ne nous as toujours pas précisé lesquelles ?

Pour ma part, j'ai fait un DUT Info et le Mac était tous ce qu'il y avait de plus compatibles après Linux ! (et Windows enfin...)

Donc lance toi, puis à l'école il y a de grande chance que les machines tournent sur une distribution Linux, cela évite les problèmes de licences et c'est bien plus pédagogique !


----------



## Gz' (14 Novembre 2008)

De même, j'ai fait un DUT info, la moitié sur un portable windows / linux l'autre sur un mac book. Aucun soucis à signaler à part moins de prises de têtes.

Pour compiler tes programmes pour windows, installe simplement un logiciel de virtualisation (parallels ou vmware  ou je sais plus les autres).Tu code ton programme sur mac, tu lance ton windows virtualisé, tu compile et c'est bon, t'as ton programme sous windows.


----------



## bernacouri (14 Novembre 2008)

Ce que tu veux dire, c'est que j'écris mon programme sous MacOS avec mon logiciel Mac, et que je fais un copier/coller de ma fenêtre dans le compilateur Windows (que j'ai ouvert avec Parallels) ?

Si les logiciels Mac sont plus faciles à utiliser et plus avantageux, alors pourquoi pas.


----------



## Eul Mulot (14 Novembre 2008)

Ben tu prends ton fichier .c ou .cpp ou je ne sais quoi, et tu le compiles dans ton OS désiré, tu peux l'écrire sous MacOs, et le tester sous MacOS en le compilant sous MacOs, et une fois que ça marche, recompile le sous ta VM ou autre avec Windaube.

Après, j'ai fait mes deux années de DUT info avec mon mac, et je pensais avant de l'acheter que BootCamp était ce qui avait fait pencher mon choix vers un Mac, et je l'ai jamais utilisé (pour bosser du moins xD). Après avec un VM ça peut te dépanner quand tu cherches à faire du Cobol (c'est laid) ou d'autres softs qui te sont imposés pour certains projets (WinDesign qui est une merde infame) ce genre de choses. 

Sinon je sais que j'essayais de bosser le moins possible chez moi, si tu peux éviter, évite.


----------

