الشبكة العربية لمطوري الألعاب

مبتدئ  علاء هماش مشاركة 1

أعتذر عن كون المقالة غير مكتملة لضيق الوقت، فكتابة مقالة كهذه يستغرق بضعة ساعات بين التنسيق و الاختصار و جمع الافكار و ترتيبها.

أي لغات البرمجة أستخدم لبرمجة الألعاب؟ ما هي اللغات التي تستخدمها الشركات العالمية؟
لا شك أن كل من يريد أن يدخل عالم برمجة الألعاب يسأل السؤالين السابقين و هنا سأحاول إن شاء الله أن أجيب عن التساؤلين بقدر ما استطيع.

تركز هذه المقالة على اللغات المستخدمة في برمجة الألعاب و ليس برمجة محركات الألعاب. بالرغم من أن كل ما يرد هنا يمكن قوله عن برمجة محركات الألعاب إلا أن لي رأيا واحدا لا يتغير عن برمجة محركات الألعاب و هو أنها يجب أن تكون باستخدام C++/C بالإضافة إلى لغة Assembly. يمكنك باستخدام هذه اللغات تحقيق أفضل أداء و الاستفادة من العتاد إلى أقصى حد.

تنقسم لغات البرمجة في عالم الألعاب إلى عالمين أولهما: عالم C++/C و العالم الآخر هو: "اللغات الأخرى"

يعتمد اختيار اللغة المستخدمة في برمجة الألعاب على عدة أمور:
-----------------------------------------------------------------------
1- إذا كنت تنوي احتراف برمجة الألعاب أم لا
2- متطلبات اللعبة من الأداء و التكنولوجيا
3- لغات البرمجة التي توفرها المنصة التي ستعمل عليها اللعبة
4- منصات التشغيل المطلوب تشغيل اللعبة عليها


في الحالات التالية استخدم أي لغة برمجة "اللغات الأخرى":
----------------------------------------------------------------
1- اذا كنت لا تسعى إلى الاحتراف
2- اذا كنت تبرمج العابا صغيرة لا تحتاج إلى أداء عال
3- اذا كانت منصة التشغيل تفرض عليك لغة محددة
4- اذا كنت تريد أن تصنع لعبة تعمل على العديد من منصات التشغيل التي لا يتوفر لديك محرك العاب يدعم C++/C على كل تلك المنصات.


في الحالات التالية استخدم C++/C:
---------------------------------------
1- اذا كنت تسعى إلى الاحتراف و المقدرة على المنافسة عالميا
2- اذا كنت تريد أن تبرمج العابا ضخمة تحتاج إلى اعتصار كل نقطة أداء يوفرها العتاد
3- إذا كنت تسعى إلى التحرر من أي قيود تضعها العديد من الشركات المنتجة لمحركات الالعاب على محركاتها.
4- اذا كنت تريد أن تكون قادرا على مجارات التكنولوجيا الحديثة في مجال صناعة الألعاب فور صدورها. عندما تختار C++/C فإنك ستكون دائما قادرا على اضافة ميزات جديدة تستفيد من آخر تكنولوجيا CPU و GPU و البرمجة المتوازية و أحدث الخوارزميات المستخدمة في برمجة الألعاب و غيرها دون الحاجة لانتظار الرحمة من غيرك ليضيف تلك الميزات إلى محرك الألعاب.

بهذا يكون لدينا منهج لاختيار لغة البرمجة التي تناسب الطريق الذي تريد أن تسلكه في عالم برمجة الألعاب. لكن يبقى التساؤل أي "اللغات الأخرى" أختار؟ إليك الإجابة:


