لغات البرمجة الباطنية هي لغات مبسطة ، تم إنشاؤها كدليل على المفهوم و / أو التحدي ، لبرمجة اللغة والكتابة لها. دعونا نرى مراجعة لبعض منهم:
مخادع
إنها الأكثر شهرة والأكثر شيوعًا ، تركيبها بسيط للغاية:
+ + + + + + + + + + [ التكرار لبدء الذكريات (يتكرر 10 مرات) >+++++++>+ + + + + + + + + +>+++++++++++>+ + +>+<<<<- 70 100 110 ] >++. 'ح' (72) 1 >>+. "أو" (111) 3 ---. 'l' (108) 3 <---. أ '(97) 2 >>++. مساحة (32) 4 <+. م (109) 3 ++++++++. 'u' (117) 3 -------. ن '(110) 3 <+ + +. د '(100) 2 >+. "أو" (111) 3 >+. "!" (33) 4 >. "\ n" (10) 5
لشرح تركيبها ، من الأفضل استخدام لغات برمجة أخرى. حتى في صفحته على ويكيبيديا زودنا بجدول المعادلات هذا ، حيث يعادل ptr حرفًا غير موقع:
عقلي | C | بيرل |
---|---|---|
> | ++ ptr ؛ | مؤشر ++ $ ؛ |
< | –Ptr ؛ | المؤشر $–؛ |
+ | ++ * ptr ؛ | شريط $ [مؤشر $] ++؛ |
- | - * ptr ؛ | شريط $ [مؤشر $] -؛ |
. | بوتشار (* ptr) ؛ | طباعة شريط $ chr [$ pointer]؛ |
, | * ptr = getchar () ؛ | $ tape [$ pointer] = ord (<>)؛ |
[ | بينما (* ptr) { | بينما (شريط $ [$ 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 v97 ضد 6 فف <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
نكتة بسيطة. دعنا نرى الكود الخاص بك:
HAI CAN العقاريه STDIUM? انا املك VAR IM IN YR عقدة UP VAR!!1 مرئي VAR IZ VAR أكبر من 10? KTHX IM أوتا YR عقدة KTHXBYE
نظرًا لأنها أكثر قابلية للقراءة من لغات البرمجة السابقة ، سأدعك تخمن ما يفترض أن تفعله. 😉
انتركال
DO ,1 <- #13 يرجى DO ,1 فرعي #1 <- #238 DO ,1 فرعي #2 <- #108 DO ,1 فرعي #3 <- #112 DO ,1 فرعي #4 <- #0 DO ,1 فرعي #5 <- #64 DO ,1 فرعي #6 <- #194 DO ,1 فرعي #7 <- #48 يرجى DO ,1 فرعي #8 <- #22 DO ,1 فرعي #9 <- #248 DO ,1 فرعي #10 <- #168 DO ,1 فرعي #11 <- #24 DO ,1 فرعي #12 <- #16 DO ,1 فرعي #13 <- #162 يرجى اقرأ OUT ,1 يرجى يعطى UP
يجب أن أقول إن بعض لغات البرمجة هذه مفيدة جدًا للتعرف على بعض مفاهيم الكمبيوتر. فمثلا، مخادع إنه مثالي للتعرف على المؤشرات.
أنا أفضل تقريبا رمز ثنائي
نعم ، أنا بالتأكيد أفضل البرمجة في ثنائي أو في المجمّع مباشرة ، يمكنك فعل أي شيء (ينتهي الأمر باللغات عالية المستوى في العمل على المعالج بعد كل شيء) ، لكن الشيء المثير للاهتمام حول اللغات الباطنية هو التحدي الذي تمثله. بالمناسبة ، رودر (مؤلف هذا المقال) ، أنت تزعجني. كيف تكون لغة سي وبيرل غير مقروءة ومزعجة؟ يا لها من جريمة لا تطاق !! يا له من غضب! لكن إذا كانت لغة C رائعة ، فأنا لم أبرمج في بيرل ولكني رأيت تعليقات جيدة حول هذه اللغة لأنها على ما يبدو مناسبة جدًا للتعامل مع الملفات والسلاسل وهذه البودات ، على سبيل المثال بالنسبة لعمليات الاستغلال فهي جيدة جدًا ، على الرغم من أن cy python في عمليات استغلال اعمل جيدا ...
Saludos!
كان كل من رجل ، سي وبيرل مزحة ، ونعم ، إنهما لغات يمكن قراءتها تمامًا ، وعملية جدًا و "جميلة" في اليد اليمنى. بالطبع في CI رأيت أن بعض الأشخاص ينتهي بهم الأمر إلى إنشاء مجموعة متشابكة من شفرة السباغيتي غير المفهومة ، ودون تسجيل. بالنسبة لـ Perl ، لا يحدث نفس الشيء كما هو الحال مع C فقط ، ولكن نظرًا لكونك مرنًا للغاية ، يمكنك العثور على أشياء تتحدى الفطرة السليمة. يجب أن أقول إنني لا أمتلك خبرة في البرمجة بلغة Perl ، لكنني أعرف تركيبها جيدًا.
الأول هو كيفية الكتابة في كود مورس 😀
والثاني أن يكون إنسان الغاب ، والرابع ، يسبب احتشاءات دماغية.
جيد جدا المنشور.
اشتقت لك بييت
http://www.dangermouse.net/esoteric/piet.html
والشيف ، وألمدا ، ومساحة بيضاء وتنك. لكنني لم أرغب في جعل المقالة كبيرة جدًا.
انه وقت العرض
تكلم باليد «أهلاً بالعالم»
لقد تم إنهاء عملك
مرحبًا بالعالم في ArnoldC
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
واو ، لم يكن يعرف ذلك ، أعتقد أن الفكرة تم تقديمها بواسطة "فاصل فارغ"
الحقيقة هي أن لغات البرمجة هذه جعلتني أضحك. حسن.