زنگ‌تفریح تصادفی

 پيوندهاي المپياد كامپيوتر
 سايت‌هاي المپياد كامپيوتر
 
 راهکارهایی برای یادگیری بهتر برنامه نویسی
راهکارهایی برای یادگیری بهتر برنامه نویسیزنگ تفريح كامپيوتر
زنگ تفریح شماره 86

 

 

نقل قول هاي زيباي بسياري را به فيلسوف چين باستان يعني كنفسيوس (Confucius) نسبت مي دهند، از پيام هاي پر معنا گرفته تا لطيفه هاي خنده دار. يكي از اين نقل قول هاي جالب،‌كاملا مناسب حال كساني است كه به تازگي وارد حوزه برنامه نويسي شده اند:>مي شونم،‌فراموش مي كنم . مي بينم ،‌به خاطر مي آورم . انجام مي دهم،‌مي فهمم.<

نشستن در كلاس درس تفاوت بسياري با روش ايده آل و مناسب يادگيري برنامه نويسي براي اكثر افراد دارد. شايد مطالعه همزمان درباره مفاهيم برنامه نويسي هم مفيد باشد،‌اما اين كار جاي مهارت يابي عملي به همراه مطالعه و تفكر موثر درباره كدهاي پايه نوشته شده توسط ديگران و فهم آن ها را نمي گيرد.

هيچ چيز مانند نوشتن برنامه به دست خودتان،‌مهارت هاي برنامه نويسي را در ذهن ماندگار نمي كند . كمي مطالعه كنيد،‌كمي آموزش ببينيد و سپس برنامه نويسي شخصي را در سطحي گسترده و با صرف وقت بسيار شروع كنيد. دنبال آن چيزهايي كه دوست داشتيد ساده تر بودند ،‌بگرديد و به وسيله كد نويسي ،‌آن ها را خودكار و ساده تر سازيد.

متاسفانه، گاهي فهميدن اين كه چه بايد كرد مشكل ترين بخش يادگيري برنامه نويسي است . كليد اين كار،‌بر حسب تجربه شخصي،‌اين است كه سعي كنيد كارها را به جاي قدم هاي متعدددي، گام به گام به انجام برسانيد و قدر لحظاتي را كه ناگهان با زدن جرقه اي در ذهنتان،‌پي به چگونگي نوشتن برنامه مورد نظر مي بريد،‌بدانيد.

از ان جا كه برنامه نويسان تازه كار دانش اندكي براي يافتن نقطه آغاز كار دارند،‌پس مي توان گام ها را كمي ساده تر كرد . اول ببنيد كدام قسمت كاربرد روزانه كامپيوترتان را به راحتي مي توان كد نويسي كرد. سپس آموزش هاي اوليه تان را روي مهارت هايي متمركز كنيد كه در آن شرايط به كارتان مي آيند . اگر چنين شرايطي وجود نداشت،‌ محيط كامپيوتري تان را عوض كنيد تا براي خودتان فرصت به وجود بياوريد .

مهم ترين مساله داشتن انگيزه براي كد نويسي است. در ادامه پيش نهادهايي چند براي يادگيري بهتر برنامه نويسي از طريق عملي براي تان ليست كرده ايم :

1سيستم هاي مديريت پايگاه داده(DBMS)

سيستم هاي مديريت پايگاه داده اصلي و قدرتمندي نظيرInformix , postgreSQL ,oracle ,Microsoft SQL قابليت هاي اسكريپت نويسي را از طريق روش ها يا روال هاي ذخيره شده در پايگاه داده خاص خود فراهم مي كنند. شناخته شده ترين و پر كاربرترين زبان ها در اين حوزه،‌TransactSQL در SQL server مايكروسافت و Sybaseو PL/SQL براي SQL  و امكان به كار گيري و استفاده از ديگر زبان هاي برنامه نويسي مانند PL/Perl,PL/Python , PL/Rubyو PL/Tcl را هم فراهم ميكند .

چنين فرصت هاي برنامه نويسي محدود به حوزه هاي خاصي از مشكلات هستند؛ اگر دز زمينه مديريت پايگاه داده فعاليت مي كنيد يا شغلتان به هرنحوي ارتباطي با توسعه گزارش هاي پايگاه داده دارد،‌براي تان مفيد خواهند بود.

2 افزونه ها(Plugin)

