أسئلة شائعة لطالما وجدناها في أذهاننا كأشخاص هدفنا تطوير ذواتنا في علوم الحاسب، ماهي لغة البرمجة المناسبة للتعلّم , وكم لغة برمجة يجب أن أعرفها حتى يقال عني محترف؟, خصوصا وانه بدون مبالغة أشبه أهمية تعلم لغات البرمجة بأهمية لغتنا التي نتحدثها، كما أنه بتعلم البرمجة سنفهم كيفية وضع حلول لمشاكل عديدة ومهمة، فالمبرمج أو المطور هو في الأساس مُفكّر بالدرجة الأولي , واليوم نستكمل حديثنا عن لغات البرمجة بمقال عن لغة روبي التي تعتبر واحدة من أكثر اللغات إستخداماً في تطوير الويب, فهي لغة برمجة كائنيّة التوجّه بسيطة وقويّة في ذات الوقت، تم تطويرها في منتصف التسعينات بواسطة عالم الحاسوب Yukihiro Matsumoto والشهير باسم Matz. كان هدفه من تطوير اللغة جعل البرمجة أكثر متعةً وإنتاجيّة. و تعمل هذه اللُّغة على العديد من أنظمة التشغيل، مثل ويندوز، ماك و جنو/لينكس والنسخ المختلفة من UNIX.
تعتبر لغة روبي من لغات المستوى العالي أي" high level language " , أي أنها وليس على سبيل الحصر : لا تعرض للمبرمج تفاصيل تطبيق أوامر اللغة على مستوى عتاد الحاسوب مثل عناوين الذاكرة أو سجلات وحدة المعالجة المركزية حيث يعتبر هذا النوع من اللغات من أسهل لغات البرمجة حيث تعتبر أقرب للغة المحكية أو لغة البشر.
اقرأ أيضا :
تعريف :
يمكن القول أن إطار Ruby On Rails هو ما يمنح لغة روبي شهرتها وقوتها وخاصة أن هذا الإطار جعل من تطوير مواقع الويب بإستخدام روبي أكثر سهولة وقوة وهو ما دفع الكثير من المطورين و المبرمجين للإعتماد على روبي في تطوير مواقع ضخمة، فيكفي أن تعرف أن مواقع كبرى مثل تويتر وساوند كلاود و GitHub وهي أضخم منصة للبرمجيات مفتوحة المصدر في العالم و Goodreads و Ask.fm وغيرها بنيت باستخدام إطار Ruby On Rails .
رغم أن إطار Ruby On Rails هو ما يجعل مبرمجي روبي ضمن الأكثر طلباً في سوق العمل إلا أن لغة روبي بدون الإطار أصبحت مطلوبة أيضاً بشكل كبير حيث أصبح استخدامها شائعاً ضمن أدوار DevOps وهي لمن لا يعرف تخصص جديد يعمل على سد الفجوة بين المبرمج والتنفيذي أو بين مطور التطبيق والمشرف على عملية التطوير على سبيل المثال، ففي السابق كانت تتم عملية تطوير التطبيقات بشكل روتيني مع فصل تام بين الأقسام والتخصصات وكانت تتم عمليات التسليم بين كل قسم وآخر بعد انتهاء العمل ولكن مع استخدام إستراتيجيات التطوير الجديدة مع فقد ظهر تخصص DevOps , و بفضله قد بدأت تظهر أثار ايجابية وتحسينات كثيرة علي مراحل تطوير التطبيقات .
هل بتعلمي الصحيح لهذه اللغة , يمكن أن أقول على نفسي مبرمج ؟:
في علوم الحاسب يعتبر كُل مبرمج نفسه خبيراً بأغلب لغات البرمجة (إذا لم تكن كلها). حتى تلك اللغات التي لم يسمع عنها ابداً. قد تسأل لماذا؟ وكيف؟ لأن هندسة البرمجيات ليست مجرّد لغة أو (لغات). فعندما تعرف منطقها! من خلال المنطق فحسب، تستطيع ان تتعامل مع أي لغة برمجة. مع العلم اننا لانعتبر كل لغة لها علاقة بالحاسب لغة برمجة فهناك لغات حوسبة مثل لغة R ولغات وصف مثل HTML. فلغات البرمجة سهلة جداً اذا كنت تعرف المنطق الاساسي الذي تشترك به كل لغات البرمجة. حسناً إذاً ماهو المنطق الاساسي ؟ وكيف يمكن تعلمه ؟ بسهولة هي أوامر ثابته لابد وأن تجدها في كل لغة برمجة. عندما تعرف كيف يعمل كل برنامج فأنت مبرمج. لذا أنصح المبتدئ بتعلم لغة C++ ولا يستعجل على النتائج فالتعامل مع لغة C++ نتائجها مبدئياً شاشة سوداء ولكن ستلاحظ انك بفترة وجيزة استطعت معرفة المنطق المقصود. كم لغة تحتاج؟ الجواب هو (المنطق فحسب). وتكون محترف بعدما تتعلم المنطق في تعلم الخوارزميات.أسهل لغة برمجة يمكنك تعلمها ;
في الماضي القريب كانت لغة PHP هي الخيار الأول لمن يريد تعلم برمجة الويب، و هي بصراحة أول لغة تعلمتها, ورغم أن PHP تعتبر خياراً رائعاً نظراً لسهولتها إلا أن الكثير من المبرمجين يرى أنها تحتوى على الكثير من القصور، لذلك أتت لغة روبي لتحل الكثير من مشاكل PHP وخاصة أنها لغة سهلة في التعلم وسريعة في التطوير وتتميز بالسهولة في التعامل مع النصوص حيث توفر دوال جاهزة للتعامل مع النصوص كما أن الشفرة البرمجية للغة روبي سهلة القراءة و الحفظ .تعتبر لغة روبي من لغات المستوى العالي أي" high level language " , أي أنها وليس على سبيل الحصر : لا تعرض للمبرمج تفاصيل تطبيق أوامر اللغة على مستوى عتاد الحاسوب مثل عناوين الذاكرة أو سجلات وحدة المعالجة المركزية حيث يعتبر هذا النوع من اللغات من أسهل لغات البرمجة حيث تعتبر أقرب للغة المحكية أو لغة البشر.
اقرأ أيضا :
البرمجة أم التصميم ، ما هو المجال المناسب لي؟
إطار Ruby On Rails .. نقطة تفوق روبي :
الكثير من المبرمجين المبتدئين لا يعرفون ما الفرق بين لغة روبي وإطار Ruby On Rails، لغة روبي هي لغة برمجة يمكن استخدامها في تطوير برمجيات سطح المكتب والهواتف الذكية ومواقع الويب، أما إطار Ruby On Rails فهو مجموعة من التعليمات البرمجية مكتوبة مسبقاً بهدف مساعدة المبرمجين على بناء مواقع ويب بطريقة أسرع و بكفاءة عالية أيضا , و هذا بالتحديد ما يطلق عليه framework .تعريف :
روبي أون ريلز أو Ruby On Rails هو إطار عمل تمت برمجته باستخدام روبي لتسهيل تطوير مواقع الويب، ويقصد بإطار العمل مجموعة من الأكواد والمكتبات والخوارزميات التي تعمل على توفير وظائف معينة مثل بناء تطبيقات الهواتف أو برامج سطح المكتب حسب تخصص الإطار.
يمكن القول أن إطار Ruby On Rails هو ما يمنح لغة روبي شهرتها وقوتها وخاصة أن هذا الإطار جعل من تطوير مواقع الويب بإستخدام روبي أكثر سهولة وقوة وهو ما دفع الكثير من المطورين و المبرمجين للإعتماد على روبي في تطوير مواقع ضخمة، فيكفي أن تعرف أن مواقع كبرى مثل تويتر وساوند كلاود و GitHub وهي أضخم منصة للبرمجيات مفتوحة المصدر في العالم و Goodreads و Ask.fm وغيرها بنيت باستخدام إطار Ruby On Rails .
أحد أكثر اللغات طلباً في سوق العمل :
منذ إطلاق إطار Ruby On Rails في عام 2004 أصبحت لغة روبي أحد أكثر لغات البرمجة كفاءة خاصة في مجال تطوير الويب، كما أن مبرمجي إطار Ruby On Rails أصبح عليهم طلب كبير في سوق العمل.رغم أن إطار Ruby On Rails هو ما يجعل مبرمجي روبي ضمن الأكثر طلباً في سوق العمل إلا أن لغة روبي بدون الإطار أصبحت مطلوبة أيضاً بشكل كبير حيث أصبح استخدامها شائعاً ضمن أدوار DevOps وهي لمن لا يعرف تخصص جديد يعمل على سد الفجوة بين المبرمج والتنفيذي أو بين مطور التطبيق والمشرف على عملية التطوير على سبيل المثال، ففي السابق كانت تتم عملية تطوير التطبيقات بشكل روتيني مع فصل تام بين الأقسام والتخصصات وكانت تتم عمليات التسليم بين كل قسم وآخر بعد انتهاء العمل ولكن مع استخدام إستراتيجيات التطوير الجديدة مع فقد ظهر تخصص DevOps , و بفضله قد بدأت تظهر أثار ايجابية وتحسينات كثيرة علي مراحل تطوير التطبيقات .
مميزات أخرى :
للغة روبي مميزات كثيرة يجعل من تعلمها أمراً سهلاً، كما يجعل من البرمجة بها أمراً ممتعاً و أذكر منها :- تحتوى روبي على إطارات برمجية كثيرة ومكتبات عديدة تصل حتى 60 ألف مكتبة وإطار عمل تغطي معظم إحتياجات المبرمجين بجميع تخصصاتهم.
- وثائقيات لغات البرمجة تلعب دوراً هاماً في أي لغة برمجة، فأي مبرمج لن يستطيع حفظ جميع أوامر اللغة التي يجيدها لذلك من الرائع أن توفر هذه اللغات وثائق وبيانات يمكن الرجوع إليها، تحتوي لغة روبي على وثائق تحتوي على جميع أوامر اللغة ويمكن الوصول إليها بسهولة من هنا.
- مصادر تعلم لغة روبي كثيرة ومتوفر أغلبها مجاناً، يمكنك آلاستعانة بكورس موقع Udemy وموقع Lynda ، هناك أيضاً كورس عربي في موقع رواق لتعلم اللغة يمكن الوصول إليه من هنا.
- مفتوحة المصدر : كون اللّغة مفتوحة المصدر يعنى أنّه يوجد عدد غير منتهي من المطوّرين قائمين على اللّغة، وسرعة في معالجة الأخطاء.
- ذات توجهات عامة : يعنى إمكانية استخدامها في أنواع مختلفة من البرامج، سواء في قواعد البيانات أو واجهات رسوميّة أو برامج علميّة أو الويب، إلى آخره.
- لغة كائنية التوجه : الميزة هنا هي أنّها الأسلوب الأفضل والآمن لتطوير البرمجيّات.
- دينامكية : لن تكون مضطرًا أن تعلن عن نوع المتغير، بعكس لغات أخرى مثل Java.
- مفسرة : بمعنى أنها تستخدم مفسّرًا وليس مترجمًا (المترجم: هو برنامج يقوم بتحويل الشيفرات البرمجيّة من لغة مثل C مثلاً إلى ملفّ تنفيذي. أمّا المفسر: هو برنامج يقوم بتنفيذ الشيفرات البرمجيّة سطرًا بعد سطر وهذا له مميزات وسلبيات. فمن المميزات هي المحموليّة على أكثر من نظام تشغيل وأكثر من بنية من العتاد. بعكس اللّغات المترجمة التي ستحتاج إلى إعادة ترجمة برنامجك كل مرّة لكل منصّة. من السلبيات، البطء وإمكانيّة الإطّلاع على الشيفرات البرمجيّة، إلّا أنّ هذا الأمر لا يعتبر مشكلة في عالم المصادر الحرة)
- المحمولية : بمعنى أنّها مدعومة على العديد من النظم. وكذلك هي لغة بسيطة.