سلام. خب امروز راجب ۲ تا کلمه مهم صحبت میکنم که خیلی کمک میکنه به فهم یه سری از چیزها.
عکس بالا رو یه نگاه بندازید، آخر مقاله انشاالله کامل معنیش رو میفهمید.
یه نکته: من واقعا اصلا با اصطلاحات فارسی تو حیطه علوم کامپیوتر راحت نیستم. اگه از کلمات انگلیسی استفاده میکنم بدانید که به خاطر کلاس گذاشتن نیست!!! اینجور راحت تر میتانم توضیح بدم.
خب حالا این ۲ تا کلمه چیا هستن؟
اول این رو بگم که Data و Information نیستن! پس چی هستن؟
اینم از ۲ تا کلمه مهم ما:
حالا این ۲ تا کلمه چه ربطی به برنامه نویسی داشتن؟ تقریبا میشه یجورایی گفت برنامه نویسی کلا یعنی همین ۲ تا کلمه!
چطور؟؟؟
خب، برای درک این قضیه باید ببینیم Data یعنی چه. به زبان ساده اگه بخوام بگم Data یعنی اون ''چیزهایی'' که ما تو برنامه نویسی باهاشان کار میکنیم. حالا این Data ها میتانن Type های مختلف داشته باشن.
مثلاً : عدد ها، String ها، Boolean ها، و حتی Data Structure ها که از قبل توسط زبان برنامه نویسی در اختیار ما قرار داده میشن، و همچنین حتی Type های دیگه که خود ما اونهارو میسازیم، همگی میشه گفت مثال هایی از Type های مختلف Data هستن.
حالا به جای خوبش میرسیم!
ببینید، ما وقتی میخوایم یه مسئله ای رو با برنامه نویسی حل کنیم (یعنی در واقع وقتی که داریم برنامه نویسی میکنیم) با ۲ تا ''دنیای'' مختلف روبرو هستیم:
۱- دنیای مسئله ای که داریم روش کار میکنیم (Problem Domain) که یه سری اطلاعات تو خودش داره که ما بهشان میگیم Information.
۲- دنیای برنامه نویسی یا همون کد ما یا همون سورس کد ما (Solution Domain) که یه سری اطلاعات تو خودش داره که ما بهشان میگیم Data.
خب پس تا حالا ما Information ها رو داریم که تو مسئله ما هستن و Data ها رو داریم که توی زبان برنامه نویسی (تو کد ما) هستن.
حالا اون ۲ تا کلمه Represent و Interpret کجای کار ما هستن؟
چیزی که هست اینه که بین اون Information و Data یه رابطه مهم وجود داره و این ۲ تا کلمه Represent و Interpret این رابطه رو معنی میکنن.
نگران نباشید، آخر کار حتما مثال هم میزنم که کامل همه چی روشن بشه براتان.
حالا بریم سراغ اون رابطه، خلاصه قضیه میشه این ۲ مورد:
حالا یه مثال:
فرض کنید ما داریم برای نیروی انتظامی یه برنامه مینویسیم که یه قسمتش راجب یه چراغ راهنمایی رانندگیه.
خب طبیعتا ما توی کامپیوترمان و توی یه زبان برنامه نویسی که چراغ راهنمایی رانندگی نداریم دیگه!!!
خب این چراغ راهنمایی رانندگی الان برای ما میشه یه جور Information که توی کامپیوتر نیست دیگه!
پس باید چکار کنیم الان؟؟؟
جواب اینه که ما میایم و این چراغ راهنمایی رانندگی رو بصورت Data توی کد خودمان Represent میکنیم (یا نشان میدیم). برای اینکار ما از یکی از اون Type های مختلف Data که اول این مقاله گفتم، استفاده میکنیم برای Represent کردن (یا نشان دادن) یه چراغ راهنمایی رانندگی بصورت Data توی کد خودمان. به همین راحتی!
خب این از Represent کردن Information ها، الان Interpret کردن Data کجای کاره؟
خب Interpret کردن یجورایی میشه برعکس Represent کردن دیکه! فرض کنید ما یه عدد ۶ تو برنامه داریم. از کجا بفهمیم که این عدد ۶ چیه اصلا؟ یعنی درواقع چطور این عدد ۶ رو باید Interpret کنیم برای خودمان؟
جواب اینه که این بستگی به این داره که اون عدد ۶ داره چی رو Represent میکنه دیگه!
همه اینا تو چه چیزی مشترک هستن؟ تو این قضیه که یه سری Information بصورت Data توی برنامه Represent (نشان داده) میشن و یه سری Data هم بصورت Information برای ما Interpret (معنی) میشن. به همین راحتی! (حالا همین پایین عکس رو دوباره ببینید).
خب پس فهمیدیم که این ۲ کلمه Represent و Interpret چی هستن و چطور رابطه بین Information و Data رو توضیح میدن.
دفعه بعدی که میخواین یه برنامه بنویسین، از خودتان بپرسید که چطور چیزهایی که تو مسئله هستن (Information ها) رو به صورت Data توی کد خودم نشان بدم.
بعضی از مقاله های دیگه من هم اینها هستن:
کتاب «دنیا بازیچه یهود» کتابی که هرکسی باید بخواند
پارادایم های برنامه نویسی به زبان ساده
امیدوارم این مقاله کمک کرده باشه به شما.
موفق باشید.