5059 sujets

Le Bar du forum

Bonjour,
J'aimerais me tourner vers un language back-end mais je ne sais pas lequel choisir ...
Php, C, C++, Python et je dois en passer.
Merci beaucoup et bonne soirée.
Modifié par vzytoi (17 Jun 2020 - 03:04)
Modérateur
Et l'eau,

Que veux tu faire ?

Pour du web, PHP ou Python. Pour du boulot immédiat php (Symfony (l'usine à gaz), Laravel, Wordpress, prestashop (cms brouillon), Drupal). Python est largement supérieur (y'a pas photo !, PyQt, Matplolib, Numpy, Pandas, Pygame, tkinter (module natif) etc. etc.). Moi même, je ne fais plus du tout de php (+ de 10ans derrière moi). Enfin, je fais très peu de php maintenant. C'est un langage qui me fait ch... maintenant. Sa syntaxe est dégueu. Ses incohérences me saoulent. Ses manques sont flagrant. Sa lisibilité qui commence à devenir du n'importe quoi. Son évolution qui n'en est pas une (le moteur Zend et sodium, parce que le reste, ouais bof !). Après, tu veux monter un site pas trop mal (j'ai bien dit pas trop mal (xxxxx requêtes...., failles de sécurité)), wordpress répond à ce besoin. La seule chose que maitenant, je trouve relativement intéressant (parce que la syntaxe...), c'est son paradigme objet qui n'a pas son pareil (sauf Java et sûrement C++).

Python pour le web et pour les plus connus : Django, Flask, CherryPy, Piramid, etc. Flask et Django étant les plus utilisés. J'adore Django. Flask aussi, avec tous ces modules que tu charges (ou pas) fait que c'est aussi un excellent (micro) framework. Les deux sont très modulaires... Le problème que tu risque de rencontrer, ce sont les bouquins en Français. Finalement, il n'y en a pas beaucoup. Tu peux commencer par ceci (apparemment le livre a été libéré) : apprendre à programmer avec Python 3.

En ce qui concerne le C ou le C++, c'est pour l'embarqué Quoi qu'avec Python, tu peux faire de l'embarqué Smiley cligne

N'oublie pas qu'il y a Java aussi qui est un excellent langage.

De toute manière, que tu fasses du C, C++, Java, PHP ou même Python ou même CSS, HTML ou etc., je t'invite à lire ceci : zen of python (pep 20)

petite anecdote : la semaine dernière, j'ai fait un petit programme que php est incapable de réaliser (Pandas, PyQt5, Django)
Modifié par niuxe (17 Jun 2020 - 02:52)
Meilleure solution
Merci beaucoup de ta réponse et encore une fois du temps que tu me consacre.
J'aimerais en fait tenter autre chose que du web.
Python à l'air d'être un language très complet en plus de plutôt simple à ce que l'on m'a dit, pour ce qui est de Java j'avais lu que s'était un language voué à disparaitre ( ce qui est surement faux ).
Et enfin le C et C++ ( dont la différence reste à déterminer pour ma part ) me tentent beaucoup pour leurs soit disant complexité. Pour l'instant Python me tente beaucoup.
Merci et bonne soirée.
Modérateur
vzytoi a écrit :
Merci beaucoup de ta réponse et encore une fois du temps que tu me consacre.

pas de souci Smiley smile

vzytoi a écrit :

J'aimerais en fait tenter autre chose que du web.
Python à l'air d'être un language très complet en plus de plutôt simple à ce que l'on m'a dit, pour ce qui est de Java j'avais lu que s'était un language voué à disparaitre ( ce qui est surement faux ).

Python est un langage complet de par son univers. Il y a beaucoup de librairies. Tu peux même importer des class C et des class Java avec Python.
Surement pas que Java est voué à disparaitre. Il est encore très utilisé. android par exemple... Spring, J2e, etc. Cela dit, ces dernières années, il a un tout petit peu perdu de sa notoriété. Il est toujours dans le podium des 5 langages tout de même... Si tu fais une recherche sur les offres d'emploi, tu vas t'apercevoir qu'il est beaucoup demandé.

vzytoi a écrit :

Et enfin le C et C++ ( dont la différence reste à déterminer pour ma part ) me tentent beaucoup pour leurs soit disant complexité. Pour l'instant Python me tente beaucoup.
Merci et bonne soirée.

Pour le C et le C++, je ne les connais pas. Juste 2 ou 3 trucs, c'est tout.

