Oe nah, suffit de faire gaffe et de bien savoir comment ça marche
Et puis:
Envoyé par Leodagan
![]()
Avoir une bonne formation de base
S'engager sur les bonnes pratiques en programmation (modèles, normes, etc.)
Apprendre plusieurs langages de programmation
Travailler sur plusieurs projets avec des résultats et des technologies différentes
S’auto-former régulièrement
Se faire coacher par un expert
Participer activement aux conférences et séminaires
Tirer les bonnes leçons de ses échecs
Enseigner la programmation
Programmer en Open Source, pour rester ouvert à d’autres suggestions
Être ardu à la tâche sur une longue période de temps
Pousser toujours l’effort au-delà de ses capacités et de son confort personnel
Autres (que vous préciserez en commentaires)
Pas d’avis
Oe nah, suffit de faire gaffe et de bien savoir comment ça marche
Et puis:
Envoyé par Leodagan
![]()
Justement, en tant que premier langage le C++ est mauvais
Il faut que tu apprennes la logique (algo, boucles, ...), le paradigme (programmation objet, surcharge, ...), la syntaxe et les spécificités du langage.
Cela fait beaucoup de choses à apprendre![]()
Si tu prends un langage comme PHP, tu peux oublier le paradigme (même si tu peux faire des objets et des traits), la syntaxe est simple et il n'y a pas trop de spécificités/ pièges.
Et il y a aussi des sucres syntaxiques comme les itérateurs foreach
Bah pour ça que j'ai recommandé le C
Surtout que le côté orienté objet est pour moi un paradigme de simplification, qui doit être appris une fois qu'on maîtrise la programmation impérative.
Mais ça rends pas le C++ inélégant, c'est juste qu'il offre beaucoup de libertés, et que c'est facile de faire des erreurs dans ce cas. Faut être extrêmement rigoureux quand on l'utilise.
Et oui, y'a beaucoup de choses à apprendre, mais y'aura toujours quelque chose à apprendre, c'est pour ça que la programmation c'est génial
Et oe, le dev web, il a une classe à part. Le fonctionnement n'est pas le même, ni les problématiques.
PHP et JavaScript sont d'abord des langages interprétés et tu n'as pas besoin d'un contexte WEB pour les utiliser
Comme Python tu peux faire des scripts et les exécuter à la ligne de commande.
Ensuite un contexte WEB peut être un avantage parce que cela permet d'avoir des premiers projets un peu complexes, visuels, et avec les butineurs tu peux manipuler les éléments facilement.
Parce que le langage C c'est mignon cela apporte la rigueur, mais tu n'as que la console pour afficher des choses facilement et au moindre problème, c'est le débogueur.
Oui, il faut commencer par la base avant de faire des choses plus évoluées, cela permet d'avoir une bonne vision du fonctionnement de sa machine.
Oui l'interface est austère, mais c'est comme en architecture, tu peux vouloir créer tous les immeubles que tu veux, si tu sais pas clouer des planches, c'est mort pour faire un truc correct.
Je sais que beaucoup de personnes qui commencent la programmation, voudraient tout de suite faire un jeux vidéo, une interface hyper-complexe avec des effets de ouf.
Sauf que tu peux développer, mais tu peux aussi développer correctement. Et jamais tu obtiendra ce que tu veux de manière correcte sans voir les bases.
Beaucoup de personnes se prétendent développeurs, alors qu'en vrai elles savent juste utiliser des frameworks ou des surcouches logicielles inutiles.
On arrive à un stade où des personnes utilisent des technos sans avoir la moindre idée de ce qu'il y'a derrière. Et c'est bien dommage, parce que au final, les programmes créer son bien trop lourds, et non-optimisés.
Et souvent cela empêche de maîtriser certaines technos, qui sont pourtant bien utiles dans certains cas.
Quelque soit le langage, il y a des tutoriels pour débutants qui, en principe, et je pense que c'est généralement le cas, enseignent aussi les concepts de base de la programmation (notions de variables, constantes, boucles, conditions, fonctions...).
Si tu veux devenir programmeur web, inutile d'apprendre le C ; autant apprendre directement le PHP avec un bon tutoriel pour débutant et qui te donnera aussi les bases en HTML et CSS, voire en Javascript. Ensuite, tu te perfectionnes par la pratique et avec des tutoriels plus évolués sur des points précis (travail avec les BDD, authentification et autorisation d'accès aux fonctions de l'application, téléchargement de fichiers, diffusion de vidéo, MVC, POO, frameworks...).
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
perso, j'adore le C, mais il m'a tout de même fallu plusieurs années avant de savoir coder proprement dans ce langage, parce que c'est l'un des langages les plus impardonnables (mais ça peu pas être pire qu'avec APL)
Je suis tombé sur cette vidéo de Robert Cailliau: co-fondateur du world wide web: vers la 33e minute il qualifie le langage C de catastrophe, on ne peut qu'être d'accord avec lui et son humour teinté de vérité.
Je vais apporter mon grain de sel, pour fixer le profil je suis relativement jeune (30ans , première lignes de code PHP à 16, Java/Javascript principalement) et bien que mon métier soit développeur (application web ou lourd classique, pas système, embarqué bien que je serais confiant sur une monter en compétence dessus), et bien généralement ça me suffit (maison = pas de devs en général). Je suis reconnu pour un bon niveau technique et je commence à pousser sur le côte organisationnel (déjà de l'agile et du bien fait pour commencer).
En revanche je vais rester sur ce qui pour moi fait un bon développeur, pas un cador, responsable technique.
Donc là on j'ai pu me distinguer concrètement par rapport à d'autres personnes :
- Une bonne connaissance des principes de bases qui sont valables au final quelques soit le paradigme utilisé et qui sont souvent la cause d'erreur très classique et parfois difficile à corriger (mémoire, complexité algorithmique, entrée/sortie, bases réseaux : i.e HTTP quand on fait du web). Je les dois de mon côté à mon parcours scolaire : BTS Informatique & Réseau puis école d'ingénieur. Le BTS c'était 6h de TP de programmation + 6H de TP système avec souvent programmation système + les cours.
- Une connaissance meilleure des outils que j'utilise exemple : SGBD/SQL/Hibernate, les fonctionnement de base des framework injection de dépendance, templating,... (que j'estime souvent superficielle moi-même mais pourtant je reste qualifié comme "l'expert").
- Dans le cadre des projets d'entreprise : choisir les bon outils, ce qui n'est pas toujours facile. J'évite les choses trop récente, quand je me suis mis à AngularJS ils en était à la 1.3, Angular à la 4.
- Personnellement je lis des choses à gauche à droite mais pas vraiment de livres sur une technos en particulier. En revanche à chaque fois que je fais quelque chose que je n'ai pas encore fait, j'essaye de prendre le temps de chercher la meilleur façon de faire avec l'outil que j'utilise, quitte à devoir creuser sur des pans que je ne connais pas encore de l'outil.
- Ne pas hésiter à remettre en cause ce qu'on a fait et à demander l'avis des autres.
- Vouloir généraliser le code mais pas trop vite ni trop lentement, avant même cela, creuser de temps à autres les solutions techniques liés aux technos utilisés les plus appropriés.
La carrière d'un ingénieur ou développeur ne se resume pas à la connaissance d'un language de programmation.
Face à un problème il faut aller puiser dans plusieures ressources.
Coder est l'acte final d'un développeur ou d'un ingénieur en génie logiciel, génie électrique, télécom, génie chimique...
Avant cet acte, on analyse, on conçoit une architecture et on choisit les outils appropriés. Pour que tout cela soit possible il faut une formation ou autoformation dans plusieurs domaines : mathématique, calcul numérique, gestion de projet.
L'informatique à elle seule, regorge de paradigmes qui vont au délà de la connaissance d'un language informatique : algorithme, débordemenet de mémoire, adressage, structure de données, normalisation des bases de données, cryptographie, sécurité informatique, blockchain, réseau de neurones....
Il ne s'agit pas de tout maitriser, mais plutôt de se former sur un maximum de notions.
De plus en plus, on va vers de l'informatique industriel avec l'internet des objets, donc beaucoup de traitement de données qui requière des statistiques, des mathématiques...
Il faut être prudent, car certains nouveaux termes ne veulent rien dire et finissent par disparaitre : webmaster, bigdata, developpeur full stack, developpeur backend, developpeur front-end...
Normalement, un développeur devrait être capable d'apprendre l'essentiel d'un language en 6 mois.
Pour moi il faut :
- Etre productif : Optimiser son poste de travail, abuser des raccourcis clavier.
- Maîtriser du bout des doigts un language et un framework permet de gagner en productivité.
- Avoir une connaissance approfondie d'un language général (java, python, ...) facilite aussi l'apprentissage d'un nouveau, car les grands principes sont les mêmes.
- Elargir son champ d'expertise sur les grands principes informatiques et scientifiques (stats, maths, calcul numérique, normes de qualité, POO...), car ils ne changent pas sur le temps,
- Pratiquer tout le temps et s'entourer de personnes compétentes.
Un chef ne maîtrise pas un type de couteau, mais plutôt explore le maximum d'ingrédients et de façons de faire pour concevoir les bonnes recettes .
bonjour,
Personnellement, c'est le livre de Bertrand Meyer sur la programmation orientée objet "Conception et programmation orientées objet " qui m'a fait comprendre en profondeur les carences que j'avais en analyse et P.O.O.
Ce livre est une bible... et n'est pas à la portée des débutants.
Alors non et non !
Le C n'est pas un bon conseil , je traîne depuis plusieurs années sur les forum/discord etc etc , la plupart des débutants en C se plaigne pas mal d'UB , pointeur, segfault etc etc
Bref il se concentre plus sur les erreurs du programme que du programme en lui même.
Le premier truc à apprendre en prog ,c'est l'algorithme est le C n'est clairement pas dans ce cas là , on conseille bien plus le Python par exemple bien plus pédagogique que le C .
Si vous voulez vous concentrer sur l'algorithmie, faites du Scratch :
https://fr.wikipedia.org/wiki/Scratch_(langage)
Site perso
Recommandations pour débattre sainement
Références récurrentes :
The Cambridge Handbook of Expertise and Expert Performance
L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})
Haaaaa, du coup je comprends mieux ce que veut dire "développer from scratch"![]()
- So.... what exactly is preventing us from doing this?
- Geometry.
- Just ignore it !!
****
"The longer he lived, the more he realized that nothing was simple and little was true" A clash of Kings, George R. R. Martin.
***
Quand arrivera l'apocalypse, il restera deux types d'entreprise : les pompes funèbres et les cabinets d'audit. - zecreator, 21/05/2019
Le C est le meilleur conseil que tu puisses donner à un dev débutant! Je ne compte plus juniors qui n'arrivent pas à savoir ce qu'est et implique un pointeur, qui méconnaissent le typage des variables et me collent des crash en raison de cast incorrects direct en prod.
Je suis totalement d'accord sur l'algo, et sur le fait que le C ne se concentre que sur les erreurs du programme et que le programme lui même, le métier, tu l'oublies un peu. Mais pour apprendre la prog, c'est typiquement ce qu'il faut justement. Le C est punitif, impardonnable et leur apprend à être propre et carré, ce qui fait cruellement défaut aux langages non typés actuels.
Quand à l'algo, peu importe le langage, c'est la première chose à travailler (clin d'oeil aux écoles qui ne l'enseignent pas, les juniors en souffrent en entreprise)
Bonjour.
Lorsqu'un développeur est bon, il n'a pas a devenir meilleur. Lorsqu'il est bon, il est bon, et il peut tout à fait intégrer toutes les dernières technologies à la con (euh à la mode) qui sortent.
Open Source Microsoft MediaFoundation
https://github.com/mofo7777
http://jeux.developpez.com/faq/directx/?page=dshow
Partager