Light Table – أداة تطوير كود بشكل مختلف « مغامرات برمجية

Light Table – أداة تطوير كود بشكل مختلف

نّشر في: 2012/05/15
تصنيفات: أخبار تقنية
وسوم: ,
تعليقات: 9 تعليق

أدوات تطوير الكود (أو IDE) كثيرة جداً هذه الأيام. من البالغة البساطة مثل Notepad++ إلى الأكثر تعقيداً مثل Visual Studio وEclipse. لكنها كلها في النهاية لها مبدأ مشترك: التعامل مع الكود على أنه مجموعة من الملفات. ولكن هذه مجرد طريقة التخزين. بينما عندما تنظر إلى الكود من وجهة نظر برمجية بحتة، ستجد أن الكود في الواقع هو مجموعة من الدوال والكلاسات وما إلى ذلك. ورغم أن العادة جرت على أن يكون كل كلاس في ملف منفصل، تبقى هذه ناحية تنظيمية بحتة تعتمد على المبرمج. وماذا عن الدوال؟ تقسيمها إلى ملفات منفصلة موضوع شائك هو الآخر. من هذا المنطلق قام مبرمج يدعى Chris Granger بطرح فكرة مشروع IDE جديد سماه Light Table، تكون وحدة الكود ليست تخزينية الاتجاه بل برمجية. و هنا فيديو عن المشروع:

 

 

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

 

 

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

 

 

رغم أننا نسمي نفسنا مبرمجين، إلا أن نصف وقتنا (إذا لم يكن أكثر) نقضيه ليس في برمجة أكواد جديدة، بل في تصحيح عمل أكواد حالية أي debugging. الكل يعلم بأهمية وجود أداة debugging قوية لتتبع تلك الأخطاء الصعبة. من المزايا التي سبقدمها Light Table هي تسهيل هذه العملية بواسطة تصوير مرور البيانات داخل الدوال وكيفية تغيرها داخلها.

كل ما ترونه الآن هو مجرد تطبيق أولي وبسيط لـLight Table. المشروع حالياً في مرحلة جمع التمويل اللازم لتطويره ليكون IDE كامل. وتتم حالياً هذه العملية باستخدام موقع Kickstarter هنا.

إذا كنت تتسائل عن ما هو Kickstarter، فهو عبارة عن موقع مخصص لإيجاد التمويل للمشاريع الصغيرة. يقوم فيه صاحب المشروع بطرح فكرته ويطلب المساعدة المالية من جمهور الإنترنت وغالباً يكون هناك مقابل لهذه الإعانة. مثلاً في مشروع Light Table إذا تبرعت بـ15 دولار وأكثر ستحصل على رخصة استخدام بالإضافة لوضع اسمك في لائحة  المساهمين في التطوير. عندما يصل التمويل إلى النقطة التي حددها صاحب المشروع يتعهد هو ببدأ المشروع بناءً على التمويل. هذا الموقع هو الرائد في مجال ما يدعى بـCrowd Funding (التمويل الجمهوري) وقد مول العديد من المشاريع، بدئاً من الصغيرة (مثل تمويل بعض المشاريع الفنية البسيطة)، إلى الضخمة (مثل تمويل لعبة Wasteland 2 من مبتكري ألعاب Fallout بتمويل وصل إلى 2.9 مليون دولار!)

مشروع Light Table وضع نقطة وصول بدأ المشروع عند 200 ألف دولار، وقد حصل على هذا المبلغ في حوالي أسبوع ونيف. لذا سنجد Light Table جاهزاً للاستخدام لاحقاً في هذه السنة بدعم لغتي JavaScript وClosure (وهي التي ترونها في الصور). ولكن صاحب المشروع وعد أبضاً بإضافة دعم لغة Python إذا وصل التمويل إلى 300 الف دولار. في وقت كتابة هذه التدوينة وصل التمويل إلى قرابة 213 ألف دولار، وما زال أمامنا 17 يوم حتى نهاية مرحلة التمويل. لذا أبقى متفائلاً بأن أحصل على نسخة بايثونية من Light Table لأجربها :)