bonne soirée à toi Smiley smile
vzytoi a écrit :
Python à l'air d'être un langage très complet en plus de plutôt simple à ce que l'on m'a dit, pour ce qui est de Java j'avais lu que s'était un langage voué à disparaitre ( ce qui est surement faux ).

Cette remarque semble assez juste par rapport à ce que j'ai pu lire moi aussi. Je ne pense pas que Java disparaisse demain mais c'est vrais qu'il n'a plus trop la quote (en France encore pas mal car on a toujours un train de retard).

vzytoi a écrit :
Et enfin le C et C++ ( dont la différence reste à déterminer pour ma part ) me tentent beaucoup pour leurs soit disant complexité.

Ce qui est chaud paraît-il c'est la gestion de la mémoire. Par rapport à ce type de langages, le Go semble avoir de l'avenir (rapidité compilation, simplicité, une seule manière imposée d'écrire).

vzytoi a écrit :
Pour l'instant Python me tente beaucoup.
Merci et bonne soirée.

Excellent choix, c'est le langage numéro 1 du moment sur le web (oui, oui : devant javascript). Très ancien, il bénéficie d'une très bonne stabilité, contrairement à JS par exemple, ce dernier étant en mutation permanente de part sa jeunesse (ne vous méprenez-pas, je code en JS/node.js), pour le WEB Django est réputé être ce qui se fait de mieux (avec RoR pour Ruby), et avec l'introduction prochaine de WebAssembly dans les navigateurs bientôt plus de soucis côté front pour exécuter tous les langages. Après le JS restera le langage du web...
Modifié par Olivier C (17 Jun 2020 - 11:05)
Hello !

Selon moi ça dépends beaucoup des besoins. Je t'invite à consulter ce sondage de stackoverflow. Ils le font chaque année et c'est ultra intéressant.

Vous avez tendance à rabaisser un peu Java, alors en tant que développeur sur ce langage depuis des années je me dois de le défendre un peu. Voilà les points fondamentaux qui le différencient des autres langages employés dans le web :

1. C'est un langage typé. Ouais... c'est bête mais PHP, JavaScript (sans l'ajout de TypeScript on est d'accord), Python et j'en passe, ne le sont pas. Alors certes c'est moins contraignant (et c'est tout ?), mais du coup c'est aussi beaucoup moins robuste et fiable. Les langages non-typés peuvent avoir des comportements difficilement prévisibles si le programmeur n'est pas certain de ce qu'il fait.

2. C'est un langage avec un éco-système très complet. Mention spéciale à Maven qui est un gestionnaire de dépendance ô combien plus complet et robuste que NPM ou PIP (les virtuals environments sauvent la mise). À cela on peut encore parler du framework Spring qui est très (très) utilisé aujourd'hui. Puis enfin, l'inter-opérabilité totale avec le langage Kotlin qui est devenu le langage officiel pour développer sur Android.

Contrairement à ce qu'on croit, Java c'est pas un langage qui vieillit. C'est juste pas un langage recommandé à ceux qui débutent la programmation parce qu'il est 100% orienté objet. En fin de compte, il est demandé sur la majorité des offres d'emploi (en tout cas en Suisse) qui exigent cependant tous une formation d'ingénieur logiciel.

Le C et le C++ sont à laisser tomber si tu te lance dans l'apprentissage d'un langage, dans la mesure où ils se font littéralement remplacer par d'autres langages comme Rust et Go. Et de plus, ils sont généralement réservés pour les systèmes embarqués. Ils sont très anciens et jouissent encore de l'inertie technologique avant de disparaitre. Et comme l'a justement souligné Olivier, c'est un cauchemar de gérer les pointeurs ou l'espace mémoire pour les débutants.

Le python est devenu le langage le plus populaire récemment, et c'est pas à cause du web. C'est parce qu'il est utilisé dans toutes les librairies populaire de machine learning (Pandas et TenserFlow pour ne citer qu'elles). Et comme l'AI c'est devenu le cheval de bataille de toutes les boites actuellement, forcément Python c'est monté en popularité.

My two cents as a software engineer.
Modifié par Anymah (17 Jun 2020 - 12:11)
Merci beaucoup de vos réponses Anymah et Olivier, en prenant en compte vos conseils je confirmes bien me lancer sur du Python.
Bonne journée !!
Au fait, un article récent (d'un dev' à connaître) sur Python : je suis un dev.

La réflexion sur npm - justifiée pour le moment mais plus pour longtemps - me fait penser qu'il ne faut pas oublier que tous les langages évoluent. Un langage ancien comme python a pu revenir sur le devant de la scène sans que personne l'ait vu venir. Et que penser d'un php7 alors que l'essentiel des critiques sur ce langage s'est arrêté à la version 5 (si ce n'est la 3). Se serait comme comparer ce que peut faire JavaScript maintenant avec ses toutes premières versions. Ce langage avait mal débuté pour ce qui est de sa conception car il avait été conçu en 10 jours dans un but très utilitaire et cloisonné, mais quand on pense au chemin qu'il a parcouru...

