كانجي (لغة برمجة)

لغة Cangjie ( بالصينية :仓颉؛ بينيين : cāngjié ) هي لغة برمجة عالية المستوى ، ذات كتابة ثابتة ، متعددة الأغراض ، ومتعددة الأنماط ، ومترجمة ، تجمع بين الأسلوبين الإجرائي والتصريحي ، طورتها شركة هواوي . أُصدرت لأول مرة في 21 يونيو 2024، كجزء من برنامج تجريبي لاستقطاب المطورين، لتطوير تطبيقات HarmonyOS NEXT على النسخة التجريبية من نظام التشغيل HarmonyOS . [ 1 ] يُشار إليها أيضًا باسم CangjieLang أو CJ ، ولكن اسمها الصحيح هو Cangjie. [ 2 ]

أصل الكلمة

كانغجي شخصية أسطورية في الفولكلور الصيني ، يُنسب إليه ابتكار الأحرف الصينية . [ 3 ] سُميت طريقة إدخال كانغجي تيمُّنًا به. وقد أصدرت هواوي منتجات أخرى تحمل أسماء مخلوقات أسطورية صينية، مثل شريحة هواوي كيرين للهواتف المحمولة، التي سُميت على اسم مخلوق الكيلين ( بالصينية :麒麟؛ بينيين : qílín ). [ 4 ]

تاريخ

بدأ تطوير نظام Cangjie في عام 2019 على يد شينيو فنغ، الأستاذ في قسم علوم وتكنولوجيا الحاسوب بجامعة نانجينغ . [ 5 ] وقد تلقى مساعدة من جامعتي تيانجين وبيهانغ خلال السنوات الخمس الأولى من التطوير، [ 6 ] [ 7 ] [ 8 ] ثم تعاون لاحقًا العديد من مبرمجي ومهندسي البرمجيات في شركة هواوي ، خلال تطوير الإصدار الأولي من نظام HarmonyOS وبعد احتضانه في مختبرات البحث والتطوير. [ 9 ]

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

خلال مؤتمر تطوير البرمجيات (HDC 2021) في أكتوبر 2021، تم إطلاق النسخة التجريبية للمطورين من نظام التشغيل HarmonyOS 3 رسميًا، حيث كان النظام يتجه نحو تطوير البرمجيات باستخدام البرمجة التصريحية . كما أعلنت هواوي آنذاك أنها ستطرح لغة برمجة خاصة بها لنظام HarmonyOS في المستقبل. [ 11 ]

كما ورد أن لغة البرمجة كان من المفترض إطلاقها فعلياً في عام 2022، بين عامي 2021 و2022. ويُزعم أن إطلاقها تأجل بسبب استمرار تطوير نظام التشغيل HarmonyOS. [ 1 ] [ 12 ] [ 13 ]

في 17 مايو 2024، تمت إضافة لغة برمجة Cangjie داخليًا إلى شفرة المصدر الخاصة بـ OpenHarmony من خلال آلية واجهة الوظائف الخارجية (FFI) . [ 14 ]

في 17 يونيو 2024، أي قبل أربعة أيام من مؤتمر تطوير البرمجيات عالي الدقة (HDC 2024)، أعادت هواوي تسمية مختبر لغات البرمجة الخاص بها إلى لغة برمجة Cangjie، وأعلنت عن جلسات المطورين للغة البرمجة الجديدة خلال المؤتمر. [ 15 ]

خلال مؤتمر هواوي للمطورين HDC 2024، الذي امتدت فترة التسجيل فيه من 21 يونيو 2024 إلى 21 أكتوبر 2024، جرى استقطاب المشاركين في النسخة التجريبية من نظام التشغيل HarmonyOS NEXT. [ 16 ] اقتصر الدعم في البداية على أجهزة هواوي Mate60 Pro ، مع خطط لدعم المزيد من الأجهزة في عام 2025. [ 17 ] وكانت شركات LeetCode، وبنك ICBC، وشركة China Mobile، وشركة Kelan Software، من بين أوائل شركات تطوير التطبيقات المحلية التي استقطبتها هواوي باستخدام لغة البرمجة الجديدة. وكان الهدف من ذلك اختبار النظام وعرضه على المطورين الآخرين والقطاع، من خلال إطلاق تطبيقات تجارية في السوق الصينية، بالتزامن مع إطلاق منصة HarmonyOS Next الجديدة. [ 18 ]

