جامباس
| صمم بواسطة | بينوا مينيسيني |
|---|---|
| ظهرت لأول مرة | 1999 |
| إصدار مستقر | 3.19.4 / 13 أغسطس 2024 [1] |
| نظام التشغيل | Linux و FreeBSD ؛ إصدارات لنظام التشغيل Mac OS X [2] و Haiku [3] تم صياغتها؛ Microsoft Windows من خلال Cygwin و WSL |
| رخصة | رخصة جنو العمومية الإصدار 2 + |
| موقع إلكتروني | http://gambas.sourceforge.net |
| متأثر بـ | |
| فيجوال بيسك ، جافا [4] | |
Gambas هو اسم لهجة موجهة للكائنات من لغة البرمجة BASIC ، بالإضافة إلى بيئة التطوير المتكاملة التي تصاحبها. [5] تم تصميمه ليعمل على Linux وأنظمة تشغيل الكمبيوتر الأخرى الشبيهة بـ Unix ، [6] اسمه هو اختصار متكرر لـ Gambas A lmost يعني Basic . Gambas هي أيضًا كلمة الروبيان في اللغات الإسبانية والفرنسية والبرتغالية ، والتي اشتُقت منها شعارات المشروع.
تاريخ

تم تطوير Gambas بواسطة المبرمج الفرنسي Benoît Minisini ، مع إصداره الأول في عام 1999. نشأ Benoît مع لغة BASIC، وقرر إنشاء بيئة تطوير برمجيات مجانية يمكنها إنشاء برامج بسرعة وسهولة مع واجهات مستخدم. [4]
تم إصدار إصدارات Gambas 1.x لأول مرة في 4 يناير 2005، [7] وتميزت بواجهة مكونة من عدة نوافذ منفصلة مختلفة للنماذج وحوارات IDE بطريقة مماثلة لواجهة الإصدارات السابقة من GIMP . كما يمكنها أيضًا تطوير التطبيقات باستخدام Qt فقط وكانت أكثر توجهًا نحو تطوير التطبيقات لـ KDE . [8] كان الإصدار الأخير من إصدارات 1.x هو Gambas 1.0.19.

تم إصدار أول إصدارات 2.x في 2 يناير 2008، بعد ثلاث إلى أربع سنوات من التطوير. وقد تميزت بإعادة تصميم رئيسية للواجهة، حيث أصبحت جميع النماذج والوظائف مدمجة في نافذة واحدة، بالإضافة إلى بعض التغييرات في بناء جملة Gambas، على الرغم من الحفاظ على توافق الكود في معظمه. كما تضمنت تحديثات رئيسية لمكونات Gambas الحالية بالإضافة إلى إضافة بعض المكونات الجديدة، مثل المكونات الجديدة التي يمكنها استخدام GTK+ أو SDL للرسم أو الاستفادة من تسريع OpenGL . يمكن لإصدارات Gambas 2.x تحميل وتشغيل مشاريع Gambas 1.x، مع عدم التوافق العرضي؛ وينطبق نفس الشيء على Gambas 2.x إلى 3.x، ولكن ليس من Gambas 1.x إلى 3.x.
تم إصدار الإصدار الرئيسي التالي من Gambas، الإصدارات 3.x، في 31 ديسمبر 2011. [9] أظهر معيار عام 2015 المنشور على موقع Gambas أن برمجة Gambas 3.8.90 كانت أسرع بدرجات متفاوتة من Perl 5.20.2 وأحدث إصدار 2.7.10 من Python في العديد من الاختبارات. [10] تم إصدار الإصدار 3.16.0 في 20 أبريل 2021، وتميز بدعم كامل لـ Wayland باستخدام المكونات الرسومية، بالإضافة إلى التكافؤ بين مكونات Qt 5 وGTK 3. [11]
سمات

