Avantages de l’utilisation de Linux en tant que bureau de développement principal

Je souhaite obtenir quelques informations sur les avantages des raisons pour lesquelles les développeurs doivent et doivent utiliser Linux comme principal bureau de développement sur une base quotidienne, au lieu d’utiliser Windows. Cela est particulièrement utile lorsque vos environnements de développement, d’assurance qualité et de production sont Linux.

L’analogie actuelle à laquelle je reviens toujours est. Si je construis ma voiture de démonstration en tant que Ford Escort, mais que ma voiture de projet est une Ford Mustang, cela n’a aucun sens.

Je suis actuellement dans un département informatique qui permet un double démarrage avec Windows et Linux, mais certains fonctionnent sous Linux alors que la grande majorité utilise Windows.

Voici plusieurs avantages que j’ai trouvés depuis que vous utilisez Linux comme bureau principal.

  • Même système d’exploitation exact que Dev, QA et Production
  • Les mêmes scripts ( .sh) au lieu de maintenir ( .bat et * .sh). Assez atténué en utilisant cygwin, mais toujours un peu différent.
  • L’équipe apprend des commandes simples telles que: cd, ls, cat, top
  • L’équipe apprend des commandes avancées telles que: pkill, pgrep, chmod, su, sudo, ssh, scp
  • Un access complet aux installations généralement pour Linux, telles que RPM, DEB, s’installe comme les environnements cibles.

La liste pourrait s’allonger encore et encore, mais je veux obtenir des commentaires sur tout ce que j’ai pu manquer ou même des inconvénients (bien sûr, il y en a). Pour moi, il est logique de migrer une équipe entière vers Linux et d’utiliser Virtual Box, exécutant des machines virtuelles Windows XP pour tester des éléments fonctionnels utilisés par 95% de la plupart des pays.

Ceci est similaire mais un petit fil différent se passe ici aussi. texte du lien

Je viens d’utiliser Ubuntu à partir de Windows XP, voici ce que j’ai trouvé:

Pro de Linux

  • Linux est moins susceptible d’être affecté par des virus. J’ai perdu du temps avec les virus lorsque j’ai utilisé XP.
  • Comme vous l’avez dit, même environnement que Dev / QA / Prod, ce qui est bien. Ce n’est plus un changement d’état d’esprit quand je me connecte à l’une de ces machines
  • Linux est plus stable. J’ai habituellement redémarré XP chaque semaine ou deux.
  • Vous obtenez d’utiliser les outils unix (find, pkill, grep, etc.). Cygwin est une solution de contournement mais semble un peu plus lent que l’exécution d’unix en mode natif.
  • La performance semble beaucoup mieux sous Linux. C’est probablement la plus grande victoire pour moi, j’ai un environnement de développement exigeant beaucoup de mémoire.

Les inconvénients de Linux

  • Open Office est un peu un choc pour le système par rapport à Word / Excel (que j’utilise depuis de nombreuses années).
  • Notepad me manque ++
  • Je dois exécuter VirtualBox pour héberger ma firebase database locale Sql Server Dev
  • J’ai besoin d’exécuter VirtualBox lors de l’exécution d’Internet Explorer
  • Plus difficile de copier / coller du texte entre Sql Server Management Studio et IE si nécessaire car ils s’exécutent dans VirtualBox
  • Remote Desktop est plus pénible. Le bureau à distance de Microsoft m’a permis de ne pas avoir à me déconnecter du travail avant de travailler à la maison et vice versa
  • J’ai une application qui fonctionne uniquement avec l’émulateur Wine et ne fonctionnera pas du tout pour moi lorsque le bureau à distance sur Linux

Je suis d’accord avec l’affiche qui a dit que c’était bien de donner le choix aux développeurs – ils apprécieraient que, au lieu d’avoir l’un ou l’autre des systèmes d’exploitation, ils se fassent prendre la tête. Un avantage supplémentaire est que vous serez alors en mesure de différencier les bons développeurs des mauvais 🙂 Je plaisante.

Je dois dire que le fait d’être forcé d’accéder à SSH à une boîte de développement Linux pour le développement PHP / MySQL a été l’une des expériences de développement les plus rapides et les plus rapides en tant que développeur (anciennement Windows XP). du manque de connaissances entre les tâches de développement et les tâches sysadmin, ce qui est idéal pour les développeurs, surtout si vous vous retrouvez dans une situation de type armée individuelle.

Je parlais de windows / eclipse et de pointer et de cliquer, et maintenant je suis tout au sujet de VIM et des raccourcis clavier. Le code couleur / onglet auto complet est plutôt bon ces jours-ci.