في الفترة من 5 إلى 7 يوليو 2024، عُقد مؤتمر ACM China Turing Conference 2024 بالتزامن مع منتدى Huawei Cangjie للغات البرمجة، حيث تم استعراض لغة البرمجة المحلية الجديدة في الجامعات الصينية ودمجها في الأوساط الأكاديمية. [ 19 ] [ 20 ]

في سبتمبر 2024، تم إطلاق لغة البرمجة Cangjie رسميًا على LeetCode . [ 21 ]

تم طرح برنامج Cangjie كمصدر مفتوح في 30 يوليو 2025. [ 6 ] [ 8 ]

سجل الإصدارات

سجل إصدارات Cangjie مع HarmonyOS مع OpenHarmony core API Level 12 SDK عبر DevEco Studio IDE.

إصدارتاريخ الافراج عنهنظام التشغيل macOSويندوز
كانجي 1.0 بيتا [ 22 ]21 يونيو 2024نعمنعم

المنصات

المنصات التي يدعمها Cangjie لتطوير التطبيقات هي: HarmonyOS و Linux و Windows و macOS و Android و iOS .

من أهم جوانب تصميم Cangjie قدرته على الاتصال مع أو بدون كود ArkTS. في أجهزة هواوي التي تعمل بنظام HarmonyOS، يسمح بتشغيل واجهات برمجة التطبيقات الأصلية في قوالب DevEco Studio، و C و C++ ، وكود ArkTS جنبًا إلى جنب في برنامج واحد. [ 23 ]

سمات

على عكس ArkTS ، فإن Cangjie ليست مشتقة من أي لغة برمجة موجودة. ومع ذلك، تستخدم لغة البرمجة هذه مفاهيم نظرية لغات البرمجة الحديثة وميزات متقدمة موجودة في لغات أخرى ضمن فئتها، مثل Java . ويمكن استخدامها في بيئة تطوير هجينة متعددة اللغات، مع لغة ArkTS التي تركز على TypeScript ، لخلق مزايا تكميلية لتحقيق مكاسب أكبر في الكفاءة، وذلك بناءً على سيناريوهات مختلفة. [ 24 ]

يتميز Cangjie بإطار برمجة AgentDSL مدمج، وتكامل عضوي بين اللغة الطبيعية ولغة البرمجة.

تشير التقارير إلى أن التطبيقات التي طُوّرت مسبقًا باستخدام ArkTS الحالية لا تحتاج إلى إعادة تطويرها إلى إصدار Cangjie على HarmonyOS Next. يدعم HarmonyOS التوافق عالي الأداء بين لغتي Cangjie وArkTS. في المستقبل، سيتمكن المطورون من الاختيار بين لغة برمجة Cangjie أو ArkTS للتطوير التدريجي بما يلبي احتياجاتهم. [ 25 ] [ 17 ]

تزعم هواوي أيضًا أن لغة Cangjie تدمج ميزات الأمان في تصميمها، بهدف تمكين المطورين من التركيز على وظائف التطبيق مع تقليل الثغرات الأمنية المحتملة. [ 16 ] [ 5 ] توفر اللغة نظام أنواع ثابتًا وإدارة تلقائية للذاكرة لتعزيز استقرار التطبيق، إلى جانب اكتشاف الأخطاء أثناء التشغيل وتدابير الأمان عبر اللغات. [ 26 ] كما تدعم Cangjie سلاسل أدوات متنوعة لتطوير التطبيقات، بما في ذلك خدمات اللغة مثل: التمييز والربط، وتصحيح الأخطاء مع تصحيح الأخطاء عبر اللغات وتصحيح الأخطاء المرئي على مستوى الخيوط، والفحص الثابت، وتحليل الأداء، وإدارة الحزم، وإنشاء المستندات، وأدوات المحاكاة، وأطر الاختبار، وأدوات التغطية، وأدوات Fuzz، وأدوات البرمجة الذكية المساعدة. [ 27 ]

