گنو آکتیو

گنو آکتِیو  (که در فارسی «گنو اُکتاو» هم تلفظ می‌شود) زبان برنامه‌نویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار می‌رود. این برنامه امکانات زیادی را از طریق رابط خط فرمان  برای حل عددی مسائل خطی و غیرخطی می‌دهد. این برنامه را می‌توان جایگزین مناسبی برای همتای غیر آزاد خود متلب به حساب آورد.

سایلب نیز دومین جایگزین برجسته متن‌باز و رایگان متلب به‌شمار می‌رود که نسبت به گنو آکتیو تکیه کمتری بر سازگاری (دو سویه) دستورها با متلب دارد.

تاریخچه 
پروژه آکتیو حوالی سال ۱۹۸۸ توسط جیمز بی. راولینگز (دانشگاه ویسکانسین-مدیسن) و جان جی. اِکرت (دانشگاه تگزاس) به عنوان ابزاری ویژه برای حل مسایل مربوط به طراحی واکنشگرهای شیمیایی  کلید خورد. در سال‌های بعد این برنامه به عنوان پروژه‌ای جامع‌تر گسترش یافت. گسترش تمام وقت آن از بهار سال ۱۹۹۲ آغاز شد و اولین نسخهٔ آلفا در تاریخ ۴ ژانویه ۱۹۹۳ و نسخه ۱٫۰ در ۱۷ فوریه ۱۹۹۴ منتشر شد.

قابلیت‌های ویژه 
آکتیو علاوه بر قابلیت‌هایی همانند تعریف تابع، بارگذاری فایل‌ها، رسم نمودار و غیره، قابلیت‌های ویژه‌ای نیز ارائه می‌کند که این برنامه را از دیگر همتاهای خود تمیز می‌دهد.

تعریف مستقیم تابع از طریق خط فرمان 
برای استفاده یک تابع، کاربر مجبور به بارگذاری فایلی جداگانه نمی‌باشد و می‌تواند تابع را مستقیم از طریق خط فرمان وارد کند.
 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 و مشابه به اتمام رساند. از این راه می‌توان آغاز و پایان بلوک‌های تودرتو را از هم تمیز داد.

تشابه با زبان‌های متداول برنامه‌نویسی 
 استفاده از علامت عطف! برای نفی (همتای ~)
 استفاده از ++ و -- برای افزایش و کاستن پله‌ای و دیگر اپراتورهای متداول (=+، =*، ...)
  و غیره.

رابط‌های دیگر 
علاوه بر رابط خط فرمان، رابط‌های دیگری مانند رابط‌های گرافیکی یا رابط‌های تحت وب نیز در دسترس هستند.

جستارهای وابسته 
 متلب
 سایلب

پیوندهای مفید 
 راهنمای رسمی آکتیو انگلیسی

منابع 

زبان‌های برنامه‌نویسی آرایه‌ای
زبان‌های برنامه‌نویسی عددی
نرم‌افزار پردازش تصویر
نرم‌افزارهای آزاد چندسکویی
نرم‌افزارهای آزاد نوشته‌شده با سی++
نرم‌افزارهای آموزشی آزاد
نرم‌افزارهای پردازش داده
نرم‌افزارهای پروژه گنو
نرم‌افزارهای تحلیل عددی لینوکس
نرم‌افزارهای تحلیل عددی ویندوز
نرم‌افزارهای داده‌کاوی و یادگیری ماشینی
نرم‌افزارهای ریاضی آزاد
نرم‌افزارهایی که از کیوت استفاده می‌کنند