خانه
گاما

زبان برنامه‌نویسی: زبان قانونمند برای نوشتن دستورهایی که رایانه بتواند آن‌ها را اجرا کند.

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/13
تعداد بازدید67
زبان برنامه‌نویسی: زبان قانونمند برای نوشتن دستورهایی که رایانه بتواند آن‌ها را اجرا کند.
زبان برنامه‌نویسی و کاپیتولاسیون؛ دو مفهوم از دنیای قانون
آشنایی با زبان دستور دادن به رایانه و مصونیت قضایی بیگانگان در ایران
در این مقاله با دو مفهوم آشنا می‌شوید: یکی زبان برنامه‌نویسی که به کمک آن به رایانه دستور می‌دهیم و دیگری کاپیتولاسیون که نوعی مصونیت قضایی برای بیگانگان در ایران بود. هر دو مفهوم با «قانون» و «دستور» سروکار دارند؛ یکی در دنیای رایانه و دیگری در دنیای حقوق.

زبان برنامه‌نویسی؛ دستورهای دقیق به رایانه

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

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

برای اینکه بهتر متوجه شوی، به یک مثال ساده توجه کن. فرض کن می‌خواهی به دوستت بگویی که یک لیوان آب بردارد. اگر بگویی «آب»، او ممکن است معنی‌های مختلفی برداشت کند. اما اگر بگویی «لطفاً از یخچال یک لیوان آب سرد بردار و بیاور»، دستورت کامل و بدون ابهام است. برنامه‌نویسی هم دقیقاً به همین شکل عمل می‌کند؛ فقط به جای کلمات انسانی، از کلمات و نمادهای مخصوص زبان برنامه‌نویسی استفاده می‌کند.

نکته: هر زبان برنامه‌نویسی یک «مترجم» دارد که دستورهای نوشته‌شده را به زبان صفر و یک (زبان ماشین) تبدیل می‌کند تا رایانه بتواند آن‌ها را اجرا کند. بدون این مترجم، رایانه هیچ دستوری را نمی‌فهمد.

کاپیتولاسیون؛ مصونیت قضایی بیگانگان در ایران

حالا از دنیای رایانه به دنیای حقوق می‌رویم. کاپیتولاسیون یا قضاوت‌سپاری، یک قرارداد بین‌المللی بود که به بیگانگان ساکن در ایران، مصونیت قضایی می‌داد. یعنی اگر یک شهروند خارجی در ایران جرمی مرتکب می‌شد، دادگاه‌های ایران نمی‌توانستند او را محاکمه کنند. به جای آن، پرونده‌اش به دادگاه کشور خودش یا دادگاه ویژه‌ای که برای بیگانگان در نظر گرفته شده بود، می‌رفت.

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

کاپیتولاسیون ریشه در قراردادهایی داشت که ایران با برخی کشورهای اروپایی در دورهٔ قاجار امضا کرده بود. این قراردادها به بهانهٔ حمایت از اتباع خارجی، عملاً استقلال قضایی ایران را زیر سؤال می‌بردند. بعدها، با پیروزی انقلاب اسلامی، این قراردادها لغو شدند و دادگاه‌های ایران دوباره صاحب اختیار کامل برای رسیدگی به جرائم همهٔ افراد، چه ایرانی و چه خارجی، شدند.

نکته: امروزه در بسیاری از کشورها، دیپلمات‌ها و نمایندگان سیاسی هنوز از نوعی مصونیت برخوردارند، اما این مصونیت محدود و بر اساس قوانین بین‌المللی است و شامل همهٔ بیگانگان نمی‌شود.

پرسش‌های چالشی برای درک بهتر

پرسش ۱: چرا زبان برنامه‌نویسی باید «قانونمند» باشد؟ مگر نمی‌توانیم به رایانه با زبان خودمان دستور بدهیم؟

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

پرسش ۲: آیا کاپیتولاسیون فقط در ایران وجود داشت یا در کشورهای دیگر هم بود؟

بله، در گذشته بسیاری از کشورهای ضعیف‌تر یا در حال توسعه، چنین قراردادهایی را با قدرت‌های بزرگ امضا کرده بودند. این قراردادها معمولاً به اجبار و برای جلوگیری از فشارهای سیاسی یا نظامی پذیرفته می‌شدند. اما امروزه بیشتر کشورها بر اصل «برابری در برابر قانون» تأکید دارند و مصونیت قضایی فقط برای گروه‌های خاص مانند دیپلمات‌ها به رسمیت شناخته می‌شود؛ آن هم با شرایط و محدودیت‌های مشخص.

پرسش ۳: چه شباهتی بین زبان برنامه‌نویسی و قراردادهای حقوقی مانند کاپیتولاسیون وجود دارد؟

هر دو به «دقیق بودن» وابسته‌اند. در برنامه‌نویسی، یک اشتباه کوچک باعث می‌شود دستور اجرا نشود. در قراردادهای حقوقی هم اگر یک بند به درستی نوشته نشود یا ابهام داشته باشد، ممکن است سوءاستفاده شود. کاپیتولاسیون نمونه‌ای از یک قرارداد حقوقی بود که به دلیل نابرابری و ابهام‌هایش، باعث بی‌عدالتی شد. درست مثل یک برنامهٔ رایانه‌ای که اگر اشکال داشته باشد، نتیجه‌اش خراب‌کاری خواهد بود.

پرسش ۴: اگر کاپیتولاسیون لغو شد، پس الان بیگانگان در ایران چه وضعیتی دارند؟

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

مرور آنچه خواندیم

در این مقاله دیدیم که زبان برنامه‌نویسی یک زبان قانونمند برای دادن دستور به رایانه است و بدون رعایت دقیق قواعد آن، رایانه نمی‌تواند کاری انجام دهد. از سوی دیگر، کاپیتولاسیون یک قرارداد حقوقی بود که به بیگانگان در ایران مصونیت قضایی می‌داد و باعث نابرابری در برابر قانون می‌شد. هر دو مفهوم بر اهمیت «قانون» و «دقت» تأکید دارند؛ یکی در دنیای فناوری و دیگری در دنیای حقوق. با لغو کاپیتولاسیون، ایران استقلال قضایی خود را بازیافت و امروز همه در برابر قانون یکسان هستند. همچنین، برنامه‌نویسی به ما می‌آموزد که با دقت و نظم می‌توانیم مسائل پیچیده را حل کنیم و به رایانه‌ها کارهای مفید بیاموزیم.

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

شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع
کپسول آموزشی

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری
کپسول آموزشی

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری

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

مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.
کپسول آموزشی

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام
کپسول آموزشی

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی
کپسول آموزشی

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها
کپسول آموزشی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر
کپسول آموزشی

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر

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

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.
کپسول آموزشی

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.
کپسول آموزشی

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.