Nim: یک زبان برنامه‌نویسی جدید که بهترین‌های Python، Go و Rust را یک‌جا جمع کرده است!

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
24380ea961a9f281aadec47d2fbd50ab.jpg

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

زبان‌های برنامه‌نویسی جدیدتر مثل سوئیفت و گو با کار کردن بر روی نقاط ضعف زبان‌های قدیمی‌تر و رفع آن‌ها موفق به جذب توسعه‌دهندگان زیادی شده‌ اند! اما در این مقاله قصد داریم یک زبان برنامه‌نویسی جدید که نام عجیبی هم دارد را به شما معرفی کنیم، این زبان جدید Nimrod (نمرود) نام دارد!

Nim نسبتاً نوظهور از سال ۲۰۰۸ تا به امروز پیوسته در حال توسعه بوده است و شاید بهتر باشد بدانید که جدیدترین نسخهٔ این زبان ۰.۱۶.۰ است که ۸ ژانویه ۲۰۱۷ برابر با ۲۲ دی‌ ماه ۱۳۹۵ منتشر شده است. اگر کمی در زمینهٔ برنامه‌نویسی با زبان Python اطلاعات داشته باشید، احتمالاً سینتکس زبان برنامه‌نویسی نمرود شما را به یاد پایتون خواهد انداخت؛ علت آن‌ هم این است که زبان Nim هم مانند پایتون از سیستم کدنویسی بلاک‌بندی شده استفاده می‌کند (استفاده از Tab به جای پرانتز)، و این در حالی است که اشتراکات دیگری هم در سینتکس‌ این دو زبان می‌توانید پیدا کنید. نمونه سورس کد زبان برنامه‌نویسی نمرود:

# compute average line length
var
sum = 0
count = 0

for line in stdin.lines:
sum += line.len
count += 1

echo("Average line length: ",
if count > 0: sum / count else: 0)
این زبان دقیقاً همانند زبان‌های Go و Rust، از Strong Types (حساس به نوع متغیر) استفاده می‌کند. نیم یک زبان برنامه نویسی شئ‌گرا است، با وجود این، ساختار این زبان طوری است که وراثت از درجهٔ اهمیت بالایی در آن برخوردار است. Nim که با نام رسمی Nimrod (نمرود) شناخته شده است، خودش را به عنوان یک زبان برنامه‌نویسی دستوری و اصطلاحا Statically Typed معرفی کرده است که بدون کارایی در زمان اجرا، کدها نهایت قدرت را به برنامه‌نویس می‌دهد! اما این جمله به چه معنا است؟ به عبارت دیگر، زبان برنامه‌نویسی Nim تمرکز خود را بر روی مکانیسم‌های مختلفی گذاشته است که بیشتر به کامپایل کردن کدها مربوط می‌شود؛ یک مدل از بازیافت حافظه (نوعی مدیریت حافظهٔ خودکار) و سامانهٔ Soft Real-Time که بر روی Thread Local Heaps پشتیبانی می‌شود. همچنین Nim تمرکز خود را بر روی TLH و پیغام‌هایی که بین رشته‌ها عبور می‌کنند گذاشته است به طوری که هرکدام از آن‌ها دارای یک بازیافت حافظه اختصاصی هستند.

اگر بنچمارک برای‌تان خیلی مهم است، باید بدانید که نمرود قابل مقایسه با زبان سی است! کامپایلر این زبان به‌طور خودکار کدهای زبان سی را تولید می‌کند. زبان نیم با کمک کامپایلرهای مختلف سمت سرور، می‌تواند جاوااسکریپت، آبجکتیو‌سی، سی‌پلاس‌پلاس را هم به عنوان ورودی دریافت کند. لایبرری و کامپایلر Nim دارای لایسنس MIT است. این زبان همچنین امکان استفاده از هر لایسنسی را برای برنامه‌ٔهایی که با استفاده از Nim می‌نویسید را به شما می‌دهد.
 

برخی موضوعات مشابه

بالا