Pourquoi Ruby: Ce que les débutants en programmation doivent apprendre avant le "langage"
Les gens qui rencontrent le codage pour la première fois posent toujours des questions similaires.
"Pourquoi apprendre Ruby?
Ne serait-il pas préférable d'apprendre Java, JavaScript ou Python pour trouver un emploi?"
Cette question est très valable.
Et la moitié est vraie.
Les langages les plus courants sur le marché de l'emploi sont
clairement Java, JavaScript et Python.
De nombreuses entreprises construisent et utilisent des systèmes basés sur ces langages.
Cependant,
"Qu'apprendre maintenant pour développer le plus rapidement ses compétences et sa pensée pour l'avenir?"
Si vous changez de perspective avec cette question,
la réponse change complètement.
La chose la plus importante dans l'apprentissage de la programmation
Ce n'est pas la "difficulté du langage", mais le "cadre de pensée"
Ce dont une personne a besoin lorsqu'elle apprend à programmer pour la première fois
sont finalement ces deux choses, peu importe comment elles sont joliment emballées.
La capacité de comprendre ce qu'est la programmation
Un cadre de pensée pour lire et écrire dans un langage de programmation
Et ces deux choses
varient considérablement en fonction de la difficulté du langage.
Si le langage est complexe,
on se heurte à des obstacles avant d'atteindre l'essence de la pensée.
On oublie "pourquoi il faut faire cela"
en mémorisant des mots-clés de syntaxe,
en apprenant des règles mécaniques.
Alors,
quel est le meilleur langage d'introduction?
C'est
un langage qui permet d'apprendre à penser sans fardeau inutile,
c'est-à-dire un langage centré sur la pensée.
Ruby est l'un de ces langages
qui est "adapté à la structure de la pensée humaine" de manière extrême.
Rien que de comparer Hello World montre les avantages de Ruby
Hello World en Java
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Il y a trop de mots "inconnus" pour les débutants ici.
public
class
static
void
main
String
args
System.out
println
Aucun de ces éléments n'est facile à expliquer aux débutants.
Et il faut comprendre tout cela
pour pouvoir enfin imprimer "une ligne de texte".
En d'autres termes, la langue devient un obstacle avant même d'apprendre le code.
Hello World en JavaScript
console.log("Hello World");
JavaScript est beaucoup plus simple mais
la complexité de l'apprentissage explose vers la fin
avec l'environnement web, l'exécution, l'asynchronisme, etc.
Hello World en Python
print("Hello World")
Python est vraiment simple.
Cependant, l'essence de Python est "langage de script + science des données".
Pour compléter toute l'architecture d'un service web,
il est nécessaire d'apprendre beaucoup plus.
Hello World en Ruby
puts "Hello World"
C'est tout.
Il n'y a pas de mots-clés inutiles.
Cela se lit comme une phrase.
puts est l'abréviation de "put string".
Cela signifie littéralement "mettre une chaîne de caractères sur l'écran".
La structure de pensée du code Ruby correspond presque entièrement à celle de la pensée humaine.
En d'autres termes, le cerveau d'un débutant
peut consacrer son énergie à "former une structure de pensée" plutôt qu'à "mémoriser la syntaxe".
L'avantage décisif de Ruby:
La vitesse à laquelle l'apprenant atteint "l'essence" est extrêmement rapide
L'objectif du débutant est
de devenir quelqu'un qui peut concevoir et mettre en œuvre des fonctionnalités par lui-même,
pas quelqu'un qui écrit juste 3 lignes de code.
Plus la langue est complexe,
plus il faut de temps pour y arriver.
Ruby raccourcit ce processus presque entièrement.
Boucle →
5.times do ... endCondition →
if ... elseFonction →
def greetClasse →
class UserModule →
module Payment
Ruby
projette la pensée naturelle que les gens utilisent déjà directement dans le code.
En conséquence,
les concepts clés tels que les méthodes, les classes, les modules
peuvent être compris en tant que "structure de pensée" plutôt que de syntaxe.
Cette capacité
lorsque vous apprenez plus tard Java, Python, JavaScript
crée une vitesse d'apprentissage écrasante.
En d'autres termes,
commencer par Ruby change la vitesse à laquelle vous apprenez d'autres langages.
Et la raison la plus décisive:
Ruby vous permet de maîtriser le "flux complet du développement de services" le plus rapidement
Ruby est beau même en solo
mais sa véritable puissance réside dans Ruby on Rails.
Rails simplifie radicalement le développement de services web.
- URL → Contrôleur → Modèle → Vue
Stockage de données → CRUD
Authentification → Middleware
Routage → Mappage automatique
Déploiement → Script automatique
Il n'y a presque aucun outil aussi rapide que Ruby/Rails pour comprendre le flux complet d'un service réel.
Pour apprendre des concepts similaires en Java?
Spring
JPA
Tomcat
Gradle/Maven
Injection de dépendances
Cycle de vie des beans
Il y a trop de choses à apprendre.
C'est difficile pour un débutant à gérer.
C'est la même chose pour Python:
ORM Django
Dispatcher d'URL
Structure de paramètres
WSGI
Moteur de template
Je ne critique pas ces outils.
Je parle de ce qui est optimisé pour les débutants.
Ruby on Rails est
l'outil le plus puissant au monde pour
mettre entre les mains de "ceux qui apprennent le développement pour la première fois"
la structure complète d'un service web.
Ruby montre aux débutants "l'essence du code"
Ruby exclut la syntaxe complexe
et ne laisse que la structure de pensée.
Grâce à cela, l'apprenant peut
Comprendre pourquoi les fonctions sont nécessaires
Comment les classes modélisent le monde
Comment les modules séparent les fonctionnalités communes
Comment le flux structure l'ensemble du service
Il peut apprendre et expérimenter directement l'essence.
Une fois cette essence maîtrisée,
Java, JavaScript, Python
ou tout autre langage devient rapidement familier.
Ce que vous apprenez alors, ce sont les "règles de syntaxe", pas la "pensée".
La pensée est déjà formée par Ruby.
Conclusion:
**Ruby n'est pas un langage pour l'emploi,
c'est un langage qui crée un deuxième cerveau pour comprendre le codage.**
L'emploi n'est pas déterminé par une seule langue.
Au contraire, les capacités de réflexion, de résolution de problèmes et de conception sont plus importantes.
Ruby développe ces compétences le plus rapidement.
C'est pourquoi apprendre Ruby en premier
n'est pas le chemin facile, mais le chemin rapide.
Tout ce que vous apprenez en Ruby maintenant
accélérera considérablement votre compréhension future de n'importe quel langage.
Et à un moment donné, vous réaliserez.
"Oh... Ruby ne m'a pas appris à coder,
il m'a aidé à créer un 'cerveau' pour comprendre le codage."