السلام عليكم، و رحمة الله تعالى و بركاته.
أطلق أول أمس الاصدار التجريبي SMPL 0.2 من لغة منشئ المواقع. و أطلق معه في نفس الوقت موقع اللغة الرسمي – أو بشكل أدق التحديث "الكامل" للموقع. و قد كنت منذ أسابيع قليلة – إن لم أخطئ التقدير – تحدثت عن النسخة السابقة و الأولى SMPL 0.1، و نلت عددًا من الردود ليس بالكثير، لكني وجدت فيهم الفائدة الكبيرة حقًا – فشكرًا جزيلًا لأصحابها!
لمن لم يتابع الموضوع القديم، لغة منشئ المواقع – حسب التعريف الموجود في الموقع الرسمي هي: "لغة مجانية و مفتوحة المصدر موجهة نحو برمجيات الويب. تقدم الامكانيات التفاعلية لصفحات الويب، من اجراء عمليات حسابية و تعامل مع نصوص، و ملفات و قواعد بيانات، و غير ذلك، بأبسط و أسهل الطرق المباشرة."
جيد جدًا. لكن ما الجديد في هذه اللغة إذن؟ الفكرة الأساسية هي التطوير و البرمجة "ببساطة" أكثر للويب و بطرق "مباشرة" و واضحة. غير هذه النقطة الأساسية، هناك تقديم الشرح بالشكل الذي يناسب – حقًا – غير المبرمجين – و الذي في رأيي يتطلب "لغة" جديدة تناسب مفاهيم جديدة أبسط! و من المميزات الكبيرة حتى الآن، دعم Unicode دون امتدادات إضافية للغة*، و النظام في تسميات الدوال و ترتيب المدخلات، و السهولة الفائقة في تعديل و تطوير اللغة، و تغييرات بسيطة في القواعد النحوية عن PHP، قد يراها الكثيرون أفضل قليلًا.
*دعم Unicode يعني: دعم التعامل مع مختلف اللغات البشرية بالشكل الصحيح، و من تلك اللغات اللغة العربية. إذا تم استعمال ترميز Unicode - UTF-8 الشهير ستعتبر العديد من لغات البرمجة، أن الحرف الواحد الغير لاتيني، يمثل أكثر من من حرف واحد، أي حرفين أو ثلاثة أحرف أو حتى أربعة. و بالتالي يخرج رقم خاطئ عند حساب طول نص عربي مثلًا، و تحدث مشاكل "هائلة" عند تقسيم نص غير لاتيني، أو يحوي حروف من لغات أخرى أو علامات، عند تقسيم ذلك النص إلى مصفوفة، كل عنصر يحوي حرفًا واحدًا، في هذه الحالة سيكون هناك عناصر تحوي أجزاءً من حروف، و ليست حروفًا كاملة!
يمكن للجميع القراءة أكثر، عن سبب إنشاء اللغة و ما تقدمه، عبر الموقع الرسمي: http://smpl-lang.com/ ، ويمكن بالطبع من الموقع ذاته، تحميل اللغة، و قراءة شرح و مرجع اللغة و غير ذلك.
كما ذكر فإن اللغة مفتوحة المصدر، و إن كانت "بدون رخصة محددة حاليًا!". واحدة من المشاكل أني أعمل على تطوير اللغة وحدي، و لا أعلم كيف أستطيع أن أجد مبرمج PHPعربي يرضى بفكرة كهذه حاليًا، و يساعدني. قلت "عربي"، لأن اللغة تستهدف – ولو مؤقتًا – العرب فقط، و بمجرد أن تثبت أنها تستحق حقًا، لن تكون هناك مشكلة من تغيير هذه النقطة – إلى ذلك الحين ستظل كذلك إن شاء الله.
واحدة من المشاكل الأخرى هي فكرة إصرار العديدين على أن لغة منشئ المواقع ليست "لغة"، هذه قابلني كثيرًا في الاصدارات القديمة منها، و أعتقد أنه قد يقابلني أيضًا مع هذا الاصدار مستقبلًا. أريد أن أفهم لماذا يستحيل – بالنسبة لمن يعترض - تسميتها "لغة"؟ لغة البرمجة – في رأيي – هي باختصار تلك القواعد النحوية، التي تفسر بشكل ما حتى يتم تنفيذها و تحويلها إلى برنامج، أو صفحة ويب، أو غيرهما – و قد شرحت في الموضوع السابق كيفية عمل "لغة" منشئ المواقع، و إن كانت تغيرت تلك الطريقة "قليلًا" في هذا الاصدار – لتزيد السرعة للضعف تقريبًا.
واحدة من المشاكل كذلك هي أن منشئ المواقع، كلغة برمجة للويب، ليس على مرجعها أن يحتوي كيفية البحث عن استضافة بل وربما التسجيل فيها و تحميل برنامج FTP! لكن هذا ما يقلقني. حاولت أن أبسط الأمر، و كتبت تحت متطلبات تشغيل اللغة مثالًا على استضافة مجانية – أراها جيدة – تقدم هذه المتطلبات، لكن هذا قد يعتبر اعلانًا، و هو ليس في محله! عند التطوير للويب – و أرى هذه مشكلة – تحتاج لتعلم لغات عديدة، فلكتابة هيكل الصفحة لدينا xHTML، و لتنسيق تلك الصفحة لدينا CSS، و للتفاعل Client-side لدينا Javascript، و للتفاعل Server-side لدينا خيارات عديدة. المشكلة تكمن في أن من سيريد استخدام لغة Server-side سيكون بالتأكيد يستطيع استخدام و لو HTML فقط. لكن هل يمثل هؤلاء نسبة كبيرة في العالم العربي؟ أم سيكون على اللغة، توفير حل كذلك لهذه النقطة! أم سيكون علينا استهداف المبرمجين Server-side الجدد.
لحل نقطة الاستضافة، أفكر عمل شيء شبيه بـSafeMode و لكن في SMPL، و عبر لوحة تحكم (دون FTP) أتيح التسجيل في الموقع و إنشاء الصفحات، لكن لن تكفي هذه أكثر من التعريف باللغة..
يبدو أن المشاكل كثيرة، و أكثرها لا يتعلق بتطوير اللغة نفسها! بالنسبة لما يتعلق بالناحية التقنية أكثر في اللغة، هناك البطء في عملية التفسير (Parsing) عند استخراج الـtokens، كما ذكرت سابقًا أنها تعمل بقراءة حرف فالتالي في حلقة تكرارية حتى تصل إلى نهاية الكود. هل هناك طرق أخرى أكثر سرعة – وبنفس الكفاءة - من قراءة الحرف فالتالي؟
أخيرًا، أعود و أذكر موقع اللغة: http://smpl-lang.com/ ، يمكن منه قراءة مميزات لغة منشئ المواقع حتى الآن، و تحميل اللغة لمن أراد تجربتها و تطويرها، و بالتأكيد هذا الموقع مبرمج باستخدام لغة منشئ المواقع، و قواعد بيانات SMDB (الغيرعلائقية و التي تعمل دون كتابة SQL)، المذكورة أيضًا بشكل أكثر تفصيلًا في الموقع، و إن كانت غير مشروحة حتى الآن لضيق الوقت.
شكرًا لكم.