بناء الجملة الأساسي

برنامج "مرحباً بالعالم!" الخاص بـ Cangjie هو:

رئيسي () {println ( "Hello, World!" )}

تُصرَّح المتغيرات غير القابلة للتغييرlet باستخدام الكلمة المفتاحية `const`، بينما تُصرَّح المتغيرات القابلة للتغيير باستخدام varالكلمة المفتاحية `const`. يجب تهيئة القيم قبل قراءتها. يمكن للقيم استنتاج نوعها بناءً على نوع القيمة الأولية المُقدَّمة. إذا تم تعيين القيمة الأولية بعد تعريف القيمة، فيجب تحديد نوعها صراحةً. [ 28 ]

مطابقة الأنماط

تُوفّر خاصية مطابقة الأنماطmatch في لغة Cangjie من خلال التعبير، الذي يتخذ شكلين: أحدهما بقيمة مُراد مطابقتها، والآخر بدون قيمة. matchيتحقق التعبير ذو القيمة من كل عنصر caseعلى حدة، ويُنفّذ الكود المُناسب عند نجاح مطابقة النمط. ولضمان الشمولية، caseغالبًا ما يستخدم التعبير الأخير نمطًا عامًا_ لتغطية جميع القيم المُمكنة. أما matchالتعبير بدون قيمة، فيُقيّم التعبير وفقًا للحالة، ولا يحتاج إلى زوج من الأقواس لتحديد الشرط. [ 1 ]

تعبير لامدا

لا يمكن أن يحتوي تعبير لامدا على أي معلمات: [ 1 ]

let f = { a : Int64 , b : Int64 = > a + b }let print = { = > println ( "Hello Cangjie" )}

واجهة الوظائف الخارجية

يدعم Cangjie تقنية FFI المدمجة للغتين C و Python . تُعلن الدوال الخارجية باستخدام foreignالكلمة المفتاحية `ffi.python` وتُستدعى باستخدام unsafeالكلمة المفتاحية `ffi.python`. ولضمان التوافق مع لغة C، يدعم Cangjie التحويل التلقائي بين أنواع البيانات الأساسية. CPointer<T>على سبيل المثال، يتوافق النوع `ffi.python` مع أنواع المؤشرات في C، بينما CPointer<Int32>يتوافق النوع int32_t *`ffi.python` مع النوع `ffi.python`. أما بالنسبة للغة Python، فيدعم Cangjie التفاعل من خلال مكتبة `ffi.python` في بيئة التطوير القياسية (std). يتطلب ذلك الإصدار 3.0 من Python أو أحدث، ويعمل حاليًا على نظام Linux فقط. [ 29 ] فيما يلي مثال:

كود Cكود كانجي
#include <stdio.h>#include <stdlib.h>دالة getRandom () {int i = rand ();أعد i ؛}
from std import ffi . c . *دالة خارجية getRandom (): Int32main (): Unit {let r = unsafe getRandom ()println ( "رقم عشوائي $(r)" )}

البرمجة الوصفية

تم تصميم Cangjie بشكل صريح للبرمجة الوصفية [ 30 ] ويدعم نوعين رئيسيين من وحدات الماكرو :

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

بالمقارنة مع الدوال، تتطلب وحدات الماكرو في Cangjie الكلمة macroالمفتاحية، والتي يمكن وضعها داخل عنصر macro packageويتم استدعاؤها باستخدام الرمز @. على الرغم من دعم تداخل وحدات الماكرو في الاستدعاءات، إلا أنه لا يمكن تداخل تعريفات الماكرو نفسها. يتبع توسيع وحدات الماكرو المتداخلة ترتيبًا من الداخل إلى الخارج، ويمكن لوحدات الماكرو مشاركة المعلومات من خلال المتغيرات العامة. يمكن أن تظهر وحدات الماكرو في الاستدعاءات التي تحتوي على أقواس أو بدونها. يمكن للمطورين استخدام تعبيرات الاقتباس لإنشاء كائنات Token. [ 29 ]

وقت تشغيل الوحدة القياسية

تُعدّ وحدة STD runtime، المعروفة باسم std.runtime، حزمة وقت تشغيل لمكتبة Cangjie القياسية (عبر واجهة برمجة تطبيقات مكتبة لغة برمجة Cangjie) تتفاعل مع بيئة وقت تشغيل البرنامج. تحتوي هذه الوحدة على دوال ومتغيرات تتحكم في تنفيذ البرنامج وتديره وتراقبه. [ 1 ]

أدوات التطوير

المترجمون

يدعم مُجمِّع Ark مجموعة متنوعة من لغات البرمجة عالية المستوى، الديناميكية والثابتة، مثل: JavaScript و TypeScript و ArkTS ، بالإضافة إلى Cangjie، بما في ذلك التوافق بين Cangjie وArkTS. [ 31 ] وهو أساس التجميع والتشغيل الذي يمكّن OpenHarmony، إلى جانب HarmonyOS، من العمل على أجهزة متعددة، مثل: الأجهزة الذكية، والهواتف المحمولة، وأجهزة الكمبيوتر، والأجهزة اللوحية، وأجهزة التلفاز، والسيارات، والأجهزة القابلة للارتداء. يتكون مُجمِّع Ark من جزأين: سلسلة أدوات التجميع ووقت التشغيل. [ 32 ]

تتميز لغة برمجة Cangjie أيضًا بمترجم Cangjie مخصص قائم على LLVM يتضمن وقت تشغيل Cangjie لتطوير التعليمات البرمجية الأصلية عالية المستوى على منصات متعددة مثل Windows و Linux و macOS و HarmonyOS ( OpenHarmony ) الموجهة لمنصات الكمبيوتر الشخصي والتطبيقات المعقدة. [ 33 ]

مدير الحزم

مدير حزم كانجي ( CPM ) هو أداة إدارة الحزم المدمجة في لغة برمجة كانجي، ويأتي مُثبّتًا مع مجموعة أدوات cjc. في كانجي، تُعدّ الحزمة أصغر وحدة تجميع، حيث يمكن لكل حزمة أن تحتوي على ملفات مصدر متعددة (ملفات .cj) ولها مساحة اسم خاصة بها. أما الوحدة البرمجية فهي مجموعة من الحزم، تُمثّل وحدة وظيفية كاملة، وتُمثّل الحد الأدنى لوحدات إصدارات مطوري الطرف الثالث. newيُنشئ الأمر وحدة برمجية جديدة، مُولّدًا ملف module.json ومجلد src. يجب أن تكون نقطة دخول برنامج كل وحدة برمجية في دليلها الجذر، ويمكن أن يحتوي المستوى الأعلى على دالة رئيسية واحدة على الأكثر كنقطة دخول للبرنامج. [ 29 ]

دعم بيئة التطوير المتكاملة والمحرر

يستخدم كانججي إضافة DevEco Studio لتطوير تطبيقات HarmonyOS الأصلية. [ 34 ] [ 35 ]

انظر أيضاً

مراجع

  1. 1 2 3 4 5 Zhang Lei 2024a .
  2. ماتسوي، إيميكو (21 يونيو 2024). "لغة برمجة هواوي ستظهر رسميًا لأول مرة في مؤتمر تطوير هواوي 2024" . هواوي سنترال . تم الاطلاع عليه في 6 يوليو 2024 .
  3. ^ تشانغ ، شودونج (2005). "3".中华印刷通史[ التاريخ العام للطباعة الصينية ] (باللغة الصينية). تايبيه: مؤسسة شينغكاي الأدبية. ISBN 957-99638-3-5.
  4. ^ جونكيونغ ، ليانغ (12 أغسطس 2024). "名字里的中国浪漫" [ الرومانسية في الأسماء الصينية ] . هاينان ديلي .
  5. 1 2 """"""""""""""""""""""""""""""""""""""""""""""""""""" " [ أصدرت شركة Huawei لغة برمجة للأغراض العامة تسمى "Cangjie"، قاد Feng Xinyu من قسم علوم الكمبيوتر والتكنولوجيا في جامعة Nanjing تطويرها باعتباره المهندس الرئيسي. ] . www.nju.edu.cn (باللغة الصينية). 21 يونيو 2024. مؤرشفة من الأصلي في 30 يونيو 2024.
  6. 1 2 "هواوي ستجعل لغة البرمجة Cangjie مفتوحة المصدر ومطورة ذاتيًا" . صحيفة ذا ستار (ماليزيا) . 3 يوليو 2025. تم الاطلاع عليه في 4 سبتمبر 2025 .
  7. 天津大学、北航深度参与华为"仓颉"، 推出首个基于国产编程语言的 AI 智能体编程框架"苍穹"[ شاركت جامعة تيانجين وجامعة بيهانغ بشكلٍ فعّال في مشروع هواوي "Cangjie"، حيث أطلقتا أول إطار عمل برمجي للذكاء الاصطناعي قائم على لغة برمجة محلية، "Cangqiong" ] . www.ithome.com . تاريخ الاطلاع: 6 يوليو 2024 .
  8. 1 2 "Cangjie (لغة برمجة)" . TAdviser . تم الاسترجاع في 5 سبتمبر 2024 .
  9. 华为下一代编程语言"仓颉"首席架构师揭晓:南京大学冯新宇教授[ تم الكشف عن كبير مهندسي لغة البرمجة "Cangjie" من الجيل التالي لشركة هواوي: البروفيسور فنغ شينيو من جامعة نانجينغ ] . ITHome . تاريخ الاطلاع: 6 يوليو 2024 .
  10. أميت (25 سبتمبر 2021). "هواوي ستطلق لغة برمجة مطورة ذاتيًا باسم Cangjie العام المقبل" . HU . تم الاطلاع عليه في 6 يوليو 2024 .
  11. بينجي، جوشوا (17 مارس 2022). "هواوي تختبر تسجيل لغة البرمجة الخاصة بها" . RPRNA . مؤرشف من الأصل في 17 مارس 2022. تم الاطلاع عليه في 6 يوليو 2024 .
  12. لي، دينغ (16 يونيو 2022). "سيتم إطلاق لغة برمجة هواوي في النصف الثاني من هذا العام" . هواوي سنترال . تم الاطلاع عليه في 6 يوليو 2024 .
  13. ووكر، إليسا (2 فبراير 2020). "هواوي تُطوّر لغة برمجة خاصة بها - سيتم الكشف عنها في عام 2022" . CodeBug'22 . تم الاطلاع عليه في 6 يوليو 2024 .
  14. بنجامين (14 مايو 2024). "لغة البرمجة Cangjie (CJ) التي طورتها هواوي بنفسها قد تصدر في وقت لاحق من هذا الشهر، أقرب مما كان متوقعًا" . HarmonyOSHub . تم الاطلاع عليه في 6 يوليو 2024 .
  15. نيك (17 يونيو 2024). "هواوي تُعيد تسمية مختبر لغات البرمجة إلى 'لغة برمجة كانججي' وتُعلن عن رؤى جديدة في مؤتمر HDC 2024" . هارموني أو إس هب . تم الاطلاع عليه في 6 يوليو 2024 .
  16. 1 2 راجيش (6 يونيو 2024). "هواوي تعلن عن لغة برمجة "كانغجي" المطورة ذاتيًا" . جيزموكاينا . تم الاطلاع عليه في 5 سبتمبر 2024 .
  17. 1 2 "تم إطلاق الإصدار التجريبي من HarmonyOS NEXT من الإصدار التجريبي - IT 之家" . www.ithome.com . تم الاسترجاع في 6 يوليو 2024 .
  18. """"""""""""""""""""" . www.ithome.com . تم الاسترجاع في 6 يوليو 2024 .
  19. "ACM 中国图灵大会 2024 将于 7 月 5 日举行، 设华为仓颉编程语言论坛 - IT之家" . www.ithome.com . تم الاسترجاع في 6 يوليو 2024 .
  20. نيك (7 يوليو 2024). "الكشف عن لغة برمجة كانججي في مؤتمر تورينج الصيني التابع لجمعية آلات الحوسبة" . هارموني أو إس هاب . تم الاطلاع عليه في 7 يوليو 2024 .
  21. المزيد من المعلومات عن LeetCode[ جميع مسائل منصة LeetCode لتدريب البرمجة مدعومة الآن بلغة Cangjie من هواوي ] . سوهو . تم الاطلاع عليه في 3 ديسمبر 2024 .
  22. ماتسوي، إيميكو (21 يونيو 2024). "هواوي تبدأ عملية التوظيف لاختبار النسخة التجريبية من لغة برمجة كانججي" . هواوي سنترال . تم الاطلاع عليه في 6 يوليو 2024 .
  23. أفضل ما في الأمر هو أن كل ما عليك فعله هو أن تكون على علم بما يلي:[ لغة برمجة Cangjie من هواوي تكشف عن أول دفعة من الشركات الشريكة: بنك ICBC، وشركة China Mobile، وشركة Kingsoft Software، وغيرها ] . ITHome . تاريخ الاطلاع: 6 يوليو 2024 .
  24. ^汪淼 (21 يونيو 2024). "华为: 仓颉编程语言自主可控، 没有基于任何现有的编程语言演进" [ Huawei: لغة برمجة Cangjie يمكن التحكم فيها بشكل مستقل ولا تعتمد على أي لغة برمجة موجودة ] . آي تي ​​هوم (باللغة الصينية). ويكي بيانات Q140042829 . تم الاسترجاع في 6 يوليو 2024 . 
  25. «أعلنت هواوي عن لغة البرمجة الخاصة بها Cangjie» . ITC.ua. ٢١ يونيو ٢٠٢٤. تم الاطلاع عليه في ٦ يوليو ٢٠٢٤ .
  26. "هواوي تكشف عن لغة برمجة جديدة، تعد بذكاء اصطناعي مدمج وأمان قوي" . 23 يونيو 2024. تم الاطلاع عليه في 6 يوليو 2024 .
  27. بيتس، كريزت (21 يونيو 2024). "هواوي تُطلق لغة البرمجة من الجيل التالي "كانغجي" بعد 5 سنوات من البحث" . غيمينغ ديبوتي . تم الاطلاع عليه في 6 يوليو 2024 .
  28. ^ ليو يو وتشانغ رونغ تشاو 2024 .
  29. 1 2 3 شو ليوين 2024 .
  30. دونغ، صن وشومي 2024 .
  31. openharmony/arkcompiler_cangjie_ark_interop ، أوبن هارموني، 1 ديسمبر 2025 ، تم الاطلاع عليه في 5 ديسمبر 2025
  32. "وقت تشغيل ArkCompiler" . OpenAtom Gitee . تم الاسترجاع في 12 فبراير 2024 .
  33. ^ cangjielanguage/cangjie_compiler ، كانججي، 5 ديسمبر 2025 ، تم استرجاعه في 5 ديسمبر 2025
  34. "توظيف مطوري لغة Cangjie في النسخة التجريبية من HarmonyOS NEXT" . مطورو هواوي (مطورو HarmonyOS) . هواوي . تم الاطلاع عليه في 6 يوليو 2024 .
  35. أدولفي، بنيامين (20 مايو 2025). "نظرة أولية على أمان التطبيقات على نظام التشغيل HarmonyOS NEXT" . promon . تم الاطلاع عليه في 12 سبتمبر 2025 .

مصادر

  • دونغ، غوليانغ؛ صن، جون؛ شومي، ريتشارد (2 يناير 2024). "PTE: اختبار المترجم القائم على الدلالات البديهية". arXiv : 2401.01036 [ cs.SE ].
  • ليو يو؛ تشانغ رونغ تشاو (1 يوليو 2024). دليل سريع لبرمجة كانغجي (باللغة الصينية). دار النشر للبريد والاتصالات. ISBN 978-7115624710.
  • شو ليون (30 يونيو 2024). مقدمة. البرمجة المتقدمة والعملية بلغة تسانغجي (باللغة الصينية). مطبعة جامعة تسينغهوا . ISBN 978-7302625889.
  • تشانغ لي (1 يوليو 2024). درس عملي مصغر في لغة تسانغجي (باللغة الصينية). مطبعة جامعة تسينغهوا . ISBN 978-7302616597.

للمزيد من القراءة