Je suis un programmeur PHP / Python apprenant Java et C # (. NET).
Mon principal système d'exploitation de développement est Windows 7, mais j'ai utilisé Linux et je fais actuellement un double démarrage avec Ubuntu. Cependant, mes connaissances Linux sont assez limitées. Je peux travailler avec la ligne de commande sur des tâches simples mais c'est à peu près tout. Je ne fais aucun script shell et je ne connais pas beaucoup de commandes importantes.
Mes intérêts sont le développement Web, les applications mobiles et peut-être des trucs intégrés à l'avenir. Les compétences de script shell seront-elles utiles pour ces intérêts et si oui, comment?
web-development
linux
Maxtor
la source
la source
Réponses:
Si je code une application Windows (ou une application Mac), pourquoi devrais-je avoir besoin de connaître Linux? Un mécanicien Ford devrait-il connaître les tracteurs John Deer? Tout dépend de ce que vous faites, professionnellement ou de votre temps libre.
Maintenant, ça ne fait pas de mal de le savoir. En fait, je crois fermement en «plus vous en savez, mieux vous êtes»
la source
Si vous êtes un programmeur PHP, vous devez certainement connaître Linux. PHP a été créé sur Linux, et PHP est une partie importante de la pile LAMP: Linux + Apache + MySQL + PHP. Même si vous avez la possibilité de développer pour les serveurs Windows maintenant, votre prochain travail consistera probablement à développer pour les serveurs Linux, et vous devrez vous familiariser avec l'environnement Linux afin de ne pas être à court d'ismes spécifiques à Windows. de PHP.
Dans l'espace des applications mobiles, connaître Linux aura (malheureusement) peu de pertinence pour les environnements pour lesquels vous développez. iPhone OS n'a rien à voir avec Linux, et Android vous a si étroitement enfermé dans une machine virtuelle, vous ne saurez jamais qu'il y a Linux sous vous. Vous pouvez programmer pour Linux sur Meego ou Maemo, mais ceux-ci sont loin de la popularité de l'iPhone et d'Android.
Dans l'espace embarqué, vous devez connaître Linux. Windows embarqué est rare, mais Linux embarqué est assez courant. (Bien sûr, la programmation embarquée bare-metal est également assez courante, donc cela dépend où vous voulez aller.)
Si vous apprenez Linux en profondeur sur un certain nombre d'années, vous aurez un certain niveau de compréhension de chaque partie du système depuis le noyau, en passant par le processus de démarrage, jusqu'à la ligne de commande et l'interface graphique.
la source
Il y a un certain degré de réflexion 80/20 que vous pouvez appliquer ici. En fait, cela ne prend pas très longtemps pour apprendre les bases du fonctionnement de Linux et les commandes principales que vous devez connaître à partir du Shell. De même, la configuration de base d'Apache est très pratique si vous en avez besoin. Vous n'avez pas besoin d'y consacrer des années de votre vie, mais cela vaut certainement la peine d'apprendre suffisamment les bases que vous pourriez obtenir en exécutant votre propre serveur si vous le deviez.
C'est une ligne fine cependant. Si vous ne faites pas attention, vous pouvez rapidement trouver que Windows commence à vraiment vous cocher lorsque vous vous habituez à ce que Linux offre ...
la source
Vous n'avez pas à l'apprendre, mais cela fera de vous un meilleur programmeur. Vous apprendrez à faire les choses différemment de la méthode Windows. L'utilisation de l'un des shells * sh finira par conduire à des scripts et à l'utilisation d'expressions régulières, à l'automatisation des installations, à l'analyse de gros fichiers, etc.
Je ne me soucie pas d'être moqué pour ne pas le savoir, autant que je me soucie de la façon dont c'est cool à chaque fois que j'apprends à faire autre chose sous Linux. Il s'améliore de plus en plus avec chaque nouveau bit.
Powershell a beaucoup de choses qui viennent du monde nix, ils ont finalement réalisé que pour avoir l'automatisation, vous avez besoin d'une bonne console (bravo à MS pour cela). Perl et Python semblent être un mélange de C, bash, sed, awk, tous maillés en une bonne chose à leur manière.
À tout le moins, vous aurez quelque chose d'autre à mettre dans votre CV, mais ce n'est vraiment pas la meilleure chose que vous en tirerez.
Je suis sûr que vous trouverez sur vos propres choses qui vous feront aller: "Wow, c'est tellement cool!" Mon premier était de pouvoir "tuer" Apache en utilisant un signal USR1 pour le faire recharger un nouveau fichier de configuration et redémarrer les journaux, sans jamais arrêter le service et continuer à recevoir des connexions. Aussi ssh et rsync, bonne peine pourquoi MS ne les porterait pas au-delà de moi.
la source
Cela ne vous fera pas de mal. Même dans une entreprise entièrement Microsoft, il est de plus en plus probable que vous rencontrerez au moins quelques serveurs Linux. Stack Overflow, par exemple, utilise Linux pour ses équilibreurs de charge. Cela est particulièrement vrai lorsque la virtualisation entre en jeu.
En tant que programmeur, vous pourriez faire mieux en envisageant de vous familiariser avec POSIX, et pas seulement avec une seule variante de type UNIX. Bien qu'il ait quelques bizarreries, cela représente beaucoup d'efforts qui ont été consacrés à une tentative incroyable d'établir une interface standard qui est (principalement) portable dans tous les environnements de type UNIX. Notez que de nombreux systèmes de type UNIX ne sont pas à 100% "posixly correct", mais c'est un bon point de départ.
En tant qu'utilisateur occasionnel, je ne peux que suggérer qu'il est amusant de fouiller dans quelque chose de nouveau et d'apprendre de nouvelles choses. Je suppose qu'il est possible d'être un «gourou» avec tous les systèmes d'exploitation auxquels on pourrait penser, mais je ne pense pas que ce soit l'effort le plus utile pour un programmeur. Pourtant, une connaissance pratique des choses que vous pourriez rencontrer est bonne .. et à partir de votre question, vous semblez susceptible de rencontrer Linux à l'avenir.
la source
Oui, mais vous ne semblez pas avoir besoin de l'étudier activement.
Pour moi, ma familiarité avec Linux s'est développée grâce à mon utilisation de celui-ci comme système d'exploitation professionnel. Morceau par morceau, j'ai appris les choses que je devais savoir au fur et à mesure et je continue à le faire. Internet regorge de ressources sur la façon de faire à peu près tout ce dont vous auriez besoin pour écrire Linux, donc je vous suggère plutôt de bien lire les pages de manuel et la documentation et de laisser votre cerveau absorber (et oublier) les détails de la façon d'accomplir des tâches spécifiques au fur et à mesure .
Cela étant dit, il y a certainement quelques commandes que vous allez éviter du monde Linux pour ne pas avoir une compréhension de base de.
la source
Dans les quatre derniers emplois sur cinq dans lesquels j'ai travaillé, les développeurs et le QA (au moins démarré) ont travaillé sur Windows, mais les serveurs de test et de production étaient Linux / UNIX. Tous ont eu besoin de connaître au moins une petite quantité d'UNIX pour au moins pouvoir accéder aux serveurs de test et consulter les journaux ou déboguer un programme en cours d'exécution dans l'environnement «réel». Très peu de développement est en fait destiné à Windows dans les entreprises qui ont été au cours des 20 dernières années.
Faisant écho aux autres ici, très peu peuvent être «nécessaires» pour votre travail ou votre carrière, mais cela vous aidera à comprendre votre propre travail, les avantages et les limites de la langue ou du système que vous utilisez.
la source
À mon humble avis, pour un programmeur compétent connaissant Linux / Unix serait un excellent tremplin vers une philosophie Unix encore plus importante
la source
Lorsque j'ai suivi le cours d'informatique sur les systèmes d'exploitation, nous avons étudié les systèmes d'exploitation basés sur UNIX et fait notre travail sur RedHat parce qu'il était open source et parce que nous pouvions voir le code et parce que nous pouvions faire avec lui des choses qui ne pouvaient tout simplement pas être faites dans Les fenêtres.
Je dirais que si vous apprenez les principes fondamentaux du fonctionnement des systèmes d'exploitation sous le capot, vous devriez probablement avoir une certaine expérience avec Linux, même si ce n'est que dans un environnement universitaire.
Je viens de revenir à Windows 7 depuis Ubuntu 10.04. Je me sens un peu perdu sans grep et certains des autres outils de ligne de commande. Je préfère développer dans un environnement Linux car j'ai l'impression que le système est plus propice aux utilisateurs et développeurs expérimentés.
Je connais de très bons programmeurs .NET qui sont sortis de l'université et qui ne connaissent rien à Linux, donc ce n'est pas une exigence, mais je m'attendrais à ce que quiconque ayant plus de 5 ans d'expérience en programmation ait été exposé à Linux sous une forme ou une autre à la fois. temps dans leur carrière.
Vous devez être le juge de ce sur quoi vous vous concentrez; toutefois. S'il existe actuellement un chemin pour développer des applications mobiles et que la connaissance de Linux n'est pas vraiment une exigence, alors peut-être que vous vous concentrez sur en savoir plus sur les SDK mobiles au lieu de Linux. Il y a un compromis pour tout, et il semble que vous ayez une certaine exposition de base à Linux pour pouvoir en savoir plus si nécessaire.
la source
L'un des éléments suivants vous dérange-t-il?
Il y a des tonnes de possibilités d'emploi et de cheminements de carrière que vous pouvez toujours poursuivre. Je ne dis pas que cela devrait vous déranger. Soyez honnête avec vous-même et gardez un œil sur l'industrie en général et Linux en particulier pour voir si vos chemins peuvent se croiser. Vous pouvez sans doute le découvrir le moment venu. Qui sait, un projet Linux pourrait venir à votre rencontre demain.
la source
J'ai toujours codé dans l'environnement Windows. Pour moi, Linux était juste un autre système d'exploitation que j'aurais comme sauvegarde au cas où mon Windows rencontrerait des problèmes. Je ne connaissais que les commandes de base et tout ce que j'essayais d'y faire semblait difficile. Mais maintenant, dans mon travail actuel en tant que développeur Web, nous utilisons tous Linux, donc je suis obligé de l'apprendre et de l'utiliser pour tout. Plus je l'utilise, plus je l'aime et je pense que c'est beaucoup plus productif et flexible. Je regrette de ne pas avoir plus joué avec Linux auparavant. Maintenant je rattrape juste.
Alors oui, vous devriez l'apprendre chaque fois que vous le pouvez.
la source
Linux est un outil dans votre boîte à outils de la même manière que Windows n'est "qu'un" outil. La maîtrise des deux vous permet de faire certaines choses mieux mais n'est pas pertinente pour d'autres choses.
Personnellement, j'ai trouvé Linux sous forme d'Ubuntu très utile car il me permet de créer et de maintenir facilement des choses comme un serveur de base de données, un serveur de messagerie, un serveur Web de test et bien plus encore dans des machines virtuelles sans avoir à prendre en compte les coûts de licence (plus les versions de serveur nécessitent moins de ressources que Windows). Si vous ne faites rien de tout cela, je ne pense pas que Linux vous importera.
la source
Sachez assez que si vous l' intention de déployer un système d' exploitation particulier, alors vous pouvez vous assurer que votre application fonctionne sur, mais sinon ... vous n'avez rien savoir / tout.
la source
À moins que je ne fasse du .NET, je préfère utiliser Linux. La pile LAMP me semble plus naturelle que WAMP.
Je recommanderais certainement de l'apprendre si vous avez un intérêt à apprendre autre chose que Microsoft.
la source