it-swarm-fr.com

Quelles caractéristiques de scripts Shell sont pertinentes pour le développement PHP / Python?

Je suis un programme de programmation PHP/Python Java et C # (. NET).
[.____] Mon principal système d'exploitation de développement est Windows 7 mais j'ai utilisé Linux et je suis actuellement double-démarrage avec Ubuntu. Mes connaissances Linux cependant, sont assez limitées. Je peux travailler avec la ligne de commande sur des tâches simples, mais c'est à peu près. 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, le cas échéant, comment?

28
Maxtor

Si je codir une application Windows (ou une application Mac), devrais-je avoir besoin de savoir Linux? Un mécanicien Ford devrait-il connaître les tracteurs John Deer? Tout dépend de ce que vous faites, professionnellement ou sur votre propre temps de "passe-temps".

Maintenant, cela ne fait pas mal de le savoir. En fait, je suis un croyant ferme dans "Plus vous le savez, mieux vous êtes"

35
Muad'Dib

Si vous êtes PHP programmeur, vous devez certainement savoir Linux. PHP a été créé sur Linux, et PHP est une partie importante de la pile de lampes: Linux + Apache + MySQL + PHP. Même si vous avez la possibilité de développer pour les serveurs Windows maintenant, votre prochain travail vous aura probablement développer pour les serveurs Linux et vous devrez vous familiariser L'environnement Linux de sorte que vous n'exécutez pas la fenêtre de la fenêtre spécifique 'ismes de php.

Dans l'espace d'application mobile, connaître Linux (malheureusement) a peu de pertinence pour les environnements que vous développez. Le système d'exploitation iPhone n'a rien à voir avec Linux, et Android vous a si bien clôturé 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 n'ont nulle part près de la popularité de l'iPhone et de l'Android.

Dans l'espace embarqué, vous avez pour connaître Linux. Les fenêtres intégrées sont rares, mais la linux incorporé est assez courante. (Bien sûr, la programmation intégrée en métal nu est également assez courante. Cela dépend donc de votre choix.)

Si vous apprenez Linux en profondeur pendant plusieurs années, vous aurez un certain niveau de compréhension de chaque partie du système du noyau, via le processus de démarrage, jusqu'à la ligne de commande et de l'interface graphique.

29
Ken Bloom

Il y a un certain degré de pensée de 80/20 Vous pouvez postuler ici. Il ne faut pas très longtemps pour apprendre les bases de la manière dont Linux fonctionne et les commandes de base dont vous avez besoin pour connaître de la coquille. De même, la configuration Apache Basic est très pratique d'avoir si vous en avez besoin. Vous n'avez pas besoin de consacrer des années de votre vie, mais cela vaut certainement la peine d'apprendre assez des bases que vous pourriez obtenir en exécutant votre propre serveur si vous le deviez.

C'est une fine ligne cependant. Si vous ne faites pas attention, vous pouvez rapidement trouver Windows commence à vraiment vous cocher que vous vous habituez à ce que Linux propose ...

17
glenatron

Vous n'avez pas à l'apprendre, mais cela vous fera un meilleur programmeur. Vous apprendrez comment faire les choses d'une manière différente de celle de Windows. L'utilisation de l'une des coquilles * sh sera éventuellement conduit à des scripts et à l'aide d'expressions régulières, automatisez les installations, à l'analyse de fichiers volumineux, etc.

Je me moque de ne pas se moquer de 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 à Linux. Cela ne cesse de s'améliorer avec chaque nouveau bit.

PowerShell a beaucoup de choses qui vient du monde Nix, ils ont finalement compris que pour avoir une automatisation, vous avez besoin d'une bonne console (félicitations à la SM pour cela). Les deux perl et Python semblent être un mélange de C, Bash, SED, Awk, tous maieuses dans une bonne chose à leur manière.

Au moins, vous aurez autre chose à mettre dans votre CV, mais ce n'est vraiment pas la meilleure chose que vous en sortirez.

Je suis sûr que vous trouverez sur vos propres choses qui vous feront partir: "Wow, c'est tellement cool!" Mon premier a été capable de "tuer" Apache à l'aide d'un signal USR1 pour l'obtenir pour 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, bon chagrin pourquoi ne serait pas MS Port-leur, c'est au-delà de moi.

6
Marlon

Ça ne te fera pas de mal. Même dans une entreprise de toutes les sociétés de Microsoft, il devient de plus en plus de plus en plus probable que vous rencontrez au moins quelques serveurs Linux. Le débordement de la pile, par exemple, utilise Linux pour leurs équilibreurs de charge. Ceci est particulièrement vrai lorsque la virtualisation entre en jeu.

En tant que programmeur, vous pourriez faire mieux en tenant de vous familiariser avec POSIX, pas seulement une seule variante de type UNIX. Bien qu'il ait des bizarreries, cela représente beaucoup d'efforts qui ont été entrés dans une tentative incroyable d'établir une interface standard (principalement) portable dans tous les environnements de type Unix. Remarque, de nombreux systèmes de type Unix ne sont pas 100% "possixly correct", mais c'est un bon point de départ.

En tant qu'utilisateur occasionnel, je peux seulement suggérer qu'il est amusant de fouiller quelque chose de nouveau et d'apprendre de nouvelles choses. Je suppose qu'il est possible d'être un "gourou" avec chaque système d'exploitation que l'on pourrait penser, mais je ne pense pas que ce soit l'effort le plus utile d'un programmeur. Néanmoins, une connaissance pratique des trucs que vous pourriez rencontrer est bon .. et de votre question, vous semblez susceptible de rencontrer Linux dans le futur.

4
Tim Post

