المقدمة: اللحظة التي غيّرت طريقة تفكيري في البرمجة
هل سألت نفسك يومًا: “بس أكتب الكود؟ ولا في طريقة أفضل من كتابة الكود؟”
أول ما سمعت بـ Ruby، كانت ردة فعلي: “لغة برمجة أخرى؟ ليش؟” في البداية، كنت مركز على JavaScript و Python، وكنت بتخيل إن Ruby مجرد لغة أخرى بنفس الفكرة. لكن لما بدأت أشتغل عليها بجد، اكتشفت شيء مختلف تماسًا — طريقة تفكير جديدة في كتابة الكود نفسه.
في هذا المقال، رح أشرح لك كيف أن Ruby ليست فقط “لغة برمجة أخرى”، بل هي فلسفة في كتابة الكود. وكيف إنها تغيّر طريقة تفكيرك ليس فقط في Ruby، بل في أي لغة برمجة تستخدمها لاحقًا.
Ruby ليست مجرد لغة برمجة — هي فلسفة
قبل ما نتحدث عن التفاصيل، لازم تفهم الفكرة الأساسية خلف Ruby.
Ruby اتطورت في تسعينيات اليوم (سنة 1995) على يد Yukihiro Matsumoto (يُعرف باسم “Matz”). والفكرة الأساسية كانت بسيطة جدًا: اجعل البرمجة أكتر فرحًا وأسهل للمبرمجين.
هاي ليست مزحة. من تجربتي، أغلب لغات البرمجة بتركز على الأداء أو الأمان أو الكفاءة. لكن Ruby بتركز على المبرمج نفسه. كيف يشعر؟ كيف بدو الكود؟ هل بسيط وجميل وسهل القراءة؟
الفرق الأول: اللغة بتتحدث معك، وليس العكس
دعني أوضح هاي بمثال عملي.
في لغات أخرى (مثل Java أو C++)، الكود يكون معقد شوية:
java// Java
ArrayList<String> names = new ArrayList<String>();
names.add("محمد");
names.add("أحمد");
for (String name : names) {
System.out.println("السلام عليكم " + name);
}
الآن نفس الفكرة بـ Ruby:
ruby# Ruby
names = ["محمد", "أحمد"]
names.each do |name|
puts "السلام عليكم #{name}"
end
شنو الفرق؟
في Java، أنت بتقول للكمبيوتر: “أنا بدي أنشئ قائمة (ArrayList)، بعدين أضيف عناصر، بعدين أتكرر.”
في Ruby، أنت بتقول: “في عندي قائمة أسماء، لكل اسم، اطبع تحية.”
الفرق ليس في الكفاءة — بل في طريقة التفكير. Ruby بتخليك تركز على ما تريده، وليس كيف تقول للكمبيوتر أن يفعله.
الفرق الثاني: الكود أقل، والمعنى أكتر
Ruby بتاعة بتقول: “كتب أقل، افعل أكتر.”
خذ هاي المثال. بدك تطبع الأرقام من 1 إلى 5:
في لغات أخرى:
javascript// JavaScript
for (let i = 1; i <= 5; i++) {
console.log(i);
}
في Ruby:
ruby# Ruby
(1..5).each { |i| puts i }
أو حتى أبسط:
rubyputs (1..5).to_a
من تجربتي، هاي ليست مجرد “كتابة أقل”. هاي وضوح أكتر. عندما تقرأ الكود الثاني، بتفهم فورًا: “أنا طابع الأرقام من 1 إلى 5”. ما في التفاصيل الإجرائية اللي بتشتت الانتباه.
الفرق الثالث: كل شيء كائن (Object-Oriented بحقيقي)
في Ruby، كل شيء كائن. حتى الأرقام!
ruby# Ruby
5.times { |i| puts "مرحبا #{i}" }
"محمد".upcase # محمد
"محمد".length # 5
[1, 2, 3].reverse # [3, 2, 1]
شنو معنى هاي؟
معناه إن الأرقام والنصوص والقوائم — كلها كائنات بتملك methods (دوال). بدل ما تكتب دالة منفصلة تقول لك: “كم طول النص؟”، أنت ببساطة تقول للنص نفسه: “أخبرني بطولك!”
من تجربتي، هاي تغيّر طريقة تفكيرك. بدل ما تفكر “أنا بدي أعمل شيء على البيانات”، بتفكر “البيانات نفسها بتقدر تعمل هاي الحاجات.”
الفرق الرابع: Ruby on Rails — الإطار الذي غيّر كل شيء
الآن، Ruby نفسها لغة رائعة. لكن الحقيقي اللي خلى Ruby تشهيرة هو Ruby on Rails.
Rails هي إطار عمل (framework) بنيت على Ruby، وهي غيّرت طريقة بناء تطبيقات الويب بشكل كامل.
الفكرة وراء Rails بسيطة: بدل ما تكتب مئات الأسطر من الكود لإنشاء موقع ويب، Rails بتعطيك “scaffolding” (هيكل جاهز) يخليك تركز على المنطق الفعلي.
قبل Rails (مثلًا في PHP):
php<?php
// إنشاء اتصال بقاعدة البيانات
$conn = new mysqli("localhost", "user", "password", "database");
// اختيار البيانات
$sql = "SELECT * FROM users WHERE id = " . $_GET['id'];
$result = $conn->query($sql);
// عرض النتائج
while($row = $result->fetch_assoc()) {
echo "الاسم: " . $row["name"];
}
?>
بـ Rails:
ruby# config/routes.rb
Rails.application.routes.draw do
resources :users
end
# app/controllers/users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
# app/views/users/show.html.erb
<h1><%= @user.name %></h1>
الفرق ليس في كمية الكود فقط — بل في طريقة التنظيم. Rails بتفرض عليك طريقة معينة لتنظيم الكود، وهاي الطريقة بتخليك وأي مبرمج آخر يفهم الكود بسرعة.
كيف Ruby غيّرت طريقة تفكيري في البرمجة
من تجربتي الشخصية، تعلم Ruby علّمني حاجات مهمة:
1. الوضوح أهم من الكفاءة
في البداية، كنت دايمًا بركز: “هاي الطريقة أسرع؟ هاي تستهلك ذاكرة أقل؟”
لكن Ruby قالت لي: “آسف، بس الكود اللي الناس تقرأه وتفهمه بسرعة أهم. الأداء بنحسنه لاحقًا إذا احتجنا.”
هاي فلسفة غيّرت طريقة كتابتي للكود حتى في لغات أخرى.
2. البساطة جمال
من تجربتي مع C++ و Java، كنت اعتقد إن “الكود الحقيقي” لازم يكون معقد شوية. بس Ruby قالت: “لا. الكود البسيط الجميل اللي تقرأه وتفهمه من الشعرة — هاي هو الكود الحقيقي.”
3. المبرمج أهم من اللغة
Ruby علّمتني إن اللغة لازم تخدم المبرمج، وليس العكس. المبرمج هو اللي بدو يكون مركز، وليس قواعد اللغة.
هاي الفكرة — تعلمتها من Ruby — بطبقها الآن في كل لغة برمجة أستخدمها.
Ruby في العالم الحقيقي
الآن، قد تقول: “لطيف جدًا، بس Ruby مستخدمة فين؟”
من تجربتي في السوق، Ruby استخدمات عملية كتير:
تطبيقات الويب
Airbnb، GitHub، Hulu، Shopify — كلهم بنيت على Rails. وليش؟ لأن Rails بتخليك تبني وتطلع موقع بسرعة، وتركز على المنطق، وليس على التفاصيل التقنية.
السكريبتات والأتمتة
Ruby رائعة للـ automation scripts. إذا بدك تكتب سكريبت يعمل شيء معين (مثل معالجة ملفات، أو جمع بيانات)، Ruby بتخليك تكتبه بسرعة وسهولة.
تعليم البرمجة
بعض الجامعات والمدارس استخدمت Ruby لتعليم البرمجة، لأنها بسيطة جدًا ومباشرة.
التحديات: لما Ruby ليست الخيار الأفضل
لكن بتقول الحقيقة — Ruby ليست مثالية في كل شيء.
الأداء
Ruby بطيئة شوية مقارنة بـ C++ أو Go. إذا بدك تطبيق بسرعة عالية جدًا (مثل real-time processing)، Ruby ليست الخيار الأول.
التعلم
بعض أفكار Ruby متقدمة. البرمجة المتزامنة (concurrency)، مثلًا، بتحتاج تفهم عميق. اقرأ عن الفرق بين البرمجة المتزامنة وغير المتزامنة إذا بدك تفهم أكتر.
حجم المكتبات
بعض المكتبات المتخصصة (مثل machine learning) — Ruby فيها خيارات أقل من Python. إذا بدك تبني تطبيقات ذكاء اصطناعي، Python أو TensorFlow بتكون الخيار الأفضل.
كيف تبدأ مع Ruby؟
إذا صرت مهتم تجرب Ruby، إليك الخطوات:
التثبيت
bash# على Linux/Mac
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-installer | bash
# على Windows
# استخدم RubyInstaller من موقعهم الرسمي
أول برنامج
rubyputs "السلام عليكم Ruby!"
names = ["محمد", "أحمد", "فاطمة"]
names.each do |name|
puts "أهلا بـ #{name}"
end
حفظ الملف باسم hello.rb وشغله:
bashruby hello.rb
تعلم أكتر
من تجربتي، أفضل طريقة لتعلم Ruby:
- اقرأ دليل Ruby الرسمي
- حل مشاكل على Project Euler باستخدام Ruby
- لما تصير مرتاح، جرب Ruby on Rails لبناء موقع ويب
نصائح من تجربتي
1. تعلم Ruby تغيّر طريقة تفكيرك
حتى لو ما رحت تستخدم Ruby كل يوم، تعلمها رح تعطيك منظور جديد على البرمجة. تعلمتها، وبعدين كتابتي بـ Python و JavaScript صارت أفضل.
2. Ruby on Rails مشهورة، بس Ruby نفسها مهمة أكتر
ما تركز فقط على Rails. تعلم Ruby نفسها أولًا، بعدين Rails.
3. المجتمع رائع
مجتمع Ruby كتير محترف وودود. إذا عندك سؤال، بتلاقي الإجابة بسهولة على Stack Overflow أو منتديات Ruby.
4. Ruby بتخليك تستمتع بالبرمجة
من أهم نقطة: Ruby بتخليك تستمتع بكتابة الكود. والاستمتاع بما تعمل، هاي أهم حاجة في مسيرة أي مبرمج.
الخاتمة: فلسفة، وليس مجرد لغة
Ruby ليست مجرد لغة برمجة. هي فلسفة في كتابة الكود. فلسفة تقول: “البرمجة يجب أن تكون فرح، وجميلة، وبسيطة.”
من تجربتي، كل مبرمج — حتى لو ما كان بيستخدم Ruby يومًا — لازم يتعلم Ruby ولو لشهر واحد. ليش؟ لأنها رح تغيّر طريقة تفكيرك في كل لغة برمجة أخرى.
بعض الأفكار اللي تعلمتها من Ruby:
- الوضوح أهم من الكفاءة
- البساطة جمال
- المبرمج يجب أن يكون مركز اهتمام اللغة
- الكود الجميل مهم جدًا
هاي الأفكار — طبقتها في كل شيء بعدها.
الخطوة التالية:
- ثبت Ruby على جهازك
- اكتب أول برنامج (حتى لو بسيط)
- شوف الفرق
- قرر إذا بدك تستمر
Ruby انتظرة. والبرمجة الجميلة انتظرة.
اكتشاف المزيد من كود التطور
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.