الخيار بين "اللغات الأخرى":
----------------------------
1- اذا كانت لغة Python (بايثن أو بايثان (الألف الثانية مفخمة)) إحدى الخيارات فعليك بها فهي لغة راسخة و متعددة منصات التشغيل.
2- اذا كان محرك الألعاب يدعم أكثر من لغة حوار احدها خاص بالشركة مالكة المحرك، و الأخرى لغة عامة معروفة فعليك باللغة العامة لأن هذا يعني أنك ستتمكن من الاستفادة مما ستتعلمه في مجالات أخرى. مثلا اذا كان الخيار بين اللغة الخاصة Unity3D Script و اللغات العامة التي يدعمها هذا المحرك مثلا لغة جافا سكريبت او سي شارب فعليك بإحدى اللغات العامة. لكن من الضروري الانتباه إلى أنه اذا كان الدعم المقدم للغة الخاصة أفضل من الدعم المقدم للغة العامة فإنه يجب تفضيل اللغة الخاصة.
3- اذا كان الخيار بين لغتين عامتين فاختر اللغة التي تعمل على عدد أكبر من منصات التشغيل. مثلا اذا كان الخيار بين اللغتين العامتين: بايثان و سي شارب فإن الخيار بالتأكيد سيكون بايثان لأنها متوفرة على عدد اكبر من منصات التشغيل.
 

لغات البرمجة بين السهولة و الصعوبة:
----------------------------------------
كثيرا ما اقرأ او اسمع أن البرمجة باستخدام سي شارب و غيرها اسهل من C++/C و بالطبع يتم دائما تقديم مثال عن عمل شيئ معقد باستخدام سطرين في لغة سي شارب و عمله بمئة سطر في C++ إن مثل هذا الفعل خديعة و استخفاف بالعقول. الخديعة هي أن السطرين سابقي الذكر ما هما الا استدعاء لوظائف من مكتبات ملحقة باللغة و ليست جزءا من اللغة!!. لقد أرهق صانعوا سي شارب انفسهم بصناعة تلك المكتبات ليسهل عليهم تسويق اللغة على انها لغة سهلة الاستخدام. يتوفر للغة C++/C عشرات الآلاف من المكتبات لكن بالطبع لا يقول أحد أن تلك المكتبات هي جزء من اللغة و إنما هي ملحقات. لتكون المقارنة السابقة عادلة كان يجب استخدام إحدى مكتبات C++ و عندها سيتم انجاز المطلوب في سطرين كما هو الحال في C#. في بدايات انتشار لغة C# كان البعض يروّج إلى أنه انتهى عهد  C++/Cلكن الكثير من المبرمجين تركوا لغة سي شارب بعد ان وجدوا أنهم اصبحوا مجرد تابعين غير قادرين على التقدم بأكثر من ما تسمح به مايكروسوفت. تذكر أن هناك الاف المكتبات الجاهزة التي تجعل استخدام لغة C++/C سهلا جدا في الكثير من المجالات. و تذكر أنك في بداية استخدامك للغات مثل C# يكون الأمر اسهل من C++/C  ، لكنك ما أن تتعمق في استخدام اللغة حتى تجد أنك محصور في قفص في حالة سي شارب بينما تجد نفسك حرا طليقا في حالة C++/C. لقد أشار مبرمج أحد الإضافات المشهورة لمحرك الألعاب Unity3D إلى أنه كان من الصعب جدا اعادة كتابة الكثير من الوظائف الرياضية باستخدام لغة سي شارب نظرا لعدم توفرها بينما هي متوفرة من مصادر كثيرة جدا باستخدام لغة C++/C !!!

