סקרנות: שפות תכנות אזוטריות

שפות תכנות אזוטריות הן שפות מינימליסטיות, שנוצרו כהוכחה למושג ו / או אתגר, הן לתכנת את השפה והן לכתוב עליה. בואו נראה סקירה של כמה מהן:

בריינפוק


זה הידוע והפופולרי ביותר, התחביר שלו די פשוט:

 
 + + + + + + + + + +
 [          לולאה כדי להתחיל זיכרונות (חוזרת על עצמה 10 פעמים)
    >+++++++>+ + + + + + + + + +>+ + + ++++++++>+ + +>+<<<<-
       70 100 110 30 10
 ]
 >++.              'H' (72) 1
 >>+.              'או' (111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             32 (4)
 <+.               'מ' (109) 3
 ++++++++.         'u' (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               'או' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

כדי להסביר את התחביר שלו, עדיף לפנות לשפות תכנות אחרות. אז פנימה דף ויקיפדיה שלו ספק לנו טבלת שקילות זו, בה ptr שווה ערך לחרמה לא חתומה:

זיון מוח C פרל
> ++ ptr; מצביע $ ++;
< –Ptr; מצביע $–;
+ ++ * ptr; $ tape [$ pointer] ++;
- - * ptr; $ tape [$ pointer] -;
. putchar (* ptr); הדפיס chr $ tape [$ pointer];
, * ptr = getchar (); $ tape [$ pointer] = ord (<>);
[ בעוד (* ptr) { בעוד ($ tape [$ pointer]) {
] } }

גם!


הוא מבוסס על הקודם, אך משתמש במקום זאת בשילוב המילה גם?, גם! y כמו כן. זו פרודיה על הספרן של עולם הדיסק, שהופך לאורנגאוטן ויכול לבטא רק את שלוש המילים האלה. בואו נסתכל על פיסת קוד.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

כביכול "תוכנית" זו מה שהיא עושה זה לכתוב את "שלום העולם" האופייני.

לפגוש


לדעתי המקורי מכולם, מבנה בקרת הזרימה שלו מבוסס על חצים שאומרים לתוכנית לאן ללכת. כמו כן, זה מקל על יצירת קוד מוטציה (קוד שמשנה את עצמו):

vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^

הקוד שלעיל הוא מחולל מספרים אקראי אינסופי, שייצור מספר שבין 1 ל 9. הרבה יותר קריא מהקודמים.

מלבולג '


כאן יש לנו שפת תכנות שנוצרה כדי להיות מעצבנת ולא קריאה (לא, זה לא C, ולא, זה לא פרל). הוא בערך מלבולג ', ששמו מגיע מהמעגל השמיני של הגיהינום הקומדיה האלוהית. הנה "שלום שלום" (או שזה מה שאמרו לי שהוא):

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Lolcat


בדיחה פשוטה. בוא נראה את הקוד שלך:

היי
CAN HAS STDIUM?
יש לי VAR
IM IN YR לולאה
   UP VAR!!1
   נראה לעין VAR
   IZ VAR גדול יותר מאשר 10? KTHX
IM OUTTA YR לולאה
KTHXBYE

מכיוון שזה הרבה יותר קריא משפות תכנות קודמות, אני אתן לך לנחש מה זה אמור לעשות. 😉

אינטרקאל


ואחרון חביב יש לנו פרודיה על שפת התכנות FORTRAN. אינטרקאל. והנה שלום עולם.
DO ,1 <- #13
אנא DO ,SUB אחד #1 <- #238
DO ,SUB אחד #2 <- #108
DO ,SUB אחד #3 <- #112
DO ,SUB אחד #4 <- #0
DO ,SUB אחד #5 <- #64
DO ,SUB אחד #6 <- #194
DO ,SUB אחד #7 <- #48
אנא DO ,SUB אחד #8 <- #22
DO ,SUB אחד #9 <- #248
DO ,SUB אחד #10 <- #168
DO ,SUB אחד #11 <- #24
DO ,SUB אחד #12 <- #16
DO ,SUB אחד #13 <- #162
אנא לקרוא החוצה ,1
אנא לָתֵת UP
ובכן זהו זה.

אני חייב לומר שחלק משפות התכנות הללו מאוד שימושיות ללמוד על כמה מושגי מחשב. לדוגמה, בריינפוק זה מושלם ללמוד על מצביעים.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   davidlg דיג'ו

    אני כמעט מעדיף קוד בינארי

    1.    desikoder דיג'ו

      כן, אני בהחלט מעדיף לתכנת באופן בינארי או במכלול ישיר, אתה יכול לעשות הכל (בסופו של דבר שפות ברמה גבוהה פועלות על המעבד), אך הדבר המעניין בשפות אזוטריות הוא האתגר שהם מייצגים. אגב, מטייל (מחבר המאמר הזה), אתה מעצבן אותי. איך C ו- Perl בלתי קריאים ומרגיזים? איזו עבירה בלתי נסבלת !! איזו זעם! אבל אם C הוא נפלא, בפרל לא תיכנתתי אבל ראיתי הערות טובות לגבי שפה זו מכיוון שככל הנראה היא מתאימה מאוד לטיפול בקבצים, מחרוזות ותרמילים אלה, למשל למנצלים היא די טובה, אם כי cy python במעללים עובד טוב ...

      Saludos!

      1.    מטייל דיג'ו

        האדם, העניין C ו- פרל היה בדיחה, וכן, הם שפות די קריאות, מאוד פרקטיות ו"יפות "בידיים הנכונות. כמובן שב- CI ראו שיש אנשים שבסופו של דבר יוצרים סבך של קוד ספגטי לא מובן, ובלי לשמור תיעוד. באשר לפרל, לא רק שקורה אותו דבר כמו ב- C, כיוון שאתה גמיש כל כך, אתה יכול למצוא דברים שמתנגדים לשכל הישר. אני חייב לומר שאין לי שום ניסיון בתכנות בפרל, אבל אני מכיר את התחביר שלה די טוב.

  2.   חואקין דיג'ו

    הראשון הוא כיצד לכתוב בקוד מורס 😀

    1.    מטייל דיג'ו

      והשני הוא להיות אורנגאוטן, והרביעי, זה גורם לאוטם מוחי.

  3.   טירסו ג'וניור דיג'ו

    טוב מאוד ההודעה.

  4.   ג'ון דיג'ו

    אני מתגעגע אליך פייט
    http://www.dangermouse.net/esoteric/piet.html

    1.    מטייל דיג'ו

      ושף, אולמדה, חלל לבן והתעסקות. אבל לא רציתי להפוך את המאמר לגדול מדי.

  5.   דיאזפאן דיג'ו

    ההצגה מתחילה
    שוחח עם היד «שלום עולם»
    הופסקת

    שלום עולם בארנולד סי

    http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger

    1.    מטייל דיג'ו

      וואו, הוא לא ידע את זה, אני מניח שהרעיון ניתן לו על ידי "המפסיק האפס"

  6.   אליוטיים 3000 דיג'ו

    האמת היא ששפות התכנות האלה הצחיקו אותי. טוֹב.