نگاهی به ۱۰ زبان برنامهنویسی زیر بندازید و مطمئناً شما هم در مورد ترسناک بودن این زبانها با ما موافق خواهید بود (همچنین اگر علاقمند اینگونه زبانها هستید، میتوانید به مقالهٔ ۵ زبان برنامهنویسی که یادگیریشان بسیار دشوار است! نیز مراجعه نمایید که در آن ۵ زبان برنامهنویسی بسیار دشوار را معرفی کردهایم).
Taxi
تاکسی نام یک زبان برنامهنویسی است .که بیشتر شبیه به زبان نقشهکشی و مسیریابی است و برای یک مسافر مناسبتر است تا یک کدنویس! این زبان پیشرفتهٔ نقشه-محور، زبان رسمی مورد استفاده برای شهر Townsville استرالیا است .که در آن زبانهای برنامهنویسی رایج با یک زبان مدرن نقشه-محور جایگزین شدهاند. متغیرها (Variables)، کلاسها (Classes) و توابع (Functions) در این زبان جایی ندارند . به جای آنها از مکانها (Places) یا شهرها (Cities) استفاده میشود.
شما در این زبان وظیفه دارید مسافری را که سوار تاکسی شده .از مکانی به مکان دیگر انتقال دهید و با استفاده از دستورات برنامهنویسی مسیر انتقال را مشخص کنید. تاکسی برای حرکت به سوخت نیاز دارد. لذا شما از مسافرین کرایه دریافت کرده و برای سوختگیری آن را خرج میکنید.
ZOMBIE
زامبی یک زبان برنامهنویسی است که برای ساحرهها یا پیشگوها طراحی شده است (کسانی که در مورد مرگ، آینده و غیره پیشگویی میکنند). این زبان امکاناتی را برای برنامهنویس فراهم میآورد که با استفاده از آن میتواند اجساد مرده بسازد (چیزی شبیه به آبجکتها در زبانهای برنامهنویسی شییٔگرا)، آنها را به حرکت درآورد، روح آنها را کنترل کند و با استفاده از آن مسائل محاسباتی را حل کند. عدم همپوشانی در حافظهٔ سیستم و دسترسی غیرمجاز موجودات ترسناک به حافظه سیستم، در این زبان تضمین شده است.
در این زبان نیز از تعریف موجودیات (Entity) بهره گرفته خواهد شد. خطاهای دستوری بینهایت خطرناک خواهند بود چرا که ممکن است موجودات پلید از حوزهٔ استحفاضی CPU فرار کرده و در جهان خرابی و ویرانی به بار آورند! مقدار دادهها هیچگونه وابستگی به فرمت خاصی اعم از عدد صحیح، اعشاری، رشتهای و … ندارند و میتوان از قواعد ریاضیاتی در مورد آنها استفاده کرد.
BIT
بیت زبان سطح پایین (نزدیک به زبان ماشین) و قدرتمندی است .که به برنامهنویس دسترسی کامل را به استانداردهای کدگذاری ASCII و ساختارهای ماشینی دادهها میدهد. دسترسی و دستکاری دادهها در این زبان نسبت به زبانهای سطح بالا (نزدیک به زبان انسان) از پیچیدگی کمتری برخوردار است و میتوان از توابع مخصوص به این کار استفاده کرد. دو نوع داده در این زبان وجود دارد که عبارتند از:
- بیت
- آدرس بیت
مقدار دادهها در زبان بیت میتواند توسط دستورات و عملوندها تغییر یابند. نوع داده در این زبان در هنگام تعریف باید مشخص باشد و حتی این زبان از دستور GOTO پشتیبانی میکند و میتوان از تعداد نامحدود Whitespace یا Break Line در بین دستورات استفاده کرد.
Unlambda
آنلامدا زبانی مرکب از نمونه توابع مبهم و عجیب است. در این زبان هر چیزی به صورت تابع (Function) تعریف میشود حتی دادهها و بسیاری از ویژگیها در این زبان حذف شدهاند. برای مثال، در این زبان نمیتوان دادهها را ذخیره کرده و یا متغیر تعریف کرد. بدتر از آن، شما در این زبان میتوانید تابعی دلخواه بسازید اما نمیتوانید آن را نامگذاری و ذخیره کنید!
آنلامدا فقط با توابع سر و کار دارد. هر تابع به عنوان ورودی یا آرگومان، تابع دیگری را دریافت و در خروجی نیز تابع دیگری را برمیگرداند. در این زبان به شما اجازهٔ کار با دیتا استراکچر و چیزهای شبیه به آن داده میشود اما باید همه اینها را به عنوان توابع همهکاره تعریف کنید. خلاصهٔ کلام این که هر چیزی در این زبان یک تابع است و بس!