Powiązane (4)

  pokaż (1) 
  • Reklamy Google

  • hrrk +16  

    http://pl.wikipedia.org/wiki/Chef_%28j%C4%99zyk_programowania%29 - to jest moc!

    pokaż komentarz
    hrrk
  • Adaslaw +5  

    Trochę a propos języka Fugue (zapisywanie programów na pięciolinii):
    Na moim starym komputerze (AMD K6-2+) mogę powiedzieć, że mogłem słuchać wykonujących się na komputerze obliczeń ;]
    Po kolei: na komputerze miałem zainstalowanego klienta SETI@Home. Graficzny tryb klienta SETI@Home pokazywał, na bieżąco, jakiej wielkości bloki przetwarza w danym momencie (chodziło chyba o obliczenia FFT / Fast Fourier Transform i / lub macierzowe operacje.
    Do dziś nie wiem dlaczego, ale na radyjkach FM, na odpowiedniej częstotliwości FM mogłem słyszeć pracę klienta SETI@Home :) Dźwięki generowane przypominały czasami dudnienie, czasami gwizdy. Ich częstotliwość i charakterystyka, całkowicie pokrywała się z tym, co wyświetlał graficzny klient SETI@Home.
    Zgaduję, że widocznie szyna pamięci lub może procesor, musiał generować jakieś fale na częstotliwości FM.

    Byłbym wdzięczny jakiemuś elektronikowi, za wytłumaczenie tego dla mnie dziwnego zjawiska ;]

    pokaż komentarz
    Adaslaw
  • RomanX 0  

    SETI call home?

    pokaż komentarz
    RomanX
  • RobertG +4  

    Jeśli interesują was takie klimaty to poszukajcie informacji o językach funkcyjnych (Haskell, Erlang, Ocalm) - też są zupełnie inne od głównego nurtu lecz z ich znajomością można można pisać praktyczne rzeczy, ciekawym stylem. Koncepcje matematyczne, które one implementują też są całkiem interesujące ale to już chyba kwestia podejścia - mi się podoba.

    PS interpreter WhiteSpace'a jest napisany w Haskellu.

    pokaż komentarz
    RobertG
  • raczman +2  

    Staram się wykorzystać produktywnie wolny czas, i zastanawiałem się między Erlangiem (według zalecenia Michi Henniga, autora "Advanced CORBA in C++") a Haskellem. Który język jest bardziej przystępny dla gościa który od zawsze pisał w językach imperatywnych? Z góry dzięki za radę.

    pokaż komentarz
    raczman
  • RobertG +1  

    Trudne pytanie, ja obstawiałbym Erlanga, od niego zacząłem, gdyż jego składnie uważam/uważałem za prostszą. Jeśli znasz Pythona to najłatwiej byłoby Ci chyba poznawać koncepcje związane z językami funkcyjnymi pisząc w nim - to co umiesz funkcyjnie, zaś resztę 'po staremu'.

    pokaż komentarz
    RobertG
  • ziom666 +3  

    och nie! i właśnie dlatego powinieneś pisać w haskellu. jak funkcyjnie to funkcyjnie, a nie z mieszanką czegośtam. jak już połapiesz się o co kaman (hehe, z haskellem to zawsze coś nowego się odkrywa) to monady dodadzą czegoś na wzór imperatywnego "smaczku". no i wtedy można pisać w OCamlu, F#, czy innym Erlangu. Ale najpierw haskell ;)

    pokaż komentarz
    ziom666
  • Adaslaw +2  

    @RobertG
    Lubię sobie czasami poczytać o językach, których nie znam.
    Ale zmierzam do tego, że od daaawna nie mogę sobie wyobrazić, jak w językach z dynamicznym typowaniem można pisać większe / poważniejsze programy.

    Konkretne pytanie do znawców: czy są jakieś języki programowania z dynamicznym typowaniem, gdzie mając źródła jakiegoś systemu (w środowisku IDE w szczególności) mogę się dowiedzieć, gdzie w kodzie są odwołania do klasy X, lub gdzie jest wywoływana metoda zdefiniowana w klasie X, czyli coś takiego:
    X x = new X;
    x.foo();

    ??

    pokaż komentarz
    Adaslaw
  • RobertG +1  

    @Adaslaw, Haskell jest statycznie typizowany.

    pokaż komentarz
    RobertG
  • marmot +3  

    Jeden z wielu języków ezoterycznych stworzonych dla zabawy, niźli dla programowania. Ale niektórym się chce coś w tym pisać. Polecam tą stronę: http://99-bottles-of-beer.net/toplist.html gdzie jest między innymi Malbolge, a program nieco trudniejszy od Hello World :) . Zresztą, z języków tego typu polecam Whitespace - jedyny język w którym kod programu jest tak zapisany, że do jego wydrukowania nie potrzeba nawet drukarki :D .

    pokaż komentarz
    marmot
  • b1ackjack +21  

    Brainfuck też niczego sobie:
    http://pl.wikipedia.org/wiki/Brainfuck

    pokaż komentarz
    b1ackjack
  • Rincewind +49  

    Brainfuck nie jest wcale taki skomplikowany, nieporównywalnie prostszy od Malborge'a. Właściwie jest to surowa implementacja maszyny Turinga, więc to tylko taki uproszczony assembler. :) Z mojej strony polecam język Shakespeare: http://pl.wikipedia.org/wiki/Shakespeare_%28j%C4%99zyk_programowania%29 -- jeden z moich ulubionych.

    Ciekawym językiem jest również BeFunge. Jednak w tym języku nie jest trudne pisanie (w sumie jest nawet dość intuicyjny), ale stworzenie interpretatora/kompilatora. O języku: http://pl.wikipedia.org/wiki/BeFunge .

    // Edit:
    Ach, i dla leniwych, najprostszy język świata: HQ9+. Składa się z 4 instrukcji: H powoduje wydrukowanie tekstu "Hello, world", Q drukuje kod źródłowy programu, 9 wypisuje 99 bottles of bear a + zwiększa wartość licznika o 1, co niczemu nie służy.

    Powstała też obiektowa wersja tego języka, HQ9++. Posiada jedną dodatkową instrukcję ++, która tworzy anonimowy obiekt, który jest tak samo potrzebny, jak licznik. :P
    Enyoy! :D

    pokaż komentarz
    Rincewind
  • kubi +5  

    Należy wspomnieć, że jakiemuś Japończykowi udało się jako pierwszemu napisać 99 bottles of beer w Malbolge z wykorzystaniem pętli. Dokonał tej sztuki w 8 (sic!) lat po stworzeniu języka.
    Polecam zapoznać się z LOLCODE - wiele łatwiejszy, ale świetny na swój sposób ;)

    pokaż komentarz
    kubi
  • chinesebox +2  

    Whitespace też jest ciekawym językiem, gdyż programuje się w nim za pomocą białych znaków. Wydruk kodu źródłowego to po prostu czysta kartka ;)

    pokaż komentarz
    chinesebox
  • RomanX +4  

    O ile Malbolge sensu nie ma, to Whitespace jest pułapką na szpiegów przemysłowych ;)

    pokaż komentarz
    RomanX
  • bordeux +19  

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

    A co z tego rozumiecie?
    http://pl.wikipedia.org/wiki/Ook

    pokaż komentarz
    bordeux
  • Arvenia +4  

    @b1akjack
    Ten cały brainfuck, przypomina mi zabawę z podstawówki z numeracją rzymską, niby wiesz co poszczególne znaki znaczą, ale odczytanie daty zawsze sprawia kłopoty.

    pokaż komentarz
    Arvenia
  • encepence842 +8  

    Widzę, że artykuł na wikipedii został trochę rozbudowany przez wykopowiczów bo w chwili gdy dodawałem go na wykop, to ten artykuł był dużo krótszy. Tak trzymać!

    EDIT: Sorry, ten artykuł, który teraz otworzyłem to jest artykuł z nonsensopedii i dlatego taki długi :-) Ten z wikipedii jest taki sam, jak był na początku. Pomyłka.

    pokaż komentarz
    encepence842
  • jet +6  

    @lisz55
    Ada wcale nie jest trudna. Uczą jej na studiach technicznych...

    pokaż komentarz
    jet
  • cyrylk -4  

    @bordeux
    Wiem, że nie na temat, ale nie mogłem sobie odpuścić.
    http://en.wikipedia.org/wiki/The_Librarian_%28Discworld%29

    pokaż komentarz
    cyrylk
  • WieczorekAmadeusz +3  

    Nic nie rozumiem z waszej rozmowy...:)

    pokaż komentarz
    WieczorekAmadeusz
  • senfen0i +8  

    ale skomentować musiałeś

    pokaż komentarz
    senfen0i
  • plateku -1  

    po polsku powinno być uuk

    pokaż komentarz
    plateku
  • wuzetes 0  

    No nie wiem co Wy z tą Adą... Podobna do Pascala a nawet przyjemniejsza...
    Co tu wspólnego z ezoterycznymi językami..

    pokaż komentarz
    wuzetes
  • encepence842 +22  

    WieczorekAmadeusz, mam trochę czasu więc wyjaśnie ze szczegółami wszystko, czego można tutaj nie rozumieć :-)

    1. Wypowiedź b1ackjacka:
    Tutaj b1ackjack mówi, że język programowania o nazwie BrainFuck też jest równie fajny jak Malbolge, o którym mowa w tym znalezisku.

    2. Wypowiedź Rincewinda:
    Tutaj podam definicje intuicyjne pojęć, których możesz nie rozumieć:

    a) Maszyna Turniga - matematyczny model komputera, który składa się z taśmy na której są zapisane dane i głowicy, która porusza się po tej taśmie.

    b) implementacja - najczęściej: odwzorowanie jakiegoś modelu w kod zapisany w jakimś języku programowania, ale tutaj chodzi o to, że Brainfuck jest językiem programowania działającym wg modelu maszyny Turniga.

    c) assembler - to jest taki język programowania, którego komendy są odwzorowaniem operacji procesora. Bo widzisz, wszystkie programy są napisane w tzw. wysokopoziomowych językach programowania, np. w języku Pascal taka instrukcja:

    writeln("Hello World");

    ... spowoduje, że na ekranie pokaże się napis "Hello World". Ale to nie jest tak, że ten kod jest odrazu w takiej postaci, jak Ty go napisałeś, przekazywany do procesora i ten procesor go wykonuje w ten sposób: O, tu jest writeln, a to oznacza, że ma się pojawić jakiś tekst, który jest w nawiasach, to trzeba tak zrobić. Tak naprawdę to wygląda tak, że ten kod w języku Pascal jest zamieniany na kod w języku Assembler, a kod w języku Assembler zawiera już takie instrukcje, z których każda ma swój odpowiednik operacji wykonywanej przez procesor. Później każda instrukcja zapisana w języku Assembler jest właśnie zamieniana na odpowiadającą jej operację zapisaną w sposób zrozumiały dla procesora. Sposób zrozmiały dla procesora, to taki sposób, że każdej operacji odpowiada jakiś ciąg zer i jedynek. Na przykład 01001010 może oznaczać, że procesor ma wykonać jakąś tam czynność.

    d) interpreter/kompilator - to są właśnie programy, które zamieniają kod napisany w jakimś wysokopoziomym języku (np. Pascal) na kod w Assemblerze.

    e) język obiektowy - to taki język, w którym programujesz sobie przy użyciu obiektów, a obiekty w programowaniu oznaczają takie jakby odzwierciedlenie czegoś, co istnieje w rzeczywistości. Ta moja definicja jest bardzo niekompletna, ale mniej więcej o to chodzi.

    3. Wypowiedź kubi:
    a) japończyk - osoba z Azji.
    b) 99 bottles of beer - no jest sobie taka strona: http://99-bottles-of-beer.net/ i tam są kody programów w 1290 różnych językach programowania, ale każdy program robi to samo: wypisuje tekst piosenki o nazwie 99 bottles of beer.
    c) wykorzystanie pętli - piosenka 99 bottles of beer wygląda tak:

    99 bottles of beer on the wall, 99 bottles of beer. Take one down and pass it around - 98 bottles of beer on the wall.
    98 bottles of beer on the wall, 98 bottles of beer. Take one down and pass it around - 97 bottles of beer on the wall.
    ...
    2 bottles of beer on the wall, 2 bottles of beer. Take one down and pass it around - 1 bottle of beer on the wall.
    1 bottle of beer on the wall, 1 bottle of beer. Take it down and pass it around - no more bottles of beer on the wall.

    a zatem w każdym języku programowania szybciej jest po prostu napisać coś w stylu: "powtórz 99 razy: [tutaj numerek] bottles of beer on the wall, [tutaj numerek] bottles of beer. Take one down and pass it around - [tutaj numerek] bottles of beer on the wall" niż napisać, że ma wypisać "99 bottles of beer..." i tutaj wypisywać cały tekst. I ten szybszy sposób to się właśnie nazywa pętla, bo po prostu powtarzasz w kółko cały czas pewne instrukcje, zmienia się tylko ten numerek. Niestety Malbolge to bardzo skomplikowany język programowania i napisanie w nim programu z pętlą to nie lada wyczyn.
    d) LOLCODE - też język programowania

    4. Wypowiedź chinesebox:
    a) biały znak - spacja, enter albo tabulator.
    b) Whitespace - też język programowania, tylko, że wyjątkowy bo programujesz w nim tylko przy użyciu białch znaków, a więc przykładowy program może wyglądać tak:
    < -- tu jest spacja

    5. Wypowiedź RomanX:
    Tutaj jest jakiś żart, nie zrozumiałem go co prawda, ale to już chyba kwestia inteligencji, a nie wiedzy więc nie ma tutaj, co tłumaczyć.

    6. Wypowiedź bordeux:
    Tak właśnie wygląda kod zapisany w języku programowania o nazwie Ook, który powstał z myślą o szympansach.

    7. Wypowiedź lisz55:
    Ada - też język programowania.

    Resztę komentarza mi ucięło, ale pozostałe komentarze nie wymagają żadnej wiedzy.

    Dziękuję za uwagę!

    pokaż komentarz
    encepence842
  • elviz +3  

    Aha...

    pokaż komentarz
    elviz
  • sprezyniasty 0  

    Nie trzeba sięgać do języków ezoterycznych wystarczy C++ i szablony, a w szczególności wszelkie pyszności z biblioteki boost (mpl, functional itp.), a jak już zadomowi się C++0x ze swoimi dobrodziejstwami to będzie jeszcze ciekawiej: http://pl.wikipedia.org/wiki/C%2B%2B0x . Już bardziej wolę coś w tym stylu: http://www.scala-lang.org/node/44 lub http://caml.inria.fr/ocaml/

    pokaż komentarz
    sprezyniasty
  • Cykuzio +18  

    a lolcode znacie?
    http://pl.wikipedia.org/wiki/LOLCODE

    pokaż komentarz
    Cykuzio
  • PabloX +14  

    ciekawe jakby wyglądał kod źródłowy Windowsa w tym języku...

    pokaż komentarz
    PabloX
  • senfen0i +84  

    tak samo

    pokaż komentarz
    senfen0i
  • b1ackjack +48  

    Podejrzewam, że może nawet lepiej...

    pokaż komentarz
    b1ackjack
  • Tychacz -5  

    Przecież bluscreen wyświetla podobne ciągi znaków ;)
    I ciekawy by był język tworzenia stron podobny do Malbolge, osoby lubiące zaglądać w kod źródłowy szybko by się do tego speszyły.

    pokaż komentarz
    Tychacz
  • Rincewind -2  

    @Tychacz, zawsze można użyć jakiegoś obfuscatora, żeby utrudnić czytanie kodu. ;)

    pokaż komentarz
    Rincewind
  • senfen0i 0  

    hm.. zawsze można sobie potem zaszyfrować kod źródłowy jednostronnym kluczem 128 bitowym, też będzie ładne

    pokaż komentarz
    senfen0i
  • lobo +3  

    W zeszłym semestrze robiłem referat na temat ezoterycznych języków programowania, naprawdę podziwiam ludzi którym się chcę pisać programy (nieraz całkiem dobrze działające), wyobraźcie sobie salę pełną studentów informatyki której wyświetliłem kod hello world(jak i wymienione 99 butelek piwa z kilkudziesięciostronicowym kodem malebolge) w takich językach jak malebolge, whitespace (nie ma to jak parędziesiąt osób robiących WTF), Sheakspere, lolcode, piet( http://en.wikipedia.org/wiki/Piet_%28programming_language%29 ) jak i wiele innych.

    pokaż komentarz
    lobo
  • aranea +1  

    a co to za ciekawy przedmiot, na który przygotowywałeś referat? I co to za uczelnia, bo chyba tam pójdę ;)

    pokaż komentarz
    aranea
  • ziom666 0  

    Program to pryszcz. Napisać parser i interpreter malebolge'a to dopiero wyzwanie! :D

    pokaż komentarz
    ziom666
  • lobo -1  

    Uczelnia może nie wspaniała (UWM), a zajęcia to przedmiot fakultatywny, bardzo ciekawy nawiasem mówiąc, wykłady związane z fizyką, a aby zaliczyć ćwiczenia trzeba było 3 referaty przygotować na tematy związane z fizyką lub informatyką w tym jeden na dowolny temat, oczywiście każdy referat był oceniany na podstawie czasu trwania (12 min + - 2min), ubioru (garnitur ważna rzecz w czasie prezentacji :), ciekawości referatu (spróbuj przynudzać), dykcji itp. . Ogólnie bardzo przyjemne zajęcia, na które chodziło się z przyjemnością (dzięki tym referatom oczywiście pomijając ten pierwszy, nauczyłem się bardzo dużo).

    pokaż komentarz
    lobo
  • imit +3  

    Pascal jest właśnie jednym z najłatwiejszych języków. Wielu ludzi go poleca do nauki jako pierwszego, ze względu na jego prostotę.

    pokaż komentarz
    imit
  • nandrolone +1  

    Aha. To ty chyba w OP nie programowałeś.

    pokaż komentarz
    nandrolone
  • moods -2  

    Tak czytając czasem o działaniach polskiej Wiki to to hasło jest rzeczywiście bardzo ency:/

    pokaż komentarz
    moods
  • kubuswujo -4  

    ja tego nie rozumiem po co wymyslac taki jezyk i sie meczyc.. jak itak bedzie za trudny? a jezeli ktos juz zrobil taki jezyk to powinien umiec tez w nim pisac co nie?? bo jak mogl cos wymyslac nie wiedzac jak to dziala?

    pokaż komentarz
    kubuswujo
  • senfen0i +2  

    dla zabawy... dla treningu. Pisząc własny język jesteś w stanie zrozumieć działanie innych. Zrozumieć jak działa pamięć gdy umieszcza się w niej zmienne itd. Czasem można zrobić dla jaj, język który jest śmieszny, absurdalny (abstrakcyjny to będzie złe słowo bo takie są dobre xD)

    pokaż komentarz
    senfen0i
  • encepence842 +4  

    Malbolge to ezoteryczny język programowania, a czym jest ezoteryczny język programowania masz tu:

    http://pl.wikipedia.org/wiki/Ezoteryczny_j%C4%99zyk_programowania

    Definicja intuicyjna:

    Ezoteryczny język programowania to język programowania najczęściej stworzony dla zabawy.

    pokaż komentarz
    encepence842
  • hcwdjk 0  

    Z tych bardziej odjechanych języków: kiedyś widziałem taki, w którym program miał postać bitmapy z zapisem nutowym. Koncepcja była chyba podobna do brainfucka - każda nuta to inna instrukcja ;] Zna może ktoś nazwę?

    pokaż komentarz
    hcwdjk
  • senfen0i 0  

    nie znam ale myślę że ten Ci przypadnie do gustu http://99-bottles-of-beer.net/language-piet-1269.html

    pokaż komentarz
    senfen0i
  • hcwdjk 0  

    Znalazłem, nazywa się Fugue. Zagalopowałem się trochę, nie czyta bitmap tylko pliki MIDI. Tak czy inaczej, hello world wygląda ciekawie:http://esolangs.org/wiki/Hello_world_program_in_esoteric_languages#Fugue ;P

    pokaż komentarz
    hcwdjk
pokaż 

Wykopali i zakopali (250 / 13)