في أحد الأيام اتصل بي صديق ليطلب مني القيام بعمل لإحدى الشركات بالرغم من أن هناك قسما للبرمجة في تلك الشركة و لديهم كبير مبرمجين يتقاضى أجرا مرتفعا. المهم أنني قبلت بالمهمة لأنها كانت ليوم واحد و كان الأجر عن شهر بأكمله! اثناء تأديتي للمهمة دار نقاش بيني و بين مبرمجي تلك الشركة و لم اكن اعرف انهم كلهم مبرمجوا فيجوال بيسك فسألني أحدهم عن رأي بهذه اللغة فتفوهت بكلام عن أن لغة فيجوال بيسك هي للمبتدئين و أنها لغة للتسلية و بالطبع ثارت حفيظة كبير المبرمجين فاعتذرت لهم. لكن أحد الاشخاص المراقبين للموقف قال: لو كان كبيرهم يستطيع تأدية المطلوب باستخدام فيجوال بيسك لما استأجرتك الشركة للقيام بهذا العمل. لقد اصاب ذلك الشخص بقوله كبد الحقيقة و كفاني الحاجة للمضي في أي جدال اضافي. في الوقت الذي سيبقى فيه أولئك المبرمجون في قفص فيجوال بيسك يعجزون عن الحرية و عظيم الأمور في عالم البرمجة فإنني سأكون دائما مبرمج C و Assembly فاردا جناحيه يحلق إلى أي مكان يريد في عالم البرمجة.

لماذا تحاول الشركات المنتجة لمحركات الالعاب دفع المبرمجين إلى استخدام لغات برمجة خاصة؟؟؟
---------------------------------------------------------------------------------------------------------
السبب هو أن هذه الشركات تسعى إلى إيجاد مجتمع من المبرمجين تابع لهم و غير قادر على التطور إلا باستخدام الأدوات التي يقدمونها لهم و بالتالي يصبحون غير قادرين على المنافسة و يصبح المبرمج معتمدا بالكامل على طريقة البرمجة المقدمة من قبل تلك الشركة و يصبح من الصعب جدا بالنسبة للمبرمج الانتقال إلى تعلم طريقة جديدة. إلى ماذا يرشدك أنك يجب أن تشتري ترخيصا من Unity3D و UDK لتتمكن من استخدام C/C++ معهما بينما يمكنك استخدام لغة الحوار الخاصة بهما مجانا دون ترخيص؟؟؟

لقد رأيت الكثير من المقارنات بين سرعة لغات البرمجة و قد سمعت للعديد من المبرمجين الذي يجزمون بأن اللغة الفلانية أسرع من غيرها. المأخذ الأعظم على كل تلك المقارنات أنها تقارن سرعة التنفيذ بين وظيفة مثلا بلغة C مع وظيفة بلغة C# و يتجاهلون تماما النقطة الأهم ذات الأثر الأعظم  و هي "أسلوب البرمجة" الذي صمم ليُستخدم مع تلك اللغة. فمثلا اسلوب البرمجة بلغة C يختلف كثيرا عن اسلوب البرمجة بلغة C++ و هذا الاختلاف في الاسلوب هو السبب الأهم في كون لغة  C++ أقل سرعة من C. لقد دار عدد كبير من الجدالات عن أن C++ تعمل بنفس سرعة C و هي جدالات لأن صانع C++ بنفسه يقول بأن C هي الأسرع.

ما أوردته ما هو الا القليل القليل عن هذا الموضوع و الأمر برمته مطروح هنا للنقاش البنّاء المفيد.

محترف  انس مشاركة 2

السلام عليكم

شكرا على الجهد المبذول في كتابة المقال، لكن كمجرد اقتراح، استعمل المدونة التي توقرها الشبكة لكتابة المقال، اظن الامر ايسر.

ساشاركك براي :
اولا، كلمة احتراف، يجب اعادة صياغتها، و اعادة المفهوم الحقيقي لها :

الشخص المحترف، هو الذي يجني مالا من عمله(و غالبا ما يكون عمله رئيسي).

لهذا فانك عندما تقول ان اللغة الوحيدة التي تسمح بانتاج العاب احترافية، فهذا خطأ.
لغة السي ++ ،(و لنفصل بينها و بينه لغة السي، لانهما لغتان كل بحد ذاتها)، تسمح بالنتاج العاب قادرة على الاستغلال الامثل لامكانيات الجهاز. لكن، ليست الوحيدة القادرة على انتاج العاب تجارية ، و كدليل، هناك العديد من الالعاب الرائعة ، و التي تم تطويرها بلغة السي شارب ، و التي حققت مبيعات معتبرة جدا.

