[FAQ] La programmation

Posté par thib3113 le 23/02/2016 à 15h57

[FAQ] La programmation

Le 23/02/2016 à 15h57

Le 24/02/2016 à 21h25

Bonjour à tous,

j'aimerais faire un sujet qui rassemble toutes les questions que les gens se posent sur la programmation .

Pouvoir vous renseigner, ou encore vous orienter .

Et surtout, pour que l'on arrête de penser que la programmation c'est un truc simple, que l'on saura faire en 1 jour .


Comment commencer
Si vous voulez apprendre la programmation, sans réellement apprendre de langage, je vous conseille de commencer par l'algorithmique (que j'ai toujours appelé algorithmie, ou algo pour les intimes) (https://openclassrooms.com/courses/algorithmique-pour-l-apprenti-programmeur?utm_source=affilinet&utm_medium=cpa&utm_campaign=Premium&608239&affmt=0&affmn=0) , même si le nom peut sembler barbare, vous utilisez l'algorithmique tous les jours sans vous en rendre compte,
petit exemple :
Vous marchez tranquillement, soudain un mur apparait et vous décidez de passer à côté.

La même chose en algorithmique :
Tant que "envie de marcher"
Si "pas d'obstacle"
faire "mettre un pied devant l'autre"
Sinon
faire "éviter l'obstacle"
Fin Tant que

C'est juste une vision des choses à comprendre, et c'est la base de n'importe quel language de programmation . La plupart des tutoriaux partant de zéro, commencent par de l'algorithmique .

Si vous avez une idée en tête, un projet à accomplir (attention, ne pensez pas que votre premier projet sera une réussite, il y à très peu de chances), il va falloir choisir la technologie à apprendre (ce sont des choix personnels) :
- Si vous voulez faire du windows/mobile/web (un peu tout, mais le plus utilisé pour faire du windows ) : C#
- Quelque chose de multi-plateforme PC : python
- Quelque chose de multi-plateforme (mobile, pc et web) : Javascript (language à la mode ,attention il est particulier !)
- Qui fonctionnera sur des produits Apple : Swift
- Qui fonctionnera sur des produits Android : JAVA (surcouche android)
- Du web : PHP
- Si vous voulez faire de l'administration système : perl/ruby/python (selon les gouts) & bash/batch (linux/windows)

Ce sont les langages que je conseille pour débuter, pour la partie algorithmique. A savoir, que pour faire un projet, il vous faudra aussi du visuel, et de la sauvegarde .

En web, le visuel est géré par le HTML et CSS (et javascript optionnel) . Pour les sauvegardes, c'est selon vos envies besoin, pour ma part, je fais avec du mySQL ou des fichiers quand je fais un petit truc rapide, mais il y en a pleins d'autres, chacun avec leurs avantages et inconvénients (mais vous les découvrirez plus tard).

Choisir son IDE (éditeur de texte) :
- Sublime text : éditeur de texte très puissant et très léger, que j'utilise au quotidien pour les languages non-compilés (PHP, JAVASCRIPT ...)
- Atom : comme sublime text, mais développé par Github, en javascript . (quelques bugs, comme le fait de ne pas pouvoir faire une accolade fermante)
- Visual Studio : éditeur de texte très puissant, mais plus lourd, je l'utilise essentiellement pour le C#
- Code::blocks : pour le language C, j'ai commencé avec celui là pour faire du C, donc je continue avec...
- Netbeans : pour du dev web
- Notepad++ : Un must Have, pas forcément pour dev, mais ça doit être votre bloc note, mettez le bloc note de windows à la corbeille et prenais celui là

Après, un IDE c'est comme une chaussure, il faut trouver celui qui vous conviendra . Pour ma part, j'aime le light, je suis donc partis sur un combo sublime text (avec pleins de plugins), notepad++ pour faire un "tail -f" like, et phped (fournis par la boite), quand je veux debugger (produit adapté à ce soft, cas particulier) .

ça fait lourd quand je lance tout en même temps, mais la plupart du temps je n'utilise que sublime text, qui malgrès la myriade de plugins, se lance en 1 seconde :)


Aller plus loin :
Si la programmation vous plait vraiment, sachez tout d'abord que le fait d'être auto-didacte vous rendra bon dans le language, mais pas dans la programmation, et surtout dans le travail en groupe . Souvent quand on développe quelque chose tout seul, on s'appuis sur ses compétences, et sa façon de penser, hors ces deux choses changent radicalement en groupes, vous allez donc devoir partager vos idées, votre code, vous attribuez des taches etc ... Si vous voulez continuer dans cette voie, je vous conseillerais donc de faire une formation de travail en équipe, ou directement une école/BTS/DUT qui auront l'avantage de vous donner un diplome .
De plus, quand vous augmenterais de niveau, et que vous serez à un niveau professionnel, il vous faudra utiliser des techniques pour accélerer votre production d'un produit, ainsi que sa qualitée, pour cela, vous devrez vous documenter sur :
- des frameworks : Symphony2 En php par exemple, ou bootstrap pour le CSS
- Un gestionnaire de source : Git (qui monte), SVN (ou subversion, qui vieillit), Microsoft sourcesafe (ben ça vieillis, et c'est du microsoft)
- Des tests (unitaire, fonctionnels) : et apprendre à les automatiser dans votre language.

Si vous voulez aller plus loin, il vous faudra apprendre comment fonctionne un ordinateur, pour cela, je vous conseille le C, ou encore l'assembleur . Ou encore si vous voulez jouer : http://store.steampowered.com/app/375820/?l=french

Il vous faudra aussi comprendre que être bon dans tout les languages est impossible, tout d'abord, car ceux ci évoluent sans cesse, les mentalités évoluent aussi, les façons de faire aussi, les framework aussi ..... En gros, il vous faut apprendre à apprendre .

Liens utiles :
- Google (pas besoin du lien je crois) : Car ce sera réelement votre meilleur ami dès que vous aurez un problème/question, posé votre question en anglais, et vous verrez très souvent le site stackoverflow vous répondre
- Linotte : http://langagelinotte.free.fr/wordpress/ un language algorithmique proche du français
- Algobox : http://www.xm1math.net/algobox/ Bon logiciel pour apprendre l'algorithmique, et la tester .
- Coding Games : https://www.codingame.com/start Un jeux où il faut coder pour avancer
- StackOverflow : http://stackoverflow.com : comme dit plus haut, c'est vraiment THE site pour avoir une réponse à votre problème (en anglais)
- Developpez : http://www.developpez.com/ : Gros site dédié au développement, avec un chat réactif (ça dépend de l'heure). En français
- AutoIT : https://www.autoitscript.com/site/autoit/ qui permet de programmer avec une interface graphique (pour les admins réseaux)
- https://medium.com/france/la-v%C3%A9rit%C3%A9-%C3%A0-propos-des-informaticiens-10715a17ea8a#.nf6d0aojm : The article à faire passer à vos amis, pour être un peu tranquille

Voilà, j'attends donc vos questions, auxquelles j'essayerais de répondre, et j'invite aux autres développeurs à indiquer leurs points de vue, et conseils .

Je remercie d'avance les gens qui contribueront à ce topic

45 commentaires

NOUVELLE REPONSE

Nombre de réponses par page

Ce paramètre s’applique automatiquement à l’ensemble des sujets.

Flux RSS des réponses

01

Page :

adealistrateur

Le 23/02/2016 à 15h58

#1 Signaler
Merci pour le topic c'est intéressant ;).
cyril5689

Le 23/02/2016 à 16h04 (Modifié le 23/02/2016 à 16h04)

#2 Signaler
Bon idée ce sujet. ;)
Par contre je suis plutot pour les petits projets simples qui aboutissent plutôt que de tenter plein de choses trop comlpiquées qui ne se concrétisent pas et qui démoralisent.
Krug

Le 23/02/2016 à 16h10

#3 Signaler
Quelques remarques :

- Le C# est multi-plateformes (Mono)
- Android -> Java
- Je n'aime pas conseiller des langages à typage dynamique faible pour les débutants (PHP). Il y a bien d'autres manières de faire du web...
thib3113

Le 23/02/2016 à 16h12 (Modifié le 23/02/2016 à 16h16)

#4 Signaler
Bon idée ce sujet. ;)
Par contre je suis plutot pour les petits projets simples qui aboutissent plutôt que de tenter plein de choses trop comlpiquées qui ne se concrétisent pas et qui démoralisent.
Oui, je suis d'accord avec toi, mais l'on ne se rend pas compte au début, comme je l'ai vu plusieurs fois, les gens veulent crée un site/application, et pensent que cela va se faire en claquant des doigts ... Non, la programmation c'est long, faire un site en partant de zéro c'est long, et même si partir d'un CMS sera plus rapide, partir sur un CMS sans les bases, en essayant de demander de l'aide sur le support ou sur les forums, ne sera pas efficasse, et les gens vous répondront de d'abord apprendre la programmation, puis de revenir ensuite .