Là où je travaille, nous utilisons des serveurs Rackspace Cloud pour la production et le développement. J’ai imagé le serveur de production (stack 2G ram / CentOS 5.2) pour un serveur de développement (l’environnement est EXACTEMENT le même que EXACT) et exécuté sur la plus petite instance (256 Mo de RAM), ce qui ne représente que 12 $ par mois. boîte. Mon copain avait un mac, il a fait du développement local pour la même base de code et il a connu des bogues subtils dans le code en raison de l’environnement mac, que je ne rencontre pas sur ma boîte de développement cloud (ou production).

Donc, ce que je veux dire, c’est avec ce type de transfert (vers le cloud pour linux dev sans interface graphique), la portabilité et la récupération rapide des pannes matérielles et la productivité (la règle des raccourcis clavier au clic / clic / glisser) . Vous pouvez également apprendre les raccourcis clavier sous Windows, mais lorsque vous êtes obligé de ne travailler que dans une fenêtre de terminal, vous en apprendrez beaucoup plus par nécessité. Je lance Windows 7 sur un ordinateur portable (essentiellement comme un terminal idiot pour mon cloud devbox), mais je SSH dans ma devbox avec du mastic et travaille sur du code avec VIM et le gère avec git. Si mon ordinateur tombe en panne ou se fait voler, tout ce dont j’ai besoin, c’est de tout ordinateur doté d’un client SSH (et d’une connexion Internet) et je pourrai être productif sur un ordinateur temporaire dans les 30 minutes. (tous mes mots de passe sur l’ordinateur portable sont dans une firebase database cryptée qui est sauvegardée sur dropbox.com ainsi que sur la HD externe, gmail occasionnel à soi-même). Et bien sûr, configurez le mastic avec de belles fonts / taille de police et une taille de fenêtre plein écran.

En revanche, il peut s’écouler quelques jours à temps plein, plus quelques heures ici et là pendant un mois, pour obtenir une boîte Windows de l’installation propre à l’environnement de développement, sans toutefois répliquer l’environnement de production à vos besoins.

Ok, la fin du parti pris – je suppose que ce que je veux dire, c’est que je ne savais pas ce qui me manquait en tant que gars de Windows, Mais notez également que mon ordinateur portable est Windows 7, donc lorsque le travail est terminé ou qu’il est nécessaire de faire des tests sur Internet, je suis sur un système d’exploitation “normal”. Cependant, je doute que beaucoup de gens soient prêts à faire un tel changement s’il n’y a pas de gain perceptible ou de besoin immédiat.

Lors de mon premier emploi, nous travaillions sur des systèmes HP UX. Donc j’ai vraiment appris à aimer la puissance de la console et son élégance:

  • Utilisez find pour travailler sur des charges de fichiers
  • moins pour de très gros fichiers journaux ou de données sans délai
  • pour les boucles avec gestion de sous-chaîne pour renommer des milliers de fichiers en quelques secondes.
  • et beaucoup d’autres piratages pour vous faire gagner du temps et des nerfs …

Mais peu de gens semblaient être d’accord dans mes emplois ultérieurs …

Toutefois. Il y a plusieurs années, je n’avais qu’une seule fois la possibilité d’utiliser un boîtier Fedora Linux pour le développement. C’était un système 64 bits dans les premières années de leur existence. Peut-être que c’était le problème. J’avais hâte d’utiliser à nouveau un shell approprié, mais j’étais déçu car Eclipse ne fonctionnait pas de manière stable et contenait beaucoup de bogues. C’était un peu dommage et un non. Depuis lors, je n’ai plus jamais eu l’occasion d’utiliser Linux comme système d’exploitation de développement.

Comme je commence à travailler dans un nouvel emploi certains jours, je pense vraiment à lui donner un autre essai. Pensez-vous, est-ce encore instable? Je ne peux presque pas imaginer.

Vous ne devrez pas utiliser Visual Studio.

Comme cela ne semble pas être un problème pour vous, vous pouvez fournir plus de détails — dans quelles langues développez-vous? Si c’est Java, alors vous passerez le plus clair de votre temps dans Eclipse, Netbeans, etc., donc cela ne fera pas vraiment de différence. Quel est votre budget pour le changement ou quelles économies espérez-vous obtenir?

D’après vos raisons, il semble que vous soyez déjà très engagé dans UNIX.

Pourquoi ne pas donner le choix aux développeurs?

git fonctionne plus vite.

Ok, pas tellement d’avantage …

Les boîtes Linux sont plus faciles à conteneuriser avec des solutions telles que Docker, ce qui vous permet de partager plus facilement votre environnement avec d’autres développeurs ou agents d’assurance qualité.

De plus, si vous avez besoin de plusieurs boîtes de dialog pour votre configuration, Linux est une solution plus pratique. Je travaillais sur une machine Windows avec une solution .Net qui devait communiquer avec des services sur une autre boîte. J’ai choisi d’installer deux machines virtuelles en suivant les étapes décrites ici ( http://mytakeon.it/the-complete-steps-to-having-a-virtual-box-up-and-running-on-your-computer/ ). Les machines virtuelles Linux étaient si légères, faciles à gérer et plus rapides à démarrer.