Admin Admin
عدد المساهمات : 128 نقاط : 385 تاريخ التسجيل : 05/03/2014 العمر : 30 الموقع : العراق
| موضوع: كيف تصبح مبرمجًا؟ السبت مارس 15, 2014 8:28 pm | |
| [quote= السلام عليكم ورحمة الله وبركاته أنقر هنا لعرض الصورة بحجمها الطبيعى . هذا سؤال مهم يطرحه كل من يبدء في طريق البرمجة، وإجابة هذا السؤال تعطى على هيئة نصائح تعطى للأشخاص، فلا تعتمد على مجموعة من النقاط تعمل على تحصيلها ودراستها أو كتب تقرئها أو لغة معينة تتقنها لتصبح مبرمجًا بعد ذلك؛ وإنما تعتمد على مجموعة من المهارات يجب عليك تعلمها وإتقانها، وطريقة تفكير معينة تفكر بها عند كتابة البرمجيات وذلك قبل إطلاق كلمة مبرمج على نفسك. هذه العملية تأخذ وقتًا ليس بسيطًا لتتقنها، إنما يحتاج منك هذا إلى مجهود وصبر يصل لعدة سنوات لتحصل على هذا اللقب. وكتجربة شخصية أذكر انه في مرة كنت بداخل غرفة الروبي ببرنامج الـ IRC وسئلت هذا السؤال لأحد المتواجدين : ” كيف أصبح مبرمج؟ "، فكان رد أحد الموجودين بأنه قال لي أنه مبرمج منذ 12 عامًا ولكنه لا يستطيع أن يجيبني على هذا السؤال، ولكن ما يستطيع أن يقدمه لي نصيحتان : 1- أكتب الشفرة البرمجية 2- أقرء الشفرة البرمجية كذلك كانت الإجابة من معظم من راسلتهم من المبرمجين المشهورين، فكلهم كانوا يقولون لي بأن كثرة كتابة الشفرات وقراءة شفرات الغير هي التي ستجعلك مبرمجًا محترفًا. لغات البرمجة تتشابه في كثير من الأساسيات، وتعلمك للغة الأولى وتعمقك بها هي التي ستأخذ منك وقتًا، أما أي لغة أخرى ستعمل على تعلمها لن تأخذ منك هذا الوقت، ولغات البرمجة مثلها مثل اللغات الحية في كثير من الجوانب، فكل منها لهقواعد كتابية خاصة به أو ما يعرف باسم الـSyntax – أو الـ Grammar في اللغات الحية – الخاص باللغة، فأنت تكتب الجمل الألمانية بطريقة تختلف عن الجمل العربية من حيث التركيب النحوي، وكل منهما يعطي نفس المعنى، نضرب مثالًا لهذا في العربية أقول : أنا أحب لعب التنس أما في الألمانية أقول : Ich spiele gerne Tennis الجملتان يعطيان نفس المعنى، ويتشابهان في وجود نفس الاسماء والأفعال في كل منها، ولكن تركيبة الجملتان بهما إختلاف من حيث ترتيب الأفعال، نطبق هذه القاعدة على لغات البرمجة، هم يختلفوا في شكل كتابة الأوامر والرموز بينهم، ولكن يتشابهان في وجود ما يسمى بالمتغيرات والثوابت والدوال والكلاسات. مثال: كود: require 'fileutils' ARGV[0].each do |dir| FileUtils.rmtree(dir) end كود: import shutil shutil.rmtree(path) import os, sys def DeleteDir(dir): for name in os.listdir(dir): file = os.path.join(dir, name) unless os.path.islink(file) && os.path.isdir(file): DeleteDir(file) else: os.remove(file) os.rmdir(dir) المثال الأول بالروبي والثاني بالبايثون، والإثنان يقومان بنفس المهمة وهي حذف دليل بما يحتويه من ملفات، فنلاحظ تشابه بين سطور الشفرة في الروبي والبايثون من حيث كتابة الأوامر فالسطر الأول في المثالان يعملان على إستدعاء مكتبة برمجية ( المكتبة هي مجموعة من الأوامر موجودة في ملفات يتم إستدعائها لتطوير برمجيات أو القيام بعمل معين ) بها دوال ( الدالة هي مجموعة من الأوامر بداخل البرنامج يتم إستدعائها لتُنفذ دفعة واحدة ) تُستخدم في حذف الأدلة والملفات، في روبي تسمى FileUtils وفي البايثون تسمى shutil كذلك السطر الثاني من سكربت الروبي به دالة تعمل على جمع ما يحتوي الدليل الذي أدخلته من اسماء ثم بعد ذلك نستخدم الدالة rmtree من المكتبة FileUtils والقيام بحذف كل هذه الأسماء، وآلية العمل هي هي تعمل في سكربت البايثون فنحن نقوم بتعريف الدالة DeleteDir والقيام بجلب كل ما يحتويه المسار الذي أدخلته للإسكربت من أسماء وحذفها كلها ومن ثم حذف الدليل بعد ذلك. نضرب مثال آخر على التشابه بين لغات البرمجة : أنت في بداية تعلمك الإنگليزية مثلًا قد يكون الأمر صعب عليك، ولكن مع مرور الوقت ستصبح اللغة بالنسبة لك سهلة، وإن أردت الإنتقال إلى الفرنسية بعد ذلك، ستجد كثيرًا من الكلمات التي تتشابه بين اللغتان علمًا بأن حوالي 30% من كلمات الإنگليزية ذات أصل فرنسي، كذلك الحال بين العربية و الإسپانية فأنت إن كنت تعلم العربية فسيسهل عليك تعلم الإسپانية؛ نظرًا للتركيب الجملي الذي يتشابه بين الإثنان، كذلك وجود ما يقرب من ستة الآف كلمة عربية بداخل اللغة الإسپانية. التشابه أيضًا بين اللغات يمكن تشبيهه بذلك، فهناك دوال تتشابه بين اللغات بينهم البعض، وكلمات محجوزة (الكلمات المحجوزة هي عبارة عن كلمات ثابتة تستخدم في حالات معينة لفعل أمر معين) في اللغات تتشابه فيما بينها، فلغات مثل الروبي والبايثون أخذت عن لغات أخرى مثل الـ Perl والـ Smalltalk والـ Lisp والـ Scheme بعض الطرق لكتابة الأوامر. بعض النصائح المفيدة : 1- أنت في بداية تعلمك للغة تختار مصدرًا جيدًا يبسط لك اللغة وتتعلم منه أوامر اللغة وكيف تُكتب، وكن حريصًا في البداية على الإلمام بأوامر اللغة العامة ومعرفتها بصورة كاملة حتي يسهل عليك قراءة الشفرات الأخرى للمبرمجين (أنا لا أطلب منك حفظ اسماء الدوال كلها وماذا تفعل ولكن معرفة الكلمات المحجوزة والعبارات الشرطية وكيفية الإعلان عن دوال وما إلى ذلك من أساسيات اللغة). 2- احرص على تعلم لغات متعددة ولا تقتصر على لغة أو أثنتان أو ثلاثة، فلكل لغة نكهة خاصة بها، وتستخدم في بناء تطبيقات ذات طابع معين. 3- قم بعمل بحث عن حلول للمشاكل التي تواجهك، وعندما تجد الحل قم بتخزينه بصيغة تقوم أنت بكتابتها شارحًا فيها لنفسك هذا الحل وأحفظه في ملف خارجي، ومع الوقت ستجد مجموعة كبيرة من الحلول لمشاكل مستقبلية قد تواجهك. 4- اعمل على حفظ الدوال المشهورة التي تستخدم بكثرة بداخل البرامج، فستسهل عليك عملية كتابة البرامج. 5- قم بالإطلاع على مشاريع برمجية بلغات مستعينًا بموقعGithub. الآن نعرض لمجموعة من المقالات المهمة، التي تعطيك النصائح في بداية المشوار البرمجي، وهي مفيدة والأخذ بها سيساعدك بإذن الله. كيف تصبح هاكر للمبرمجإيريك رايموند، مقالة بها مجموعة من النصائح الجيدة عامة و في الجزء البرمجي، المقالة العربية هي الترجمة للإنجليزية وقد ترجمت في 2005 وتفتقر إلى بعض النقاط الموجودة في المقالة الإنجليزية المحدثة. بعض النقاط الغير موجودة في النسخة العربية والتي من الممكن أن تأخذها بعين الإعتبار : * من الممكن أن تبدء بالروبي بدلًا من البايثون، فالإثنتان عالميتان وتتوفر بكثرة الكتب والمصادر التي تستطيع بواسطتهما تعلم اللغتان بصورة سهلة. * العمل في بيئة اللينوكس، ويمكنك البدء بتثبيت توزيعة أوبونتو، وستجد الدعم اللازم لكل مبتدء من البداية فيمجتمع لينوكس العربي. مقالةعلم نفسك البرمجة في عشرة أعوام، أيضًا هذه المقالة بها نصائح هامة للمبرمج، وتوجد نسخة مترمجة منها للعربية ولكن وقت كتابة هذه السطور كان رابط النسخة العربية للمقالة لا يعمل. مقالةTipsForReadingCode أيضًا ممتازة بها نصائح لتسهيل عملية قراءة الشفرة . كتاب How to be a Programmar هو كتاب حصلت عليه أثناء قرائتي لتدوينات التويتر الخاصة بالأصدقاء الموجودون لدي في القائمة، وجدت حساب الأخمحمد زاهر غيبة به رابط لمدونة بها موضوع يخص ثتبيث الروبي في بيئة الويندوز، فقمت بإلقاء نظرة عليها ووجدت موضوعًا بها يتحدث عنكيف تصبح مبرمج، وهو ملف PDF لشخص يدعىRobert L.Read يعرض فيه ملخص لتجربته مع البرمجة وما هي المهارات التي يجب عليك تعلمها. قم بتحميله منهنـا كتاب آخر يحمل اسم How to Become a Programmer يعرض فيه الكاتب لمجموعة من النصائح بجانب إخبارك ما هو الطريق الذي تسلكه للحصول على المال من البرمجة. حمله منهنـا نختم بكتاب كبير هو كتابHow To Program Using Java، كتاب ممتاز أنصح كل فرد في بداية الطريق بقرائته فيه نصائح جميلة، هو ليس مجاني ولكن هناك نسخة PDF منه على الشبكة تستطيع بالبحث الحصول عليها. في والنهاية أذكرك بأنه كلما بذلت مجهود أكبر كلما أصبحت مبرمج أكثر إحترافًا. وفقك الله][/quote]
| |
|