34

إصدار جديد من لغة الأسُس البرمجية

أطلقنا الإصدار 0.3 من لغة الأسُس البرمجية. اللغة الآن مقتصرة الآن على البرمجة الإجرائية (procedural programming)، أي مشابهة للغة سي (وليس سي++) كما أنها تفتقر لمكتبات واجهة المستخدم، لكن على الأقل يمكن الآن استخدامها لكتابة برامج حقيقية. المثال التالي لكتابة برنامج يطبع التاريخ الحالي:

يمكن أيضاً كتابة البرامج بالانجليزية، ويمكن أيضاً الدمج بين العربية والانجليزية.

يمكنكم تحميل الإصدار والاطلاع على مزيد من الأمثلة على الموقع الرسمي: alusus.net

ننتظر تعليقاتكم وآرائكم.

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

11

جميل جدا..

أعتقد أنّه لو استثمرتم هذه الجهود في مجال برمجة المتحكمات المصغّرة مثل أردوينو أو غيره، بحيث يكون مدخلا لتعليم الأطفال العمل على مثل هكذا متحكمات لربما استطعتم المنافسة بشكل جيّد.

وفقكم الله.

ما شاء الله عمل رائع و متعوب عليه

ما هي الغاية من اللغة ؟ هل تم برمجة برامج بها ؟

الا ترى ان synthax به بعض الصعوبة و تبسيطه يكون أفضل و لا يجب ان تكون ترجمة حرفية ل synatx لغات أخرى او محاكات لها

بصورة عامة، فنحن آثرنا في السينتاكس سهولة الفهم على سهولة الكتابة

أظن أن هذا الرد فيه جواب لسؤالي الأول ؟ حسب ظني اللغة ليست للأنتاجية بل للتعلم .. اذا كان غير ذلك فأرى أن سهولة syntax و سرعة الانتاجية وتوفر التوثيق هي من تجعل الفارق بين اللغات .. لذلك أقترح تبسيط السينتاكس و توفير توثيق لل سينتاكس لسهولة الفهم و سهولة الكتابة

تحياتي لك و لكل من ساهم في هذه اللغة

الغاية الأساسية إنشاء لغة يسهل توسيعها لتغطية مجالات البرمجة المختلفة، فيستطيع أي طرف كتابة مكتبات توسعها لتغطية مجالات برمجة جديدة أو بيئات تشغيل جديدة أو ما شابه.

ما زالت جديدة وليس هناك برامج بها باستثناء الأمثلة البسيطة، لكنها وصلت للتو مرحلة تمكننا من كتابة برامج بها وسنعمل على كتابة برامج بها بإذن الله.

في الحقيقة يوجد توثيق، لكنه بسيط بعض الشيء. سنستمر بإثرائه بإذن الله:

نحن منفتحون على أي اقتراحات متعلقة بالسينتاكس، فالسينتاكس الحالي ليس مقدساً بالنسبة لنا. لكن نتمنى من أي اقتراحات أن تكون مدروسة وتراعي جميع الجوانب. بالمناسبة، تبسيط السينتاكس أمر مختلف عن تقصيره. كذلك فإن سرعة كتابة البرنامج لا علاقة لها بالإنتاجية لأنك تقضي الجزء الأكبر من عملك كمبرمج في التفكير وليس في كتابة البرنامج. مثلاً، سينتاكس لغة السي قصير ومختصر، لكنه معقد ويقلل الإنتاجية. كذلك على سبيل المثال سينتاكس تايب سكريبت أطول وأكثر إطناباً إن صح التعبير من جافا سكريبت لكنه يزيد في الإنتاجية. سهولة فهم السينتاكس ليست مقتصرة على سهولة التعلم وإنما تتعداه إلى سهولة صيانة البرنامج وتقليل العلل وتسهيل العمل الجماعي على المشاريع وهذه من أساسيات المشاريع البرمجية الناجحة. مثلاً، إليك هذه العبارة في لغة السي:

obj* (*fns[])(obj*)

قارنها بمقابلها بلغة الأسس:

def fns: array[ptr[ function (a:ptr[obj])=>ptr[obj] ]]

أيهما أقصر؟ وأيهما أكثر عرضة للأخطاء؟

samer_jabal أضف ردا

لذلك أقترح تبسيط السينتاكس و توفير توثيق لل سينتاكس لسهولة الفهم و سهولة الكتابة

لو قرأت رِمازًا (code) لبايثون أقدم من الإصدار 1.2 بقليل لرأيت السينتاكس يشبه إلى حد ما بايثون وقارنه الآن بسينتاكس بايثون 2 أو 3!.

تذكرني بلغة ج. أصبحت قديمة نسبياً ولكن لا تزال حية ولم يتم استخدامها بشكل عملي. لكن لا بأس من التجربة. شكراً لجهودكم