بسياري از بازي هاي كامپيوتري جديد امكان نوشتن  و بارگذاري افزونه ها را فراهم  كرده اند . براي مثال Word of Wacraft‌،داراي سيستم مبتني بر افزونه پيشرفته اي است كه از زبان اسكريپت نويسي Lua استفاده مي كند . مرورگر هاي جديد و مدرن امروزي هم داراي سيستم هاي انعطاف پذير مبتني بر افزونه  هتسند كه در اين بين فاير فاكس گوي سبقت را از ديگر رقبا ربوده است. در ساده ترين حالت،‌افزونه هاي فاير فاكس توسط جوا اسكريپت طراحي و نوشته مي شوند . در مقام مقايسه ‌،نسبت به مرورگرهاي متن بسته افزونه هاي بيشتري براي مرورگرهاي متن باز طراحي مي شوند . در حال حاضر بعد از فاير فاكس سيستم مبتني بر افزونه chromium(مورد استفاده در مرورگر و سيستم عامل گوگل كروم )، دومين هدف طراحان افزونه است.

3 تمرين حل مساله

يكي ديگر از پيش نهاد هاي جالب براي تقويت مهارت برنامه نويسي ، سعي در حل مسائلي است كه در ليستي جامع براي افزايش مهارت برنامه نويسان فراهم شده اند . يكي از پروژه هاي محبوب در اين حوزه،‌فارغ از هر زبان برنامه نويسي،project Euler نام دارد كه مجموعه اي از مشكلات برنامه نويسي چالش بر برانگيز در حوزه رياضي و كامپيوتر است . صدها مساله مطرح شده در آن از آسان به مشكل طبقه بندي شده اند كه تا مدتهاي مديدي شما را مشغول خواهند كرد.

4 گوشي هاي هوشمند

بيشترين شور و شوق كنوني در حوزه طراحي و توسعه برنامه ، مربوط به ساخت برنامه براي گوشي هاي هوشمند است . در حوزه گوشي هاي هوشمند،‌طراح و برنامه نويس بايد يك زبان خاص را به طور كامل فرابگيرد تا بتواند از تمام امكانات و پتانسيل هاي آن براي طراحي و ساخت يك برنامه استفاده كند.

نفوذ روز افزون گوشي هاي هوشمند در ميان كاربران ،‌موجب تولدي صنعت جديدي شده است. در اين صنعت شركت ها در حال تلاش براي ساخت و توسعه چارچوب هايي هستند كه از طريق آن ها بتوان برنامه هاي گوشي هاي هوشمند  را به انوع زبان هاي كامپيوتري نوشت و سپس تبديل به برنامه هايي  كرد كه  يك گوشي هوشمند قادر به تفسير و در نهايت اجراي آن ها باشد . البته نبايد از سرويس هاي برنامه نويسي تحت وب كه در حال جذب مخاطبان خاص خود به منظور طراحي برنامه هاي گوشي هاي هوشمند هستند، غافل بود. با استفاده از سرويس هاي برنامه نويسي تحت وب، برنامه نويس نيازي به يادگيري زبان رسمي براي طراحي و توسعه برنامه هاي هر كدام از بستره هاي خاص گوشي هاي هوشمند نخواهند داشت.

يكي ديگر از گزينه هاي پيش رو براي پيشرفت در حوزه برنامه نويسي گوشي هاي هوشمند، استفاده از تلفن همراهي مانند مدل N900 شركت نوكيا است . اين تلفن همراه كه توزيع لينوكسي اقتباس شده از Debian بر روي آن نصب شده و قادر به اجراي تعداد زيادي برنامه است، از جمله نمونه هايي است كه در اصل براي اجرا در بسترسيستم هاي عامل گوشي هاي هوشمند و نه يك توزيع از لينوكس ، طراحي شده است .

كتاب و راهنماهاي برخطي كه بر روش هاي توسعه برنامه هاي گوشي هاي هوشمند و آندرويد تمركز دارند، به وفور در اينترنت يافت مي شوند. چهارچوب هاي ثالثي هم هستند كه برنامه هاي نوشته شده به هر زباني، از HTML+گرفته تا Ruby و  Puthon را به برنامه هاي مناسب براي بستر هاي مختلف تلفن همراه و حتي كامپيوتر هاي خانگي تبديل مي كنند. نكته جالب اين كه اين چهارچوب ها به هيچ وجه قصد ندارند تمامي مشكلات برنامه نويسي را مانند چهار چوب هاي عظيمي چون ويژوال استوديو و Net Framework بر طرف كنند؛ اين امر باعث مي شود فرآيند توسعه برنامه ها بسيار آسان تر شود.

5 صفحات گسترده(spreadsheets)

