تاريخ Hello World مع لغات برمجية بشعة

الناقل : elmasry | الكاتب الأصلى : الشمري | المصدر : www.arabteam2000-forum.com

السلام عليكم ،

كمقدمة كلاسيكية : Hello World هو أول برنامج وأبسط برنامج ستكتبه باستخدام لغة برمجية ما ، وكثير من مطوّري لغات البرمجة أو المكتبات التي تعتمد على لغات برمجية ، يحاولون استعراض عضلاتهم بمدى سهولة وتنظيم " التطبيق الأول " ، باعتبار أن كل من سيقرأ Hello World سيستمر في رحلة التعلّم أو أن يصاب بصدمة نفسية تقضي على المسيرة مبكراً ( إن كان له الخيرة من أمره ) .
الـ
Wikiيقول ، إن كتاب Programming in C: A Tutorial ، هو من أوائل من احتوى على هذه الجملة لكتابة تطبيق يطبع Hello Word :

 #include <stdio.h>
 int main()
 {
        printf("hello, world");
        return 0;
 }


أمّا النطبيق الأول على الاطلاق فقد يكون حدث في عام 1972 في Kernighan's Tutorial Introduction to the Language B :

main( ) {
  extrn a, b, c;
  putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';


يمكنك من خلال موقع
http://hellowiki.org ، الاطلاع بشكل سريع على الـ Hello World للغات برمجية كثيرة .


Hello World للغات غريبة

لغة
Brainfuck

( لا تستغرب جمال الاسم ، فستعرف لماذا الآن ) ، و Hello World الخاص بها والذي يطبع جملة Hello World على الشاشة :

+++++ +++++             initialize counter (cell #0) to 10
[                       use loop to set the next four cells to 70/100/30/10
    > +++++ ++              add  7 to cell #1
    > +++++ +++++           add 10 to cell #2
    > +++                   add  3 to cell #3
    > +                     add  1 to cell #4
    <<<< -                  decrement counter (cell #0)
]                  
> ++ .                  print 'H'
> + .                   print 'e'
+++++ ++ .              print 'l'
.                       print 'l'
+++ .                   print 'o'
> ++ .                  print ' '
<< +++++ +++++ +++++ . print 'W'
> .                     print 'o'
+++ .                   print 'r'
----- - .               print 'l'
----- --- .             print 'd'
> + .                   print '!'
> .                     print '\n'


فعلاً ، اسم على مسمّى :/ .


لغة
Whitespace

طبعاً كسابقتها ، فالاسم على مسمّى ، ولتطبق جملة Hello World ، ستحتاج إلى أن تستخدم إبهامك مئات المرّات لتصل إلى Space بسرعة :
| | | |
| | | | | | | | | | |
|       |       | | | | |       |
| | | | |       | | | | |     |
|       |       | | | | |       | |
| | | | |       | |     |       | | |
|       |       | | | | |       |       |
| | | | |       | |     |       | | |
|       |       | | | | |       | | |
| | | | |       | |     |       |       |       |
|       |       | | | | |       | |     |
| | | | | |     |       | | |
|       |       | | | | |       |       | |
| | | | | | | | | |
|       |       | | | | |       |       |       |
| | | | |       |       | |     |       |       |
|       |       | | |
| | | | | | |
| | | | |       | |     |       |       |       |
|       |       | | | | |       | | | |
| | | | |       |       | | | | |
|       |       | | | | |       | |     | |
| | | | |       | |     |       | | |
|       |       | | | | |       | |     |       |
| | | | |       | | |
|       | | |
|       |       | | | | |       |       | | |
| | | | | | | | |       |
|       |       | | | | |       |       | |     |
| | | | |       | |     |
|       |       | | | | |       |       |       | |
| | | | | |     | |
|       |       | | | | |       |       |       |       |
| | | | |
|       |
|       | | | | | |
empty-line
| | | | |       |
empty-line
| |     |       |       | |
empty-line
|       | | | | |
|       |
| | | | | |     |
|       | | | |
empty-line
| | | |
empty-line
| | | | | |
empty-line
empty-line/EOF



لغة LOLCODE

غرابة اللغة بأسلوبها ، وليس بتعقيدها هذه المرة ، وهذا Hello World مناسب :
 HAI
 CAN HAS STDIO?
 PLZ OPEN FILE "LOLCATS.TXT"?
     AWSUM THX
         VISIBLE FILE
     O NOES
         INVISIBLE "ERROR!"
 KTHXBYE


التفسير البشري لبعض الجمل سيكون : Please try to open a file ، و Okay thanks, bye !

لغة Ladder Logic

لا أعرف Hello World لها ، ولكن أعرف أنها بشعة بما يكفي :
| X001 Y001                                             Y001 |
|-| |---|/|---[01000 TON T002]-[01000 TOF T003]---------( )--|
|                                                            |
|  X001                                                 Y002 |
|--| |----+---------------------------------------------( )--|
|         |                                                  |
|  Y002   |                                                  |
|--| |----+                                                  |
|                                                            |
|  X001 R006                                                 |
|--| |--|/|--[01000 TON T004]-----+-------[D150 + 1 -> D150]-|
|                                 |                     R006 |
|                                 +---[01000 TOF T005]--( )--|
|                                                            |
|                                                       Y003 |
|-[D150 >200]-------------------------------------------( )--|
|                                                            |
| Y003                                                       |
|-| |-----------------------------------------[ 0 MOV D150]--|
|                                                            |
|--{END}-----------------------------------------------------|


أخيراً :
خطر ببالي الموضوع بينما كنت أقرأ
أحد مواضيع programmers.stackexchange.com ، الموقع يبدو رائع :wub: .
كثير من اللغات السابقة تتبع تصنيف
Esoteric programming languages ،