


هنوز نمی دونی زبان برنامه نویسی سطح بالا و سطح پایین چیه؟ اِی وایِ من بدو برو 5 دقیقه متن زیر رو بخون با کلی اطلاعات دیگه که به دردت می خوره.

زبان برنامه نویسی سطح بالا یا سطح پایین؟
برای صحبت کردن با کامپیوترها یا دستگاههایی که داخلشان کامپیوتر دارد، مثل رباتها حتماً باید

همانطور که میبینید این کد پر از اعداد مشابه هم است و برای ما انسانها معنایی ندارد. برنامه نوشتن با چنین زبانی دیوانه کننده و وحشتناک به نظر میآید. امکان اشتباه کردن بین اینهمه عدد زیاد به نظر میرسد. برای همین دانشمندان علوم رایانه از همان ابتدای ساخت اولین نسل کامپیوترهای امروز در تلاش بودند تا زبانی برای ارتباط گرفتن انسان با آنها طراحی کنند که به زبان حرف زدن ما شبیهتر باشد. اصطلاحاً به این نوع زبانها، زبانهای سطح بالا میگویند و به زبانهای دورتر از زبان انسان و شبیهتر به زبان کامپیوتر، زبان سطح پایین میگویند.
انواع و اقسام زبانهای برنامهنویسی تا به امروز طراحیشده است. C فُرترن دلفی جاوا PHP جاوا اسکریپت پایتون و … ولی کد نویسی با این زبانها تنها برای بزرگسالان آسان است. آموزش دادن و یادگیری این نوع زبانها برای کودکان و نوجوانان کمی سخت است. یکی از دلایل آن را میتوان شیوه نگارش یا دستور زبان دانست. باوجوداینکه بعضی از این زبانها با اختلاف زیادی از زبان کامپیوتر فاصله گرفتند و مشابه زبان انسان هستند اما همچنان شیوه نوشتن آنها برای کودکان سخت است و خطای نگارش یا دستور زبان در افراد خردسال را زیاد میکند. به این معنا که شما نمیتوانید هر طور دلتان خواست کد بنویسید در بعضی دستورات باید از ویرگول استفاده کنید، بعضی جاها باید نقطهویرگول و درجایی دیگر تنها یکفاصله خالی بگذارید. اگر این علائم نگارشی را رعایت نکنید برنامه شما یا کلاً یا بهدرستی کار نمیکند.
خودِ کار نوشتن هم کاری وقتگیر است و سر کلاس آموزشی بیشتر وقت فراگیری را هدر میدهد؛ اما مگر کاری غیر از نوشتن هم وجود دارد؟
دانشمندان علوم کامپیوتر در دهه 1940 به این فکر افتادند که زبانهای سادهتری برای

کودکان یا نوجوانان ایجاد کنند تا آنها هم بتوانند برنامهنویسی را از کودکی یاد بگیرند. اولین زبانی که به این شکل ایجاد شد LOGO نام داشت. البته لوگو هم یکزبان نوشتاری بود ولی دستوراتش خیلی سادهتر شده بودند و بیشتر شامل مفاهیم ریاضی و ترسیم اشکال هندسی شده بود. در سالهای اخیر زبانهای برنامهنویسی آموزشی خلق شدند و توسعه یافتند که به آنها زبانهای گرافیکی یا بلوکی گفته میشود.
این زبانها هیچ شباهتی به زبانهای بزرگسال ندارند. شاید همانطور که از نام بلوک برمیآید آنها شبیه به قطعات پازل یا آجرهای لگو هستند که رویهم چیده میشوند تا یک مسئله را مطابق یک الگوریتم حل کنند.
این زبانها به دلیل گرافیکی بودن دیگر نیازی به دستور زبان نگارش ندارند به همین دلیل سرعت یادگیری را صدچندان کردهاند. تنها خطایی که در برنامهنویسی به این زبان میتوانید ببینید خطایی است که مربوط به شیوه حل کردن شماست یعنی خطاهای الگوریتمی؛ این مسئله به تقویت قدرت تفکر و پرورش مهارت حل مسئله کمک بزرگی میکند. میتوانم بگویم فوقالعاده است!
یادم میآید وقتی دانشجوی رشته مهندسی رباتیک بودم و زبان C میخواندم ساعتها کد مینوشتم. این درس جزء تنها دروسی بود که بهشدت به آن علاقه داشتم بیشتر به این دلیل که لمس میکردم چه اتفاقی میافتد. برای اینکه امکانات کمی برای آزمایش نیاز داشت: یک کامپیوتر، یک نسخه از نرمافزار توربو سی و یک مغز متفکر و خوش حوصله. روی برنامهها وقت میگذاشتم و چندین ساعت آنها را روی دیوار خانه که از جنس کاشی سرامیک بود مینوشتم تا بتوانم فضای کافی برای نوشتن داشته باشم و سریع پاککنم و سراغ نوشتن برنامه بعدی بروم و سریعتر آن را یاد بگیرم. وقتی برنامهها را به کامپیوتر منتقل میکردم هیچوقت بدون خطا نبودند. سرگرمی من این شده بود خطاها را پیدا کنم. وقتی خطا را پیدا میکردم انگار گنجی یافته بودم. پیدا کردن خطاها برای من آموزنده بود. یکی از آن ها که دقیقاً یادم هست خطای مربوط بهاندازه یک متغیر بود که باعث شده بود دادههای من از متغیر بیرون بریزد و نتیجه برنامه را تغییر دهد. واقعاً هیجانانگیز بود.

اما زبان برنامهنویسی بلوکی این دردسرها را ندارد. برنامه را در این نرمافزارها نمینویسند بلکه میسازند. کلیه دستورات مثل زبانهای دانشگاهی است و فقط نیازی به تایپ کردن ندارد. شکل گرافیکی آن باعث میشود علاوه بر جذابیتهای یادگیری سرگرمکنندهتر به نظر برسد و بیشتر شبیه به یک بازی باشد تا یک کار جدی مهندسی.
تعدادی از بلوکهای این برنامه را ببینید که به روش Snap به همدیگر میچسبند. روش Snap را هم در ویدئوی زیر میتوانید ببینید. این روش به معنی ضربه سریع در هنگام نزدیک کردن بلوکها به همدیگر است. بلوکها یکجور حالت مغناطیسی شبیه به آهنربا دارند. کل کارهای داخل نرم افزار با روش Drag & Drop انجام میشود، یعنی کشیدن و رها کردن. خیلی جذاب است! مگر نه؟