Quelques remarques :
- Le C# est multi-plateformes (Mono)
- Android -> Java
- Je n'aime pas conseiller des langages à typage dynamique faible pour les débutants (PHP). Il y a bien d'autres manières de faire du web...
je ne connais pas beaucoup le C#, que veux tu dire par mono ?
Android = language Java, avec surcouche android (classe android, logiciel android, vues android).

Pour le typage dynamique, c'était surtout pour commencer doucement, certains préfère le typage formel, moi je préfère le dynamique (et je fais très peu de langages formels).

Pour le web, il y a évidemment possibilité de faire du web avec n'importe quel language, mais le plus utilisé reste le PHP (+de 80% selon http://w3techs.com/technologies/details/pl-php/all/all)
clp

Le 23/02/2016 à 16h18 (Modifié le 23/02/2016 à 16h19)

#5 Signaler
Bonjour

pour commencer l'algorithmique

http://www.xm1math.net/algobox/

sinon pour débuter vraiment tranquille :

http://langagelinotte.free.fr/wordpress/

pour débuter dans des langage connu : python ou perl.
Dams78

Le 23/02/2016 à 16h18 (Modifié le 23/02/2016 à 16h19)

#6 Signaler
Bonne idée de topic !
Cependant, tu devrais élargir tes propositions, bien qu'elles restent personnelles comme tu l'as souligné.
Il y a des conseils pour lesquels je ne suis pas totalement d'accord avec toi : si un débutant se lance dans le web avec du PHP sans utiliser framework, ça risque d'être codé à l'arrache et de tomber à l'eau par la suite. Le web n'est pas forcément égal au PHP. Pourquoi ne pas citer quelques frameworks justement ? En PHP il y a Symfony2 qui est connu et pas trop compliqué à prendre en main (beaucoup de tuto sur le web).
Pour le CSS, tu pourrais également citer Bootstrap ou Foundation qui aideront pas mal de personne à mettre en forme facilement leur site de façon responsive.

Pour Android ça reste du Java ;)

De plus, tu pourrais citer quelques IDE, histoire que nos amis débutants ne développent pas sur Dreamviewer ou Notepad++
cyril5689

Le 23/02/2016 à 16h22 (Modifié le 23/02/2016 à 16h23)

#7 Signaler
Symfony2 je ne trouve pas que ce soit un frameworks "pas compliqué". En tout cas pour quelqu'un qui veut apprendre le code, s'il n'a aucune base, impossible qu'il s'en sorte avec un Frameworks MVC, il va s'automutiler au bout du premier jour d'apprentissage |D

