Edytujesz „Brainfuck”
Z Nonsensopedii, polskiej encyklopedii humoru
Uwaga: Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli zalogujesz się lub utworzysz konto, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Ta edycja może zostać anulowana. Porównaj ukazane poniżej różnice między wersjami, a następnie zapisz zmiany.
Aktualna wersja | Twój tekst | ||
Linia 1: | Linia 1: | ||
{{Programisto}} |
|||
<br /> |
|||
{{Programowanie}} |
{{Programowanie}} |
||
{{cytat|Najważniejsze jest niewidoczne dla oczu.|[[Antoine de Saint-Exupéry]] zapytany, czemu nie napisał „Małego Księcia” w [[Java|Javie]]}} |
{{cytat|Najważniejsze jest niewidoczne dla oczu.|[[Antoine de Saint-Exupéry]] zapytany, czemu nie napisał „Małego Księcia” w [[Java|Javie]]}} |
||
''' |
'''Brainfork''' (''Brainf**k, Brainfuck, BF'') – [[Ezoteryczne języki programowania|ezoteryczny język programowania]]<ref>nie pytaj skąd ta nazwa</ref>. [[Ekspert|Eksperci]] (nie wiadomo dlaczego, ale z nimi się nie dyskutuje) uważają, że [[prezentowanie poziomu (języki programowania)|prezentuje bardzo niski poziom]], niższy nawet od [[Asembler|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|programów]]. |
||
== Historia Brainforka == |
|||
⚫ | Brainfork został całkowicie wymyślony przed wojną przez Braina Forka – kambodżańskiego [[surrealizm|surrealistę]], widzącego w programowaniu nową dziedzinę sztuki. Do tworzenia tego języka zainspirowało go zjawisko zbierania się chipsów pod klawiaturą. Jako, że sam język jest zupełnie bez sensu i do [[Fryderyk Nietzsche|niczego]] się nie przydaje, szybko stał się jednym z najważniejszych narzędzi współczesnego programisty. |
||
== |
== Składnia Brainforka == |
||
⚫ | |||
⚫ | |||
{|border="1" cellspacing="0" cellpadding="5" |
|||
!Znak |
|||
!Znaczenie |
|||
|--- |
|||
|align="center"|> |
|||
|align="center"|Operator ingrediencji, penetruje następny zgodnie z ruchem wskazówek zegara obszar pamięci |
|||
|--- |
|||
|align="center"|< |
|||
|align="center"|Operator degrediencji, penetruje poprzedni zgodnie z ruchem wskazówek zegara obszar pamięci |
|||
|--- |
|||
|align="center"|+ |
|||
|align="center"|Operator inkrementacji, zwiększa ilość śmiesznych wspomnień w miejscu pamięci wskazywanym przez wskazujący wskaźnik |
|||
|--- |
|||
|align="center"|- |
|||
|align="center"|Operator dekrementacji, zmniejsza ilość śmiesznych wspomnień w miejscu pamięci wskazywanym przez wskazujący wskaźnik |
|||
|--- |
|||
|align="center"|. |
|||
|align="center"|Operator out, komputer robi zakodowaną w tym miejscu pamięci czynność |
|||
|--- |
|||
|align="center"|, |
|||
|align="center"|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 |
|||
|--- |
|||
|align="center"|[ |
|||
|align="center"|Operator skoku, skacze za najbliższe ], jeśli we wskazywanym przez wskazujacy wskaźnik miejscu w pamięci nie ma żadnych wspomnień |
|||
|--- |
|||
|align="center"|] |
|||
|align="center"|Operator odskoku, skacze przed najbliższe [ |
|||
|--- |
|||
|align="center"|Y |
|||
|align="center"|Operator rozwidelczenia, powoduje utworzenie <del>dziecka</del> klona, który wykonuje od tego momentu ten sam program i posiada tą samą pamięć, z tym wyjątkiem, że jego wskazujący wskaźnik zostaje przesunięty o 1 w prawo, a ilość wspomnień w miejscu na które on wskazuje zostaje ustawiona na 1. Tymczasem rodzic zapomina wszystkie wspomnienia z miejsca, w którym akurat był. |
|||
|} |
|||
⚫ | |||
== Składnia Brainfucka == |
|||
⚫ | |||
== Modyfikacje == |
|||
⚫ | |||
Pisanie w Brainforku stało się swoistego rodzaju testem umiejętności programistycznych, szczególnie jest to widoczne w środowisku [[Kambodża|kambodżańskich]] koderów, gdzie powstało około 2000 ze wszystkich 3000 modyfikacji podstawowej wersji Brainforka. Oto niektóre z nich: |
|||
* BrainBrain – wersja bardzo ambitna, umożliwiono [[programowanie obiektowe]]. |
|||
* VisualFork – komercyjna wersja wyprodukowana przez potentata branży – [[Microsoft Corporation|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. [[cracker]]ów. |
|||
* UmbaUmba – z definicji przeznaczony jest dla naszych najbliższych krewnych w świecie zwierząt, czyli dla [[panda|pand]]. |
|||
== Przykładowe programy == |
== Przykładowe programy == |
||
Linia 15: | Linia 57: | ||
Program wypisujący tekst „Nienawidzę świata, a jeszcze bardziej siebie” |
Program wypisujący tekst „Nienawidzę świata, a jeszcze bardziej siebie” |
||
<pre> |
<pre> |
||
.. .. |
|||
.+++++. .+++++. |
|||
++++++++.++++++++ |
|||
+++++++++++++++++ |
|||
.+++++++++++++++. |
|||
.+++++++++++++. |
|||
.+++++++++. |
|||
.+++++. |
|||
.+. |
|||
</pre> |
</pre> |
||
Linia 43: | Linia 85: | ||
<---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++ |
<---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++ |
||
</pre> |
</pre> |
||
== Zobacz też == |
|||
* [[BeFunge]] |
|||
* [[COW]] |
|||
* [[HQ9+]] |
|||
* [[Malbolge]] |
|||
{{Przypisy}} |
{{Przypisy}} |
||
{{stopka}} |
|||
[[Kategoria:Ezoteryczne języki programowania]] |
[[Kategoria:Ezoteryczne języki programowania]] |