Ca fait longtemps que je n'ai plus fait de PHP, mais je me souviens qu'il évoluait bien.
Néanmoins, ces derniers temps je prends vraiment mon pied sur :
Je n'arriverai pas à "classer" les deux, il font vraiment partie de mon workflow de développement aujourd'hui et les dernières nouvelles concernant C# ne vont pas en sens inverse de ma pensée !
Disclaimer
Python
Alors j'utilise du python aussi bien vanilla que django (zds <3), puisque j'ai décidé de me mettre à blender pour les montages vidéo, le python "vanilla" va sûrement rapidement me servir.
Pour ce qui est de django, c'est surtout pour zds, ou bien si je dois faire un petit prototype d'API REST et que je n'ai pour tester qu'une archi linux qui m'empêche d'utiliser ASP.NET API. Même si le couple CBV + Django REST Framework est vraiment génial, le boulot qu'a fait Microsoft sur ASP.NET MVC et REST API me rend ce système encore plus agréable.
Bien évidemment, j'utilise python dès qu'il faut scripter. J'utilisais php avant, mais python est plus rapide à mettre en place, surtout je n'ai pas besoin d'utiliser une convention de nommage (PSR-0) pour que le package manager (pip pour python vs composer pour php) fonctionne.
Un simple New-Virtualenv monfuturscript python=python3.4
et je commence à jouir sur mon script (oui, il est rare que j'ai besoin de scripter quand je suis sous linux, je suis un être étrange oO).
python devient de plus en plus pour moi une technologie (parce qu'avec pip on a accès à plus qu'un langage) qui est vraiment capable de m'amener à la réussite lorsque je fais des projets de courte durée ou que j'ai besoin de faire quelque chose pour dans 1h max. La documentation extrêmement bien fournie est un réel plus et sur Stackoverflow tu as énormément de personnes qui répondent.
C#
Pour moi, c'est la forme aboutie des langages objets et verbeux tel que Java a voulu initier le peuple.
Le C# possède de vraies forces à commencer par .NET, qui est le framework le plus complet que je connaisse et qui a le bon goût de proposer par défaut deux environnements graphiques efficaces et prédictibles. Face aux très connus et forcément fournis par défaut Swing et Awt de Java, c'est vraiment le pied de faire du WinForm (pour les projets simples ou pour des personnes coincées dans le passé) ou du WPF.
Autre aspect : Tout est intégré. Mon projet WPF a besoin d'un WebService pour communiquer? Clic droit, ajouter une référence de service et… on n'a plus qu'à appeler les méthodes du service.
Néanmoins, j'utilise aujourd'hui beaucoup C# pour deux choses :
- faire des libs pour des projets perso
- faire des appli web avec une API REST
Comme je l'ai dit, ASP.NET MVC (je coécris d'ailleurs un tuto à ce propos) est vraiment un framework incroyablement efficace pour créer des applications web proprement, de manière souple et y ajouter en trois lignes :
- une API REST
- une authentification OAuth
- une authentification par FB/Google.......).
Une nouvelle fois, les package NuGet permettent vraiment d'accéder à un univers qui est vraiment étendu. Et comme derrière on a MSDN, qui est certes très inégale côté contenu, vous avez forcément soit la documentation explicite qui t'explique comment faire à peu près tout, soit un poste sur les forum MSDN qui répond à ta question.