Par contre je trouve l'idée bonne de proposer des petits tutos sous forme d'exercices ou de jeux pour débuter la programmation. Ça peut permettre à n'importe qui de découvrir la programmation de manière ludique et d'en comprendre la base.
thib3113

Le 23/02/2016 à 16h24

#8 Signaler

Il y a des conseils pour lesquels je ne suis pas totalement d'accord avec toi : si un débutant se lance dans le web avec du PHP sans utiliser framework, ça risque d'être codé à l'arrache et de tomber à l'eau par la suite. Le web n'est pas forcément égal au PHP. Pourquoi ne pas citer quelques frameworks justement ? En PHP il y a Symfony2 qui est connu et pas trop compliqué à prendre en main (beaucoup de tuto sur le web).
Un framework sans base c'est la galère aussi :/ (mes profs ont essayé l'an dernier).

Il faut au moins une base, une fois que tu l'as tu peux aller plus loin avec les frameworks .

Pour les IDE, jvais mettre ma liste, n'hésité pas à proposer les votres .


pour débuter dans des langage connu : python ou perl.
je ne connais pas le perl, tu aurais des avantages/inconvénients ?
Dams78

Le 23/02/2016 à 16h29 (Modifié le 23/02/2016 à 16h29)

#9 Signaler
Symfony2 je ne trouve pas que ce soit un frameworks "pas compliqué". En tout cas pour quelqu'un qui veut apprendre le code, s'il n'a aucune base, impossible qu'il s'en sorte avec un Frameworks MVC, il va s'automutiler au bout du premier jour d'apprentissage |D

Par contre je trouve l'idée bonne de proposer des petits tutos sous forme d'exercices ou de jeux pour débuter la programmation. Ça peut permettre à n'importe qui de découvrir la programmation de manière ludique et d'en comprendre la base.
Je suis d'accord sur le fait sur c'est plus difficile d'apprendre à développer sur Symfony2 que sur du PHP classique, mais au moins ça évite de prendre des mauvaises habitudes de codage. Rien n'empêche bien entendu d'apprendre à faire quelques trucs en PHP puis essayer de passer sur un framework. Mais tu peux également faire une petite rubrique sur différents frameworks et des liens vers des tutos pour que le topic soit encore plus complet :)
thib3113

Le 23/02/2016 à 16h36

#10 Signaler

Je suis d'accord sur le fait sur c'est plus difficile d'apprendre à développer sur Symfony2 que sur du PHP classique, mais au moins ça évite de prendre des mauvaises habitudes de codage. Rien n'empêche bien entendu d'apprendre à faire quelques trucs en PHP puis essayer de passer sur un framework. Mais tu peux également faire une petite rubrique sur différents frameworks et des liens vers des tutos pour que le topic soit encore plus complet :)
Je pense que ça pourrais être une bonne idée, mais je destiné plutot ce topic à des personnes débutantes, n'ayant jamais programmé . C'est d'ailleurs pour cela que je propose de l'algorithmique, et des pistes de languages . Les framework, il y en a des dizaines par languages (si ce n'est plus) :/, j'ai peur que l'on s'y perde ensuite :/
Wykett

Le 23/02/2016 à 16h43

#11 Signaler
Si tu veux savoir programmer, c'est pas un conseil, c'est une obligation : Commencer par l'algo en écrivant en français ou anglais ou chinois ou C direct ou ce qu'on veut.

Le language c'est un stylo mais faut déjà savoir écrire.
Bien sûr, certains languages sont particuliers et la syntaxe peut beaucoup différer mais c'est hyper facile de switch quand on maîtrise l'algo.

Et pour savoir à peu près tout faire, le JAVA est sympa et le mieux sans aucun doute car multi-plateforme, open-source, énorme communauté, web ou hard soft, etc.
Tu devrais d'ailleurs citer le Java quand même :p

Et si on veut bien comprendre ce qu'on fait, pourquoi, comment, le C est recommandé mais décourageant imho.

Donc : Algo puis Java et c'est bon pour 90% des besoins
Dams78

Le 23/02/2016 à 16h46 (Modifié le 23/02/2016 à 16h49)

#12 Signaler

Je suis d'accord sur le fait sur c'est plus difficile d'apprendre à développer sur Symfony2 que sur du PHP classique, mais au moins ça évite de prendre des mauvaises habitudes de codage. Rien n'empêche bien entendu d'apprendre à faire quelques trucs en PHP puis essayer de passer sur un framework. Mais tu peux également faire une petite rubrique sur différents frameworks et des liens vers des tutos pour que le topic soit encore plus complet :)
Je pense que ça pourrais être une bonne idée, mais je destiné plutot ce topic à des personnes débutantes, n'ayant jamais programmé . C'est d'ailleurs pour cela que je propose de l'algorithmique, et des pistes de languages . Les framework, il y en a des dizaines par languages (si ce n'est plus) :/, j'ai peur que l'on s'y perde ensuite :/
Conseiller l'algo a des débutants, c'est très bien et tout le monde devrait commencer par là afin d'adopter une certaine logique.
C'est sûr qu'il y a des tonnes de Frameworks mais on pourrait en cibler quelques-uns qui pourraient faciliter le développement (bon ok, on oublie Symfony2 pour les débutants ;) mais du Bootstrap en CSS, ça ne peut que aider).

EDIT : pour les IDE, Sublime Text, j'approuve !
thib3113

Le 23/02/2016 à 16h50 (Modifié le 23/02/2016 à 16h56)

#13 Signaler
Si tu veux savoir programmer, c'est pas un conseil, c'est une obligation : Commencer par l'algo en écrivant en français ou anglais ou chinois ou C direct ou ce qu'on veut.

Le language c'est un stylo mais faut déjà savoir écrire.
Bien sûr, certains languages sont particuliers et la syntaxe peut beaucoup différer mais c'est hyper facile de switch quand on maîtrise l'algo.

Et pour savoir à peu près tout faire, le JAVA est sympa et le mieux sans aucun doute car multi-plateforme, open-source, énorme communauté, web ou hard soft, etc.
Tu devrais d'ailleurs citer le Java quand même :p

Et si on veut bien comprendre ce qu'on fait, pourquoi, comment, le C est recommandé mais décourageant imho.

Donc : Algo puis Java et c'est bon pour 90% des besoins

Je n'ai pas cité le java, car pour moi c'est une technologie lourde et dépassé . A l'école, nous avons vu du JAVA, mais notre seul but était d'ensuite switcher sur de l'android, et au final nous avons fait plus d'android que de java ... Après chacun ses gouts :/

Pour ce qui est du C, tu commences à rentré dans un apprentissage plus complexe et plus long, là j'ai juste dit pour commencer :P, si tu commences à apprendre comment tout fonctionne, tu seras certes un meilleur développeurs, mais tu y passeras beaucoup plus de temps . Pour nous apprendre les bases nous avons fait du C et de l'assembleur à l'école, mais nous sommes partis pour 5 ans après le bac .

Pour quelqu'un qui souhaite découvrir la programmation, je ne sais pas si c'est vraiment utile ? Je pense que ça fait partie du genre de choses qu'il découvrira en approfondissant le sujet si ça lui plait vraiment, non ?


Conseiller l'algo a des débutants, c'est très bien et tout le monde devrait commencer par là afin d'adopter une certaine logique.
C'est sûr qu'il y a des tonnes de Frameworks mais on pourrait en cibler quelques-uns qui pourraient faciliter le développement (bon ok, on oublie Symfony2 pour les débutants ;) mais du Bootstrap en CSS, ça ne peut que aider).
ça dépend de ce que tu veux faire, si la personne veut faire du développement mobile, et/ou pc (donc pas web), elle ne verra peut être jamais boostrap ...
Krug