لكن، بما ان لغة السي++ تسمح باستغلال امثل لامكانية الجهاز، فانها في نفس الوفت تتطلب وقت و جهدا اكبر ، و السبب يكمن في ان المطور يجب عليه التعامل "يدويا" مع الذاكرة ، و مكونات الجهاز، و هذا الامر معقد و روتيني، و لا يمكن اعتباره جزء من "تطوير الالعاب".
فلا توجد لغة "مثلى" ، يجب عليك وضع الميزات و العيوب لكل لغة، ثم المقارنة انطلاقا مما يحتاجه مشروعك.

لغة السي شارب حاليا، مستعملة بشكل مستمر في تطوير الالعاب، خصوصا و ان الشركات المصنعة لاجهزة الالعاب، توفر ادوات تطوير بهذه اللغة مثل  Sony PSP vita

بالنسبة الى البرمجة المتوازية، فلغة السي شارب ، توفر دعما رائعا لها، و المثال المطروح عن "سطرين لاستدعاء دوال اخرى" فلغة السي ++ تعمل بنفس المنطق. لان اللغة بدون المكتبات لا تساوي شيئا، و لتجرب كتابة برنامج دون استدعاء المكتبات القياسة الخاصة بلغة السي ++ ، المكتبات القياسية هي معيار شديد الاهمية لتقييم اللغة.



لا اريد ان ادخل في دوامة من نوع "C++ vs C#" لان الجدال فيها عقيم، لكن اود ان اشير الى ان لكل لغة توجيه خاص بها، و لا يمكن احتقار لغة بمجرد "اعجابنا بلغة اخرى" ، او ان "مستحدم لغة ما له مستوى رديئ"، فمثلا، لو قمت بمقارنة قدرة لغة السي ++ على انشاء مواقع واب، فلا عجب انها ستنال علامة متدنية جدا.

اما بالنسبة الى النقطة التي تتطرق فيها الى السرعة، فمن البديهي جدا، ان تكون اللغة الام اسرع من اللغة البنت، لكن ، اللغة البنت توفر وقتا كبيرا، و تسمح بتطوير برامج معقدة في وفت قصير، مع كتابة كود سهل القراءة و سهل التنفيح... و لو لا هذه الامور الجوهرية، لمازلنا نبرمج بلغة التجمبع... او ليست اسرع لغة ، و اللغة الاكثر حرية ؟ و التي تسمح بافضل استغلال لعتاد الجهاز ؟ لكن في الوقت التي ينتج برنامج واحد بلغة التجميع، يمكن انتاج عشرات البرامج بلغات من المستوى الاعلى.

في الاخير ، ارى ان الالتزام بالموضوعية امر مهم، حيث ان الهدف من المقال هو نشر العلم و المعرفة، و الابتعاد عن الموضوعية قد يجعل المعلومات المطروجة خاطئة.

مبتدئ  علاء هماش مشاركة 3

أخي أنس، شكرا لك على مشاركتك و على الوقت الذي بذلته في كتابة مشاركتك.


وفي 21/ذو القعدة/1434 07:49 م، ظهر شبح ابتسامة على وجه انس وهو يقول:

ولا، كلمة احتراف، يجب اعادة صياغتها، و اعادة المفهوم الحقيقي لها :الشخص المحترف، هو الذي يجني مالا من عمله(و غالبا ما يكون عمله رئيسي).لهذا فانك عندما تقول ان اللغة الوحيدة التي تسمح بانتاج العاب احترافية، فهذا خطأ.
إن ما أوردته عن معنى كلمة احتراف، هو أحد المعاني و إذا ما رجعت إلى معجم اللغة العربية المعاصرة لوجدت أنه يورد ما يلي:
طبيب محترف / مدرس محترف / مهندس محترف : بارع ، ماهر .
و بما أنني استخدمت كلمة محترف في مقالتي للدلالة على الوصول إلى مستوى عال من البراعة في برمجة الألعاب يكفي للمنافسة عالميا فإنه لا بد من الحكم على ما كتبت بالأخذ بعين الاعتبار المعنى الذي قصدته.