تم تصميم Gambas لبناء برامج رسومية باستخدام Qt (حاليًا Qt 4.x أو 5.x منذ 3.8.0) أو مجموعة أدوات GTK (GTK 3.x مدعومة أيضًا اعتبارًا من 3.6.0)؛ تم كتابة Gambas IDE في Gambas. [12] [13] يتضمن Gambas مصمم واجهة مستخدم رسومية للمساعدة في إنشاء واجهات مستخدم بأسلوب مدفوع بالأحداث ، [14] ولكن يمكنه أيضًا إنشاء تطبيقات سطر أوامر ، [15] بالإضافة إلى واجهات مستخدم تعتمد على النص باستخدام مجموعة أدوات ncurses . [16] هناك حاجة إلى بيئة تشغيل Gambas لتشغيل الملفات القابلة للتنفيذ.
يتم توفير الوظائف من خلال مجموعة متنوعة من المكونات، يمكن تحديد كل منها لتوفير ميزات إضافية. [17] يمكن توفير الرسم إما من خلال مجموعات أدوات Qt وGTK، مع مكون إضافي مصمم للتبديل بينهما. [18] يمكن أيضًا توفير الرسم من خلال طبقة DirectMedia البسيطة (الإصدار 1.x في الأصل، مع إضافة 2.x اعتبارًا من 3.7.0)، [19] والتي يمكن أيضًا استخدامها لتشغيل الصوت من خلال مكون صوت منفصل ( تمت إضافة مكون لمواصفات OpenAL أيضًا). يتوفر دعم تسريع وحدة معالجة الرسومات من خلال مكون OpenGL ، بالإضافة إلى أجهزة أخرى يتم توفيرها وظيفيًا من خلال مكونات أخرى مختلفة. [18] هناك أيضًا مكونات للتعامل مع مهام متخصصة أخرى. [17]


مع Gambas، يمكن للمطورين أيضًا استخدام قواعد البيانات مثل MySQL أو PostgreSQL، وبناء تطبيقات KDE (Qt) وGNOME GTK باستخدام DCOP ، وترجمة برامج Visual Basic إلى Gambas وتشغيلها على Linux، وبناء حلول الشبكة، وإنشاء تطبيقات الويب CGI. يتضمن IDE أيضًا أداة لإنشاء حزم التثبيت ، ودعم GNU Autotools و slackpkg و pacman و RPM و debs (تم تصميم الأخيرين بعد ذلك لتوزيعات محددة مثل Fedora / RHEL / CentOS و Mageia و Mandriva و OpenSUSE و Debian و Ubuntu / Mint ). تم دعم بناء AppImage بشكل أساسي مع الإصدار 3.19.0.
منذ إصدار Gambas 3.2 IDE تم دمج Profiler وبدأ في استخدام تقنية التجميع في الوقت المناسب .
الاختلافات عن Visual Basic
تم تصميم Gambas لتوفير تجربة مماثلة للتطوير في Microsoft Visual Basic ، لكنه ليس نسخة طبق الأصل من البرنامج الملكي الشهير. [20] [21] يوضح مؤلف Gambas أن هناك أوجه تشابه مع Visual Basic، مثل بناء الجملة لبرامج BASIC وبيئة التطوير المتكاملة؛ تم كتابة Gambas منذ البداية ليكون بيئة تطوير خاصة به ويسعى إلى تحسين الصيغة. [22] [23] [24]
نموذج الكائن الخاص به ، حيث يتم تمثيل كل فئة في ملف، بالإضافة إلى الأرشيف لحزم البرنامج، كلها مستوحاة من لغة برمجة Java . [25] تم تصميم Gambas ليكون بديلاً لمطوري Visual Basic السابقين الذين قرروا الانتقال إلى Linux. هناك أيضًا تمييزات مهمة أخرى بين Gambas و Visual Basic. أحد الأمثلة البارزة هو أنه في Gambas تبدأ مؤشرات المصفوفة دائمًا بالرقم 0، بينما يمكن أن تبدأ مؤشرات Visual Basic بالرقم 0 أو 1. [26] يدعم Gambas أيضًا الاختزال += و -= غير الموجود في Visual Basic الكلاسيكي. ومع ذلك، فإن كلتا هاتين الميزتين من ميزات Visual Basic .NET .
كما نجح Gambas في تجاوز محاولتين أخريين لتنفيذ واجهة بأسلوب Visual Basic لـ Qt وGTK على Linux، [27] [28] وهما HBasic [29] [30] و GNOME Basic، [31] [32] بالإضافة إلى KBasic /Basic المستقل عن المنصة لـ Qt. [33] [34] ومنذ ذلك الحين تم تطوير بيئات تطوير متكاملة بأسلوب مماثل لـ FreeBASIC ، وهي VisualFBEditor، [35] و QB64 ، وهي InForm. [36]
التبني