Le 23/02/2016 à 16h54

#14 Signaler

je ne connais pas beaucoup le C#, que veux tu dire par mono ?
C'est un framework cross-plateforme

Android = language Java, avec surcouche android (classe android, logiciel android, vues android).

Donc on est bien d'accord que le LANGAGE, c'est Java. Android n'est pas un langage. C'était par rapport à ta liste, où tu ne cite que des langages ;)

Pour le typage dynamique, c'était surtout pour commencer doucement, certains préfère le typage formel, moi je préfère le dynamique (et je fais très peu de langages formels).

Non, dynamique c'est bien, mais avec un typage faible, c'est moins bien (faire trololo avec les types pour débuter et se demander ensuite pourquoi rien ne marche...)

Pour le web, il y a évidemment possibilité de faire du web avec n'importe quel language, mais le plus utilisé reste le PHP (+de 80% selon http://w3techs.com/technologies/details/pl-php/all/all)
C'est vrai. Maintenant, apprendre pour apprendre la programmation, est ce que ça a vraiment de l'importance de savoir ce qui est le plus utilisé ou non ? On trouve des ressources éducatives sur tout et facilement de nos jours.
Krug

Le 23/02/2016 à 16h55 (Modifié le 23/02/2016 à 16h58)

#15 Signaler
Si tu veux savoir programmer, c'est pas un conseil, c'est une obligation : Commencer par l'algo en écrivant en français ou anglais ou chinois ou C direct ou ce qu'on veut.

Le language c'est un stylo mais faut déjà savoir écrire.
Bien sûr, certains languages sont particuliers et la syntaxe peut beaucoup différer mais c'est hyper facile de switch quand on maîtrise l'algo.

Et pour savoir à peu près tout faire, le JAVA est sympa et le mieux sans aucun doute car multi-plateforme, open-source, énorme communauté, web ou hard soft, etc.
Tu devrais d'ailleurs citer le Java quand même :p

Et si on veut bien comprendre ce qu'on fait, pourquoi, comment, le C est recommandé mais décourageant imho.

Donc : Algo puis Java et c'est bon pour 90% des besoins

Je n'ai pas cité le java, car pour moi c'est une technologie lourde et dépassé . A l'école, nous avons vu du JAVA, mais notre seul but était d'ensuite switcher sur de l'android, et au final nous avons fait plus d'android que de java ... Après chacun ses gouts :/

Pour ce qui est du C, tu commences à rentré dans un apprentissage plus complexe et plus long, là j'ai juste dit pour commencer :P, si tu commences à apprendre comment tout fonctionne, tu seras certes un meilleur développeurs, mais tu y passeras beaucoup plus de temps . Pour nous apprendre les bases nous avons fait du C et de l'assembleur à l'école, mais nous sommes partis pour 5 ans après le bac .

Pour quelqu'un qui souhaite découvrir la programmation, je ne sais pas si c'est vraiment utile ? Je pense que ça fait partie du genre de choses qu'il découvrira en approfondissant le sujet si ça lui plait vraiment, non ?


Je pense que ça pourrais être une bonne idée, mais je destiné plutot ce topic à des personnes débutantes, n'ayant jamais programmé . C'est d'ailleurs pour cela que je propose de l'algorithmique, et des pistes de languages . Les framework, il y en a des dizaines par languages (si ce n'est plus) :/, j'ai peur que l'on s'y perde ensuite :/
Conseiller l'algo a des débutants, c'est très bien et tout le monde devrait commencer par là afin d'adopter une certaine logique.
C'est sûr qu'il y a des tonnes de Frameworks mais on pourrait en cibler quelques-uns qui pourraient faciliter le développement (bon ok, on oublie Symfony2 pour les débutants ;) mais du Bootstrap en CSS, ça ne peut que aider).
ça dépend de ce que tu veux faire, si la personne veut faire du développement mobile, et/ou pc (donc pas web), elle ne verra peut être jamais boostrap ...