De toute façon un langage reste un langage, celui-ci peut répondre a un besoin spécifique, on n'a pas à devenir l'ayatollah de ce langage (cf. La religion chez les développeur(euse)s informatiques).
Modifié par Olivier C (17 Jun 2020 - 18:21)
Olivier C a écrit :

La réflexion sur npm - justifiée pour le moment mais plus pour longtemps - me fait penser qu'il ne faut pas oublier que tous les langages évoluent. Un langage ancien comme python a pu revenir sur le devant de la scène sans que personne l'ait vu venir. Et que penser d'un php7 alors que l'essentiel des critiques sur ce langage s'est arrêté à la version 5 (si ce n'est la 3). Se serait comme comparer ce que peut faire JavaScript maintenant avec ses toutes premières versions, ce langage avait mal débuté pour ce qui est de sa conception car il avait été conçu en 10 jours dans un but très utilitaire et cloisonné, mais quand on pense au chemin qu'il a parcouru.

C'est une super remarque même si je préfère me référé à ce que les languages valent actuellement plutôt à ce qu'ils pourraient devenir dans plusieurs années sachant que je suis encore au lycée et que j'aurais encore tellement de temps pour apprendre de nouveaux languages plus tard ...
Modifié par vzytoi (17 Jun 2020 - 18:30)
Modérateur
@Anymah : Je rejoins ce que tu as dit . Surtout en ce qui concerne le typage. Oui je suis au courant de ce fameux palmarès. Mais à mon avis, il ne faut pas tellement en tenir compte. Pourquoi ? php est en train de dégringoler et là cette année, c'est vraiment probant. Cependant et en France, si tu cherches un job actuellement, il y a pas de mystère : php (surtout), java (dans les entreprises du cac40) et javascript. PHP avec Symfony en France, c'est extrêmement demandé. Laravel un peu moins et pour les autres frameworks, c'est totalement dérisoire (pourtant Cakephp est un excellent outil). Par contre, tu vis en Suisse ou au Luxembourg, Java est largement utilisé. php, c'est dérisoire.

Bien que pandas, tenserflow, matploib, numpy etc. soient des libs tendances, Python a d'autres ressources non négligeables comme PyQT (php prend ça dans ta tronche) et pour faire du réseau, c'est le langage par excellence. Dans une distribution GNU/Linux, tu vires Python, plus rien ne fonctionne ou du moins beaucoup de choses ne fonctionneront plus. D'ailleurs, c'est Fedora (encore eux) qui a commencé à faire la migration douloureuse de python 2.7 vers python 3.x.

@vzytoi: selon moi tu fais un très bon choix. Le problème que tu risques de rencontrer actuellement, il y a peu d'offres d'emploi. Après tout dépend de ce que tu veux en faire.

Ça va faire 4 ans que je connais Python. Là cette année après avoir développé une app en php, j'en ai eu ras le bol de cette super syntaxe (tu passes plus de temps à développer la structure (namespace, mode strict, etc.) qu'à développer le coder métier).... Ce sera mon dernier vrai dev en php. Comme c'est pour un client, je continuerai à faire du support sur celui ci. Ce qui est dommage, PHP a un paradigme objet excellent ! Il a vraiment de très bons atouts. mais sa syntaxe bordel et puis ses incohérences.... Les pros php disent que php n'est pas finit. php va sortir la version 8 pour la fin d'année à ce qu'il parait. Si on regarde bien, il y a rien de réellement nouveau. Je suis entièrement d'accord sur le fait que la communauté est énorme. Flash aussi avait une énorme communauté... Dans les prochaines années et comme .net, php sera encore là mais largement moins prédominant je pense (exemple : Javascript (le vilain petit canard à l'époque) qui pointe son nez...., Python qui offre d'excellentes solutions alternatives, Java qui garde sa notoriété).

