زبان های برنامه نویسی ایرانی
زبان های برنامه نویسی ایرانی
در این پست قصد داریم شما دوستان عزیز رو با زبان های برنامه نویسی ایرانی ، آشنا کنیم . بعضی از این زبان های برنامه نویسی برای کاربرد بالا ، برخی هم برای پروژه دانشجویی ، و برخی هم در زمان اوقات بیکاری برنامه نویسان عزیز ساخته شده است 😄!
در کل یک ایرانی ، هیچوقت بیکار نمیمونه! یک ایرانی اصیل ، زمانهای بیکاری مفید کار میکنه چه برسه زمانهای پرکاری! در کل الحمدلله ما ایرانی ها به مغزکل بودن معروفیم ! در این بخش ، قصد داریم بصورت کوتاه همین موضوع رو مورد مباحثه قرار بدیم . با آسان لرن همراه باشید .
زبان های برنامه نویسی
کمتر کسی پیدا میشود که در عصر تکنولوژی زندگی کند ، اما از زبان های برنامه نویسی حتی حداقل ترین تصور ذهنی را هم نداشته باشد . زبان های برنامه نویسی راهی برای دستور دادن و صحبت ما با رایانه ها و دستگاه ها هستند . در واقع ، زبان های رایانه ای ، مواردی که ما در بدنه کد مینویسیم را به زبان کامپیوتر تبدیل میکنند . زبان های برنامه نویسی به دو نوع :
- کامپایلری
- تفسیری
تقسیم میشوند که این دو دسته ، نوع ترجمه کردن متون و اجرا شدن آنها در کامپیوتر است . در کل زبان های برنامه نویسی ، یک روشی برای تعامل ما با رایانه هستند .
ما با زبان های برنامه نویسی میتوانیم :
- اپلیکیشن ها بر بسترها و پلتفرم های مختلف بسازیم
- محاسبات ریاضیاتی و مهندسی انجام دهیم
- طراحی سایت و وبگاه انجام دهیم
- به دستگاه ها عملکرد و دستور داده و در مواقعی هوش مصنوعی بدهیم
- به سیستم های سخت افزاری و نرم افزاری نفوذ کنیم یا امنیت آنها را تضمین کنیم
- به برنامه ها و سیستم عامل ها دستور انجام کاری را بدهیم
- کیت های سخت افزاری مختلف تولید کنیم
و … خیلی استفاده های دیگر که براساس پیشرفت فناوری ها ، افزایش می یابد .
البته هر زبان برنامه نویسی ، کاربرد مختص به خود را دارد که به دو دسته : کاربرد اصلی و کاربرد فرعی تقسیم میشود . کاربرد اصلی کاربردی است که زبان به همان منظور طراحی شده است . کاربرد فرعی کاربردی است که میتوان با آن زبان انجام داد . بطور مثال ، زبان برنامه نویسی پایتون زبانی ریاضیاتی است و اعمال مهندسی و نفوذ و محاسباتی از کاربردهای اصلی این زبان است . اما ساخت سایت با فریمورک هایی همچون جنگو ، ساخت نرم افزارها و اپلیکیشن های مختلف و … از کاربرد های فرعی آن است . . این را هم در نظر گرفت که زبان های برنامه نویسی محدودیت دارند و بشریت روز به روز درحال پیشرفت هستند . پس :
یا زبان های برنامه نویسی باید پیشرفت کنند ، یا جایگزینی برای آنها بوجود بیاید!
زبان های برنامه نویسی ایرانی
اما رسیدیم به آنچه که میخواستیم! در این بخش کمی زبان های برنامه نویسی ( فان و کاربردی ) را که هموطنان گرامی تولید کردند را معرفی میکنیم :
زبان برنامه نویسی YO
شاید میتوان گفت یکی از بهترین زبان های برنامه نویسی بومی همین زبان است .
البته زبان های برنامه نویسی ایرانی بسیاری هست که خیلی معروف نیستند و ما هم بی خبریم . حالا شاید به خاطر قدرت کم ، یا حمایت کم ، یا بی رغمی سازندگان آنها . اما بهرحال ، حمایت بسیار خوبی هم از آن ها نمیشود تا به عرصه زبان های برنامه نویسی پای بگذارند و همچنین بسیار جای پیشرفت دارند تا نصف زبان های کنونی ، قابلیت داشته باشند .
این زبان برنامه نویسی توسط یک فرد ایرانی به نام امین بادین طراحی شده است . همانطور که گفته شد زبان های برنامه نویسی یا کامپایلری هستند یا تفسیری . اما این زبان ، تفسیری (Interpreter ) هست و مانند پایتون و پرل ، خط به خط ترجمه میشود و نیازی به کامپایلر ندارد . طبق گفته سازنده این زبان ، این زبان درحال توسعه است و در توسعه های بعدی قابلیت Cross-Platform بودن هم اضافه خواهد شد . فعلا این زبان بر بستر ویندوز ارائه میشود . طبق وعده ای که امین بادین عزیز به ما داده است ، این زبان پس از انتشار پایدار آن ، اوپن سورس Open Source ( متن باز ) خواهد شد!
{ کروشه باز }
زبان های برنامه نویسی ایرانی ، چون ایرانی هستند اگر به جای خوبی برسند ، از پشتیبانی و منبع آموزشی و اشکالزدایی بهتری برخوردار خواهند بود . زیرا :
- در دسترس ما هستند . پس بهتر میتوانیم اشکالات آنرا بگوییم و گزارش کنیم
- چون در دسترس هستند میتوانند پشتیبانی بهتری درمورد زبان انجام دهند
- و باز هم چون در دسترس هستند منابع آموزشی در دسترس تر و بهتری در اختیار ما قرار میدهند
- و چون در دسترس هستند و هم خون ما هستند ، دلسوزانه تر و هموطنوار تر عمل میکنند
پس سعی کنیم از آنها حمایت کنیم . چه حمایت مادی ، چه معنوی ، چه انتقادی!
{ کروشه بسته }
در سایتی که سازنده آن ، این زبان را معرفی کرده است ، بیان شده است :
- قابلیت استفاده از دیگر زبان ها همانند Vb.net ، C Sharp و … در پروژه های این زبان تحقق خواهد یافت
- مفسر از کد نویسی بصورت ریل تایم Real-Time پشتیبانی خواهد کرد
- از کتابخانه های دینامیک Dynamic و پویا پشتیبانی میکند
- کدنویسی در آن بصورت Case Insensitive نیست!! یعنی زبان بخاطر بزرگ و کوچک بودن حروف به شما ایراد نخواهد گرفت
- دارای مثال ها و Template در پوشه نصب
- از Graphical User Interface یا GUI هم پشتیبانی میکند
جهت اطلاعات بیشتر و یادگیری آن میتوانید به این لینک رجوع کنید .
زبان برنامه نویسی پشمک
شاید اول به ذهنتان بیاید که یا فردی که این زبان رو ساخته خیلی پشمک دوست داشته ، یا این زبان به اندازه پشمک هم نمی ارزیده ، یا واقعا شیرین هست!
در واقع باید به شما بگویم که این زبان ، زبانی نیست که شیرین باشد و شما در خواب و خیال سیر میکنید و واقعا سازنده این زبان به پشمک علاقه خاصی داشته 😃!
توسعه دهنده این زبان برنامه نویسی جناب پارسا شاه ملکی است که یکی از برنامه نویسان توانمند ما در حوزه رایانه است . جالب است بدانید این زبان با اینکه در ایران ناشناخته است اما در سایت های خارجی تا حدودی بازخوردی جالب داشته است! البته زبانی نیست که بعنوان کارکردن آنرا برگزینیم اما برای اوقات فراغت و جالبی آن ، مناسب است .
بعنوان اولین نفر ، بنده این زبان را در سایتهای ایرانی در این سایت معرفی کردم . البته بسیاری از این زبان به دلیل متن باز یا اوپن سورس بودن ، اقتباس کردند . البته همین الانم که این متن رو مینویسم برای اولین باره که یک مطلب ، زبان های برنامه نویسی ( تا حدودی معروف ) ایرانی رو معرفی میکنه و هرسایتی ایرانی پیدا میکردم خوب توضیح نداده بود .
سینتکس ( Syntax ) این زبان ( که به گفته سازنده سینتکس پشمکی است 😂 ) ، تا حدودی مشابه پایتون Python است و مثل زبان Yo کامپایلری نیست و از مفسر استفاده میکند .
از مزایای این زبان ، میتوانیم به موارد زیر اشاره کنیم :
- هسته اصلی پایتون ! پس قدرت خوبی دارد!
- شیء گرا ( OOP )
- پشتیبانی از Class و NameSpace
- سیستم دیباگ و اشکالزدایی
- قابلیت import ماژول های پایتون
- موتور رندر PIT برای رندر کد داخل فرمت های متنی
و … بسیاری موارد دیگر که هم در مقاله دیگرم معرفی کردم . هم در صفحه گیتهاب این زبان میتوانید مشاهده کنید .
یک مورد جالب این است که این زبان ، Extention هم برای VS Code ( ویژوال استودیو کد ) دارد!
{ کروشه باز }
فرض کنید یه فریمورک بیاد براش به اسم فریمورک حاج عبدالله! چقد خوب میشه! 😂
با فریمورکش میتونیم خیلی کارها بکنیم . بعدم که ازت بپرسن از چه فریمورکی استفاده میکنی؟ سینه سپر کنیم بگیم حاج عبدالله 😎😂😂 و … خیلی چیزها که واقعا کار با این زبان رو طنز میکنه!
به برنامه نویسای پایتون کار میگن پایتونیست . به کاربرای این زبان میگن پشمیست؟ 😐😂
یا محیط دات پشمک . با ارور هایی مثل Pashmak Not Found یا
all Hajabdollah error fixed pashmak has been error
در محیط پشم استودیو 😂 یا ویژوال پشمک . پسوند فایل هاشونم که نگو! دات پشم pashm. !!
{ کروشه بسته }
این سه لینک میتواند لینکهای مفیدی برای شناخت این زبان باشد 👇
زبان برنامه نویسی آقای هاشمی
به جرئت میتوانم بگویم ، سازنده این زبان قصد خاصی برای ساخت این زبان نداشته! یکی از سخت ترین زبان ها ، در کنار زبان های برنامه نویسی Brain Fuck و Cow است ! در سایتهای خارجی هم به سخت بودن این زبان اشاره شده است ( جالبه که خارجیا بیشتر ما رو رصد میکنند ) .
پسوند فایل های این زبان hashem. دات هاشم است! از طنازی هموطنان گل هم هرچی بیشتر بگوییم کم است . یکی از دستورات برنامه نویسی این زبان را میتوانید ببینید :
} ()bebin azinja
;bechap(“Dorood Jahan”)
{
این دستور ، چاپ یک نوشته را انجام میدهد . با این حال ، کمی فینگلیس محور است . bebin تابع است و bechap همان حکم print را دارد .
ساختار این زبان برنامه نویسی تا حدودی مشابه C است . اگر بخواهیم غیرمنطقی بررسی کنیم ، در کنار اینکه این زبان قدرت چندانی ندارد ولی بی قدرت هم نیست! این زبان پیاده سازی ساختاری شبیه Json را در خود انجام داده به اسم Jfarzand ! همچنین برای بولین Boolean ها هم کلمه zirsakht را برگزیده است . خلاصه که حرفی دیگر نیست …
مستندات این زبان عجیب و غریب که به یاد خانواده آقای هاشمی ( که ما از قدیم توی کتابای درسی مون تا پنجم ابتدایی با ایشون خاطره داریم ) ساخته شده رو میتونید توی این بخش ببینید .
البته شنیدم شرکت منظومه نگاران هم درحال ساخت یک زبان برنامه نویسی بومی بود ، هرچه تحقیق کردم نه نام زبان را فهمیدم نه سرنوشت این پروژه را! با این حال زبانهایی هم هستند که سرنوشت ناکامی داشتند یا چون بعنوان پروژه دانشجویی بودند ، ادامه آن از سر گرفته نشد .
چگونه میتوانیم زبان برنامه نویسی بسازیم؟
ساخت یک زبان برنامه نویسی به سادگی آنطوری که میشنویم نیست! معمولا حتی مهندسین کامپیوتر هم به سختی میتوانند یک زبان ساده را طراحی کنند . این Language های طراحی شده ، باید قابلیت های بسیاری داشته باشد تا حداقل بتواند پیش زمینه این باشد که بتوانیم نام ” زبان برنامه نویسی ” را رویش بگذاریم .
با این حال ، اگر در سایت های خارجی و داخلی ، شما جمله ” چگونه زبان برنامه نویسی بسازیم ” را جستجو کنید ، قطع یقین نتایجی برای شما خواهد آمد . اما برخی شما را به هدف دلخواه نخواهند رساند ، برخی هم زبان بسیار ضعیفی را آموزش میدهند و برخی هم نیازمند پرداخت هزینه و وقت زیاد است ! برای هیچ چیزی یک شبه نمیتوان به مقصد رسید .
امیدواریم که از این مقاله لذت برده باشید!
ان شاالله بتونیم همین طوری خوب و قوی جلو بریم . موفق و موید باشید .
دیدگاهتان را بنویسید