تازه های سایت
بهترین راه یادگیری یک زبان برنامه نویسی جدید برای یک برنامه نویس(قسمت دوم)

بهترین راه یادگیری یک زبان برنامه نویسی جدید برای یک برنامه نویس(قسمت دوم)

توی قسمت قبلی نظر برخی از کسانی که در امر آموزش زبان های برنامه نویسی و نوشتن کتاب توی این حوزه بودند رو باهم خوندیم. این شما و این ادامه ماجرا!

Doug Hellmann, نویسنده کتاب The Python Standard Library by Example:

hellmann_doug_c

یادگیری یه زبان جدید چیزی فراتر از حفظ کردن دستورات و syntax این زبان جدیده. مث زبان های واقعی که مردم مختلف باهاش صحبت میکنن هر زبان برنامه نویسی واسه خودش الگوی خاصی رو می طلبه. این الگوها هم خودش رو توی چیزای کوچیک از قبیل توابع یا عبارات نوشته شده به اون زبان نشون میده و هم توی مفاهیم بزرگتر مث برنامه نویسی چند نخی و موازی. برای اینکه شما واقعا یه زبان رو یادبگیرید باید این نکات رو یاد بگیرید.

من همیشه به یه نکته ایمان دارم که یاد گرفتن هر چیزی با داشتن یه هدف سفت و محکم شروع میشه . هدفی که برای به نتیجه رسیدن اون ابزار جدید رو لازم داره و شما باید یادش بگیرید. یه هدفی فراتر از اینکه ” من میخوام x رو یاد بگیرم!” . مثلا برای یادگیری Chef مجبور بودم Ruby هم یاد بگیرم. ولی یادگرفتن Ruby یه هدف بزرگ و غیر قابل اندازه گیریه. در واقع چیزی که من نیاز داشتم این بود :”یادگیری به اندازه Ruby برای اینکه یه کتاب کوچیک برای Chef درست کنم که بتونم محیط توسعه ام رو پیکره بندی کنم. این یه هدف ریز و متمرکز شده است. تهیه یه کتاب کوچیک واقعا بعدا مفید خواهد بود و دلیلی میشه واسه یادگیری بیشتر!

اولین کاری که من همیشه میکنم برای یاد گیری ، یکم خوندنه ! اگه هدف واقعا داشتن یک کتاب جدید در مورد Chef بود شاید خیلی راحت میشد با یه Copy/Paste ساده چند مثال از وب این کاررو کرد. ولی این به یادگیری ما کمکی نمی کنه.ولی خوندن و درک کردن اون مثال ها شاید زمان بیشتری ببره و شما رو به چالش بکشه ولی به کاربردن تکنیک هایی که شما از این مثال ها یادگرفتید در مسائل جدیدتر کار ساده تری خواهد بود.  من هم زمان زیادی برای یاد گرفتن کدهای Ruby ، نحوه کار با رشته ها در اون ، ساختمان داده های اون و هم زمانی رو برای کار با حلقه ها و شرط ها گذروندم.

در کنار تمرکز کردن برای یادگیری زبان جدید، داشتن یه پروژه درست و حسابی هم خوبه که محلی باشه برای تست اون چیزایی که یاد میگیرید .

جالبه که بدونید هر کسی که اون کتاب من رو میخوند بعد از چند فصل کتاب من می تونست خیلی راحت یه سرور رو سریع و مطمئن پیکره بندی کنه. ولی داشتن یه برنامه که کار کنه آخر کار نیست. قسمت بعدی مرور کردن کدی است که کار میکنه ! برای بهتر کردن اون . باز خوانی کد و داکیومنت هایی که از کد دارید یا با اون کد رو نوشتید به شما فرصت میده کد بهتری داشته باشید.

یادگیری کار میبره ولی ساختن یه چیزی که بدرد بخور باشه در زمان یادگیری به شما کمک میکنه که راههای جدیدی برای درک دنیای اطرافتون داشته باشید و برای مسائل جدید راه حل جدید داشته باشید. به قول معروف اگه تنها ابزاری که دارید چکشه تنها هدفی هم که دارید ناخنه !

پس در واقع دانشی که برای رفع نیازم در مورد Ruby اموختم باعث شد در آینده هم بیشتر به این زبان بپردازم.

