ورود

View Full Version : یادگیری و تطبیق مداوم با تغییرات - جزیی جدایی ناپذیر از علم رایانه و برنامه نویسی



eshpilen
چهارشنبه 24 شهریور 1389, 13:57 عصر
یادگیری چیزهای جدید جزیی از کار ماست.
یکی از مزایای بزرگ رشتهء کامپیوتر برای من این بود که درک لزوم و قدرت برای، تلاش و جریان و تغییر و تطبیق مداوم رو، به من داد. یعنی فهمیدم که اصولا زندگی و پیشرفت، از دائما درحال جریان بودن و یاد گرفتن چیزهای جدید و ارتقا پیدا کردن و خود رو با حداکثر سرعت ممکن با شرایط و نیازهای جدید تطبیق دادن، جدایی ناپذیر هست. توقفی وجود نداره و باید تنبلی رو کنار گذاشت و بجای تن پروری، خودمون رو طوری بار بیاریم که تلاش برای پیشرفت و تغییر اذیتمون نکنه و یه کار عادی و لذت بخش باشه برامون (در اصلش هم همینطوره بخاطر تعالی ای که به آدم میده).
البته من در این راه از روحیهء جنگندگی و نیروی خشم هم استفاده کردم و میکنم. چون اینا جدیت و نیروی مضاعفی به انسان میدن. (شاید واسه همینه که اینقدر پرخاشگر شدم :لبخند:)
برای من حل کردن یه مسئله یا فهمیدن یک الگوریتم و مفهوم پیچیده/حجیم، یک مبارزه هست که گاهی احساس میکنم پیروزی در اون، برای بقا یا خوشبختیم حیاته.

یادمه اول که وارد کامپیوتر شده بودم مثلا یه کتاب ویندوز 98 که حدود 1000 صفحه بود خریدم و خوندم و قبلش تفکرم این بود که خب همین برای کاربری رایانه و انجام هرکاری یا حداقل تمام کارهای عادی مورد نیاز کافیه. نهایتا اون کتاب رو دو سه بار خوندم! و تازه فهمیدم که داس رو هم یاد بگیرم مثل اینکه بد نیست. خلاصه رفتم داس رو خوندم؛ بعد دیدم حالا که تا اینجا اومدم حیفه و باید کتاب داس پیشرفته رو هم بخونم. بعد از یاد گرفتن داس تازه فهمیدم که یادگیری داس یک چیز تنها مفید نبوده، بلکه لازم بوده و حتی توی ویندوز هم خیلی جاها مفیده یا حتی کارهایی رو میشه باهاش انجام داد که یادگیری کاربری پیشرفتهء ویندوز هم به تنهایی جواب نمیده! (داس الان رسما شل ویندوز هست و منظور حتما داس اصلی نیست).
خلاصه در برنامه نویسی هم همینطور جلو رفتم. اول مثلا HTML یاد گرفتم، بعد دیدم توش خیلی کارها رو نمیتونه انجام بده و اونا برعهدهء جاوااسکریپت هست، بعد جاوااسکریپت رو یاد گرفتم، بعد دیدم اون چیزایی که توی کتاب HTML درمورد CSS و XML گفته کم و ضعیف هست، بنابراین کتابها و رفرنسهایی درمورد اونا هم خوندم. بعد به این واقعیت که یک زبان برنامه نویسی سمت سرور لازم هست برخوردم که منجر به یادگیری PHP و MySQL شد (رفرنس هردو رو کامل خوندم؛ و حتی رفرنس آپاچی رو). شاید خوبی برنامه نویسی وب برای شروع در این بود که برای ایجاد یک اپلیکیشن وب کامل و جالب نیاز به استفاده از محدودهء وسیعی از فناوریها و زبانها و استانداردها و پروتکل ها هست.
البته در برنامه نویسی اپلیکیشن های دسکتاپ هم سرانجام با همین واقعیت که یک زبان و حتی دو زبان به تنهایی کافی نیست برخوردم. حتی در یک برنامه روی یک پلتفرم خاص گاهی نیازهایی داریم که یک زبان جواب نمیده یا بهینه ترین شکل مناسب نیست، ولی این مسئله بیشتر خودش رو درمورد زبانهایی که ترکیبی از چند حیطه و یا پلتفرم هستن نشون میده. بغیر از این پارامترها، مسئلهء بازار کار و اعتماد بنفس شخصی آدم هم هست. هرچی بیشتر بلد باشی امکان کار برات درمورد پروژه های بیشتر و فرصتهای شغلی بیشتری شدیدا تسهیل میشه، و ضمنا اعتماد بنفس بیشتری پیدا میکنی بطور کلی.
آشنایی با دنیای نرم افزار آزاد و گنو/لینوکس با غنا و تنوع زیادش هم که دیگه منو کاملا شیفته کرد.
بعد با تغییرات بزرگ در استانداردها و ابزارهای برنامه نویسی مواجه شدم که نسبتا به سرعت صورت میگرفتن. مثلا تغییراتی که در وب بوجود اومد زیاد بود. مثلا استانداردهای جدیدی که کنسرسیوم وب بوجود آورد.
خیلی زود فهمیدم که از این تغییرات گریزی نیست و هرکس نخواد چیزهای جدید رو یاد بگیره و خودش رو تطبیق بده، اگر Out نشه حداقل خودش رو از خیلی مزایا محروم کرده و بخش بزرگی از مهمانی و در شاهراه اصلی بودن رو از دست داده. یعنی یا عقب میمونی و پیشرفت نمیکنی یا کلا بازنشسته میشی.
اینا که گفتم فقط کسری از راهی بود که طی کردم و بنظرم لازم و حیاتی بود. درکل انبوهی مطالعه داشتم برای رشتهء کامپیوتر که فکر میکنم اگر بجاش در چنتا رشتهء دانشگاهی تحصیل میکردم اینقدر مطالعه و تلاش نمیکردم.
خوبی رشتهء کامپیوتر اینه که نتیجهء تلاشت رو خیلی زود و بصورت صددرصد کامل و عملی میتونی ببینی و ازش بهره برداری کنی (البته پس از مطالعه و تمرین اولیهء کافی) و نیازمند هیچ هزینه و امکاناتی که در دسترس هر فردی نباشه نیستی. واسه همین آدم انگیزه ای بدست میاره که توی هیچ رشتهء دیگه ای بدست آوردنش به این راحتی نیست.
یادمه اولین روزهای یادگیری کامپیوتر، از ترجمه و حفظ کردن معنی کلمات و اصطلاحات ویندوز شروع کردم که از منوی استارت شروع شد. مثلا یکی از اولین کلماتی که معنیش رو حفظ کرد، کلمهء Accessories بود که بالای منوی استارت هست. بعدا حتی کلمات داخل فایلهای dll رو هم که از روی کنجکاوی با نوتپد باز میکردم ترجمه میکردم.
اولش حفظ معنی ها برام سخت بود و کلمات کمی رو در روز میتونستم حفظ کنم و از معنی های متعدد کلماتی که تعداد زیادی معنی مختلف داشتن یک تعداد محدود رو گزینش میکردم یا فقط اون معنی ای رو که در کاربرد موردنظر بهش برخورد کرده بودم انتخاب میکردم.
اما اینقدر حفظ کردم و حفظ کردم و وقتی تعداد لغتهایی که حفظ بودم به بیش از هزارتا رسید دیگه حتی برگشتم و معنی های کلمات قبلی رو هم کامل یاد گرفتم.
شاید ده ها بار دفترهایی رو که توش معنی ها رو نوشتم دوره کردم و این کار رو هنوز هم هر از چند گاهی انجام میدم (البته از آخرین بارش زیاد میگذره).
حافظه و قدرت ذهن آدم با تلاش در این رشته واقعا تقویت میشه. بخصوص که 99% کارش فکری و غیرفیزیکی هست و تنها با قدرت حافظه و پردازش ذهنی میشه در این رشته پیشرفت کرد و البته به همه جا رسید (از نظر علمی و توانایی عملی؛ نه لزوما پولی!!).
بخش مهمی از تعریف یک برنامه نویس بنظر من همینه. یعنی یادگیری و تلاش دائمی و قدرت تطبیق سریع با شرایط و نیازهای جدید.
هیچ یا کمتر رشته ای مثل رشتهء رایانه و برنامه نویسی، اینقدر وسیع و پیچیده و دارای تغییرات قابل توجه و سریع هست، اما درمقابل مزایایی هم داره که میتونم بگم در کل تاریخ بشر استثنایی و آرمانی هست.
و ما برای کامپیوتر درواقع به چند توانایی و تخصص برجسته احتیاج داریم. 50 درصدش فقط یادگیری زبان انگلیسی هست، که انگلیسی زبانها این هزینه رو ندارن و بنابراین یک امتیاز نسبت به ما دریافت میکنن و شاید این یکی از علتهایی باشه که اونها اغلب از ما پیش هستن.
منابع عظیمی از نظر کیفیت و کمیت به زبان انگلیسی هست که ترجمه نشدن و هرگز هم بنظر من نمیشه منابع رو بصورت کامل ترجمه کرد (بخصوص که هر روز هم اینهمه انگلیسی زبان به اونها اضافه میکنن). راه بهینه یادگیری انگلیسی حداقل درحد خوندن و فهمیدن کامل مطالب فنی هست.

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

پ.ن:
امیدوارم مدیر محترم این تاپیک رو حذف نکنن. چون دیگه نمیدونم باید این بحث ها رو کجا پیگیری کرد و این تالار پس واسه چیه.

ایمان اختیاری
یک شنبه 28 شهریور 1389, 13:10 عصر
هیچوقت یادم نمی ره اولین روزی که پای من به دنیای کامپیوتر باز شد ..
اول راهنمایی بودم و یکی از معاونای مدرسه اومد سر کلاس که کی برای کلاس کامپیوتر می خواد ثبت نام کنه ؟
مدرسه ی ما هم به امور فوق برنامه اهمیت می داد ..
خلاصه من گفتم خب بریم ببینیم چی هست ..
کلاس های ما روز پنجشنبه 2 تا 5 بود ... اولین روزی که رفتم سر کلاس با دستگاهی به اسم کمودر 64 آشنا شدم .. هیچوقت یادم نمی ره .. کار با نوار و نوارهای رنگی رنگی که روی تلویزیون های 17 اینچ نشون می داد .. ما با بیسیک کار می کردیم .. اولین برنامه ای هم که نوشتم یک متغییر با مقدار 1 بود و توی یک حلقه ی بینهایت می افتاد و بهش یک مقدار اضافه می شد و روی مونیتور چاپ ... از دیدن اون همه عدد با اون سرعت بالا واقعا ذوق می کردم .. تا جایی که سیستم کرش می کرد ..
این شد که پای منم به دنیای کامپیوتر باز شد .. بعد از اون دوره خب مثل امروز نبود که سیستم به این آسونی در دسترس باشه .. شبکه ی 2 یه مقدار آموزش می ذاشت و بعدش جذب کتاب های مهندس سعید سعادت شدم .. خدا خیرش بده .. از طریق کتاباش کلی چیز یاد گرفتم .. دیوانه ی برنامه نویسی شده بودم . هر کتابی که می خریدم تا حفظش نمی کردم ولش نمی کردم .. کار تابستون من شده بود فقط خوندن و خوندن .. تا اینکه داداشم سیستم خرید .. اولین ویروسم رو هم روی سیستم اون بنده ی خدا تست کردم .
تا اینکه سال 79 حدود یک میلیون تومن خانواده کمک کردن و سیستم خریدم .. همونطور که eshpilen عزیز گفت یه جورایی معتاد این رشته شدم . با تموم وجود دستورات و مفاهیم رو هضم می کردم و تا تست نمی کردم و یاد نمی گرفتم ولش نمی کردم.. همه ی زیر شاخه ها رو تست کردم .. از گرافیک و تدوین فیلم تا شبکه و موارد مشابه .ولی الان بیشتر روی برنامه نویسی تمرکز کردم و کمتر به مسائل دیگه می پردازم ..
دوران دبیرستان زیاد نمی تونستم با سیستم ارتباط برقرار کنم به علت ضعف زبان .. ولی یکی از دبیرامون چنان پوستی از ما کند که حد نداشت.. همون شد استارت و الان به راحتی مشکلاتم رو برطرف می کنم ..
مرسی دوست عزیز بابت این تاپیک زیبا