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

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

## هدف
الغالبية العظمى من مالكي الكمبيوتر هم فقط من المستخدمين، ولا يطورون سوى اجزاء بسيطة من البرنامج بأنفسهم. فالبرمجة لها صورة تبدو وكأنها صعبة.

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

## التاريخ
تصغير|300x300بك| PWCT 1.9 البيئة - نماذج إدخال البيانات
* سجلت 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)

## مفهوم
تصغير|300x300بك| PWCT 1.9 البيئة - متصفح المكونات
تصغير|300x300بك| PWCT 1.9 البيئة - مصمم النموذج
تم تصميم المصدر المرئي داخل PWCT باستخدام مصمم الهدف حيث يمكن للمبرمج إنشاء شجرة الخطوات من خلال التفاعل مع مكونات اللغة المرئية.

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

تستخدم شجرة الخطوات ألوانًا تخبر المبرمج عن نوع الخطوة.

تسمح بعض الخطوات باحتواء خطوات فرعية، بينما لا تسمح خطوات أخرى بذلك، كما أن بعض الخطوات ليست أكثر من تعليقات للمبرمج.

تعطي شجرة الخطوات المبرمج بعدين حيث يمكن أن تكون العلاقة بين العقدة وعقدة أخرى «بجوار» أو «تحتوي» حيث يمكن للمبرمج أن يتعمق أولاً أو اتساعاً أولاً عندما يتفاعل مع شجرة الخطوات.

يمكن للمبرمج استخدام البعد «يحتوي» للقيام بعملية على مجموعة من الخطوات / العقد في نفس الوقت (تحريك لأعلى / تحريك لأسفل / قص / نسخ / حذف).

يمكن للمبرمج استخدام مصمم النموذج لتصميم واجهة المستخدم.

يمكن للمبرمج استخدام البعد الزمني حيث يمكنه معرفة وقت إنشاء كل خطوة (التاريخ والوقت) ويمكنه التحرك على طول البعد الزمني لرؤية الخطوات فقط في أي مرحلة أثناء عملية التطوير.

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

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

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

## انظر أيضًا
 
* لغة البرمجة المرئية
* سكراتش (لغة برمجة)
* Alice (برنامج)
* ليمنور
* بروجراف
* LabVIEW
* لافا (لغة برمجة)

## المراجع

## قراءة متعمقة
* فايد، القريشي، العامري، الدريسة (2017) *[https://dl.acm.org/citation.cfm?id=3056782 PWCT: اللغة المرئية لتطبيقات وأنظمة الحوسبة السحابية وإنترنت الأشياء]*، ACM
* فايد (2017) **، جامعة الملك سعود
* فايد (2013) *[https://www.codeproject.com/Articles/113731/Using-C-NET-through-Programming-Without-Coding-Tec باستخدام C #.]* *[https://www.codeproject.com/Articles/113731/Using-C-NET-through-Programming-Without-Coding-Tec NET من خلال البرمجة بدون تقنية الترميز]*، مشروع الكود
* فايد (2013) *[https://www.codeproject.com/Articles/693408/Using-Python-inside-Programming-Without-Coding-Tec استخدام Python داخل البرمجة بدون تقنية الترميز]*، مشروع الكود
* فايد (2013) *[https://www.codeproject.com/Articles/296472/The-Time-Machine-and-the-PWCT-visual-programming-l The Time Machine ولغة البرمجة المرئية PWCT]*، مشروع الكود

## روابط خارجية
* PWCT على السحابة
* PWCT الصفحة الرئيسية
* إحصائيات تنزيل PWCT
* The Anvil Podcast: البرمجة بدون تقنية الترميز
* فيديو: تقديم البرمجة بدون تقنية الترميز
* فيديو: كيفية إنشاء تطبيق GUI الأول الخاص بك باستخدام PWCT

تصنيف:لغات برمجة مرئية
تصنيف:لغات حاسوب