Brainfuck
Brainfork - (Brainf**k, Brainfuck, BF) jest egzotycznym językiem programowania. Eksperci (nie wiadomo dlaczego, ale z nimi się nie dyskutuje) uważają, że prezentuje bardzo niski poziom, niższy nawet od asemblera, można by nawet rzec, że żenujący. Jednak nie przeszkadza to milionom programistów tutaj przed milionami użytkowników używać tego języka do pisania programów.
Składnia Brainfork'a
Programy napisane w Brainfork'u składają się z ciągu niżej podanych znaków, pozostałe są ignorowane i traktowane przez kompilator za dostateczny powód wyświetlenia masy błędów i zawieszenia komputera.
Znak | Znaczenie |
---|---|
> | Operator ingrediencji, penetruje następny zgodnie z ruchem wskazówek zegara obszar pamięci |
< | Operator degrediencji, penetruje poprzedni zgodnie z ruchem wskazówek zegara obszar pamięci |
+ | Operator inkremacji, zwiększa ilość śmiesznych wspomnień w miejscu pamięci wskazywanym przez wskazujący wskaźnik |
- | Operator dekremacji, zmniejsza ilość śmiesznych wspomnień w miejscu pamięci wskazywanym przez wskazujący wskaźnik |
. | Operator out, komputer robi zakodowaną w tym miejscu pamięci czynność |
, | Operator in, komputer słucha co do niego mówi użytkownik, i w zależności od humoru zapamiętuje to lub i nie |
[ | Operator skoku, skacze za najbliższe ], jeśli we wskazywanym przez wskazujacy wskaźnik miejscu w pamięci nie ma żadnych wspomnień |
] | Operator odskoku, skacze przed najbliższe [ |
Podsumowując operatory '>' i '<' służą do przeszukiwania pamięci, '+' i '-' do oczyszczania lub dodawania wspomnień, '.' do przypominania, ',' do zapamiętywania, a '[' i ']' do uzykania efektu deżawi.
Modyfikacje
Pisanie w Brainfork'u stało się swoistego rodzaju testem umiejętności programistycznych, szczególnie jest to widoczne w środowisku kambodżańskich koderów, gdzie powstało około 2000 ze wszystkich 3000 modyfikacji podstawowej wersji Brainfork'a. Oto niektóre z nich:
- BrainBrain - wersja bardzo ambitna, umożliwiono programowanie obiektowe
- VisualFork - komercyjna wersja wyprodukowana przez potentata branży - Microsoft
- DoubleFork - przeszukiwanie pamięci odbywa się teraz wzdłuż i wszerz
- BrainDamage - umożliwia przeszukiwanie podświadomości komputera oraz wpływanie na jego ego
- HardFork - czy 2 znaki wystarczają? polemika trwa nadal
- BrainLamer - wersja light dla tzw. chakerów (nie mylić z hakerami!)
- UmbaUmba - z definicji przeznaczony jest dla naszych najbliższych krewnych w świecie zwierząt, czyli dla pand
Przykładowe programy
Hello world
Program wypisujący tekst "Nienawidzę świata, a jeszcze bardziej siebie"
.. .. .+++++. .+++++. ++++++++.++++++++ +++++++++++++++++ .+++++++++++++++. .+++++++++++++. .+++++++++. .+++++. .+.
INDoctor
Program do dowodzenia twierdzeń metodą indukcji matematycznej (wiersze od 4436436 do 44364448).
>>>>>>>>++++[<++++++++>-]<>>++>++++[<++++++++>-]<>++++[<++++++++>-]<>>++>>++++++++[< +++++++++>-]<++++>>++++[<++++++++++++>-]<+++++>>+++++++>++++[<++++++++>-]<>>++++++++ +++++++++>-]<+++<<<>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+.<.<<. >.>--.+++++.---.++++.-------.++>++++>++.-------.-.<<<.>+.>>+++++++.---.-----.<<<.+-- .--.<<.>>-.++--.++-----.+++.<<.>>>++.-.>>++++++-----.-.<<++++++>>>><.>>-.++-++>-]<>+ +>-]<++++.--[<+++++>-]<-----.++.<<+.<<+.<<++++[][][][]+-,..<>,.<>>>>+++++-+-+-,..,.> >>>++++++++++++[++++>>.<<<>>.--]]>++++>+++++[<+++.---]<>.--.<<.>>-.+++++.----.<<.>>> .<---.+++.>+++.+.+.<.<<.>.>--.+++++.---.++++.-------.++>++++>++++>.>>.---.-----.<<<. <<.>>++++++++++++++.>>>[-]<[-]<[-]<[-]+++++++++++++.---.[-]<<<<<<<<<<<<<<[>>>>>>>>+> +<<<<<<<<<-]>>>>>>>>>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+.<.<< .>.>--.+++++.---.++++.<<>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+. <.<<.>.>--.+++++.---.++++.-.--]]>++++>+++++[<+++.---]<>.--.<<.>>-.+++++.----.<<.>>>. <---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++
Ten artykuł jest w edycji i kogoś właśnie osłabiło w trakcie jego pisania. Aby go nie dobić, poczekaj aż wytrzeźwieje i dokończy swoją twórczość. Jeżeli trwałoby to zbyt długo, skontaktuj się z administratorem. |