تم كتابة العديد من البرامج والعديد من أشكال التعليمات البرمجية النموذجية باستخدام Gambas ولصالحه. أدرج Freecode (المعروف سابقًا باسم Freshmeat) 23 تطبيقًا تم تطويرها باستخدام Gambas، [37] بينما أدرجت Gambas wiki 82 تطبيقًا؛ [38] تسرد العديد من المواقع المتخصصة الأخرى تطبيقات Gambas والتعليمات البرمجية. [39] [40] [41] عمل تطبيق Gambas المكتوب، المسمى Gambas3 ShowCase، كمركز برمجيات لتنزيل أو تثبيت تطبيقات Gambas 3. [42] تم إيقافه منذ ذلك الحين بعد إطلاق Gambas Software Farm الأول المدمج في IDE منذ 3.7.1، والذي يحتوي على ما يقرب من 500 تطبيق وعرض توضيحي. [43] [44] توجد أيضًا العديد من مواقع المجتمع، بما في ذلك المنتديات المجتمعية وقوائم البريد، لـ Gambas. [45] أحد التطبيقات البارزة المكتوبة بلغة Gambas هو Xt7-player-mpv، وهي واجهة مستخدم رسومية لمشغل mpv موجودة في عدد من مستودعات برامج Linux. [46] [47] [48] مجموعة ألعاب كوميسات هي أمثلة مبكرة لألعاب الفيديو المكتوبة بلغة جامباس. [49]
التوفر
تم تضمين Gambas في مستودعات عدد من توزيعات Linux ، مثل Debian و Fedora و Slackware و Arch Linux و Mageia و PCLinuxOS و Linux Mint و Ubuntu . [50] تم تشغيل إصدار Microsoft Windows من Gambas في بيئة Cygwin ، على الرغم من أن هذا الإصدار كان أقل اختبارًا بشكل ملحوظ من نظرائه في Linux وكان سطر أوامر فقط؛ كما تم استخدام Cooperative Linux ومشتقاته، [51] بالإضافة إلى آلات Linux الافتراضية المتخصصة . [52] [53] عمل أحد المساهمين المستقلين، فرانسوا جالو، أيضًا على نقل Gambas 3.x إلى Mac OS X و FreeBSD ، بناءً على استخدام الإصدارات المحلية من نظام X11 . [54] كما عمل فرانسوا ريفول على بناء لـ Haiku . [55] يمكن تشغيل Gambas من الإصدار 3.2 على Raspberry Pi ، ويقدم تجميعًا في الوقت المناسب هناك من الإصدار 3.12. يمكن أيضًا تشغيله من السحابة باستخدام rollApp. [56]
في نوفمبر 2013، تمت مناقشة قابلية نقل Gambas في المستقبل، حيث تم إدراج المخاوف الرئيسية التي تتعلق بميزات نواة Linux المستخدمة في المترجم، والمكونات التي تستخدم برامج ومكتبات Linux المحددة، وربط X11 بشكل أساسي في مكونات Qt وGTK وتكامل سطح المكتب. ومع ذلك، ويرجع ذلك جزئيًا إلى الحاجة إلى الترقية إلى مجموعات أدوات أحدث مثل GTK 3 (تمت إضافتها اعتبارًا من 3.6.0) وQt 5 (اعتبارًا من 3.8.0)، فإن الإصدارات المستقبلية ستكون أقل ارتباطًا بـ X11، مما يجعل مشاريع مثل Cygwin أو الإصدارات الأصلية تمامًا على منصات أخرى أكثر إمكانية. صرح Benoît Minisini أنه ينوي "تغليف" كود X11 المحدد للمساعدة في أي محاولة لاستبداله، [57] مع نقل دعم X11 في مكون سطح المكتب إلى مكونه الخاص اعتبارًا من 3.6.0.
في 27 أكتوبر 2016، تم إصدار لقطة شاشة ودليل إعداد من الصفحة الرئيسية لتشغيل Gambas بالكامل من خلال Cygwin، بما في ذلك معظم المكونات ومجموعات الأدوات الرسومية وIDE الكامل. [58] [59] تم تطبيق التصحيحات ذات الصلة اعتبارًا من الإصدار 3.9.2. [60] يحل هذا محل الطريقة الموصى بها سابقًا لاستخدام إعادة توجيه freenx من خادم Linux . [61] كما تم تشغيله بنجاح باستخدام نظام Windows الفرعي لنظام Linux . [62] [63] تم إجراء ذلك عادةً باستخدام محاكي محطة X مثل Mobaxterm على Windows، [64] حيث لم يدعم WSL رسومات X11 مباشرة حتى Windows 11. [ 65]
مثال على الكود
برنامج "مرحبا بالعالم!" ذو واجهة مستخدم رسومية.
الرسالة العامة الفرعية الرئيسية () ( "مرحبا بالعالم!" ) النهاية
برنامج يحسب كثير حدود مكون من 100 مصطلح 500000 مرة، ويكرره عشر مرات (يستخدم للمقارنة المعيارية ).
اختبار فرعي خاص ( X كعائم ) كعائم
Dim Mu As Float = 10.0 Dim Pu , Su As Float Dim I , J , N As Integer Dim aPoly As New Float [ 100 ]
ن = 500000
بالنسبة إلى I = 0 إلى N - 1 بالنسبة إلى J = 0 إلى 99 Mu = ( Mu + 2.0 ) / 2.0 aPoly [ J ] = Mu التالي Su = 0.0 بالنسبة إلى J = 0 إلى 99 Su = X * Su + aPoly [ J ] التالي Pu += Su التالي
عودة بو
نهاية
الصفحة الرئيسية العامة ()
Dim I كعدد صحيح
بالنسبة إلى I = 1 إلى 10 ، اطبع الاختبار ( 0.2 ) التالي
نهاية
انظر أيضا
مراجع
- ^ "الإصدارات · Gambas / gambas · GitLab" . تم الاسترجاع في 2023-11-15 .
- ^ Gallo, François (2011-06-16). "Gambas 3 OS X". AllBASIC . تم الاسترجاع في 2023-09-28 .
- ^ djgpp (مارس 2021). "غامباس في الهايكو؟". هايكو . تم الاسترجاع في 2024-02-25 .
- ^ "مقدمة حول توثيق Gambas". موقع Gambas الإلكتروني . تم الاسترجاع في 2017-10-09 .
- ^ Huges, Matthew (2015-03-03). "The BASIC Guide to GAMBAS: All You Need To Know". MakeUseOf . تم الاسترجاع في 2023-02-11 .
- ^ Upfold, Peter (2008-09-08). "Gambas — Almost Visual Basic for Linux". FOSSwire . تم الاسترجاع في 2011-05-07 .
- ^ Cook (2005-01-05). "Gambas - a BASIC Development Environment". LWN.net . تم الاسترجاع في 2024-02-25 .
- ^ "Gambas: A Fast Visual Basic for Linux". CodeFez. مؤرشف من الأصل في 2009-09-09 . تم الاسترجاع في 2007-04-04 .
- ^ "Gambas 3.0 for BASIC with bug and security fixes". The H. تم الاسترجاع في 2012-01-05 .
- ^ "المقارنة المعيارية". موقع Gambas . تم الاسترجاع في 2018-02-11 .
- ^ "ملاحظات إصدار 3.16.0". موقع Gambas الإلكتروني . تم الاسترجاع في 2021-02-11 .
- ^ "الأسئلة الشائعة". وثائق Gambas . تم الاسترجاع في 2014-11-17 .
- ^ لارابيل، مايكل (2013-11-25). "مشروع جامباس: يشبه فيجوال بيسك على لينكس". Phoronix . تم الاسترجاع في 2024-02-25 .
- ^ Upfold, Peter (2008-09-08). "Gambas - Almost Visual Basic for Linux". FOSSwire . تم الاسترجاع في 2024-02-25 .
- ^ Ratliff Sr., Gary L. (أكتوبر 2008). "أبجدية لغات الكمبيوتر: BASIC". مجلة PCLinuxOS . تم الاسترجاع في 2024-02-25 .
- ^ Dee, Steve (2017-03-27). "برمجة سطر أوامر Gambas: واجهة مستخدم نصية تعتمد على ncurses". Captain Bogdit . تم الاسترجاع في 2023-04-15 .
- ^ ab Fernandez, Daniel (2004-11-11). "Regarding Gambas". OSNews . تم الاسترجاع في 2011-05-07 .
- ^ ab "Gambas RAD". Linux.co.uk. مؤرشف من الأصل في 2011-08-29 . تم الاسترجاع في 2011-05-07 .
- ^ "لماذا نحتاج إلى مكون SDL جديد؟". قائمة بريدية لشركة Gambas. مؤرشف من الأصل في 2015-02-09 . تم الاسترجاع في 2015-02-09 .
- ^ Allen Holm, Joshua (2014-04-24). "برمجة BASIC باستخدام Gambas للمبرمجين المبتدئين". Opensource.com . تم الاسترجاع في 2023-04-05 .
- ^ أكبر، أدي مالساسا (2022-01-28). "بدائل لـ Visual Basic". Ubuntu Buzz . تم الاسترجاع في 2024-03-10 .
- ^ مارك ألكسندر باين (2008-08-28). "Gambas -- تقريبًا Visual Basic على Linux". Suite101.
- ^ فرانك ويدوويلت (أكتوبر 2008). "البرمجة باستخدام Gambas Basic IDE". مجلة Linux Pro . تم الاسترجاع في 10 ديسمبر 2011 .
- ^ AWC Electronics. "الحوسبة الفيزيائية باستخدام Linux: نهج سريع باستخدام Gambas" . تم الاسترجاع في 2012-02-18 .
- ^ Emms, Steve (2023-11-11). "Gambas – بيئة تطوير ومنصة تطوير قوية كاملة". LinuxLinks . تم الاسترجاع في 2024-02-25 .
- ^ "الاختلافات عن Visual Basic". موقع Gambas . تم الاسترجاع في 2020-05-01 .
- ^ “HBasic – Menghadirkan VB di Linux”. 2005-12-06 . تم الاسترجاع بتاريخ 26-09-2023 .
- ^ "BASIC for Linux". Fredshack . تم الاسترجاع في 2023-09-26 .
- ^ "HBasic IDE and language". SourceForge . 2007-01-16 . تم الاسترجاع في 2023-09-26 .
- ^ ماكوراتي، خوسيه كارلوس. "VB لنظام التشغيل Linux". ماكوراتي.نت . تم الاسترجاع بتاريخ 26-09-2023 .
- ^ "GB - Basic for GNOME". GNOME . مؤرشف من الأصل في 2005-02-05 . تم الاسترجاع 2023-09-26 .
- ^ بير، جون (2003-01-01). "البرمجة الأساسية مع يونكس". LinuxFocus . تم الاسترجاع في 2023-09-26 .
- ^ “KBasic: Rad/IDE يشبه VB لـ KDE”. كيدي نيوز . 29 سبتمبر 2000 . تم الاسترجاع بتاريخ 27-09-2023 .
- ^ ترانتر، جيف (2015-08-19). "استخدام Qt مع لغات البرمجة البديلة - الجزء 1". حلول الكمبيوتر المتكاملة . تم الاسترجاع في 2024-02-25 .
- ^ Speed, Richard (2022-05-06). "RAD Basic – the Visual Basic 7 that never was – releases third alpha". The Register . تم الاسترجاع في 2023-03-26 .
FreeBASIC، الذي ينفذ الكثير مما كان موجودًا في Microsoft QuickBASIC (ويحتوي على بيئة تطوير متكاملة أنيقة في شكل VisualFBEditor).
- ^ Rogoz, Ivan (2022-04-07). "Blast from the past - QBasic 4.5". Barn Lab . تم الاسترجاع في 2023-09-26 .
يأتي QB64 مع محرر WYSIWYG IDE يسمى InForm مما يجعله أقرب إلى الاستخدام اليومي كلغة سريعة وبسيطة للأتمتة لنظام Windows.
- ^ "23 مشروعًا تحمل علامة ""Gambas""". Freshmeat . مؤرشف من الأصل في 2013-09-28 . تم الاسترجاع في 2012-10-28 .
- ^ "مستودع التطبيقات". Gambas. مؤرشف من الأصل في 2019-10-26 . تم الاسترجاع 2020-05-01 .
- ^ "موقع GAMBAS BASIC على الويب". GAMBAS BASIC. مؤرشف من الأصل في 2011-05-12 . تم الاسترجاع في 2011-05-07 .
- ^ "أمثلة جامباس". Piga Software . تم الاسترجاع في 2011-05-07 .
- ^ ألعاب جامباس – Libregamewiki
- ^ "Gambas3 ShowCase". gbWilly. مؤرشف من الأصل في 2016-01-10 . تم الاسترجاع في 2013-09-22 .
- ^ مزرعة جامباس
- ^ بروتوكول خادم مزرعة Gambas - وثائق Gambas
- ^ "قوائم البريد والمنتديات". موقع Gambas الإلكتروني. مؤرشف من الأصل في 2021-03-01 . تم الاسترجاع في 2021-04-04 .
- ^ xt7-player-mpv - linux-APPS.com
- ^ XT7-Player – أفضل مشغل فيديو لنظام التشغيل Kubuntu / KDE – دليل Ubuntu
- ^ Xt7-Player عبارة عن واجهة مستخدم رسومية كاملة الميزات لـ Mplayer - Web Upd8
- ^ "مراجعة لعبة Comisat Games Collection 0.5.2". Nixbit . تم الاسترجاع في 2023-02-08 .
- ^ Buse, Jarret W. (2014-08-18). "نظرة عامة على GAMBAS". Linux.org . تم الاسترجاع في 2024-02-25 .
- ^ Gambas على Windows - بديل
- ^ مورجان، ر. (2014-06-29). "كيفية تشغيل Gambas على Windows". مجلة Gambas . مؤرشف من الأصل في 2016-12-10.
- ^ تشغيل برامج Gambas في Windows - PigaLore، ويكي برامج Piga
- ^ جالو، فرانسوا. "خطوة إلى الأمام في جامباس!". gambas-user . مؤرشف من الأصل في 2017-02-10 . تم الاسترجاع 2023-04-07 .
- ^ djgpp (مارس 2021). "غامباس في الهايكو؟". هايكو . تم الاسترجاع في 2024-02-25 .
- ^ الإصدار الجديد من Gambas 3.15.2 متاح بالفعل على rollApp.
- ^ مستقبل جامباس أو أي نوع من جامباس نريده Archived 2014-02-27 at the Wayback Machine , قائمة جامباس البريدية
- ^ دليل تثبيت Cygwin - Gambas Wiki
- ^ حزمة gambas3 - موقع Cygwin
- ^ مورجان، ر. (2014-06-29). "كيفية تشغيل Gambas على Windows". مجلة Gambas . مؤرشف من الأصل في 2016-04-08.
- ^ كيفية تشغيل Gambas على Windows - Gambas Wiki
- ^ Dovey, John. "كيفية تشغيل Gambas وتطبيقات Gambas على Windows باستخدام WSL". Gambas Wiki . تم الاسترجاع في 2024-02-25 .
- ^ Gambas على Windows، Gambas-One
- ^ Vasques, Daniel (2023-01-09). "كيفية تشغيل Gambas في Ubuntu". Elneson-santafe . تم الاسترجاع في 2023-02-11 .
- ^ ويندوز 11، جامباس ون
قراءة إضافية
- مارك ألكسندر باين (28 أبريل 2006) مقدمة إلى Gambas ، مجلة Linux ، العدد 146، يونيو 2006 (قيد الطباعة)
- مارك ألكسندر باين (3 ديسمبر 2004) Gambas يسرع تطوير قاعدة البيانات ، Linux.com
- مارك ألكسندر باين (12 ديسمبر 2007) إنشاء مخططات بسيطة باستخدام Gambas 2.0 ، Linux.com
- فابيان فلوريس فاديل (نوفمبر، 2010) كيفية البرمجة باستخدام جامباس
روابط خارجية
- الموقع الرسمي
- Gambas على GitLab
- توثيق جامباس
- قائمة بريدية لشركة Gambas أرشيف 2018-01-27 على موقع Wayback Machine
- جامباس ون، المجتمع الإنجليزي
- Gambas India والمجتمع ومستودع الكود المصدر