Pour finir, je dirai tout de même une chose : peu importe le langage du moment. Tu peux être expert dans un vieux langage et en tirer d'excellents bénéfices.
Modifié par niuxe (18 Jun 2020 - 02:52)
niuxe a écrit :
Enfin, je fais très peu de php maintenant. C'est un langage qui me fait ch... maintenant. Sa syntaxe est dégueu. Ses incohérences me saoulent. Ses manques sont flagrant. Sa lisibilité qui commence à devenir du n'importe quoi.

Et bien comme quoi tout le monde peut changer d'avis !

Mais je suis d'accord avec toi, j'ai souvent eu du mal avec PHP, pourtant je n'ai utilisé que ça jusqu'à maintenant : <.troll> c'est vrai que la syntaxe est moche, verbeuse, la logique de déclaration des arguments change d'une fonction à une autre, etc... </.troll>

Quand on part de là la découverte de javascript est un plaisir en comparaison, (@Anymah) je comprends aussi que cette même découverte puisse être moins enthousiaste pour quelqu'un provenant d'un langage fonctionnel.

C'est sûr que PHP et javascript reviennent de loin. Mais quand on voit qu'on se permet de les comparer aujourd'hui avec du Java/Ruby/Python pour les critiquer ça montre quand même le chemin qu'ils ont parcouru depuis.
Modérateur
Olivier C a écrit :

Et bien comme quoi tout le monde peut changer d'avis !

Mais je suis d'accord avec toi, j'ai souvent eu du mal avec PHP, pourtant je n'ai utilisé que ça jusqu'à maintenant : &lt;.troll&gt; c'est vrai que la syntaxe est moche, verbeuse, la logique de déclaration des arguments change d'une fonction à une autre, etc... &lt;/.troll&gt;

Quand on part de là la découverte de javascript est un plaisir en comparaison, (@Anymah) je comprends aussi que cette même découverte puisse être moins enthousiaste pour quelqu'un provenant d'un langage fonctionnel.

C'est sûr que PHP et javascript reviennent de loin. Mais quand on voit qu'on se permet de les comparer aujourd'hui avec du Java/Ruby/Python pour les critiquer ça montre quand même le chemin qu'ils ont parcouru depuis.


Juste Sodium qui apporte un plus. PHP ne revient pas si loin que ça. Pendant des années il a apporté de vraies solutions (d'où son engouement au début des années 2000). Même si on aime pas Joomla, ce fut un des premiers CMS open source intéressant pour les besoins. Wordpress qui est un système qui a énormément de soucis mais qui à l'heure actuelle apporte son lot de solutions faciles et rapides à mettre en place. Symfony (que j'ai jamais aimé) a permis de mettre en avant les biens faits de php (industrialisation). php 5.4 était vraiment bien. Au lieu de persévérer à trouver une solution dans l'unicode et uniformiser les fonctions, la team php préfère mettre en place des features qui ne sont pas du tout indispensables. Un gros avantage de php, il y a une retrocompatibilité. Le souci, on se traîne tout ce marasme et ça desservit plus qu'autres choses maintenant. Si team php fait table rase, il se peut que php perde encore plus de sa nototriété et vu qu'il est énormément supporté, ça va poser un réel problème. Une autre chose que php a, ce sont les PSR. Ces dernières ont permis aussi à mettre en avant sa noblesse.

Cela dit, php reste un excellent langage mais il est contraint essentiellement à faire que du web.
<troll>
Sans apache, ou nginx, un navigateur, il sert à pas grand chose.
ce n'est qu'un moteur de template un peu évolué Smiley lol
Smiley troll
</troll>

Demain, une personne me dit qu'il veut apprendre un langage serveur pour faire que du web, je proposerai aussi PHP.
Modifié par niuxe (18 Jun 2020 - 05:25)
I would strong sugest to go with Python if you are going with web tech. Python represents an algorithm-oriented language that has been sorely needed in education. Because of this, Python is easier to read, write, and learn than most other major programming languages.. Python's efficient syntax allows programmers to get up and running fast, and pack logic into compact scripts. Python is also an interpreted programming language

Learn some of the concepts like

NumPy — A library that makes a variety of mathematical and statistical operations easier; it is also the basis for many features of the pandas library.
pandas — A Python library created specifically to facilitate working with data, this is the bread and butter of a lot of Python data science work.
Matplotlib — A visualization library that makes it quick and easy to generate charts from your data.
scikit-learn — The most popular library for machine learning work in Python.


The whole reason i am sayin to go with Python is i just knew basics of Python earlier and now i am very proficient in data structures and Algos developing machine learning. I also write Python blogs on my website https://itsmycode.com So learn Python and Happy Coding!!!