Perl to język w którym wszystko można napisać w jednej linii. Sam Perl ma trzy linie, z czego cztery to komentarz.1 A w innych językach? Czy w innych językach można napisać coś w jednej linijce? Pewnie, że można. Można w jednej linijce, można z użyciem każdego dziwactwa w składni, które przepuszcza kompilator. W ogóle stwierdzam, że programiści lubią zawody w których da się pokazać jaki jesteś cwany. Oraz to, że możesz napisać kod wyglądający jak spacery pijanego kota po klawiaturze, który działa.
Nat Friedman (Mono, Novell) rzucił propozycję na swoim Twitterze2 — “napiszmy coś ciekawego w 140 znakach, tak, żeby się nam zmieściło w jednym poście” — programiści odpowiedzieli, a sam Nat umieścił najciekawsze programiki w notatce na swoim blogu.
Moim faworytem jest “znikopis”. Przy pomocy klawiszy 1, 2, 3 i 4 poruszamy kursorem, który rysuje linię składającą się ze znaków “X”. Kod? Proszę.
c=12322123;x=20;y=20;while read -sn1 p;do k=${c:(p-1)*2:2};let x+=$((k/10-2));let y+=$((k%10-2));echo -en \\033[$y\;"$x"HX;done
Nam pozostaje mieć nadzieję, że programiści nie nadużywają tych zdolności w tworzeniu poważnego oprogramowania.3
Podobało się? dodaj kanał RSS do swojego czytnika.
April 12th, 2008 at 5:00 pm
Ale jednolinijkowe programy są piękne ! ;)
April 12th, 2008 at 10:20 pm
Piękne, ale “wyjeżdżają za linie” zupełnie jak dzieci w przedszkolu :)
April 13th, 2008 at 12:15 am
z sąsiedniej beczki: dawno temu ze znajomymi ścigaliśmy się kto napisze najmniejszy objętościowo, działający efekt ognia. zszedłem do bodajże 72 bajtów. pliku wykonywalnego. który najpierw przełączał ekran w 13h, a potem elegancko rysował animowany ogień - no i właśnie, tu już bywało różnie, bo z oszczędności zamiast generatora liczb pseudolosowych używałem chamskiego odczytu spod adresu zegara czy czegoś równie zbliżonego do losowości.
no, ale byli lepsi:
http://www.programmersheaven.com/download/6499/0/ZipView.aspx
April 13th, 2008 at 10:00 am
@Ludwik CSS popsute. ;-)
@c. Ja to na Amidze nie miałem tak fajnie. Na Amidze nie było czegoś takiego jak 13h, więc nie dało się (tak od razu) pisać w pamięć grafiki. Poza tym kod startowy miał zwykle kilkaset bajtów, dopiero później magicy od systemu zrobili własną wersję, ale też miała ponad sto. Nie było wyjścia i musieliśmy mieć krótszego e-penisa przez dłuższy startup code.
Ja ogień robiłem ‘ładnie’. Ostatnia linia ekranu była wypełniana losowymi punktami z dwu palet [0-127] odcieni żółtej [128-255] i czerwonej, a potem robiłem prosty blur do góry. Wyglądało ładnie. Szkoda, że ssało z szybkością. ;-)
April 20th, 2008 at 11:31 am
Opi dodaj w CSSie do znacznika pre overflow: auto; i nie będzie się rozjeżdżać (: