چیستی «انسانِ» پیچیده و ارتبط آن با ماهیت برنامه نویسی

نویسنده: ادریس رنجبر
آخرین به روزرسانی: 23 فروردین 1403
چیستی «انسانِ» پیچیده و ارتبط آن با ماهیت برنامه نویسی

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

 

انسان موجود عجیبی است. در کل یک موجود است با یک سری Entity و مشخصه که به تعداد خیلی زیادی Fork شده است. انگاری یک کلاس خیلی بزرگ که Clone شده باشد و انقدر بزرگ است که برای پردازش هر «انسان» نیاز به ابر رایانه ها و البته پردازش عمیق است.

در کل اگر نگاه شیئ گرایانه داشته باشید و یک برنامه نویس حرفه ای و کار کشته باشید، میدانید چه می گویم. کلا بنظر من شیء گرایی به ما در ترسیم یک جهان کمک می کند. فرض کنید یک انسان یک کلاس است با ویژگی های مختلف به عنوان متغیر، چیز هایی هم به عنوان ثابت، مانند تاریخ تولد و…، یک سری متد یا فانکشن؛ به عنوان مثال راه رفتن، غذا خوردن، نوشتن و… .

اولین بار که این نگاه را به دنیا داشتم در هنرستان بود. درس Adobe Flash ، یک چیزی داشت عین یک Object. هر شیء میتونست جدا گانه کار بکنه. تصور بکنید یک ماشین که خودش یک شیء است و کلی شیء زیر مجموعه داره. مثل لامپ، لاستیک، فرمان و… . این دنیای Object Oriented دنیای بسیار زیبایی است و نگاه جالبی رو به نسبت جهان به ما میده.

جالب اینکه مبحثی وجود داره به اسم وراثت یا Inheritance که در برنامه نویسی شیء گرا بسیار کاربرد داره. در این مواقع ما از موجودیت ها و متد های یک کلاس میتوانیم به کلاس های فرزند هم بدهیم یعنی عملا بحث توارث مطرح است.

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

جالب است نه؟!

هیچ وقت یادم نمی رود اولین باری را که به زبان ویژوال بیسیک یک برنامه نوشتم که مقدار Hello World رو چاپ می کرد. اولین و ساده ترین برنامه ای که در طول عمرم نوشتم. از آن وقت به بعد همیشه از اینکه برنامه نویسی بلدم احساس قدرت می کردم. گویی یک قدرت شگرف است. چیزی است که به شما قابلیت های بسیار می دهد. شما که برنامه نویسی بلد هستید می توانید لامپ خانه ی تان، کولر، کامپیوتر، مودم، گوشی، و خیلی چیز های دیگر را هوشمند کنید.

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

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

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

ساختن آموزش خوب و باکیفیت زمان‌بر و هزینه برداره. اگه دوست داری از من و آموزش های برنامه نویسی و لینوکس به زبان فارسی حمایت کنی اینجا کلیک کن 🌹🍵