الحقيقة أنني لم أورد في ما كتبت أنه لا يمكن تحقيق ربح مادي من برمجة الألعاب بلغات أخرى. بل إنني أوافق تماما مع قول أنه يمكن تحقيق ارباح من العاب تتم برمجتها بأي لغة طالما أن محتوى اللعبة مناسب. و قد استخدمت احدى لغات البرمجة البسيطة جدا لانتاج 12 لعبة نظرا لان الظروف حينها تطلبت استخدام لغة غير C/C++ و قد حققت تلك الالعاب مبيعات جيدة حتى أن الشركة التي اشترت حقوقها عادت بعد قرابة 8 سنوات تطلب الاصل البرمجي لتطوير تلك الالعاب لتناسب هذا الوقت.



أما في 21/ذو القعدة/1434 07:49 م، فقد تنهد انس بارتياح وهو يرد:

فانها في نفس الوفت تتطلب وقت و جهدا اكبر ، و السبب يكمن في ان المطور يجب عليه التعامل "يدويا" مع الذاكرة ، و مكونات الجهاز، و هذا الامر معقد و روتيني، و لا يمكن اعتباره جزء من "تطوير الالعاب".
الامر يكون صعبا و معقدا في البداية فقط كما أوردت في هذه المقالة و مقالات سابقة. لكن ما أن تتقدم في البرمجة و تتراكم لديك الخبرات و الأصول البرمجية و المكتبات التي تطورها بنفسك او تحصل عليها من الآخرين فإن الأمر يصبح أسهل من أي لغة أخرى على الاطلاق. و أوافقك الرأي على أن الكثير من الأمور المعقدة في البرمجة التي تتعامل مع العتاد هي ليست جزءا من برمجة الألعاب ( المقصود برمجة الأحداث في اللعبة) و إنما هي جزء من برمجة محركات الألعاب. و عندما يقوم مبرمج المحرك بعمله بشكل جيد فإنك كمبرمج للألعاب بلغة سي لن تضطر أبدا للمرور بتعقيدات التعامل مع الذاكرة او العتاد. و قد تحدثت عن هذا في مقالتي: لا تتعلم ديركت اكس و لا اوبن جي ال بل تعلم برمجة الألعاب.




في 21/ذو القعدة/1434 07:49 م، غمغم انس باستغراب قائلاً:

فمن البديهي جدا، ان تكون اللغة الام اسرع من اللغة البنت، لكن ، اللغة البنت توفر وقتا كبيرا، و تسمح بتطوير برامج معقدة في وفت قصير، مع كتابة كود سهل القراءة و سهل التنفيح...

هذا القول يتكرر كثيرا عند الحديث عن "اللغات الأخرى" و غالبا ما يكون الوسيلة التسويقية الأولى لدفع المبرمجين إلى اعتناق تلك اللغة و القسم بالولاء لها. مما لا شك فيه أن كل لغة توفر "ملحقات" تجعل استخدام تلك "اللغة+ملحقاتها" اسهل في انتاج تطبيق في مجال ما، مثلا محاكاة  الهبوط على القمر. و هنا يأتي ما أشرت اليه عن الخديعة و الاستخفاف بالعقول من خلال القول بأن : "استخدام تلك اللغة سهل لانتاج محاكاة الهبوط على القمر" حيث أن هذا يغفل تماما أن ما جعل انتاج تلك المحاكاة اسهل هو "الملحقات" و التي هي ليست جزءا من اللغة. ألم يكن من الممكن صناعة تلك الملحقات لاستخدامها مع سي و سي بلص بلص؟؟ و عندها نقول بنفس الاستخفاف بالعقول: "استخدام سي بلص لص سهل لانتاج محاكاة الهبوط على القمر" متجاهلين تماما "الملحقات"

