تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب

معلومات عامة  -  بواسطة:   اخر تحديث:  2020/10/01
تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


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



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


 بالطبع الأول، لأن الأول يجيد لغته جيدا، فيستطيع النجاح، وعليه الفوز بالوظيفة .. أما الثاني، فمرة يجيب، و الأخرى يحمر وجهه، ثم يعطس، وبعدها ..؟!


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


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


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


 خطوات تعلم لغات البرمجة


أي لغة برمجة حين تتعلمها تمر بثلاث مراحل:


إدارك المفهوم


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


وفي هذه المرحلة تتعلم فيها الأساس التى بنيت عليه هذا اللغة، وكيفية الاستفادة منها، وكيفية البرمجة باستخدامها، وهذه هي أهم مرحلة فى المراحل الثلاث، وإن كان الوضع حاليا أيسر كثيرا، فكل لغات البرمجة المستخدمة حاليا (تقريبا) تسير على نفس النهج وهو البرمجة الموجهة للكائنات أو object  oriented programming


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


تعلم طريقة استخدام مفردات اللغة


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


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


التوسع فى اللغة


بعد أن تكون قد انتهيت من مرحلة الإدارك و التعلم، تبدأ مرحلة التوسع، وهذه هي المرحلة الأصعب، حيث أن لغات البرمجة واسعة جدا، وتتحدث باستمرار، وعليك ما استطعت أن تحدث نفسك معها حتى تستطيع مواكبة العصر، وكلما تأخرت فى تعلم لغة ،ما يكون الوضع أصعب


حتى تفهم ما أعنيه جيداً : أنت تتحدث الانجليزية مثلا منذ كم من الأعوام؟ .. وكم تجيد من مفردات تلك اللغة؟


فالأمر سيان فالاثنان لغتان، ولكن الأولى للتعامل مع البشر، والأخرى للتعامل مع آلات.


و بعد تلك الخطوات، هيا بنا إلى الأسباب التى تدفعك إلى التخصص.


أسباب تدفعك إلى التخصص


التضخم المستمر


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


لغات البرمجة فى الوقت الحالي تتضخم بشكل كبير جدا، وتتطور بشكل مستمر، وأنت إذا أردت أن تتقن لغة من تلك اللغات، عليك أن تواكب تطورها، فإذا أخذنا على سبيل المثال ، الأندرويد تم تطويره فى أخر ثلاث أعوام 13 مرة، فتخيل كم من الوقت تريد لتواكب تطور الأندرويد وحده، فتخيل أنك تريد مواكبة أكثر من لغة!









2011


 



SDK 3.0/3.1/3.2 (Honeycomb) for tablets only


SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich)



2012


 



SDK 4.1/4.1.1 (JELLY BEAN)


 SDK 4.2/4.2.2 (JELLY BEAN)



2013


 



SDK 4.3 (JELLY BEAN)


SDK 4.4 ( KITKAT)


زيادة الانتاجية


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


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


فأنت إذا استطعت التمكن من لغة واحدة، فستقل معك تلك المعضلات وبالتالي زيادة وقت العمل وعليه زيادة الانتاجية، وتظل القاعدة “جهل معلومة قد يؤدي إلى ساعات من البحث، وبالتالي ساعات من الوقت الضائع”.


السيطرة على الكود


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


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


الحصول على الوظيفة


تخصص فى لغة برمجة واحدة ولا تشتت نفسك .. لهــذه الأسبـاب


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


صـرخـات قادمة من سـوق العمــل !


لست بحاجة لتعلم لغتين يقومان بنفس الوظيفة


أنت لست بحاجة لتعلم لغتين يقومان بنفس العمل، فعلام التكرار وتضيع الأوقات، أنت فقط تستطيع معرفة أكثر من لغة لتعرف الفرق بينهم ومن ثم تختار الأنسب بالنسبة لك، ولكن أن تتقن اللغتين بنفس القدر، فأظنه تضيع للأوقات.


تخصّصات لغات البرمجة


هذه كانت الأسباب، أما التخصص فى حد ذاته، فهو نوعان:


التخصص فى لغة واحدة لجميع المجالات


وهو أن تتخصص فى لغة واحدة تستطيع أن تعمل فى جميع المجالات سواء أكانت دسيك توب أو موبايل أو ويب أو غيره،على سبيل المثال :


  • مجموعة الدوت نت ( سي شارب لبرمجة الديسكتوب، و أيه اس بي لبرمجة الويب، و وندوز فون لبرمجة الموبايل)

  • ومجموعة الجافا ( الجافا لبرمجة الديسكتوب، و الجي اس بي لبرمجة الويب، والأندرويد لبرمجة الموبايل)

و هو أحد الحلول الجيدة للربط الجيد


التخصص فى لغة لكل مجال على حدة


وهو أن تتقن لغة لمجال الديسكتوب، وأخرى للويب، وثالثة للموبايل، وهذا الأفضل من وجهة نظري، لأنه تظل القاعدة أنه لا توجد لغة تمتلك الكفاءة فى جميع المجالات، ويظل الأمر وجهات نظر، ويظل الاختيار لك مفتوح.


ختاما:


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


منتظر رأيك وتعليقك على الموضوع،  وإذا أعجبك أرجوا أن تعود إلى بداية السلسلة:


مدخَــل إلى عـالم البــرمجــة للمبتـدئيــن


مُعـانـاة (السنـة الأولـى) للمبــرمج العــربي!


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


اقــرأ أيضًا:


حــرب لغــات البــرمجـة .. من سينتصـــر ؟


مايكروسوفت والإحتكار .. أسرار نجاح وينـدوز في سطور