Vous parlez vachement de technologies... Mais apprendre la programmation, pour moi ça n'est pas ça. :(

Faites un tour sur coding games ;)
thib3113

Le 23/02/2016 à 17h09

#16 Signaler

je ne connais pas beaucoup le C#, que veux tu dire par mono ?
C'est un framework cross-plateforme
Et avec le compiler de base, c'est que du windows ? Si oui, je vais laisser comme ça, car il est toujours possible de faire des trucs exotiques avec des compileurs différents (quoique j'ai ajouté le javascript, alors que sans modif, c'est que pour le web)


Android = language Java, avec surcouche android (classe android, logiciel android, vues android).

Donc on est bien d'accord que le LANGAGE, c'est Java. Android n'est pas un langage. C'était par rapport à ta liste, où tu ne cite que des langages ;)
J'ai modifié, en précisant android (car du java pur, je ne suis pas sur que ça passe)

Pour le typage dynamique, c'était surtout pour commencer doucement, certains préfère le typage formel, moi je préfère le dynamique (et je fais très peu de langages formels).

Non, dynamique c'est bien, mais avec un typage faible, c'est moins bien (faire trololo avec les types pour débuter et se demander ensuite pourquoi rien ne marche...)
Hum, dans ce cas je ne vois pas trop la différence (je suis habitué au languages sans typages déclarés)
Le typage dynamique faible c'est quand : 0 == "" == false ? ( et au contraire le typage dynamique fort là où une string ne serais pas auto-convertible en nombre ?)


Pour le web, il y a évidemment possibilité de faire du web avec n'importe quel language, mais le plus utilisé reste le PHP (+de 80% selon http://w3techs.com/technologies/details/pl-php/all/all)
C'est vrai. Maintenant, apprendre pour apprendre la programmation, est ce que ça a vraiment de l'importance de savoir ce qui est le plus utilisé ou non ? On trouve des ressources éducatives sur tout et facilement de nos jours.
Ben disont que si tu veux faire du web, mais que tu pars sur du C#, tu vas être limité à tes projets persos, ou a de rare projets en équipes .

Krug

Le 23/02/2016 à 17h52

#17 Signaler
Hum, dans ce cas je ne vois pas trop la différence (je suis habitué au languages sans typages déclarés)
Le typage dynamique faible c'est quand : 0 == "" == false ? ( et au contraire le typage dynamique fort là où une string ne serais pas auto-convertible en nombre ?)

C'est ça. La conversion de type est implicite, ce qui donne souvent des trucs "magiques" chez les débutants.
thib3113

Le 23/02/2016 à 17h59 (Modifié le 23/02/2016 à 17h59)

#18 Signaler
Hum, dans ce cas je ne vois pas trop la différence (je suis habitué au languages sans typages déclarés)
Le typage dynamique faible c'est quand : 0 == "" == false ? ( et au contraire le typage dynamique fort là où une string ne serais pas auto-convertible en nombre ?)

C'est ça. La conversion de type est implicite, ce qui donne souvent des trucs "magiques" chez les débutants.
et plus tard des developpers senior qui se demande pourquoi false != "false" (true story)
smash

Le 24/02/2016 à 2h49 (Modifié le 24/02/2016 à 2h50)

#19 Signaler
Petit ajout peut être : "Si vous voulez faire de l'administration système = perl & bash/batch"

après ruby/python/perl ça dépend les goûts, perso j'ai toujours eu ma petite préférence pour le perl...

pour les éditeurs, VIM (ou EMACS selon les goûts) est très bien aussi dès lors qu'on fasse l'effort d'apprendre à s'en servir un minimum.

parmi les liens utiles, j'ajouterais http://stackoverflow.com.
Fearless

Le 24/02/2016 à 4h09

#20 Signaler
OMG HE DID IT.............................. :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3 :3
Gabz

Le 24/02/2016 à 5h14 (Modifié le 24/02/2016 à 5h15)

#21 Signaler
Outre le code pure, je pense qu'il ne faut pas oublier le suivi de version. Même si on ne fais pas dans le multi-developpeur, ça permet une rigueur dans son code et dans son organisation sur des petits projets comme sur les très gros (open ou non). Le plus simple d’accès est Git via deux plateformes : GitHub ou BitBucket couplé avec SourceTree et rien n’empêche de créer son propre dépôt (serveur maison, synologie, qnap ..) car de plus en plus de techno intègre Git!
En tout cas, bon courage pour le topic :)
thib3113

Le 24/02/2016 à 7h46

#22 Signaler
Outre le code pure, je pense qu'il ne faut pas oublier le suivi de version. Même si on ne fais pas dans le multi-developpeur, ça permet une rigueur dans son code et dans son organisation sur des petits projets comme sur les très gros (open ou non). Le plus simple d’accès est Git via deux plateformes : GitHub ou BitBucket couplé avec SourceTree et rien n’empêche de créer son propre dépôt (serveur maison, synologie, qnap ..) car de plus en plus de techno intègre Git!
En tout cas, bon courage pour le topic :)
Hum, pour les sources, j'ai peur que ça ne s'adresse pas aux débutants non plus XD .
Sinon, personnellement j'utilise gitlab car il a sortie sa version en ligne, et y intègre son propre serveur de test, avec possibilité de rajouter des worker locaux (et privé du coup).
jeanvaljacques

Le 24/02/2016 à 7h55 (Modifié le 24/02/2016 à 8h02)

#23 Signaler
salut ici, je vais surement me faire huer et je suis surement un peu HS mais sur windows quand j'ai besoin de faire un petit programme j'adore utiliser AutoIT, en quelques minutes tu code ton programme avec gui ou pas, franchement c'est trop easy plutot que passer des heures et des heures sur la même chose avec un "vrais" langage, je recommande vraiment pour les gens pressés qui ont besoin de faire un petit programme ou les débutants, le code ressemble à du BASIC.
Krug

