برنامه نویسی
بزن روش بریم ?? آموزش برنامه نویسی|طراحی سایت|تعرفه سئو سایت|آموزش سئو
بیایم اصلا ببینیم برنامه نویسی چیه؟
من این ابتدای کار رو خیلی خلاصه بگم نمیخوام اینجا خیلی وقتمون تلف بشه برنامه نویسی عملا یک روشی برای دستور دادن، تعامل با کامپیوتر هست . من میخوام با کامپیوتر به عنوان یک ماشین حرف بزنم.کامپیوتر برنامه نویسی رو میفهمه ، اگر بخوام به کامپیوتر بگم یک کار رو انجام بده باید با یک زبانی بهش بگم که متوجه بشه ، این زبان همون زبانه برنامه نویسی هست.
حالا من و شما فارسی متوجه میشیم با همدیگه صحبت میکنیم یا ممکنه انگیلیسیم صحبت کنیم،دوستانی که انگلیسی بلدن متوجه صحبت هام میشن.
کامپیوتر فقط صفر و یک میفهمه و فقط زبان های برنامه نویسی رو میفهمه . این زبان های برنامه نویسی که ما نزدیک به زبان انسان هم تایپشون میکنیم مینویسیم در انتها تبدیل میشه به صفر ویک و کامپیوتر اون صفر و یکه رو متوجه میشه
برنامه نویسی از کجا اومده؟
سال 1750 میشه تقریبا 270 سال پیش ماشینالات نساجی از یک تکنیکی استفاده میکردن برای حافظه مکانیکی
این تصویر که میبینید ورودیه ماشینالات نساجی بوده که داخلش یک سری ورقه ها بوده از جنس چوب یا کاغذ که داخلش رو سوراخ میکردن.این سوراخ ها درواقع اگر باینری و صفر یکی بخوایم نگاه کنیم هرجا سوراخ بوده به معنیه اینه که این یک هست و هرجایی که سوراخ نبوده صفر حساب میشه. با استفاده از همچین ورقه هایی به ماشین نساجی دستور میدادن که حالا مثلا چه طرحی رو بزنه یا کی شروع به بافت بکنه.
چرا از روشی که در ماشینالات نساجی هست در دنیای ماشینالات دیگه استفاده نکنیم؟
Herman Hollerith سال 1890 به این فکر افتاد که چرا از این روشی که در ماشینالات نساجی هست ما تو دنیای ماشینالات دیگه استفاده نکنیم؟ آقای هرمن کارت پانچ یا اصطلاحا کارت های هولریت رو ساخت . این کارت ها یک سری نقاط سوراخ داشت که به معنیه داده ی یک و اگر سوراخ نبود به معنیه صفر بود، و این میشه یک حافظه مکانیکی ، ما الان یک فایلی رو باز میکنیم صفر و یک توش می نویسیم اما اون موقع میگفتن این کاغذ رو سوراخ بکنید. دیگه شما تصور بکنید قبلا برنامه نویسی چه فاجعه ای بوده.
درواقع کسانی که بهشون میگفتن برنامه نویس عملا اتفاقی که باید رقم میزدن تا به ماشین دستور میدادن این کارت هارو باید بر میداشتن سوراخ میکردن. عملا برنامه نویسی به معنیه سوراخ کردنه یک سری کارت بوده اونم به زبان صفر و یک درصورتی که ما الان میخوایم برنامه نویسی کنیم میزنیم if فلان شرط بیا این کار رو انجام بده انگار انگلیسی داریم کد میزنیم خیلی به زبان انسان نزدیک هست.
تا سال 1950 این کارت ها خیلی همه گیر شدن خیلی از ماشینالات حتی تا سال 2012 یکی از انتخابات های آمریکا برنامه ای که به اون الکشن های انتخاباتی میدادن از این کارت پانچ ها استفاده میکردن.کارت پانچ یک روش مکانیکی بود که صفر و یک هارو نگه میداشت که ما حالا وقتی بیایم تو کامپیوتر فرض بکنید یک فایلی داریم که حاویه صفر و یک ها هست.
با گذشت زمان ما تونستیم اون دیتاهایی که از طریق کارت پانچ ها ارائه میشه رو به عنوان فایل به کامپیوتر بدیم که کم کم زبان ماشین داشت به روش دیجیتالی مطرح میشد.که میشد صفر و یک یا برای اینکه صفر و یک ها خیلی طولانی میشدن اگر میخواستن پرزنتشون بکنن برای همین معمولا برای نمایششون از مبنای 16 و یا اصطلاحا هگزا دسیمال استفاده میکردن که حالا این چیزی که سمت راست می بینید مبنای 16 همون صفر و یک ها بر مبنای 2 هست.
پس ما رسیدیم به زمانی که کامپیوتر زبان داشت و زبان صفر و یک رو میفهمید.مهندس ها گفتند چقدر سخته فرض کن ما میخوایم یک کد خیلی خیلی ساده رو بزنیم باید کلی صفر و یک رو کنارهم بزاریم حالا فرض کن یکی از این صفر و یک ها اشتباه باشه یا اگر رو اون کارت پانچ ها یک نقطه رو اشتیاه سوراخ میکردیم حالا بیا دی باگ کن پیدا کن مشکل از کدوم بخش بوده و چه داستان هایی که پیش نمیاد.
پس به شدت فرایند برنامه نویسی با صفر و یک (ماشین کد) یا کارت پانچ سخت بود.دانشمندها و مهندسین کامپیوتر اومدن یک سلوشن ارائه دادن گفتن ما باید با یک زبان ساده تر کد بنویسیم.یک زبانی که حالا اسمش رو میزاریم ASEMLER که خیلی وابسته به سخت افزار بود. داخل CPU یک سری حافظه ها وجود داره بهش میگن رجیستر میگفتن به جای اینکه ما این صفر و یک ها رو کد کنیم بیایم بگیم که مثلا او رجیستر های داخل CPU رو با یک سری تصویرات مینیمال مقادیرش رو جابه جا کنیم ، انتقال بدیم و برنامه نویسیمون رو راحت تر داشته باشیم بعد میایم یک برنامه می نویسیم که این مترجمه کد ASEMLER رو بهش میدیم اون ترجمه میکنه به زبان ماشین و صفر و یک سپس اجرا میکنه. این شد که زبان ASEMLER ایجاد شد برای ساده کردن فرایند کد نویسی که قبلا فقط با صفر و یک اتفاق میوفتاد و یک چیزی به اسم مترجم سطح بایین متولد شد.
این داستان همین شکلی پیش رفت تا دیدن که این کدی که به زبان ASEMLER داشتن هنوز سخته. چرا؟چون برنامه نویس باید حواسش به این باشه که اطلاعاتی که در CPU هست در رجیستر های CPU هست چی هستن دقیقا در لحظه کدوم داده در کدوم رجیستر قرار گرفته.
دانشمندا گفتن بیایم یک زبانی که به زبان انسان نزدیک تره مثل این چیزی که الان می بینید نمونه کد زبان C هست رو استفاده کنیم.دیگه ما این رو خیلی راحت ترمی فهمیم.
یک عدد صحیحی بر میگردونه این تابع مین
حالا بیایم یک مترجمی ایجاد بکنیم که این کد سطح بالا رو تبدیل کنه به اون کد ASEMLER ، اون ASEMLER رو هم ما قبلا مترجمش رو داشتیم که به کد درواقع صفر ویک تبدیل میکرد.
پس مترجم هایی ایجاد شد Compiler و Interpreter دقیقا چیکار میکنه ؟ زبان سطح بالایی مثل C پایتون PHP جاوا این هارو تبدیل میکنن به لول سطح پایین تر که زبان ASEMLER هست. حالا یک فرقی داخل کارشون دارند Compiler کل کد رو یکجا Interpreter خط به خط ترجمه میکنه.پس فرقشون فقط در روش ترجمه هست.
این هارو میگم چون بیس و مبانی کامپیوتر هست . برنامه نویسی که درک بیشتر از این ها داشته باشه بهتر میتونه در آینده یک سری مسائل رو متوجه بشه.
(زبان کامپیوتر)( صفر و یک) (ماشین کد)
دیدگاهتان را بنویسید