Post to Twitter

9 تعليق - أضف تعليق
  1. أبو محمد قال:

    شكرا على هذا الموضوع. فهو من المواضيع التي تثير اهتمامي.
    هناك أبحاث كثيرة تحاول اعادة صياغة علاقة البرمجة – اللغة – المبرمج.
    بحسب مانويل سيمون في مدونته
    ( http://axisofeval.blogspot.com/2012/04/suppossed-primacy-of-text.html ):
    يناقش فكرة تعميم تمثيل البرنامج خارج اطار النص التقليدي.

    شخصيا أرى أن لفة البرمجة Fortress التي يعمل عليها Guy Steele و اخرون في مختبرات أوراكل (صن لابس سابقا) قد حققت شيئا من هذا الهدف. إلا أن أخرون يحاولون الوصول إلى أبعد من ذلك. خذ Jonathan Edwards مثلا – صاحب عرض Subtext ( http://subtextual.org/subtext2.html ) ، فقد كتب في مدونته موضوعا بعنوان: “An IDE is not enough”
    http://alarmingdevelopment.org/?p=680
    ملخصه أن أختراع ادوات تطوير جديدة ليس هو الحل لمشكلة الحاجز بين تمثيل البرنامج و نتيجته و تصور المبرمج أثناء البرمجة. بل يجب أن نذهب أبعد من ذلك و نعيد التفكير في الأساس النظري لماهية لغة البرمجة و محاولة التخلص من the syntax. كيف؟! لا أعلم.

    لكن هناك من يشارك Jonathan Edwards الرأي. فهذا Roly Perera في مدونته مؤخرا يطرح نفس الفكرة تقريبا. ( http://dynamicaspects.org/blog/2012/05/15/back-to-the-future/ )

    • System Down قال:

      مقالات مثيرة للاهتمام! أعجبتني هذه الجملة بالذات من مدونة Jonathen Edwards:
      so long as we are programming in decendants of assembly language we will continue to program in descendants of text editors.
      طالما كنا نبرمج بأحفاد لغة أسمبلي سنظل نبرمج بأحفاد محررات النصوص

      في البرمجة نجد عبء محاكاة الموروث القديم في كل مكان. أحد أسباب تعقيد ‎C‎+‎+‎ هو إرث لغة C ومحاولة البقاء “وفية” لها (وهو شئ لا تجده في أحفاد C الآخرين مثل Objective C وJava و‎C‎#‎ مثلاً). VB.NET لا تدعم الـshort circuit if statement لأنها لا تريد أن تربك مبرمجي VB 6. وهلمجرا.

      ما هو شكل اللغة التي ستكسر هذا الـ”تابوو” هو شئ لا أستطيع تخيله حالياً! :)

      أشكر لك مرورك!

  2. Thanks very nice blog!

    Here is my site – Joye Y. Villatoro

  3. WOW just what I was looking for. Came here by searching for other

  4. Reliv قال:

    This team are the distributors icon to generate sales of their own which will
    benefit their sponsor. See the difficulty in this industry you must know the easiest
    way to market to achieve success. Simple substitutions such as this are the key to cutting calories and eating
    healthier.

  5. If some one desires expert view concerning running a blog afterward
    i propose him/her to visit this webpage, Keep up the nice work.

  6. I feel that is among the most vital information for me. And i am happy
    reading your article. However want to commentary on some normal issues, The site taste is wonderful, the articles is actually
    nice : D. Just right process, cheers

  7. Hey there, You’ve done a great job. I will certainly
    digg it and personally recommend to my friends.
    I am sure they’ll be benefited from this web site.

  8. Я не мог не может устоять воздержаться от
    комментариев. Хорошо написано!

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


مرحباً , تاريخ اليوم هو الثلاثاء, 2017/02/21