شاید کنجکاو شده باشید که بدونید تری دیویس در زبان ساختگی خودش چه ویژگیهای رو اعمال کرده🥸 بریم ببینیم!
تفاوتهایی که تری به سلیقه خودش ایجاد کرد:
۱.چاپ متن: در cpp برای یه چاپ ساده نیاز داریم که کلی پیش نیاز بنویسیم( include و main) و در نهایت cout. اما تری کار خودش رو خیلی راحت کرد، برای چاپ کردن یه متن فقط کافیه اون رو تو کوتیشین بنویسی!
#include <iostream>
using namespace std;
int main()
{
cout<<"Kyumars is Panjereh fan"<<endl;
return 0;
}
حالا در HolyC:
"Kyumars is Panjereh fan\n";
۲.حذف پرانتزهای اضافی
فرض کنیم یه تابع داریم که هیچ آرگومان ورودیای نداره، خب توی cpp در هر صورت اون پرانتز خالی رو میذاریم، اما به نظر تری این کار بیهوده بود، پس حذفش کرد.
Function();
و حالا HolyC:
Function;
۳.نوع دادهها:
در HolyC اسم متغیرها دقیقاً همون تعداد بیتهای حافظهست:
I8 a; //عدد صحیح ۸ بیتی=char
I32 m; //عدد صحیح ۳۲ بیتی=int
I64 i; //متغیر صحیح ۶۴ بیتی
F64 f; //عدد اعشاری=double
یه تغییر دیگه که تری اعمال کرد این بود که بجای استفاده void برای وقتی که توابع خروجی نداشتن، U0 رو استفاده کرد( مخفف Unsigned 0-bit).
همچنین یه سری ویژگیهای cpp رو هم نگه داشت، مثلا برای مدیریت خطا از همون try-catch میشه استفاده کرد، و یا برای توابع میشه تو خود آرگومان مقدار پیش فرض اعمال کرد:
U0 function(I32 y=13)
{
//etc...
}
⌨️کامپایل شدن HolyC:
در سیستم عامل TempleOS، محیط سیستم عامل و کامپایل خیلی یکپارچهست و به سخت افزار خیلی نزدیکه، بخاطر همین دسترسی خداگونه به Holyc میده و یه اشتباه ناجور توی کد ممکنه به سیستم عامل برسه و کلاً TempleOS کرش کنه. جالبی اینجاست که تری این ویژگیها رو عمدی ایجاد میکرد!
معرفی تری دیویس
#Terry_Davis
#HolyC
#ComputerHistory
#OS
@mathloopinfinite