Le 24/02/2016 à 8h59

#24 Signaler
Outre le code pure, je pense qu'il ne faut pas oublier le suivi de version. Même si on ne fais pas dans le multi-developpeur, ça permet une rigueur dans son code et dans son organisation sur des petits projets comme sur les très gros (open ou non). Le plus simple d’accès est Git via deux plateformes : GitHub ou BitBucket couplé avec SourceTree et rien n’empêche de créer son propre dépôt (serveur maison, synologie, qnap ..) car de plus en plus de techno intègre Git!
En tout cas, bon courage pour le topic :)

Ou tout simplement utiliser un dépôt local, et travailler dessus. C'est la grande force de git : la décentralisation.
marceldu64

Le 24/02/2016 à 9h17

#25 Signaler


Pour le web, il y a évidemment possibilité de faire du web avec n'importe quel language, mais le plus utilisé reste le PHP (+de 80% selon http://w3techs.com/technologies/details/pl-php/all/all)
C'est vrai. Maintenant, apprendre pour apprendre la programmation, est ce que ça a vraiment de l'importance de savoir ce qui est le plus utilisé ou non ? On trouve des ressources éducatives sur tout et facilement de nos jours.
Ben disont que si tu veux faire du web, mais que tu pars sur du C#, tu vas être limité à tes projets persos, ou a de rare projets en équipes .

C'est une erreur de croire que l'asp.NET avec C# (ou VB.NET) est rare en entreprise.
Beaucoup de structures utilisent php car c'est gratuit, mais t'as pas mal de sociétés qui choisissent un environnement cohérent (suite office, serveurs windows, sql server et développement sur VS, donc c#/VB.net), surtout quand tu veux faire communiquer facilement des outils maison en gardant le même langage (quand ta boite mélange des logiciels ET du web, un coup de WPF + asp.net, avec tes classes que tu peux partager dans les 2 projets, chose qui ne sera pas faisable si tu fais java d'un coté et php de l'autre)

A ça, tu ajoutes le fait qu'il est possible en .net de faire des applications ios ET android (ainsi que win phone mais bon... bref :p) du coup là aussi tu peux avoir un gain de temps en terme de développement car tu dois pas faire 2 fois la même choses sur 2 langages.
oOKaMiZuKOo

Le 24/02/2016 à 9h36 (Modifié le 24/02/2016 à 9h38)

#26 Signaler
Initiative louable mais qui risque de devenir compliquée à gérer, surtout si il y a plusieurs question sur différents codes/langages à traiter en parallèle :)

---------------------

Pour les codeurs, un lien très drôle connu mais incontournable qui est criant de vérité :
> http://www.topito.com/top-gif-code-developpeur

----------------------

Dans les éditeurs (entre autre), perso c'est :

Netbeans IDE : https://netbeans.org/downloads/
...avec son thème noir Sublime Monokai : http://plugins.netbeans.org/plugin/55859/sublime-monokai-theme-for-netbeans-8

Sinon Notepad++ :
> https://notepad-plus-plus.org/fr/

-----------------------

Et pour un pack tout en 1 sous Windows pour (entre autre) Github / Symfony 2 :

Babun (un shell basé sur CygWin avec pré-intégration de git)
> http://babun.github.io/

-----------------------

pour que l'on arrête de penser que la programmation c'est un truc simple, que l'on saura faire en 1 jour

C'est très courant, mais c'est parce que les profanes ont souvent l'idée qu'être informaticien c'est :

- savoir tout faire en informatique -> en général, je leur répond que c'est comme faire des études médicales, il y a des infirmiers, des médecins, des vétérinaires, etc...
- si tu ne sais pas utiliser word/excel (de manière avancée comme eux), tu n'es pas informaticien