لنقارن الكلمات المفتاحية الأصيلة المستخدمة في النسبة العظمى من اللغات:
.......... if, else, for, do , while
إن أهم دلالات كون نفس الكلمات مستخدمة في اكثر اللغات هو أنه في الحقيقة لا حاجة للكثير من تلك اللغات. و ما تواجد تلك اللغات الا للحصول على حصة من الأرباح.

أما الآن فنحن مع موعد مع أسهل لغة برمجة في الكون و هي لغة ط
(...) main }
    () Load_world
()Play
{
يا لها من لغة عظيمة لانتاج الالعاب، سطران فقط، سطرين فقط، 2 سطر فقط، 1+1 سطر فقط !!!!!!!!!!!!

هل لود ورلد و بلي جزء من لغة ط؟؟؟؟؟؟؟؟؟؟ أم ملحقات يمكن الحاقها بأي لغة أخرى؟؟؟

أرجو أني تمكنت من تبيان ما قصدته في مقالتي بقدر افضل من السابق.

محترف  انس مشاركة 4

الكلمات المفتاحية تعتبر "syntax" و لا يمكن اعتبارها "قوة اللغة" ، لانها من وجهة نظري "اداوات اساسية"، لكن هناك لغات توفر ادوات، تسهل المهمة،
طبعا ، كل شيئ تقوم به بالغة البنت يمكن ان تقوم به باللغة الام ، لكن الهدف من  اللغة البنت هو القيام به بحهد اقل :
مثلا ، ما دمنا طرحنا لغتي السي++ و السي شارب  :
في لغة  السي ++ يمكن التعامل مع البرمجة المتوازية، لكن هذه النقطة ليست متاحة للجميع، فهي تحتاج الى معرفة بالموضوع، و خبرة .
انظر الان في لغة السي شارب باستعمال Asyn ,  await  يمكن عمل نفس الشيئ في وقت اقل :


string webText = await (new HttpClient()).GetStringAsync(url


لا يعني هذا ان لغة السي++ غير قادرة على نفس الاداء، بل هي قادرة عليه ، انطلاقا من المبدأ المذكور اعلاه، و من المحتمل جدا ان يكون الاداء اسرع، لكن في السي شارب النتيجة تأتي بوقت جيد.

اللغة البنت ما هي الى طبقة اخرى تضاف الى اللغة الام، بعد ان يلاحظ مبرموجن ان اللغة الام تحتاج الى خصائص جديدة (خاصة في المكتبات القياسية).
لو اننا نكتفي بما تقدمه اللغة الام ، فلماذا لا نستعمل لعة التجميع ، فهي اللغة الاسرع ، و الاكثر حرية و مرونة ^^

مبتدئ  علاء هماش مشاركة 5

دعني اخبرك أخي أنس عن شيئ من تاريخ البرمجة الذي عاصرته
عندما صدر نظام التشغيل ويندوز 3 في عام 1990 تفاجأ الكثير من مبرمجي لغة اسيمبلي ادعاء مايكروسوفت بأنه لم يعد من الممكن انتاج البرامج بلغة اسيمبلي و توقفها عن اصدار برنامج مايكروسوفت ماكرو اسمبلر. في وقتها كانت اللغة المفضلة للبرمجة لدي هي أسيمبلي و كنت ابرمج بها كل شيء من البرامج البسيطة إلى الألعاب لذلك استمريت في انتاج ما اريد في بيئة دوس باستخدام اسيمبلي. عندما اطلقت مايكروسوفت c++ لويندوز كانت المفاجأة التي لم تتوقعها مايكروسوفت و هي أنها قد اطلقت الاداة التي كان ينتظرها مبرمجوا اسيمبلي في وقتها. قام بعض المبرمجون باستخدام الاسيمبلر الموجود مع c++ و بعض الملحقات في انتاج برامج بلغة اسيمبلي تعمل في بيئة ويندوز. بالطبع كان ذلك محرجا لمايكروسوفت التي ادعت انه ليس من الممكن انتاج البرامج بلغة اسيمبلي لبيئة ويندوز. بعد سنة او سنتين عادت مايكروسوفت لإطلاق اصدار جديد من مايكروسوفت ماكرو اسيمبلر.

إذا كنت تذكر أخي أنس  فإنني اشرت إلى أن شيئا مشابها حصل مع سي شارب. حادث آخر أذكره كان شراء إحدى الشركات الكبرى للشركة المنتجة لبرنامج SoftICE و هو أحد افضل ادوات ايجاد الاخطاء في البرامج المكتوبة بلغة اسيمبلي و لغة سي و سي بلص بلص. و بعد ذلك تبين أن عملية الشراء هي لانهاء وجود هذا البرنامج الذي اصبح يقض مضجع الكثير من الشركات نظرا لأنه اداة ما كان يجب أن تتوفر لعامة الناس. أذكر أيضا مبرمجا آخر كان معروفا بنشره للكثير من اسرار البرمجة لويندوز التي لم تكن ترغب بعض الشركات بأن تنتشر تلك الاسرار لذلك تم توظيفه في إحدى الشركات الكبرى شريطة أن يتوقف عن نشر هذا العلم الذي يقلب جزءا من ميزان سيطرة الشركات الكبرى. و أخيرا أذكر تروفالدس مبرمج لينكس الذي أقض مضجع مايكروسوفت و كان سببا في تغيير كبير في حياتنا.

لو كان تروفالدس مبرمج سي شارب هل كان سيكون قادرا على عمل كل ذلك التغيير؟ لو كان أي من المبرمجين السابقين مبرمجي لغة ط  هل كانوا سيتمكنون من قلب الموازين؟

ما أريد قوله هو أن الشركات الكبرى تريد منا أن نسبح على السطح، نطفو باستخدام معدات الطفو التي تزودنا بها و التي بالاضافة إلى أنها تمكننا من الطفو فهي أيضا تمنعنا تماما من الغطس. و ذلك لأن قيام مبرمج ذكي بالغطس كما فعل تروفالدس و بيتر نورتون قد يقلب الموازين رأسا على عقب. الشركات الكبرى تقول: اسبح قدر ما تشاء و لكن اياك و الغطس فهو غير مفيد و من المؤكد أنك ستغرق.

محترف  انس مشاركة 6

شكرا جزيلا على المعلومات المورودة .
نعم من هذه الزاوية فانت محق في قولك ، لغات البرمجة التابعة للشركات ، تخدم البيئة التي تريدها الشركة الناشرة، اذا كان الشخص يريد ان يكون خبيرا بالبرمجة ، فيجب عليه تعلم المبادئ و الاساسيات، و لا يكتفي بما لقبته ب"معداة الطفو" (اعجبني المصطلح ^^).

الاكتفاء بتعلم لغة برمجة وحيدة، من وجهة نظري امر سيئ ، فان المشاريع تتطلب شروطا مختلف و يجب على المبرمج التأقلم معها

اشكرك جزيل الشكر مرة اخرى على هذا المقال، و اتمنى ان اراه في مدونة الشبكة، لا تحرمنا من مقالاتك المفيدة 😄

مبتدئ  علاء هماش مشاركة 7

شكرا لك أخي أنس على كلماتك الطيبة و على صبرك معي في النقاش. و ان شاء الله سأضيف المقالة و مقالات اخرى إلى مدونة الموقع.