Aaron Hillegass,  موسس Big Nerd Ranch:

hillegass_aaron_c

هر زبانی در شروع کار یه روی بد داره ! زمانی که شما هیچی نمیدونید و نمیدونید از کجا باید شروع کنید. برای اینکه اون روی بد زبان رو تبدیل به روی خوش کنید واقعا در ابتدای امر نیاز به یه کتاب خوب و یا کلاس خوب دارید.وقتی که از این گلوگاه اولی رد بشید بهترین راه اینه که یکی رو پیدا کنید تا یه پولی به شما بابت یه پروژه در اون زبان بده! مرحله آخر سلطان اون زبان شدن چیه ؟ یکی رو پیدا کنید و این زبان رو بهش یاد بدین !

Cay Horstmann, نویسنده همکار کتاب Core Java, Volume II—Advanced Features, 9th Edition:

1-انتظار معقول داشته باشید. شاید شما در ۳۰ روز به اندازه کافی زبان فرانسه بلد بشید که بتونید مثلا مسیر حرکت رو بپرسید یا یه زبان برنامه نویسی رو اونقدری یاد بگیرید که بتونید یه برنامه ساده بنویسید ولی شاید ماهها یا سالها زمان ببره که شما واقعا توی اون زبان روان بشید.

horstmann_cay_s_c۲-یه زبانی رو یاد بگیرید که واقعا با اون چیزی که تا الان استفاده میکردید فرق داره . شاید تعداد خیلی زیادی زبان باشه که شبیه جاواست  ولی به زحمتش نمی ارزه یادشون بگیرید. ولی یاد گیری Prolog یا Haskell یا Erlang به شما دید جدیدی میده برای حل مسائل و این شما رو در مسائل روز مره خلاق تر میکنه.(نکته مهمی رو اشاره کرد . مترجم ! 🙂 )

۳-به روح و جان زبان توجه کنید نه فقط صرف و نحو و قواعد اون. وقتی شما Ruby یاد میگیرید به بحث Metaprogramming اهمیت بدید نه به نقطه ویرگول و نبود اون. وقتی شما Haskell یاد میگیرد برید به جنگ monad حتی اگه شما رو دچار سردرد میکنن. وقتی هم به شما آسیب رسوند هیچیش نگید و یه چند هفته بعد دوباره برید سراغش و بازم این کار رو بکنید.

۴-زبان رو در پروژه ای که دوستش دارید به کار بگیرید. و بعد اصطلاحات و نکات زبان رو به کار بگیرید. به جای اینکه فقط یه مترجم باشید و اون چیزی که از زبان قبلی در مورد این پروژه بلدید رو به زبان جدید ترجمه کنید به روح زبان جدید و مفاهیم اون توجه کنید و سعی کنید اونا رو استفاده کنید.

۵-هر اتفاقی که می افته حتما دلیلش و پشت صحنه اش رو بدونید و بی دلیل از کنار چیزی رد نشید. چطور continuations باعث میشه که به یه نقطه قبلی از برنامه بریم ؟ چطوری actor ها واقعا نخ ها رو به اشتراک میذارن ؟ و سوالای دیگه !

۶-در مورد چیزی که یادگرفتید صحبت کنید ! بنویسید ! یه مقاله توی یه وبلاگ بنویسید ( هان دیدید من اینقدر میگم بابا بیاید مقاله بنویسید واسه چیه ؟! مترجم !) و اصلا نگران نباشید که حذفش کنید اگه دیدید قرار نیست چیزی به مطالب قبلی موجود اضافه کنه. یه ارائه توی شرکتتون بدید. یا حتی یه کتاب بنویسید ! ( بابا بیخیال ! مترجم ) ولی اسمش رو نذارید “Mastering Language X in 30 Days” 🙂

منتظر قسمت بعدی باشید.

۲,۵۲۴ total views, 1 views today

Print Friendly
Facebook0Google+0Twitter0LinkedIn0

درباره‌ی سعید دادخواه

یه برنامه نویس !

۵ نظر

  1. سلام اقا سعید ممنون از مطالب عالی تون من را هم از امروز در جمع خودتون بپذیرید.

جوابی بنویسید

ایمیل شما نشر نخواهد شد.خانه های ضروری نشانه گذاری شده است. *

*


9 + = شانزده