CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Par quoi commencer en programmation ?

tsez93
tsez93
Niveau 10
12 novembre 2016 à 15:03:53

T'as pas besoin de savoir construire une voiture pour en conduire une, alors pourquoi t'aurais besoin de connaitre le les différentes couches réseau pour programmer ?

Conduire une voiture et programmer sont des activités bien différentes. Je crois que bcp de monde est capable d'apprendre à conduire, par contre programmer est bcp moins évident.
Relis bien ma phrase : "les bases". Donc inutile de connaitre toutes les couches réseaux.

C'est complètement débile, parce que ce que tu cites n'a rien de trivial justement.

Houla calme, pourquoi tant d'agressivité ? On peut parler tranquillement sans traiter les propos des autres de "débile". Prends un peu de recul, ce ne sont que des points de vue ;)

Oui les exemples que j'ai cité ne sont pas triviaux, j'aurais pu chercher un peu mieux effectivement.

lokilok
lokilok
Niveau 17
12 novembre 2016 à 15:23:17

Le 12 novembre 2016 à 14:51:00 Grand__Smurf a écrit :

Le 12 novembre 2016 à 14:26:30 lokilok a écrit :
Mouais, comprendre que chaque objet est une référence en Java j'pense pas que ce soit excessivement plus simple que de comprendre le fonctionnement d'un pointeur en C.

Sauf que t'as pas besoin de le comprendre.

Bah si c'est obligatoire, sinon tu peux pas comprendre pourquoi il ne faut pas utiliser l'opérateur == pour vérifier si deux objets sont égaux, et sinon si t'as deux références qui pointent sur un même objet tu peux avoir des erreurs que tu ne comprends pas en modifiant une des deux références.

C'est même bien plus important à comprendre que les pointeurs parce qu'en Java t'as pas le choix, t'es obligé d'utiliser les références, en C t'as le choix, tu peux ne pas utiliser les pointeurs (pas de manière général parce que c'est vachement pratique, mais je veux dire que quand t'en a pas besoin tu peux ne pas en utiliser).

Message édité le 12 novembre 2016 à 15:24:10 par lokilok
JoachimDuck
JoachimDuck
Niveau 9
12 novembre 2016 à 15:58:36

Le 12 novembre 2016 à 11:55:52 Grand__Smurf a écrit :

Le 12 novembre 2016 à 02:54:38 JoachimDuck a écrit :

Le 11 novembre 2016 à 23:25:26 Grand__Smurf a écrit :
N'importe quoi sauf le C.

En quel honneur ?

Parce que c'est inutilement compliqué. Pour apprendre quelque chose tu commences par un truc simple et tu continues ensuite en rajoutant des couches compliquées, pas l'inverse.

Aucun intérêt d'apprendre à utiliser les pointeurs si tu sais pas faire une boucle correctement.

Le C c'est relativement compliqué à cause de la gestion de la mémoire, c'est pas fun, et surtout tu prends une éternité pour faire ce que tu ferais en 5 minutes dans un langage de plus haut niveau.

L'auteur dit bien qu'il s'en fout si son apprentissage est lent, mais c'est bien plus sympa de pouvoir voir sa progression plutôt que d'être toujours dans des consoles affreuses 3 mois après avoir commencé.

Le problème en balançant des assertions comme "c'est inutilement compliqué", c'est que les débutants le prennent pour argent comptant, et élude le langage cité, en l’occurrence le C, alors qu'il apporte : un point de vue gestion de la mémoire, une rigueur indispensable, une compréhension de la compilation, des dépendances, etc etc. La "base" quoi. Donc l'occulter parce que "c'est inutilement compliqué", c'est loin de la vérité. C'est plus compliqué que les langages de plus haut niveau (coucou Java), mais il y a une réelle utilité à cette pseudo-complexité.

Pour revenir au sujet, chaque développeur te donnera un langage différent, en fonction de son ressenti, de son expérience, etc etc. Cherche d'abord pourquoi tu veux apprendre à programmer. À moins de vouloir devenir expert dans un langage précis (ce qui, dans ton cas, serait stupide à cet instant T, puisque tu ne connais aucun langage, donc ne sais pas quel langage pour quelle utilisation, donc te spécialiser dans un langage sans avoir survolé les autres me paraît bête), le mieux serait d'étudier l'algorithmie (c'est la base d'un programmeur) puis de te trouver une utilisation concrète (un mini-projet, pas un Facebook-like). Là, tu pourras choisir un langage en fonction de ce que tu veux faire. Tout "bon" programmeur te le dira : un langage n'est pas mieux qu'un autre de façon générale, mais permet de faire une tâche précise plus facilement/rapidement qu'un autre.

RainbowShy
RainbowShy
Niveau 10
12 novembre 2016 à 20:33:58

Je t'aurai dit javascript car ça a l'avantage d'être assez simple à utiliser pour avoir des retours en image avec HTML et CSS. Bien sûr il va falloir (beaucoup) de travail si tu n'y connais rien, mais peut importe par où tu commences ce sera dur, mais pas insurmontable puisque je peux te le prouver, j'ai appris tout ce que je sais par moi-même! ^^

WatchItBurn
WatchItBurn
Niveau 10
13 novembre 2016 à 16:34:58