الموقع الخاص بلغة البرمجة ج:

أقدر جميع جهودكم لكن اظن ان ال Syntax يمكن تحسينه أكثر.

ماهو "متم" على أية حال؟

سرمد أضف ردا

"متم" اختصار لـمكتبة التنفيذ المعيارية، أو Standard Runtime Library.

هل عندك اقتراحات محددة لتحسين السينتاكس؟

بصورة عامة، فنحن آثرنا في السينتاكس سهولة الفهم على سهولة الكتابة. مثلاً، العبارة التالية في لغة سي:

*((float*)&n) = 0

تقابلها في لغة الأسس:

ن~مؤشر~مثل[مؤشر[عائم]]~محتوى = 0

العبارة في لغة الأسس أطول كتابة، لكنها أيسر فهما. يمكنك بسهولة أن تفهم أنها تأخذ مؤشر ن ثم تحوله إلى مؤشر لرقم عائم ثم تأخذ محتوى ذلك المؤشر. بينما السينتاكس المقابل في لغة سي يبدو كلغز.

linux_user أضف ردا

@سرمد‍ عندي سؤال بعيد عن الموضوع الحقيقة

ما هي RunTime library بالضبط ؟

عمومًا، runtime library هي مكتبة تشمل على دالات أساسية يستدعيها البرنامج أثناء التشغيل وهي عادة مجموعة الدالات التي تربط البرنامج بنظام التشغيل مثل دالات التعامل مع الذاكرة على سبيل المثال.

ما شاء الله اتمنى ان تتمكنوا من تحقيق غايتك من برمجة هذه اللغة

لطالما اردت ان افهم كيف يتم برمجة لغة مثلا كيف تمكنت من برمجة هذه اللغة (مراحل )

بعيداً عن العاطفةة والتعصب، الي اللغة أعتقد أن استخدام اللغة العربية في البرمجة هو أشبه بإعادة إختراع العجلة

عملت في الثمانينات علي لغات البيسك واللوجو العربية من شركة صخر لكنها ماتت، باإضافة الي موت لغة "ليث" العراقية

بالإضافة الى أنكم ستجدون تشجيعاً لكن في النهاية سيتوجه الكل الي اللغات البرمجية المشهورة

أن يفهمك العالم وتفهمه أفضل من أن تبقى معزولاً عن العالم

نعم، تلك اللغات ماتت لكن ليس لأنها عربية، وإنما لأنها كما ذكرتَ معزولة عن العالم، بمعنى أنك إذا استخدمت تلك اللغات لن تستطيع ربطها بالأنظمة القائمة أو ببقية العالم لأنها معزولة في صندوق مغلق. لغة الأسُس تتجنب هذا بأنها مفتوحة وتستخدم أنظمة سائدة، فهي تستخدم LLVM في البناء كما أنها تستطيع التعامل مع مكتبات لغة السي وتستطيع أيضاً إذا كنت تبرمج بالعربية أن تحمل مكتبات مكتوبة بالإنجليزية أو العكس، وهذه الأمور تحل مشكلة العزلة التي عانت منها لغات عربية أخرى.

بالمناسبة، دعم اللغة العربية ليس جوهر لغة الأسُس وليس الغرض الأساسي منها، بل نحن نسعى لنشر لغة الأسُس على مستوى عالمي لأنها مصممة لتوفر حلولاً غير متوفرة حالياً في اللغات الشائعة. راجع الموقع الرسمي واطلع على التفاصيل لتعرف ما أقصد. عندما بدأنا العمل على الأسُس لم نكن نفكر بدعم اللغة العربية في البداية ثم بعد ذلك شعرنا أن من واجبنا دعم العربية فأضفنا الدعم. ومن يدري، قد يأتي مستقبلاً من يضيف دعماً للغات أخرى إلى الأسس، فهي في نهاية المطاف مفتوحة المصدر وإضافة دعم للغات أخرى أمر يسير في الأسُس وليس كما هو الحال في اللغات التي تستعمل مترجماً غير ديناميكي.

تستخدم LLVM في البناء كما أنها تستطيع التعامل مع مكتبات لغة السي وتستطيع أيضاً إذا كنت تبرمج بالعربية أن تحمل مكتبات مكتوبة بالإنجليزية أو العكس، وهذه الأمور تحل مشكلة العزلة التي عانت منها لغات عربية أخرى.

هذه الأسباب كافية لجعل أسس أفضل من أي لغة برمجة عربية سبقتها.

-16
مجهول أضف ردا

العربية صنعت للشعر الماجن.

14

الشعر الماجن يصنعه الماجنون..

صنعت العربية للقرآن الكريم.. وقد كرّمها الله بأن جعلها لغة القرآن الكريم.