Il en résulte donc l'agacement des utilisateurs sur le dev' en cours et le temps de traitement pris (puisque c'est facile), d'où la remarque que j'ai souvent entendue :
- je souhaites faire une appli java sur téléphone, tu peux m'expliquer comment faire ?
- je veux faire un site web, je sais que c'est pas compliqué

.... ce à quoi l'image ci-dessous est toute trouvée :|
thib3113

Le 24/02/2016 à 9h39 (Modifié le 24/02/2016 à 10h15)

#27 Signaler


Pour le web, il y a évidemment possibilité de faire du web avec n'importe quel language, mais le plus utilisé reste le PHP (+de 80% selon http://w3techs.com/technologies/details/pl-php/all/all)
C'est vrai. Maintenant, apprendre pour apprendre la programmation, est ce que ça a vraiment de l'importance de savoir ce qui est le plus utilisé ou non ? On trouve des ressources éducatives sur tout et facilement de nos jours.
Ben disont que si tu veux faire du web, mais que tu pars sur du C#, tu vas être limité à tes projets persos, ou a de rare projets en équipes .

C'est une erreur de croire que l'asp.NET avec C# (ou VB.NET) est rare en entreprise.
Beaucoup de structures utilisent php car c'est gratuit, mais t'as pas mal de sociétés qui choisissent un environnement cohérent (suite office, serveurs windows, sql server et développement sur VS, donc c#/VB.net), surtout quand tu veux faire communiquer facilement des outils maison en gardant le même langage (quand ta boite mélange des logiciels ET du web, un coup de WPF + asp.net, avec tes classes que tu peux partager dans les 2 projets, chose qui ne sera pas faisable si tu fais java d'un coté et php de l'autre)
Je n'ai encore que peu d'expérience en entreprise (vu que je suis étudiant), mais pour prendre mon entreprise en exemple :
Nous utilisons un serveur développé en .NET, et une surcouche web dessus, programmé en PHP (php ayant une api .NET). Comme cela nous avons un web en php, avec ses avantages, et un serveur en .NET pour rester dans le C# .

Je viens de mettre à jour le topic principal

Initiative louable mais qui risque de devenir compliquée à gérer, surtout si il y a plusieurs question sur différents codes/langages à traiter en parallèle :)
Je ne comptais pas aider à débugger du code, ou a organiser des projets, plutot à rediriger les gens vers les bons endroits



Dans les éditeurs (entre autre), perso c'est :

Netbeans IDE : https://netbeans.org/downloads/
...avec son thème noir Sublime Monokai : http://plugins.netbeans.org/plugin/55859/sublime-monokai-theme-for-netbeans-8

Sinon Notepad++ :
> https://notepad-plus-plus.org/fr/
J'avais testé Netbeans à une époque, je le trouvais vachment lourd, et il est en java si ma mémoire est bonne :S ?
Pour ce qui est de Notepad++, j'ai commencé avec ça, mais pour en faire un IDE viable (face à sublime text par exemple) il faut vraiment en vouloir . Par contre pour visualiser un code rapidement, sur une autre machine, c'est parfait !


Et pour un pack tout en 1 sous Windows pour (entre autre) Github / Symfony 2 :

Babun (un shell basé sur CygWin avec pré-intégration de git)
> http://babun.github.io/
Pourquoi Symfony2 ? Personnellement j'utilise CMDer, qui semble être la même chose ...
oOKaMiZuKOo

Le 24/02/2016 à 10h31 (Modifié le 24/02/2016 à 10h50)

#28 Signaler
Pourquoi Symfony2 ?
Relis mon post, la mention "entre autre" signifie que je peux m'en servir ou pas forcément pour cette appli.
Et puis, je n'ai jamais dit non plus que c'était une solution unique (juste pratique) mais une suggestion d'outil qui me convient (idem ci-dessous).

J'avais testé Netbeans à une époque, je le trouvais vachment lourd, et il est en java si ma mémoire est bonne :S ?
Pour ce qui est de Notepad++, j'ai commencé avec ça, mais pour en faire un IDE viable (face à sublime text par exemple) il faut vraiment en vouloir . Par contre pour visualiser un code rapidement, sur une autre machine, c'est parfait !

Notepad++ remplace mon Bloc-Note par défaut sous Windows et rajoute des fonctions supplémentaires et non pléthores (ce n'est pas ce qu'on lui demande). La coloration syntaxique ainsi que la conversion du format du fichier (ansi, utf8, etc..) lui suffisent. Il est light et est pour les modifs rapides c'est tout ;)

Pour Netbeans, certes il est plus "lourd" (7 sec à ouvrir un fichier sur ma machine lorsqu'il est fermé), mais il me satisfait à tous niveaux pour le dev web (entre autre).

Je reconnais (pour l'avoir testé) aussi que Sublime Text est excellent et light, mais son gros "défaut" est sa licence @70$ (alors que ceux dont je parle sont gratuits) ;)

Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.

> https://www.sublimetext.com/buy
thib3113

Le 24/02/2016 à 10h38

#29 Signaler
Pourquoi Symfony2 ?
Relis mon post, la mention "entre autre" signifie que je peux m'en servir ou pas forcément pour cette appli.
Et puis, je n'ai jamais dit non plus que c'était une solution unique (juste pratique) mais une suggestion d'outil qui me convient (idem ci-dessous).

J'avais testé Netbeans à une époque, je le trouvais vachment lourd, et il est en java si ma mémoire est bonne :S ?
Pour ce qui est de Notepad++, j'ai commencé avec ça, mais pour en faire un IDE viable (face à sublime text par exemple) il faut vraiment en vouloir . Par contre pour visualiser un code rapidement, sur une autre machine, c'est parfait !

Notepad++ remplace mon Bloc-Note par défaut sous Windows et rajoute des fonctions supplémentaires et non pléthores (ce n'est pas ce qu'on lui demande). La colorisation syntaxique ainsi que la conversion du format du fichier (ainsi, utf8, etc..) lui suffisent. Il est light et est pour les modifs rapides c'est tout ;)

Pour Netbeans, certes il est plus "lourd" (7 sec à ouvrir un fichier sur ma machine), il me satisfait à tous niveaux pour le dev web (entre autre).

Je reconnais (pour l'avoir testé) aussi que Sublime Text est excellent et light, mais son gros "défaut" est sa licence @70$ (alors que ceux dont je parle sont gratuits) ;)

Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.

> https://www.sublimetext.com/buy
sa quoi ? jamais entendu parlé :P ... Oui j'avoue qu'avec ça il est casse pied à te sortir son popup de license, mais au bout d'un moment tu ne le vois plus :)

Pour symfony2, je pensais que ton cmd ajouté des fonctions propres à symfony2, ok pas de soucis :)


salut ici, je vais surement me faire huer et je suis surement un peu HS mais sur windows quand j'ai besoin de faire un petit programme j'adore utiliser AutoIT, en quelques minutes tu code ton programme avec gui ou pas, franchement c'est trop easy plutot que passer des heures et des heures sur la même chose avec un "vrais" langage, je recommande vraiment pour les gens pressés qui ont besoin de faire un petit programme ou les débutants, le code ressemble à du BASIC.
Je l'ajoute dans les liens utiles, si tu veux faire une réponse pour le détailler plus, je mettrais un lien vers la réponse .
Isukthar

Le 24/02/2016 à 10h50

#30 Signaler
Petite remarque par rapport à la FAQ, la programmation ne se limite pas à la programmation impérative. Il y a bien d'autres style de programmation, comme par exemple la programmation fonctionnelle, qui ont des bases différentes de celles citées.

Dans les langages conseillés à apprentissage, je mettrais le C (ou ASM). C'est un passage quasi obligatoire pour comprendre le fonctionnement bas niveau de la machine.
thib3113

Le 24/02/2016 à 10h56

#31 Signaler
Petite remarque par rapport à la FAQ, la programmation ne se limite pas à la programmation impérative. Il y a bien d'autres style de programmation, comme par exemple la programmation fonctionnelle, qui ont des bases différentes de celles citées.
Buh ? kessecé ?


Dans les langages conseillés à apprentissage, je mettrais le C (ou ASM). C'est un passage quasi obligatoire pour comprendre le fonctionnement bas niveau de la machine.
Comme dit plus haut, ce genre de language s'apprend si tu veux te lancer dans la programmation, pas si tu veux juste en faire . Je pense que quand tu commences à apprendre le C ou l'ASM, tu passes dans un autre niveau, avec une formation plus longue, mais meilleure . Je vais l'ajouter dans le "Aller plus loin"



Si vous voulez parler d'un domaine particulier, expliquer des languages, pour qui, pourquoi ETC, n'hésitez pas à faire une réponse, je ferrais un lien vers celle ci . Ou la magie des modos les mettra au début :)
Isukthar

Le 24/02/2016 à 11h03 (Modifié le 24/02/2016 à 11h05)

#32 Signaler
Petite remarque par rapport à la FAQ, la programmation ne se limite pas à la programmation impérative. Il y a bien d'autres style de programmation, comme par exemple la programmation fonctionnelle, qui ont des bases différentes de celles citées.
Buh ? kessecé ?

Comme son nom l'indique, la programmation fonctionnelle consiste à programmer en écrivant des fonctions et non en donnant des ordres à la machine (impératif).
Tu peux jeter un œil à OCaml (ou F#, l'équivalent dans les technos Microsoft).

Il y a d'autres styles de programmations, comme la programmation logique (Prolog) ou la programmation par contrainte.

Sinon, pour avoir des informations sérieuses, tu peux citer le principal site francophone : http://www.developpez.com/
Krug

Le 24/02/2016 à 11h10

#33 Signaler
Il y a d'autres styles de programmations, comme la programmation logique (Prolog)

:3
thib3113

Le 24/02/2016 à 11h10

#34 Signaler
Petite remarque par rapport à la FAQ, la programmation ne se limite pas à la programmation impérative. Il y a bien d'autres style de programmation, comme par exemple la programmation fonctionnelle, qui ont des bases différentes de celles citées.
Buh ? kessecé ?

Comme son nom l'indique, la programmation fonctionnelle consiste à programmer en écrivant des fonctions et non en donnant des ordres à la machine (impératif).
Tu peux jeter un œil à OCaml (ou F#, l'équivalent dans les technos Microsoft).

Il y a d'autres styles de programmations, comme la programmation logique (Prolog) ou la programmation par contrainte.
Je n'y connais rien du tout dans ce domaine ( preuve que même après plusieurs années de dev on découvre encore des choses complétement différentes)

Si tu t'y connais, je te laisse en parler :)
Gabz

Le 24/02/2016 à 19h36

#35 Signaler
T'a même pas encore abordé le dev sys, réseaux / base de donné, que le topic commence déjà à partir de dans les sens ^^
Peur être rappeler les bases : C et C++ pour la poo, une foi maitrisés l'apprentissage des autres language sont grandement facilités. Après l’assembleur c'est bien de connaitre, mais ça risque d'en découragé plus d'un!
Après je sais que c'est pas forcement idéale pour apprendre et pour faire du code propre, mais pourquoi abordé les éditeurs WYSIWYG comme Dreamviewer ou WinDEV ?
joris190400

Le 24/02/2016 à 19h51

#36 Signaler
T'a même pas encore abordé le dev sys, réseaux / base de donné, que le topic commence déjà à partir de dans les sens ^^
Peur être rappeler les bases : C et C++ pour la poo, une foi maitrisés l'apprentissage des autres language sont grandement facilités. Après l’assembleur c'est bien de connaitre, mais ça risque d'en découragé plus d'un!
Après je sais que c'est pas forcement idéale pour apprendre et pour faire du code propre, mais pourquoi abordé les éditeurs WYSIWYG comme Dreamviewer ou WinDEV ?
les 2 langage les plus simple :)

perso je vais me faire une page en java :) le rendu plus tard
thib3113

Le 24/02/2016 à 20h44

#37 Signaler
T'a même pas encore abordé le dev sys, réseaux / base de donné, que le topic commence déjà à partir de dans les sens ^^
Peur être rappeler les bases : C et C++ pour la poo, une foi maitrisés l'apprentissage des autres language sont grandement facilités. Après l’assembleur c'est bien de connaitre, mais ça risque d'en découragé plus d'un!
Après je sais que c'est pas forcement idéale pour apprendre et pour faire du code propre, mais pourquoi abordé les éditeurs WYSIWYG comme Dreamviewer ou WinDEV ?

Hum, alors les WYSIWYG, c'est pas vraiment pour les développeurs, ça permet de faire du html facilement, mais en cas de problème, tu es dans la mouise :/, WinDEV je ne connais que de nom ...

Pour le C et le C++, ce sont pour moi des languages qui t'apprenne la base, mais qui sont trop long à codés (jamais fait de C++, et c'est même pas prévu dans mon programme de cours)...

Je me répète un peu, mais si vous voulez présenter un language, faites une grande réponse détaillée et je vous link depuis le topic :)
DaRE

Le 24/02/2016 à 20h54

#38 Signaler
Plop
joris190400

Le 24/02/2016 à 20h55

#39 Signaler
ok tu sort XD :)
Nawako

Le 24/02/2016 à 21h00

#40 Signaler
Il serait important que tu cites un article dans ta FAQ !
Comment expliquer ce que je fais en tant que dev à : ton père, ta grand-mère, ton chien, ta copine, tes amis ?
Réponse ici : https://medium.com/france/la-vérité-à-propos-des-informaticiens-10715a17ea8a

Laisser une réponse

Des champs obligatoires n’ont pas été remplis, ou l’ont été incorrectement.