دانستنی‌ها

باحال‌ترین کاری که با کدی کمتر از ده خط می‌توان انجام داد

گاهی اوقات می‌خواهیم به بقیه نشان دهیم چقدر برنامه‌نویسی باحال است. ما چون می‌توانیم هرکاری را با آن انجام دهیم، آن را باحال می‌دانیم اما چگونه افراد تازه‌کار یا کودکان را متقاعد کنیم؟

در ادامه چند مثالی که از نظر کاربران استک اورفلو به عنوان باحال‌ترین کدهای کوتاه به حساب آمده‌اند را بررسی می‌کنیم:

۱. کد ویژوال بیسیک که باعث می‌شود کاراکتر Merlin روی صفحه ظاهر شود، بچرخد، به صفحه نمایش ضربه بزند و سلام بگوید.

agentName = "Merlin" agentPath = "c:\windows\msagent\chars\" & agentName & ".acs" Set agent = CreateObject("Agent.Control.2")  agent.Connected = TRUE agent.Characters.Load agentName, agentPath Set character = agent.Characters.Character(agentName)  character.Show  character.MoveTo 500, 400 character.Play "GetAttention" character.Speak "Hello, how are you?" Wscript.Sleep 15000 character.Stop character.Play "Hide"

۲. این کد جاوا اسکریپت را در نوار آدرس مرورگر خود وارد کنید تا پس از آن بتوانید کل محتوای یک صفحه را ویرایش کنید.

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

۳. گاهی یک کد ساده به شکل زیر می‌تواند مردم را به هیجان در بیاورد.

10 PRINT "What is your name?" 20 INPUT A$ 30 PRINT "Hello " A$ 40 GOTO 30

کامپیوتر اسم آن‌ها را به خاطر آورده است!

اگر برنامه‌نویس تازه‌کار متقاعد شود که چنین چیزی خیلی باحال است، در آینده می‌تواند برنامه‌نویس خوبی شود. در واقع الان با استفاده از کتابخانه‌ها می‌توان در یک خط کد هم کارهای زیادی کرد اما همین حافظه کامپیوتر در ابتدا چیزی است که توجه افراد را می‌تواند جلب کند.

۴. کشیدن مثلث سرپینسکی احتمالا برای همه جذاب خواهد بود. هر چند تعداد خطوط آن از ده خط اندکی بیشتر است 🙂 اما حتما به خاطر دارید که برای اولین بار مواجه با این کد چقدر هیجان زده شده اید

