چطور از خودمان برنامه نویسی بیاموزیم؟ یک
![](http://shahinism.files.wordpress.com/2011/01/say-hello.png "Say-Hello-!")
شما هم دوست دارید تا برنامه نویسی یاد بگیرید؟ شما هم دوست دارید برنامههای مورد نظر خود را بنویسید؟ اما احتمالا مشکلتان اینجاست که نمیدانید از کجا شروع کنید! کلاسهای آموزشی و حتی دانشگاهها نمیتوانند کمکی به شما بکنند. میپرسید خوب چه کار کنیم؟
حواب شما ساده است: وب! شما عملا هر کاری را میتوانید از وب یاد بگیرید. و در این نمونه یعنی برنامه نویسی که در واقع میتوان وب را نتیجهٔ تکاملش دانست، شما با یکی از بزرگترین منابع آموزشی روبرو هستید. اما احتمالا مشکل اینجاست که نمیدانید از کجا شروع کنید. خوب این مقاله را برای همین منظور مینویسم.
اولا: تکلیفتان رو روشن کنید، و در دنیای بزرگ زبانهای برنامه نویسی گم نشوید!
خوب اولین سوالی که از خودتان میپرسید این است که در بین این همه زبان کدام را اول یاد بگیرم. حقیقت موضوع اینجاست که این موضوع مهمی نیست. برای برنامه نویسی اول باید یاد بگیرید چطور مثل یک برنامه نویس مساله را حل کنید. درست است که هر زبان دنیای متفاوت مربوط به خود را دارد ولی وقتی بتوانید این چنین تقکر کنید میبینید کوچ کردن به زبانهای دیگر چقدر راحت است.
من دانشجوی رشتهٔ نرم افزار هستم. در دانشگاه برنامه نویسی با پاسکال، C++ و اسمبلی را یاد گرفتیم. ولی خوب عملا تفاوتی بینشان ندیدیم جز ساینتکسشان (شکل نوشتاری زبان)! منطق برنامه نویسی در همهٔ زبانها شبیه به هم است. فقط نحوهٔ به کارگیری این منطق است که متفاوت است.
بحث مهم بعدی این است که علاقهمندید در چه زمینهای برنامه نویسی یاد بگیرید؟ وب، برنامههای دسکتاپ، اسکریپت نویسی خط فرمان، برنامه نویسی موبایل و یا پلتفرمهای دیگر؟ برای شروع یکی را انتخاب کنید که بیشتر علاقه دارید. این کمکتان میکند که در میانهٔ راه خسته نشوید. وقتی توانستید دو و یا سه زبان را یاد بگیرید، طوری که بتوانید بیشتر مسائلتان را با همانها حل کنید، زمانی رسیده که دید خیلی روشنی دارید که سوال اول همین بخش را پاسخ دهید.
نکته: لطفا اگر واقعا میخواهید برنامه نویسی یاد بگیرید، در گیر این مسائل پیش پا افتاده نشوید که فلان زبان بهتر از آن یکیست، و یا الان نون تو شبکست پس برنامه نویسی وب بهتره و فلان! همیشه علاقهٔ خودتان مهمترین نکته است و به این هم توجه داشته باشید که هر زبان برنامه نویسی فلسفهٔ وجودی خود را دارد و در بیشتر مواقع مزایا و مضراتی نسبت به دیگران دارد.
دسکتاپ اسکریپتینگ:
راحتترین راه برای برنامه نویسی برای مک و ویندوز استفاده از اسکریپت نویسهایی مثل [AutoHotkey](autohotkey.com "Auto Hotkey Official Website") برای ویندوز و [Automator](macosxautomation.com/automator "Automator Official Website") برای مک است. ممکن است خیلیها بگویند که اینها زبانهای برنامه نویسی واقعی نیستند. ولی حقیقت این است که اینها در همین گروه جا دارند، البته نوع سطح بالایی از این زبانها هستند. این ابزارها عملا به شما کمک میکنند که درک بهتری از برنامه نویسی داشته باشید - البته اگر هنوز نو پا هستید-.
خوب حالا برای اینکه ذرهای هیجان زده شوید، میخواهم نمونهای از برنامهای که توسط اوتوهاتکی برای ویندوز نوشته شده را ببینید. تکستر یک نرم افزار ساده ولی کاراست. در واقع کارش این است که شما برای نمونه، برای آدرس منزلتان سه یا چهار حرف به عنوان نشانه در نظر میگیرید، از آن پس هر وقت خواستید که آدرستان را در جایی وارد کنید کافیست که سه چهار حرف نشانه را وارد کنید! شاید نتوانسته باشم که منظورم رو درست مفهوم کنم! برای دیدن نمونهای از کار نرم افزار در یک ویدئو و توضیحات تکمیلی به [اینجا](lifehacker.com/238306/lifehacker-code-texte.. "Lifehacker Code: Texter (Windows)") بروید.
توسعه وب:
به جای اینکه همیشه در قید و بند سیستمهای عامل باشید، تصور کنید که بتوانید برنامهتان را روی ابر (Cloud) اجرا کنید و در اختیار دنیای بزرگتری از کاربران بگذارید. به دنیای مفرح برنامه نویسی وب خوش آمدید.
HTML و CSS و Java Script:
اولین چیزی که برای ساخت یک صقحهٔ وب نیاز دارید زبان HTML است. این زبان در واقع شکل و استایل صفحهٔ وب شما اعم از نوشتهها، جداول و لیستها را تعیین میکند. برای اینکه بتوانید این زبان را یاد بگیرید میتوانید به [HTML Tutorial](w3schools.com/html/default.asp "HTML Tutorial") که محصول W۳ است مراحعه کنید.
شاید HTML بتواند صفحات منظمی برایتان آماده کند، ولی وقتی حرف زیبایی به میان میآید این زبان علاوه بر مقرون به صرفه نبودن، کارایی لازم را ندارد. اینجاست که CSS وارد میشود. برای آموزش CSS هم میتوانید به [اینجا](w3schools.com/css/default.asp "CSS Tutorial") که باز هم محصول W۳ است رجوع کنید.
![راشل اندرو](http://shahinism.files.wordpress.com/2011/01/eoms_rachel.jpg "eoms_rachel")سادگی و کارایی آموزشهایی که در W۳ ارائه شده مثال زدنیست. اما اگر یک منبع برای تکمیل یادگیریتان خواستید میتوانید از کتاب «۱۰۱ نکته و ترفند برای استفادهٔ بهتر از CSS» نوشتهی [راشل اندرو](edgeofmyseat.com "edge of my seat") هم بهره ببرید که خوشبختانه [ترجمهٔ فارسیاش](naghoospress.ir/product_info.php?manufactur.. "صفحهی کتاب در سایت ناشر ایرانی") هم به چاپ رسیده. در این کتاب نویسنده سعی کرده با طرح ۱۰۱ سوال شما را در موقعیتهای مختلفی که در حین طراحی برایتان پیش میآید روبرو کرده و راه حلهای پیشنهادی را نشانتان دهد. این کتاب جزو معدود کتابهای فارسی در زمینهٔ تخصصی بود که جدا به درد من خورد!
حالا تا اینجا توانستید که صفحههای ایستای جذابی بسازید. اما حالا میخواهیم صفحهٔ طراحی شده را کمی افکت دارتر کنیم. یا بتوانیم اشیای موجود در صفحه را کنترل کنیم. اینجاست که Java Script وارد میشود. برای یادگیری جاوا اسکریپت میتوانید به [اینجا](w3schools.com/js/default.asp "JavaScript Tutorial") مراجعه کنید که باز هم همانطور که میبینید محصول w3 است. و اگر جدا خیلی از اینها لذت بردید، میتوانید برای یاد گیری تکنولوژی [Ajax](webmonkey.com/2010/02/ajax_for_beginners "Ajax for Beginners") که در واقع فرزند خلف جاواست به [اینجا](webmonkey.com/2010/02/ajax_for_beginners "Ajax for beginners") مراجعه کنید.
یک بستهٔ آموزشی برای سه زبان اخیر توسط یکی از شرکتهای ایرانی طراحی شده که با روش آموزشی جالبش به نظرم میتواند منبع خوبی برای یاد گیری باشد. هزینهٔ این بسته هم در حدود چهار هزار تومان است، که جدای از قفل نرم افزاری مزخرفش، چیز دردناکی نیست. منظورم بستهٔ آموزش HTML، CSS، JavaScript از شرکت انیاک است که میتوانید از [اینجا](learninweb.com/product_detail.php?uid=33 "صفحهی محصول در سابت انیاک") به اطلاعاتش دسترسی داشته باشید.