Le Macintosh MacBook Pro/iMac est-il un bon outil pour les développeurs de logiciels open source ? Je suis un développeur .NET qui passe aux technologies opensource (Python, Go).


Si vous êtes un développeur .NET, vous avez de la chance car Microsoft a récemment ouvert son runtime .NET sous le nom de .NET core et il supporte également MacOS , ce qui signifie que les personnes mono peuvent maintenant obtenir le soutien de Microsoft . Aussi Microsoft a acheté Xamarin qui sont ceux qui ont créé MONO qui est essentiellement la version open source de .NET plus quelques bibliothèques supplémentaires.

Donc les choses semblent assez bonnes pour les développeurs .NET sur MacOS.


Mono a eu quelques problèmes d'incompatibilité dans le passé mais pas de show stopper AFAIK.

Mac comme une plate-forme est très solide développeur sage. XCODE est un très bon IDE , mais alors il y a des IDE à choisir.


De manière assez surprenante, de nombreux projets open source sont non seulement exécutés sur le système d'exploitation Windows mais ont une très grande communauté de développeurs. Même si, du point de vue des utilisateurs, c'est 95% de Windows 4% de MacOS et 1% de Linux. Pour les développeurs c'est tout à fait différent c'est en fait 30% Windows 30% MacOS et 30% Linux.

Cela peut paraître surprenant mais il ne faut pas oublier que Windows fonctionne sans problème aux côtés de MacOS et Linux et comme un développeur est un utilisateur expert il ne se souciera pas tellement de la popularité de Windows puisque dans la plupart des cas les développeurs se déploient sur les 3 plateformes plus iOS et Android.

Comparer Windows avec Mac rend les conclusions habituelles , macos est plus stable, plus facile à utiliser et avec des logiciels de très bonne qualité. Windows d'autre part est instable , difficile à utiliser et avec beaucoup de logiciels de mauvaise qualité mais a évidemment une base d'utilisateurs beaucoup plus grande et ne nécessite pas de matériel spécial pour fonctionner.

Linux est quelque part entre les deux avec le bonus supplémentaire d'être open source. Il est semi-instable principalement en raison du support problématique des pilotes, plus difficile à utiliser car il repose trop sur le terminal et les logiciels sont okish.

Mac est une très bonne plate-forme pour le développement car comme Linux vient avec de nombreux langages inclus comme python, ruby , pearl etc et généralement Apple a toujours eu une très bonne relation avec le monde open source contribuant beaucoup de technologie comme OpenGL , WebKit etc. que nous prenons pour acquis.

D'autre part, la tendance d'Apple à aller à contre-courant est quelque chose qui a causé des maux de tête à de nombreux développeurs. Apple a bien essayé de tuer Flash et ils ont réussi et maintenant ils essaient aussi de tuer OpenGL. Donc tout n'est pas rose sur MacOS car Apple n'hésite pas à montrer les dents, ce que Windows et Linux font rarement.

Personnellement, je code en Python et les 5 dernières années en Pharo, mon expérience a été très lisse mais j'essaie d'éviter les parties uniquement sur MacOS et au lieu de cela, je me concentre uniquement sur les parties multiplateformes.

Sur le plan matériel, ils sont solides comme le roc et contrairement à ce que beaucoup de gens croient, ils agissent le plus rentable. Ils sont plus chers mais ne perdent pas leur valeur comme les pcs. Donc vous pouvez les revendre et faire un montant substantiel du prix que vous avez payé.

A la fin, vous pouvez facilement avoir un double boot avec MacOS et Windows et Linux à l'intérieur d'une VM. Je ne suis pas si sûr pour le triple boot mac avec MacOS/Windows/Linux , cela doit être possible mais aucune idée de la facilité car je n'ai jamais essayé.

Dans tous les cas avoir ces OS sur des VM est encore mieux car vous évitez d'avoir à redémarrer votre mac pour changer d'OS.

A propos de Python spécifiquement , cpython fonctionne très bien sur macos , sans aucun problème et une tonne de bibliothèques. Apple prend également en charge cpython nativement par le biais de son pont PyObjC qui donne à cpython l'accès à toutes les bibliothèques Objective C qui reste encore le langage de l'OS. Si vous cherchez quelque chose de cross platform GUI wise, j'ai réussi avec pyQT.

La dernière version de MacOS est Sierra 10.12 et elle est livrée avec Cpython 2.7.10 préinstallé. Bien sûr, vous pouvez également installer python 3.

Comme je l'ai dit, je me préoccupe rarement des particularités de MacOS car je m'appuie sur des outils et des bibliothèques multiplateformes le flux de travail est presque le même.

Windows s'est également beaucoup amélioré ces derniers temps avec l'ajout d'Ubuntu core et de Powershell ce qui le rapproche beaucoup de Linux et de MacOS.

Je n'ai pas eu à désapprendre ma façon de faire de Windows en fait à ce jour je suis énervé que MacOS ne maximise pas les fenêtres mais quand je me suis converti pour la première fois en 2007 il m'a fallu 2 jours pour me sentir à l'aise avec MacOS. La raison en est qu'il n'est pas nécessaire de se battre avec les paramètres et les personnalisations pour que les choses se passent bien avec MacOS. Il fonctionne bien dès la sortie de la boîte et c'est pourquoi la personnalisation d'un système d'exploitation est plutôt rare.

Vos façons de faire sous Windows vous seront utiles parce que très probablement, si vous faites des applications commerciales, vous continuerez à développer sous Windows ou au moins à tester vos applications, même si c'est un logiciel libre. Donc ne perdez pas ces compétences.

Résumé : vous vous en sortirez et vous avez une tonne d'options pour ajuster le flux de travail à celui avec lequel vous vous sentez à l'aise.