Le 12 novembre 2016 à 11:46:20 tsez93 a écrit :
Donc commence par apprendre les bases sur le hardware (tu sembles déjà connaitre), les réseaux TCP/IP et les protocoles internet. Et seulement ensuite, tu apprends la programmation.
Ainsi tu ne seras pas bloqué sur des choses triviales comme (au hasard) : la mémoire virtuelle, le multi-threading, l'adressage IP, le protocole HTTP, etc

C'est absolument pas des choses triviales ce que tu cites... J'ai l'impression qu'au contraire tu as cités les choses abordables les plus compliquées que tu connaisses pour te faire mousser.
Pourquoi pas faire de l'analyse d'image sur papier avant d'apprendre à coder pour éviter d'être bloqué sur de l'analyse d'images le jour où il en aura besoin ? :sarcastic:

WatchItBurn
WatchItBurn
Niveau 10
13 novembre 2016 à 16:39:59

Le 12 novembre 2016 à 15:58:36 JoachimDuck a écrit :
Donc l'occulter parce que "c'est inutilement compliqué", c'est loin de la vérité. C'est plus compliqué que les langages de plus haut niveau (coucou Java), mais il y a une réelle utilité à cette pseudo-complexité.

Je suis pas d'accord. Toute cette complexité on arrive globalement bien à la masquer dans les langages modernes aujourd'hui (et depuis longtemps en fait). Alors oui, cette complexité est toujours présente de façon sous-jacente mais on en a pas "besoin" puisqu'on arrive très bien à faire sans de façon macro.
Après on retombe dans l'éternel débat du "oui mais si tu conseilles le C parce qu'on apprend plus de choses qu'en Java, autant conseiller l'ASM directement :)" qui n'est pas faux.
Les abstractions des langages dits haut-niveau permettent de se focuser sur la partie algorithmique. En vrai quand on apprend à faire du Python, on apprend plus l'algorithmique qu'un langage, et ça c'est bien. Y a largement le temps pour s'emmerder avec des optimisations techniques.

tsez93
tsez93
Niveau 10
13 novembre 2016 à 20:49:24

Le 13 novembre 2016 à 16:34:58 WatchItBurn a écrit :

Le 12 novembre 2016 à 11:46:20 tsez93 a écrit :
Donc commence par apprendre les bases sur le hardware (tu sembles déjà connaitre), les réseaux TCP/IP et les protocoles internet. Et seulement ensuite, tu apprends la programmation.
Ainsi tu ne seras pas bloqué sur des choses triviales comme (au hasard) : la mémoire virtuelle, le multi-threading, l'adressage IP, le protocole HTTP, etc

C'est absolument pas des choses triviales ce que tu cites... J'ai l'impression qu'au contraire tu as cités les choses abordables les plus compliquées que tu connaisses pour te faire mousser.
Pourquoi pas faire de l'analyse d'image sur papier avant d'apprendre à coder pour éviter d'être bloqué sur de l'analyse d'images le jour où il en aura besoin ? :sarcastic:

Lis la suite du thread, j'ai déjà répondu.

Cj1993
Cj1993
Niveau 12
13 novembre 2016 à 22:06:00

Sur ce genre de topic ça finit toujours pareil :rire:

Mon avis: Commencer à apprendre les bases fondamentales de l'informatique (système, les bases genre système binaire.. ect). En parallèle tu apprends l'algorithmique à fond (même en pseudo code si il faut) c'est le plus important dans un premier temps.

Quand tu sera à l'aise avec l'algo, pour les implémenter tu as deux écoles :
- Commencer avec du bon C ce qui est fait dans beaucoup de formation d'informatique car il faut être rigoureux et c'est étroitement lié à mon tout premier point (les bases de l'informatique).
- Commencer avec un langage moins emmerdant qui te permettra d'implémenter facilement tes algos, Java, Python, C# voir même C++.

A partir d'ici tu es bon pour commencer la programmation objet (sachant que si tu as choisi la deuxième option tu as déjà dû y être confronté sans vraiment faire attention) qui te permettra de structurer ton code et faire facilement des choses intéressantes. Pour la POO il te faut un langage qui orienté objet comme Python, java, c++...

Message édité le 13 novembre 2016 à 22:08:08 par Cj1993
tbol
tbol
Niveau 20
14 novembre 2016 à 12:52:59

Dans l'enseignement (en Fac par exemple) c'était le Pascal qui était utilisé en premier langage, et c'est encore souvent le cas, le Pascal à titre éducatif est bien plus intéressant que le C pour apprendre à programmer de façon structurée et lisible, le C c'est bien plus rare (quelques écoles d'ingénieurs, l'Epitech qui veux se faire passer une une école d'ingé, et école 42 qui à acheté le programme de l'Epitech). Ensuite la mode est passée au Java, puis à Python. Mais en fait la mode de Java n'est pas vraiment passée : Python est souvent utilisé soit en premier langage, soit en langage dans les formations non informatique, mais Java reste le leader en éducation pour les formations supérieures. Ce qui nous fait donc en version très simpliste :
- Premier langage : Python, ou Pascal, ou parfois le C
- Langage d'initiation pour les non informaticiens : Python
- Langage pour les études supérieures (ingénieurs, Master) : Java ou C# ou C++
Bon c'est très simplifié après on trouve aussi de tout aussi : langages fonctionnels, ADA, les langages Web, etc...

Message édité le 14 novembre 2016 à 12:53:33 par tbol
Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment