# البرمجة بدون كود (تطبيق)

PWCT هي لغة برمجة مرئية مجانية مفتوحة المصدر لتطوير البرمجيات. تم تطويرها على يد المهندس المصري محمود سمير فايد

## هدف

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

## التاريخ

* سجلت PWCT على سورس فورج في ديسمبر 2005
* تم إصدار PWCT 1.0 في 18 أكتوبر 2008
* تم إصدار PWCT 1.1 في 20 فبراير 2009
* تم إصدار PWCT 1.2 في 4 مايو 2009
* تم إصدار PWCT 1.3 في 30 مايو 2009
* تم إصدار PWCT 1.4 في 28 أغسطس 2009
* تم إصدار PWCT 1.5 في 27 مارس 2010
* تم إصدار PWCT 1.6 في 16 مايو 2010
* تم إصدار PWCT 1.7 في 15 سبتمبر 2010
* تم إصدار PWCT 1.8 في 18 أكتوبر 2011 (آخر تحديث: 22 أبريل 2013)
* تم إصدار PWCT 1.9 في 7 مايو 2013 (آخر تحديث: 12 فبراير 2020)

## مفهوم

تم تصميم المصدر المرئي داخل PWCT باستخدام مصمم الهدف حيث يمكن للمبرمج إنشاء شجرة الخطوات من خلال التفاعل مع مكونات اللغة المرئية.
داخل PWCT، المصدر المرئي هو مجموعة من الأهداف، كل هدف يحتوي على شجرة من الخطوات وكل خطوة / عقدة داخل شجرة الخطوات قد تحتوي على واحد أو أكثر من نماذج إدخال البيانات.
تستخدم شجرة الخطوات ألوانًا تخبر المبرمج عن نوع الخطوة.
تسمح بعض الخطوات باحتواء خطوات فرعية، بينما لا تسمح خطوات أخرى بذلك، كما أن بعض الخطوات ليست أكثر من تعليقات للمبرمج.
تعطي شجرة الخطوات المبرمج بعدين حيث يمكن أن تكون العلاقة بين العقدة وعقدة أخرى «بجوار» أو «تحتوي» حيث يمكن للمبرمج أن يتعمق أولاً أو اتساعاً أولاً عندما يتفاعل مع شجرة الخطوات.
يمكن للمبرمج استخدام البعد «يحتوي» للقيام بعملية على مجموعة من الخطوات / العقد في نفس الوقت (تحريك لأعلى / تحريك لأسفل / قص / نسخ / حذف).
يمكن للمبرمج استخدام مصمم النموذج لتصميم واجهة المستخدم.
يمكن للمبرمج استخدام البعد الزمني حيث يمكنه معرفة وقت إنشاء كل خطوة (التاريخ والوقت) ويمكنه التحرك على طول البعد الزمني لرؤية الخطوات فقط في أي مرحلة أثناء عملية التطوير.
داخل مصمم الهدف، يمكن للمستخدم استخدام الماوس أو لوحة المفاتيح لتحديد المكونات المرئية وإنشاء خطوات جديدة في شجرة الخطوات. باستخدام الماوس، يمكننا استكشاف البيئة لرؤية المكونات الجاهزة للاستخدام. باستخدام لوحة المفاتيح بكتابة اسم المكون، يمكن للمبرمج الحصول على أي مكون بسرعة والبدء في استخدامه.

## المميزات

* الغرض العام.
* البرمجة المرئية (أكثر من بُعد واحد، عدم وجود أخطاء في البنية، وأبعاد الوقت والألوان).
* محرر بصري (اختصارات لوحة المفاتيح والتخصيص والقص والنسخ واللصق والبحث والاستبدال)
* محرر بناء الجملة الموجه (تجنب الأخطاء).
* محرر مجاني ومترجم VPL.
* يمكن للمبرمج رؤية وتحرير التعليمات البرمجية المصدر التي تم إنشاؤها.
* يمكن للمبرمج تغيير اسم الخطوة وألوان الخطوات.
* دعم إنشاء التعليمات البرمجية بلغات البرمجة C وPython وC# و Harbour و Supernova.
* يمكن للمبرمج تشغيل البرامج كفيلم لمعرفة كيفية إنشاء البرنامج خطوة بخطوة
* لا تفرض نموذج برمجة.
* ملحق (إنشاء مكونات جديدة).
* قم بتشغيل البرامج في أي وقت في الماضي أثناء عملية التطوير.

## اللغات المرئية

يتم تصنيف مكونات لغة البرمجة المرئية PWCT إلى الفئات التالية
* CPWCT : المكونات المرئية التي تولد شفرة المصدر بلغة البرمجة C.
* PythonPWCT : المكونات المرئية التي تولد شفرة المصدر بلغة برمجة Python.
* HarbourPWCT : المكونات المرئية التي تنشئ التعليمات البرمجية المصدر في لغة برمجة Harbour.
* SupernovaPWCT : المكونات المرئية التي تولد شفرة المصدر في لغة برمجة Supernova.
* C # PWCT : المكونات المرئية التي تولد شفرة المصدر بلغة البرمجة C #.