گنو آکتیو
گنو آکتِیو (به انگلیسی: GNU Octave) (که در فارسی «گنو اُکتاو» هم تلفظ میشود) زبان برنامهنویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار میرود. این برنامه امکانات زیادی را از طریق رابط خط فرمان (به انگلیسی: Command-line interface) برای حل عددی مسائل خطی و غیر خطی میدهد. این برنامه را میتوان جایگزین مناسبی برای همتای غیر آزاد خود متلب به حساب آورد.[1] سایلب نیز دومین جایگزین برجسته متنباز و رایگان متلب بهشمار میرود که نسبت به گنو آکتیو تکیه کمتری بر سازگاری (دو سویه) دستورها با متلب دارد.
انتشار پایدار | ۴٫۴٫۱
۹ اوت ۲۰۱۸ |
---|---|
مخزن | |
نوشتهشده با | C, C++ |
گونه | محاسبات علمی |
پروانه | GPL (نرمافزار آزاد) |
وبگاه |
تاریخچه
پروژه آکتیو حوالی سال ۱۹۸۸ توسط جیمز بی. راولینگز (دانشگاه ویسکانسین-مدیسن) و جان جی. اِکرت (دانشگاه تگزاس) به عنوان ابزاری ویژه برای حل مسایل مربوط به طراحی واکنشگرهای شیمیایی (به انگلیسی: Chemical Reactors) کلید خورد. در سالهای بعد این برنامه به عنوان پروژهای جامعتر گسترش یافت. گسترش تمام وقت آن از بهار سال ۱۹۹۲ آغاز شد و اولین نسخهٔ آلفا در تاریخ ۴ ژانویه ۱۹۹۳ و نسخه ۱٫۰ در ۱۷ فوریه ۱۹۹۴ منتشر شد.[2]
قابلیتهای ویژه
آکتیو علاوه بر قابلیتهایی همانند تعریف تابع، بارگذاری فایلها، رسم نمودار و غیره، قابلیتهای ویژهای نیز ارائه میکند که این برنامه را از دیگر همتاهای خود تمیز میدهد.
تعریف مستقیم تابع از طریق خط فرمان
برای استفاده یک تابع، کاربر مجبور به بارگذاری فایلی جداگانه نمیباشد و میتواند تابع را مستقیم از طریق خط فرمان وارد کند.
octave:1> function s = hello_string (to_who)
> ## Say hello
> if nargin<1, to_who = "World"; end
> s = ["Hello ",\
> to_who];
> endfunction
octave:2> hello_string ("Moon")
ans = Hello Moon
کامنت
علاوه بر کاراکتر %، کاراکتر # نیز برای کامنتگذاری استفاده میشود. برتری این راهکار در این است که علامت # در سیستمهای یونیکس برای کامنتگذاری فایلهای اسکریپت استفاده میشود.
استفاده از " برای تمیز دادن رشتهها
علاوه بر کاراکتر ' میتوان در مطلب از " برای مشخص کردن رشتهها استفاده کرد. برتری این راهکار در این است که رشتههای مشخص شده با " قابلیت تفسیر بک اسلش (\) را دارند (مانند C,C++ و Perl) در حالی که رشتههای با ' این قابلیت را ندارند (مانند Matlab و Perl).
بلوکها با اطلاعات مفید
بلوکهای if, while,function و غیره را میتوان علاوه بر end و endfunction به وسیلهٔ endif, endwhile و مشابه به اتمام رساند. از این راه میتوان آغاز و پایان بلوکهای تودرتو را از هم تمیز داد.
تشابه با زبانهای متداول برنامهنویسی
- استفاده از علامت عطف! برای نفی (همتای ~)
- استفاده از ++ و -- برای افزایش و کاستن پلهای و دیگر اپراتورهای متداول (=+,=*,...)
و غیره.
رابطهای دیگر
علاوه بر رابط خط فرمان، رابطهای دیگری مانند رابطهای گرافیکی یا رابطهای تحت وب نیز در دسترس هستند.
پیوندهای مفید
- راهنمای رسمی آکتیو انگلیسی
منابع
- سایت رسمی گنو آکتیو به انگلیسی
- درباره گنو آکتیو به انگلیسی