Brainfuck: Różnice pomiędzy wersjami

Z Nonsensopedii, polskiej encyklopedii humoru
(indoctor)
(Fix typo)
Znaczniki: mobilna mobilna www
 
(Nie pokazano 46 wersji utworzonych przez 31 użytkowników)
Linia 1: Linia 1:
{{Programowanie}}
'''Brainfork''' - (''Brainf**k, Brainfuck, BF'') jest [[Egzotyczne języki programowania|egzotycznym językiem programowania]]. [[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]].
{{cytat|Najważniejsze jest niewidoczne dla oczu.|[[Antoine de Saint-Exupéry]] zapytany, czemu nie napisał „Małego Księcia” w [[Java|Javie]]}}
=Składnia Brainfork'a=
'''Brainfuck''' (''Brainf**k, 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 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]].
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 [[komputer|komputera]].
{|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 inkremacji, zwiększa ilość śmiesznych wspomnień w miejscu pamięci wskazywanym przez wskazujący wskaźnik
|---
|align="center"|-
|align="center"|Operator dekremacji, 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 [
|}


== Historia Brainfucka ==
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]].
Brainfuck został całkowicie wymyślony przed wojną przez Braina Fucka – kambodżańskiego [[surrealizm|surrealistę]], widzącego w programowaniu nową dziedzinę sztuki. Do tworzenia tego języka zainspirowało go zjawisko zbierania się [[Chipsy|chipsów]] pod [[Klawiatura|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.
=Modyfikacje=

Pisanie w Brainfork'u 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 Brainfork'a. Oto niektóre z nich:
== Składnia Brainfucka ==
* [[BrainBrain]] - wersja bardzo ambitna, umożliwiono [[programowanie obiektowe]]
Programy napisane w Brainfucku składają się z ciągu niżej podanych znaków, pozostałe są ignorowane i traktowane przez [[kompilator]] za dostateczny powód do wyświetlenia masy błędów i zawieszenia [[komputer osobisty|komputera]].
* [[VisualFork]] - komercyjna wersja wyprodukowana przez potentata branży - [[Microsoft]]

* [[DoubleFork]] - przeszukiwanie pamięci odbywa się teraz wzdłuż i wszerz
W skrócie: operatory '>' i '<' służą do przeszukiwania pamięci, '+' i '-' do oczyszczania lub dodawania wspomnień, '.' do przypominania, ',' do zapamiętywania, '[' i ']' do uzykania efektu [[déjà vu|deżawi]], a 'Y' do [[seks|rozmnażania]]. Wystarczy.
* [[BrainDamage]] - umożliwia przeszukiwanie podświadomości komputera oraz wpływanie na jego [[ego]]

* [[HardFork]] - czy 2 znaki wystarczają? polemika trwa nadal
== Przykładowe programy ==
* [[BrainLamer]] - wersja light dla tzw. [[chaker|chakerów]] (nie mylić z hakerami!)
=== Hello, world ===
* [[UmbaUmba]] - z definicji przeznaczony jest dla naszych najbliższych krewnych w świecie zwierząt, czyli dla [[panda|pand]]
Program wypisujący tekst „Nienawidzę świata, a jeszcze bardziej siebie”
=Przykładowe programy=
==Hello world==
Program wypisujący tekst "Nienawidzę świata, a jeszcze bardziej siebie"
<pre>
<pre>
.. ..
.. ..
Linia 55: Linia 25:
.+.
.+.
</pre>
</pre>

==INDoctor==
=== INDoctor ===
Program do dowodzenia twierdzeń metodą indukcji matematycznej (wiersze od 4436436 do 44364448)
Program do dowodzenia twierdzeń metodą [[indukcja matematyczna|indukcji matematycznej]] (wiersze od 44364436 do 44364448).
<pre>
<pre>
>>>>>>>>++++[<++++++++>-]<>>++>++++[<++++++++>-]<>++++[<++++++++>-]<>>++>>++++++++[<
>>>>>>>>++++[<++++++++>-]<>>++>++++[<++++++++>-]<>++++[<++++++++>-]<>>++>>++++++++[<
Linia 72: Linia 43:
<---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++
<---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++
</pre>
</pre>
{{WEdycji}}


== Zobacz też ==
[[Kategoria:Informatyka]]
* [[BeFunge]]
[[Kategoria:Języki programowania]]
* [[COW]]
* [[HQ9+]]
* [[Malbolge]]

{{Przypisy}}
{{stopka}}
[[Kategoria:Ezoteryczne języki programowania]]

Aktualna wersja na dzień 15:32, 13 maj 2022

Ten artykuł jest częścią cyklu naukowego języki komputerowe.

Języki programowania:


Inne języki komputerowe:


edytuj ten szablon

Najważniejsze jest niewidoczne dla oczu.

Antoine de Saint-Exupéry zapytany, czemu nie napisał „Małego Księcia” w Javie

Brainfuck (Brainf**k, BF) – ezoteryczny język programowania[1]. 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.

Historia Brainfucka[edytuj • edytuj kod]

Brainfuck został całkowicie wymyślony przed wojną przez Braina Fucka – kambodżańskiego 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 niczego się nie przydaje, szybko stał się jednym z najważniejszych narzędzi współczesnego programisty.

Składnia Brainfucka[edytuj • edytuj kod]

Programy napisane w Brainfucku składają się z ciągu niżej podanych znaków, pozostałe są ignorowane i traktowane przez kompilator za dostateczny powód do wyświetlenia masy błędów i zawieszenia komputera.

W skrócie: operatory '>' i '<' służą do przeszukiwania pamięci, '+' i '-' do oczyszczania lub dodawania wspomnień, '.' do przypominania, ',' do zapamiętywania, '[' i ']' do uzykania efektu deżawi, a 'Y' do rozmnażania. Wystarczy.

Przykładowe programy[edytuj • edytuj kod]

Hello, world[edytuj • edytuj kod]

Program wypisujący tekst „Nienawidzę świata, a jeszcze bardziej siebie”

           ..     ..
        .+++++. .+++++.
       ++++++++.++++++++
       +++++++++++++++++
       .+++++++++++++++.
        .+++++++++++++.
          .+++++++++.
            .+++++.
              .+.

INDoctor[edytuj • edytuj kod]

Program do dowodzenia twierdzeń metodą indukcji matematycznej (wiersze od 44364436 do 44364448).

>>>>>>>>++++[<++++++++>-]<>>++>++++[<++++++++>-]<>++++[<++++++++>-]<>>++>>++++++++[<
+++++++++>-]<++++>>++++[<++++++++++++>-]<+++++>>+++++++>++++[<++++++++>-]<>>++++++++
+++++++++>-]<+++<<<>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+.<.<<.
>.>--.+++++.---.++++.-------.++>++++>++.-------.-.<<<.>+.>>+++++++.---.-----.<<<.+--
.--.<<.>>-.++--.++-----.+++.<<.>>>++.-.>>++++++-----.-.<<++++++>>>><.>>-.++-++>-]<>+
+>-]<++++.--[<+++++>-]<-----.++.<<+.<<+.<<++++[][][][]+-,..<>,.<>>>>+++++-+-+-,..,.>
>>>++++++++++++[++++>>.<<<>>.--]]>++++>+++++[<+++.---]<>.--.<<.>>-.+++++.----.<<.>>>
.<---.+++.>+++.+.+.<.<<.>.>--.+++++.---.++++.-------.++>++++>++++>.>>.---.-----.<<<.
<<.>>++++++++++++++.>>>[-]<[-]<[-]<[-]+++++++++++++.---.[-]<<<<<<<<<<<<<<[>>>>>>>>+>
+<<<<<<<<<-]>>>>>>>>>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+.<.<<
.>.>--.+++++.---.++++.<<>.+++++++>.++.--.<<.>>-.+++++.----.<<.>>>.<---.+++.>+++.+.+.
<.<<.>.>--.+++++.---.++++.-.--]]>++++>+++++[<+++.---]<>.--.<<.>>-.+++++.----.<<.>>>.
<---.+++.>+++.+.+.<.<<.>.>----]]>++++.+++++.---.-.<<<<>.--.<<.>.+++,,,.+++<---<---++

Zobacz też[edytuj • edytuj kod]

Przypisy

  1. Nie pytaj, skąd ta nazwa