اگر از برنامه هاي صفحات گسترده با سيستم ماكروي قوي استفاده مي كنيد، شيوه سريعي براي خواندن كد هاي ديگران و همچنين نوشتن كدهاي خود خواهيد داشت . ابتدا، ماكرويي را براي عملكردي كه به دفعات زياد و ملال آور انجام مي دهيد، ثبت كنيد. بعد نگاهي به منبع كد ماكرو مورد نظر اندخته ،‌آن را ويرايش كنيد تا استفاده كلي از آن ساده تر و سريع تر شود . البته اين كار با محدوديت هاي خاص خود رو به رو بوده و تاثير چنداني در پيشرفت شما نخواهد داشت ؛ اما براي ورزيده شدن در حوزه برنامه نويسي ، گزينه بدي نيست .

معروف ترين برنامه صفحه گسترده براي اين نوع از اسكريپت نويسي ، اكسل مايكروسافت است . اكسل از VBA استفاده مي كند كه زبان واقعا ضعيفي است ؛ اما اگر كار روزانه شما شامل كد نويسي سنگين با اكسل مي شود ،‌اين مهارت به دردتان خواهد خورد. لازم به ذكر است كه مجموعه نرم افزاري Openoffice.org، رقيب متن باز مجموعه آفيس مايكروسافت هم از سيستم ماكرو مشابهي استفاده مي كند .

6 يونيكس

در صورتي كه از سيستم هاي يونيكس استفاده مي كنيد، راه هاي گوناگوني براي تمرين مهارت هاي برنامه نويسي در حال رشد خود خواهيد داشت يونيكس در مقايسه با ديگر سيستم هاي عامل چند منظوره ،‌فرصت هاي خوبي براي خودكار سازي فرآيند اسكريپت نويسي فراهم ميكند ؛‌اين مهم به خاطر انعطاف پذيري فوق العاده اين سيستم عامل در حوزه اسكريپت نويسي فراهم شده است. در ساده ترين حالت اسكريپت هايي كه توسط اين سيستم عامل طراحي و نوشته مي شوند ،‌تنها يك سري فرامين ساده اند كه در يك فايل ذخيره مي شوند . مي توان با ساختارهاي شرطي و حلقه اي، كنترل ورودي ها و خروجي ها ، خواندن و نوشتن فايل ها و وظايف برنامه ريزي شده،‌فرصت هاي يادگيري خود را بالا ببريد .

7 صفحات وب

يك پيش نهاد خطرناك براي كسب مهارت در برنامه نويسي، سروكله زدن با جوا اسكريپت است . استفاده از واژه خطرناك به اين معني نيست كه جاوا اسكريپت زبان بدي است؛‌بلكه متاسفانه خرابكاران فضاي اينترنت از اين زبان سوء استفاده كرده و كارهاي خطرناكي توسط آن انجام داده اند. اگر فرد مسئوليت پذيري بوده،‌قصد خرابكاري نداشته باشيد ،‌مي توانيد از قابليت ها و امكانات جالب جاوااسكرپيت به خوبي استفاده نماييد. ضمن اين كه اين روزها صحبت راجع به استفاده از جاوا اسكريپت براي انتقال برنامه هاي تحت سيستم هاي عامل روميزي و امكان اجراي آن ها در مرورگرها توسط جاوا اسكريپت مطرح شده است. از اين رو بهتراست يادگيري جاوا اسكرپيت را در ابتداي ليست مورد نظر خود براي تقويت مهارت برنامه نويسي تان قرار دهيد . از آن جايي كه جاوااسكريپت يكي از پركاربردترين زبان هاي برنامه نويسي تحت وب است، بنابراين مي توان با خواندن كد ساير برامه نويسان آن را آسان تر از هر زبان ديگري فرا گرفت.

 

 

 

 

 

 

 

 

 

 

1390/2/14لينک مستقيم

فرستنده :
ناشناس HyperLink HyperLink 1392/2/18
مـتـن : خیلی بد وخیلی خوب وخیلی چرت و خیلی عالی بود.

نظر شما پس از تاييد در سايت قرار داده خواهد شد
نام :
پست الکترونيکي :
صفحه شخصي :
نظر:
تاییدانصراف
 زنگ تفريح‌ها

 
 المپياد كامپيوتر

 

     

 

 

صفحه‌ي اصلي

     

 

راهنماي سايت

     

 

 

آموزش

     

 

بانك سوال

     

 

 

مسابقه

     

 

 

زنگ تفريح

     

 

 

مصاحبه و گزارش

     

 

 

معرفي كتاب

     

 

 

مشاوره

     

 

 

پرسش‌و‌پاسخ‌علمي

     

 

اخبار

 

فعاليت‌هاي علمي

 بازديدها
كاربران غيرعضو آنلاينكاربران غيرعضو آنلاين:  8432
 كاربران عضو آنلاين:  0
  کل كاربران آنلاين:  8432