فواید یادگیری الگوریتم و ساختمان داده (درک علوم کامپیوتر)

شاید عمده افراد (خودمم جزو همین دسته بودم) در اولین برخوردشون با زبان های برنامه نویسی برن به سمت یادگیری ابزار هایی که زبان در اختیارشون میگذاره و در واقع شروع به بازی با خود زبان و انواع داده ها، I/O و ... بکنن.

مثلا شروع میکنن برنامه های ساده مینویسن ، ورودی های ساده میگیرن و با یکم بازی با ورودی خروجی رو پرینت میکنن :) و خلاصه از این دست کارها. اگر پیگیر هم باشند و کار رو رها نکنن بسته به شرایط شون (پشتکار، سن ، رشته ، دونستن زبان انگلیسی و تجربه برنامه نویسی ...) میتونن تو یه بازه زمانی نسبتا خوب به حدی برسن تا با تواناییشون درآمد کسب کنن. البته لازم به ذکره که هدف افراد باهم متفاوته و اگر صرفا هدفتون کسب درآمد از برنامه نویسی باشه همین دانش کم کافیه ولی اگر دنبال اهداف آکادمیک هستین باید مسیر متفاوت رو طی کنید که در ادامه توضیح میدم.


به نظر من افرادی که میان به سمت این دنیا بزرگ و بی انتها دو دسته هستند:

۱-صرفا از این کار برای هدف اصلی دیگری استفاده میکنن.

۲-عاشق این کار هستند.

نمونه ای از افراد دسته اول کسانی هستند که مثلا جاوا اسکریپت بلدن (کلا یکی دوتا فریمورک) و باهاش پول درمیارن و خوشحالن. دم شون هم گرم.

دسته دوم ولی مسیر متفاوتی خواهند داشت این افراد اگر خودشون از لحاظ دانش بروز نکنن و مطالعه نداشته باشند تو مدت کوتاهی از رده خارج میشن. پس باید حتما مطالعه رو در نظر داشته باشیم در هرجایگاهی که هستیم. (برای مثال: اگر کارمند بخش آی تی یه شرکت هستیم و کارمون دیتا بیسه به طور مداوم اطلاعات خودمون رو آپدیت کنیم و از تکنولوژی های جدید مطلع بشیم.) اما داستان به اینجا ختم نمیشه؛

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

همونطوری که ادسخر دیکسترای فقید - خالق الگوریتم دیکسترا- میگه:

"علوم کامپیوتر همون قدر درباره کامپیوتر هست که اخترشناسی درمورد تلکسوپ هست."

نتیجه گیری:

۱- به دونستن زبان بسنده نکنیم و تمرکزمون روی حل مسئله باشه.

۲- دانش مون رو مدام آپدیت کنیم.

۳-ریاضی بخونیم و الگوریتم هارو درک کنیم.