Dans les quatre derniers emplois sur cinq sur cinq, les développeurs et les QA (au moins commencé) ont fonctionné sur Windows, mais les serveurs de test et de production étaient Linux/UNIX. Tous ont besoin de savoir au moins une petite quantité d'UNIX au moins être en mesure d'obtenir des serveurs de test et d'examiner les journaux ou de déboguer un programme en cours d'exécution dans l'environnement "Real". Très peu de développement est réellement destiné à Windows dans les sociétés qui ont été au cours des 20 dernières années.

Faites écho à d'autres ici, très peu peut être "nécessaire" pour votre travail ou votre carrière, mais cela aidera votre compréhension de votre propre travail, des avantages et des limitations de la langue ou du système que vous utilisez.

3
Arcege

Oui, mais vous ne sonnez pas comme si vous devez l'étudier activement.

Pour moi, ma familiarité avec Linux s'est développée en utilisant mon utilisation comme mon système d'exploitation. Pièce par pièce J'ai appris les choses dont j'avais besoin de savoir comme ils sont venus et continuent de le faire. Internet regorge de ressources sur la façon de faire à peu près tout ce dont vous auriez besoin de WRT Linux, alors je vous suggérerais de vous suggérer de vous Obtenez de bonnes pages de lecture et à la documentation et Laissez votre cerveau Absorber (et oubliez) Les détails de la manière d'accomplir des tâches spécifiques comme vous allez.

Cela étant dit qu'il y a certainement quelques commandes que vous serez franchies du monde Linux pour ne pas avoir de compréhension de base.

3
instanceofTom

Lorsque j'ai pris le cours sur l'informatique des systèmes d'exploitation, nous avons étudié les systèmes d'exploitation basés sur UNIX et avons fait notre travail sur Redhat, car il était open source et parce que nous pouvions voir le code et parce que nous pouvions faire des choses avec cela qui ne pouvaient pas être faite dans Les fenêtres.

Je dirais que si vous allez apprendre les fondamentaux de la manière dont les systèmes d'exploitation fonctionnent sous le capot, vous devriez probablement avoir une certaine expérience avec Linux, même si c'est juste dans un environnement académique.

Je viens de passer à Windows 7 de 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 je me sens que si le système est plus propice aux utilisateurs d'alimentation et aux développeurs.

Je sais vraiment de bons programmeurs .NET qui sont sortis du collège qui ne savent rien à propos de Linux, ce n'est donc pas une exigence, mais je m'attendrais à ce que quelqu'un de plus de 5 ans d'expérience en programmation ait été exposé à Linux sous une forme ou une autre à une autre. temps dans leur carrière.

Vous devez être le juge de ce que vous vous concentrez sur; toutefois. S'il y a actuellement un chemin pour vous développer des applications mobiles et que Linux n'est pas vraiment une exigence, vous vous concentrez-vous sur l'apprentissage d'en savoir plus sur le SDK mobile au lieu de Linux. Il y a un compromis pour tout, et on dirait que vous avez une exposition de base à Linux à l'endroit où vous pourriez en apprendre davantage à ce sujet si nécessaire.

2
jmort253

IMHO, pour un programmeur compétent, sachant que Linux/Unix serait une excellente étape pour encore plus importante philosophie UNIX

2
Maglob

Linux est un outil dans votre boîte à outils de la même manière que Windows est "juste" un outil. Parlant couramment les deux vous permettent de faire de certaines choses mieux mais n'est pas pertinente pour d'autres choses.

Personnellement, j'ai trouvé Linux sous la forme d'Ubuntu très utile car cela me permet de créer facilement et de gérer 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 à envisager des coûts de licence (plus Les versions du serveur nécessitent moins de ressources que Windows). Si vous ne faites aucune de ces choses, je ne pense pas que Linux vous importera.

1
user1249

Est-ce que l'une des suivantes vous dérange?

  1. Vous ne pouvez pas/ne devriez pas mettre Linux sur votre CV.
  2. Vous ne pouvez pas vous qualifier pour travailler pour un magasin purement linux.
  3. Vos exigences actuelles de l'emploi et votre niveau d'intérêt pour la poursuite de Linux via une auto-étude sont inexistants, votre situation concernant Linux ne changera pas.
  4. Les développeurs non-Windows se moqueront de vous (peut-être pas à votre visage.).

Il y a des tonnes de possibilités d'emploi et de chemins de carrière que vous pouvez toujours poursuivre. Je ne dis pas que ces "devraient" te déranger. Soyez juste 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 traverser. Nul doute que vous pourriez comprendre quand le moment vient. Qui sait, un projet Linux peut venir votre chemin demain.

1
JeffO

J'ai toujours codé dans l'environnement Windows. Pour moi, Linux vient d'être un autre système d'exploitation que j'aurais une sauvegarde au cas où ma Windows a eu des ennuis. Je savais seulement des commandes de base et tout ce que j'ai essayé de faire dessus semblait être difficile. Mais maintenant à mon emploi 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 foiré plus avec Linux avant. Maintenant, je me rattrape juste.

Alors oui, vous devriez l'apprendre quand vous le pouvez.

1
chiurox

Sauf si je fais .net, je préfère utiliser Linux. La pile de lampe me semble plus naturelle que WAMP.

Je recommanderais certainement l'apprentissage si vous avez un intérêt pour tout en apprenant autre chose que les trucs Microsoft.

0
TaylorOtwell

Savez assez que si vous intention Pour déployer sur un système d'exploitation particulier, vous pouvez vous assurer que votre application fonctionne dessus, mais sinon ... vous ne savoir quelque chose/tout.

0
Steven Evers