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

Débuter la programmation avec Ruby

Hedjaz
Hedjaz
Niveau 6
06 avril 2014 à 10:10:06

Je voudrais apprendre un langage de programmation mais je sais pas trop lequel sachant que j'ai jamais programmé, vous pensez que commencer avec Ruby est une bonne idée ? Il m'a l'air pas trop compliqué :(
Merci

Caletlog
Caletlog
Niveau 10
06 avril 2014 à 11:15:51

Salut,

J'ai commencé avec Ruby, ayant juste un background de bidouillage en shell.

C'est un excellent langage pour débuter, je trouve. Si tu prends un bon bouquin (genre le pickaxe de Dave Thomas 'Programming Ruby 1.9' (doit bien y avoir la v2 de sortie d'ailleurs), qui est _la_ référence), t'as moyen d'arriver à des résultats très vite.
T'es directement initialisé à la programmation objet avec la 'pureté' du Ruby.

Le gros point positif, c'est que le langage est ultra simplifié niveau syntaxe, et bourré de sucreries syntaxiques. Concrètement, ça veut dire que tu peux construire ton programme avec des blocs (et je parle pas des blocks de ruby, mais de blocs en général, comme des légos) que tu peux mettre dans tous les sens, et ça marchera encore. Les opérateurs, structures de contrôle, ... sont interchangeables, peuvent être mis n'importe où dans la ligne, ... et donc au final, t'es pas bloqué par le langage en lui-même. Quand tu débutes, ça te permet de te concentrer sur la logique et pas t'arracher les cheveux à comprendre pourquoi ta syntaxe est incorrecte. Tout est plus ou moins une expression et t'as donc pas à te demander si tel ou tel bloc peut être une lvalue ou un rvalue, tout se transforme automatiquement selon tes besoins.

L'accent est mis sur la lisibilité, et tu as donc des outils très sympathiques pour rendre des corps plus agréables, genre 'unless' au lieu de 'if !(...)', 'until' au lieu de 'while !(...)', des opérateurs de parcours pour chaque type, ( 'a..b', 'a...b', 'a.upto(b)', 'for i in a..b', '[a,b].each', ...), et ainsi de suite.

Petit bonus, ruby a un framework web très réputé et assez recherché en entreprises, Rails, qui permet de développer des apps web en un rien de temps (tout comme le ruby permet de développer des petits scripts en un rien de temps, mais guère plus).

Par contre, le gros point négatif, c'est que comme t'as 36 000 façons de faire la même chose (mais toutes sont pas bonnes), t'es encouragé à pondre du code complètement dégueulasse si tu fais pas gaffe. Donc veilles toujours à avoir un checker de style, genre rubocop, qui t'indique si tu transgresse les règles du langage.
L'autre problème, c'est que Ruby intègre des petits points très étranges par rapport aux autres langages et ça risque de te faire prendre de très mauvaises habitudes sur d'autres langages (genre les constantes en Ruby qui sont des aberrations, qu'on tente de corriger avec une méthode de gel non profonde...).
Enfin, tous ces petits avantages syntaxiques ont aussi un coup ; si c'est pas toi qui fait les raisonnements c'est que l'interpréteur le fait à ta place, donc c'est long à faire, et tu te retrouves avec des programmes très très lents (encore plus qu'avec python ou php), aggravés bien souvent par des 'cimetières de temps' ("là où le temps vient pour mourir" :noel: ) relativement durs à débogguer.

Bref, si t'es conscient que c'est un langage de script (et qu'en tant que tel tu développeras pas de grosses applications), qu'il fait pas bon ménage avec Windows, et si tu fais gaffe à pas adopter des comportements dégueulasses, c'est un excellent langage, très amusant, qui te permettra de très vite bidouiller des trucs et comprendre les concepts clés de la prog objet.
Si tu en attendais plus, passe ton chemin :o))

Hedjaz
Hedjaz
Niveau 6
06 avril 2014 à 11:19:43

Merci de ta réponse. :oui:

Odvie
Odvie
Niveau 10
06 avril 2014 à 12:05:22

Le facteur "complexité" ne doit pas être pris en compte pour l'apprentissage de la programmation. A mon goût, tu apprends le C++ et le PHP, et après tu peux apprendre tout le reste sans trop trop de soucis (à par certains langages particulièrement obscurs :hap: ).

Alors que si tu commences avec un truc super simple, tu vas prendre tes habitudes dessus, et apprendre un langage plus complexe va être un calvaire innommable.

Caletlog
Caletlog
Niveau 10
06 avril 2014 à 12:43:23

"Alors que si tu commences avec un truc super simple, tu vas prendre tes habitudes dessus, et apprendre un langage plus complexe va être un calvaire innommable. "

:d) Pas forcément. À moins d'être âgé ou stupide, les gens sont en général capables de s'adapter un minimum au changement. On peut aussi prendre le principe dans le sens inverse : "si tu prends l'habitude de gérer toi-même la mémoire ou les allocations, tu vas être perdu quand ça sera l'interpréteur qui le fera tout seul !", ce qui n'est évidemment pas le cas pour la majorité des gens.

Les langages ont chacun des spécificités différentes une fois regroupés, qu'on apprenne un style ou l'autre en premier c'est, je pense, kiff-kiff. L'essentiel est de ne pas s'enfermer dans un style en pensant que c'est le seul possible, que ce soit l'un ou l'autre.

Non pas que j'encourage en particulier les débuts en ruby, c'est un langage comme un autre et comme je le dis souvent, je pense qu'on devrais pas passer 3h à décider parce que si, justement, on débute, on a pas assez de recul pour juger objectivement les avantages et défauts de tel ou tel langage. C'est juste que l'argument 'commencer par quelque chose de difficile' pour mieux se préparer est, je trouve, aussi valable que l'inverse : en commençant par un langage sans difficultés syntaxiques, on se prépare mieux à aborder les concepts des autres langages puisqu'on aura maîtrisé les bases sans fioritures, par exemple.

tbol
tbol
Niveau 20
06 avril 2014 à 15:54:26

Comme expliqué pourquoi pas mais c'est pas l'idéal. Tu pourrais aussi envisager de suivre le cours " Programmation Java pour les enfants, les parents et les grands parents " : http://java.developpez.com/livres-collaboratifs/javaenfants/
Qui à très largement déjà fait ses preuves, et qui à un avantage sur Ruby c'est qu'il te prépare beaucoup mieux aux autres langages très utilisés comme par exemple C# qui est un cousin de Java et aussi C++ qui est plus difficile d'accès mais plus facile à aborder après avoir appris les concepts avec Java.

Hedjaz
Hedjaz
Niveau 6
06 avril 2014 à 21:57:24

Bon bah merci pour vos réponses :oui:

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