public static void triangle(int n){         n= 1 << n;         StringBuilder line= new StringBuilder(); //use a "mutable String"         char t= 0;         char u= 0; // avoid warnings         for(int i= 0;i <= 2 * n;++i)                 line.append(" "); //start empty         line.setCharAt(n, '*'); //with the top point of the triangle         for(int i= 0;i < n;++i){                 System.out.println(line);                 u= '*';                 for(int j= n - i;j < n + i + 1;++j){                         t= (line.charAt(j - 1) == line.charAt(j + 1) ? ' ' : '*');                         line.setCharAt(j - 1, u);                         u= t;                 }                 line.setCharAt(n + i, t);                 line.setCharAt(n + i + 1, '*');         } }

 

۵. این کد سی ممکن است پیچیده به نظر برسد اما خیلی قدرتمند عمل می‌کند.

#include <unistd.h> float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L|| (h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<L?--_ %6:6:7)+"World! \n",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}

نتیجه آن هم به شکل زیر است

WWWWWWWWWWWWWWWWooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WWWWWWWWWWWWWWooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WWWWWWWWWWWWWooooooooooooooooorrrrrrrrrrrrrrrrrrrrroooooooooooooooooooooooooooo WWWWWWWWWWWoooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooo WWWWWWWWWWooooooooorrrrrrrrrrrrrrrrrrrrrrrllllld!!ddllllrrrrrrooooooooooooooooo WWWWWWWWoooooooorrrrrrrrrrrrrrrrrrrrrrllllllldd!oWW!!dllllllrrrrroooooooooooooo WWWWWWWoooooorrrrrrrrrrrrrrrrrrrrrrlllllllldddd!orro!o!dllllllrrrrrrooooooooooo WWWWWWooooorrrrrrrrrrrrrrrrrrrrrllllllllldddd!WorddddoW!ddllllllrrrrrrooooooooo WWWWWoooorrrrrrrrrrrrrrrrrrrrrlllllllllddd!!!o!!!   !dWW!ddddllllrrrrrrrooooooo WWWWooorrrrrrrrrrrrrrrrrrrrllllllllldd!!!!WWWoo      WloW!!!ddddllrrrrrrrrooooo WWWWoorrrrrrrrrrrrrrrrrrrlllllllddddWldolrrlo!Wl     r!dlooWWWoW!dllrrrrrrroooo WWWoorrrrrrrrrrrrrrrrrlllllddddddd!!Wdo  l!               rdo!l!r!dlrrrrrrrrooo WWoorrrrrrrrrrrrrrrlllddddddddd!!!!oolWW                       lW!ddlrrrrrrrroo WWorrrrrrrrrrrrllld!!!!!dddd!!!!WWrd !                        rlW!ddllrrrrrrrro Worrrrrrrllllllddd!oooWWWoloWWWWoodr                           drrWdlllrrrrrrrr Worrrlllllllldddd!WolWrr!!dWWWlrrldr                            ro!dlllrrrrrrrr Wrrllllllllddddd!WWolWr        oWoo                              r!dllllrrrrrrr Wlllllllldddd!!odrrdW            o                              lWddllllrrrrrrr Wlddddd!!!!!WWordlWrd                                          oW!ddllllrrrrrrr olddddd!!!!!WWordlWrd                                          oW!ddllllrrrrrrr Wlllllllldddd!!odrrdW            o                              lWddllllrrrrrrr Wrrllllllllddddd!WWolWr        oWoo                              r!dllllrrrrrrr Worrrlllllllldddd!WolWrr!!dWWWlrrldr                            ro!dlllrrrrrrrr Worrrrrrrllllllddd!oooWWWoloWWWWoodr                           droWdlllrrrrrrrr WWorrrrrrrrrrrrllld!!!!!dddd!!!!WWrd !                        rlW!ddllrrrrrrrro WWoorrrrrrrrrrrrrrrlllddddddddd!!!!oolWW                       lW!ddlrrrrrrrroo WWWoorrrrrrrrrrrrrrrrrlllllddddddd!!Wdo  l!               rdo!l!r!dlrrrrrrrrooo WWWWoorrrrrrrrrrrrrrrrrrrlllllllddddWldolrrlo!Wl     r!dlooWWWoW!dllrrrrrrroooo WWWWooorrrrrrrrrrrrrrrrrrrrllllllllldd!!!!WWWoo      WloW!!!ddddllrrrrrrrrooooo WWWWWoooorrrrrrrrrrrrrrrrrrrrrlllllllllddd!!!o!!!   WdWW!ddddllllrrrrrrrooooooo WWWWWWooooorrrrrrrrrrrrrrrrrrrrrllllllllldddd!WorddddoW!ddllllllrrrrrrooooooooo WWWWWWWoooooorrrrrrrrrrrrrrrrrrrrrrlllllllldddd!orro!o!dllllllrrrrrrooooooooooo WWWWWWWWoooooooorrrrrrrrrrrrrrrrrrrrrrllllllldd!oWW!!dllllllrrrrroooooooooooooo WWWWWWWWWWooooooooorrrrrrrrrrrrrrrrrrrrrrrllllld!!ddllllrrrrrrooooooooooooooooo WWWWWWWWWWWoooooooooooorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooo WWWWWWWWWWWWWooooooooooooooooorrrrrrrrrrrrrrrrrrrrroooooooooooooooooooooooooooo WWWWWWWWWWWWWWooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WWWWWWWWWWWWWWWWooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WWWWWWWWWWWWWWWWWWWoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo WWWWWWWWWWWWWWWWWWWWWoooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

 

شما اولین بار با دیدن چه کدی هیجان زده شدید؟ باحال‌ترین کدی که دیدید چه بوده است؟
منابع:

http://stackoverflow.com/

https://www.quora.com/

https://rosettacode.org/

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا