15 Bizarre (und wahnsinnige) Programmiersprachen, die es gibt
Manche Leute sagen, das Programmieren ist hart, ermüdend und quälend. Es ist, als würde man eine neue Sprache lernen, nur um mit einer Maschine zu sprechen, die in sehr spezifischen Befehlen erzählt werden muss, was zu tun und auszuführen ist. Aus irgendeinem Grund scheint eine Gruppe von Leuten zu denken, dass das Programmieren selbst nicht kompliziert genug ist, und so wurde "Esolang" geboren.
Willkommen in der Welt der esoterischen Programmiersprachen (aka esolang), in denen Programmierer die Konventionen des Sprachdesigns durchsetzen . Diese Sprachen sollen nicht einfach zu verwenden sein . Im Gegenteil, sie sind darauf ausgelegt, Programmierer mit ihren Schwierigkeiten herauszufordern, zu frustrieren und zu amüsieren. Es gibt viele Esolangs für Sie ausprobieren, aber hier sind 15 der bizarrsten und verrücktesten der Menge.
1. Brainf * ck
Getreu ihrem Namen wird diese Programmiersprache jedem Programmierer sofort Kopfschmerzen bereiten. Es wurde 1993 von Urban Müller als eine Sprache entwickelt, die von einem wirklich kleinen Compiler implementiert werden konnte, um den Programmierer zu unterhalten. Die Sprache verwendet nur acht Befehle und einen Anweisungszeiger, die jeweils aus einem einzelnen Zeichen bestehen, was dies zu einer unglaublich minimalistischen Sprache macht. Unten ist ein Beispiel für den Kopfschmerz-induzierenden Code, der "Hallo Welt!"
+++++ +++ Setze Zelle # 0 bis 8 [> ++++ Füge 4 zu Zelle # 1 hinzu; dies setzt immer Zelle 1 auf 4 [da die Zelle durch die Schleife gelöscht wird> + + 2 zu Zelle # 2 hinzufügen> +++ Fügen Sie 3 zu Zelle # 3 hinzu> +++ Fügen Sie 3 zu Zelle # 4> + hinzu Add 1 zu Zelle # 5 + Add 1 zu Zelle # 2> + Add 1 zu Zelle # 3> - Subtrahiere 1 von Zelle # 4 >> + Add 1 zu Zelle # 6 [>. Zelle # 2 hat den Wert 72, der 'H'> --- ist. Subtrahiere 3 von Zelle # 3, um 101 zu erhalten, was 'e' +++++ ++ .. +++ ist. Ebenso für 'llo' von Zelle # 3. Zelle # 5 ist 32 für den Raum> +. Add 1 to Cell # 5 gibt uns ein Ausrufezeichen> ++. Und schließlich eine Zeilenschaltung von Zelle # 6
2. LOLCODE
LOLCODE besteht aus lolspeak, der von lolcats verwendeten "Sprache". Die Sprache wurde 2007 von Adam Lindsay entworfen, einem Forscher an der Computerabteilung der Lancaster University. Die Sprache ist nicht so vollständig wie die traditionellen Sprachen, wobei die Syntax und die Operatorprioritäten nicht klar definiert sind, aber dafür gibt es funktionierende Compiler. Die Heiterkeit und Niedlichkeit der Sprache macht dies jedoch mehr aus. Schauen Sie sich die 'Hallo Welt!' Code unten:
HAI KANN HAS STDIO? SICHTBAR "Hallo Welt!" KTHXBYE
3. Befunge
Ähnlich wie Brainf * ck wurde Befunge 1993 von Chris Pressey mit dem Ziel entwickelt, eine Sprache zu schaffen, die so schwer zu kompilieren wie möglich ist. Er tut dies, indem er selbstmodifizierenden Code implementiert und dieselbe Anweisung auf vier verschiedene Arten ausführt, ganz zu schweigen von dem Befehlssatz selbst. Jedoch wurde schließlich eine Anzahl von Compilern erstellt. Im Folgenden finden Sie den Quellcode für 'Hello World!':
> vv,,,,, "Hallo" 48 *, vv,,,,,, "Welt!" 25 *, @
4. ArnoldC
Hier ist eine Programmiersprache, die komplett aus Einzeilern aus Filmen mit Arnold Schwarzenegge, Klassikern wie Terminator, Predator und Total Recall besteht. ArnoldC wurde von Lauri Hartikka kreiert, der mit dem entsprechenden Arnold One-Liner Standardbefehle austauschte. Beispiel enthält False und True, was zu "I LIED" bzw. "NO PROBLEMO" wird. Hier ist wie eine "Hallo Welt!" Code würde wie folgt aussehen:
Es ist Showtime Talk to Hand "Hallo Welt!" SIE SIND ABGESCHLOSSEN
5. Shakespeare
Wenn Bodybuilding-österreichische Schauspieler nicht dein Ding sind, magst du die Shakespeare-Programmiersprache bevorzugen. Das Ziel von Jon Aslund und Karl Hesselstörm war es, eine Programmiersprache zu entwickeln, die nicht so aussah. In diesem Fall sieht der Quellcode genau wie ein Shakespeare-Spiel aus. Variablen müssen nach Shakespeare-Zeichen benannt werden und Konstanten werden durch positive oder negative Substantive bestimmt.
Eine "Hallo Welt!" Sample ist ziemlich lang und liest genau wie ein Spiel, also hier ist nur ein Teil des Quellcodes (der vollständige ist hier verfügbar):
Das Infamous Hello World Programm. Romeo, ein junger Mann mit bemerkenswerter Geduld. Julia, eine ebenfalls junge Frau von bemerkenswerter Anmut. Ophelia, eine bemerkenswerte Frau, die viel mit Hamlet streitet. Hamlet, der Schmeichler von Andersen Beleiding A / S. Akt I: Hamlets Beleidigungen und Schmeicheleien. Szene I: Die Beleidigung von Romeo. Hamlet und Romeo Hamlet: Du liegst dummer, vaterloser, großer, stinkender, halb witziger Feigling! Du bist so dumm wie der Unterschied zwischen einem schönen reichen mutigen Helden und dir selbst! Sprechen Sie Ihre Meinung! Sie sind so mutig wie die Summe Ihres fetten kleinen ausgestopften faulen alten faulen Codpiece und eines schönen schönen warmen ruhigen sonnigen Sommertages. Du bist so gesund wie der Unterschied zwischen der Summe der süßesten rötlichsten Rose und meinem Vater und dir selbst! Sprechen Sie Ihre Meinung! Du bist so feige wie die Summe von dir selbst und der Unterschied zwischen einem großen, mächtigen, stolzen Königreich und einem Pferd. Sprechen Sie Ihre Meinung. Sprechen Sie Ihre Meinung! [Ausfahrt Romeo]
6. Koch
Ähnlich wie Shakespeare ist Chefkoch von David Morgan-Mar eine Programmiersprache, die nicht wie eine aussieht, sondern wie ein Kochrezept aussieht. Das Designprinzip der Sprache ist das
- Der Code sollte nicht nur eine gültige Ausgabe erzeugen, sondern die Ausgabe muss einfach und köstlich sein
- Rezepte appellieren an Köche mit unterschiedlichen Budgets
- Die Rezepte müssen metrisch sein
Mit anderen Worten, die Rezepte müssen als Code funktionieren UND können vorbereitet und gegessen werden. Der Quellcode für die 'Hallo Welt!' Programm ist verfügbar unter:
Hallo Welt Souffle. Dieses Rezept druckt die unsterblichen Worte "Hallo Welt!", Auf eine grundsätzlich brutale Art und Weise. Es macht auch viel Essen für eine Person. Zutaten. 72 g Bohnen 101 Eier 108 g Schmalz 111 Tassen Öl 32 Zucchini 119 ml Wasser 114 g roter Lachs 100 g Dijon - Senf 33 Kartoffeln. Kartoffeln in die Rührschüssel geben. Gib Dijonsenf in die Rührschüssel. Schmalz in die Rührschüssel geben. Setzen Sie roten Lachs in die Rührschüssel. Öl in die Rührschüssel geben. Wasser in die Rührschüssel geben. Setzen Sie Zucchini in die Rührschüssel. Öl in die Rührschüssel geben. Schmalz in die Rührschüssel geben. Schmalz in die Rührschüssel geben. Eier in die Rührschüssel geben. Setzen Sie Bohnen in die Rührschüssel. Inhalt der Rührschüssel verflüssigen. Gießen Sie den Inhalt der Rührschüssel in die Auflaufform. Für 1.
7. Leerzeichen
Whitespace wurde von Edwin Brady und Chris Morris als Aprilscherz erstellt. Während die meisten Programmiersprachen Leerzeichen ignorieren, verwendet Whitespace diese als Befehle und ignoriert stattdessen Zeichen, die nicht aus Leerzeichen bestehen. Whitespace-Code kann daher in Programmiersprachen geschrieben werden, die Leerzeichen ignorieren. Unten ist eine "Hallo Welt!" Quelltext in Whitespace geschrieben (Farbe wird zur besseren Übersicht verwendet).
(Bildquelle: Wikipedia)
8. Piet
Piet ist nach Piet Mondrian benannt und eine weitere esoterische Programmiersprache, die von David Morgan-Mar geschaffen wurde. Das Programm wird von einem Zeiger kompiliert, der sich um das Bild von einem Abschnitt zum anderen bewegt. Der Code ist in der Farbe; Die Farben werden vom Compiler gelesen, um zu einem Programm zu werden. Unten ist ein Beispiel für einen 'Quellcode' mit der Ausgabe 'Hallo Welt!':
(Bildquelle: Wikipedia)
9. Huhn
Hähnchen. Dies ist eine Programmiersprache, die nur aus einem Wort besteht: Huhn. Es wurde von dem schwedischen Programmierer Torbjörn Söderstedt geschaffen, der inspiriert wurde, nachdem er Doug Zongkers Parodie auf wissenschaftliche Reden gehört hatte (was niemand versteht). Anstatt den Code für "Hello World!" Zu zeigen, der die halbe Seite benötigt und aus nichts anderem als dem Wort "huhn" besteht, ist hier das Papier und die Präsentation, die die Sprache inspiriert haben:
10. Ook!
Ook! ist ein Derivat von Brainf * ck und wird vom Entwickler der seriellen esoterischen Sprache, David Morgan-Mar, erstellt. Die Struktur ist die gleiche, außer dass die acht Befehle durch Kombinationen von "Ook.", "Ook?" und "Ook!". Das Ziel war es, eine Programmiersprache, die von Orang-Utans beschreibbar und lesbar ist, zu entwickeln. Im Folgenden finden Sie den Quellcode für 'Hello World!':
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
11. reMorse
ReMorse wurde von Ryan Kusnery entwickelt und ist eine Programmiersprache, die nach Morse-Code aussieht. Es gibt nur vier Anweisungen: dot (.), Dotty (. Gefolgt von einem Leerzeichen), strich (-) und dasher (- gefolgt von einem Leerzeichen). Die Spezifikationen von ReMorse waren unklar, und ReMorse2 wurde als Versuch erstellt, den Code ein wenig aufzuräumen. Im Folgenden finden Sie ein unvollständiges Beispiel für "Hello World!":
- - - ..- ...-.---.;Neue Zeile - - - .-. - ..-.- ...-. ---.;! - - - ...-. . -.---; d ----. . . -.---; l ----. . -...---; r ----. -...---; o ----...-.- ..-. ---; W weggelassen Code für "Hallo" ist ähnlich wie oben für "Welt!" -......., alle Zeichen ausgeben
12. l33t
Wer schon einmal im Internet war, weiß, was es heißt - Benutzer ersetzen Wörter und Buchstaben durch Zahlen und absichtlich schlechtes Buchstabieren. Zwei Programmierer, Stephen McGreal und Alex Mole, entschieden, dass es eine gute Idee wäre, eine Programmiersprache daraus zu entwickeln und somit geboren wurde. Wie bei vielen anderen esoterischen Sprachen wurde es so entworfen, dass es so "hirnschmelzend wie möglich" ist. Im Folgenden finden Sie den Quellcode für 'Hello World!':
// "Hallo Welt" von Stephen McGreal. // Beachten Sie, dass die in diesem Quelltext geäußerten Ansichten nicht notwendigerweise mit denen des Autors übereinstimmen: o) Gr34t l33tN3 $$? M3h ... iT 41 nicht s0 7rIckY. l33t sP33k ist U8er keWl 4nD eA5y wehn Sie 7hink 1t throughh. 1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE !!! ; p w4r3Z c0ll3cT10n2 r 7h l3Et3r! Qu4k3 cL4nS r 7eh bis 1n der 3nTr3 wOrlD !!! g4m3s wh3r3 g3t zu 5h00t ppl r 70tAl1_y w1cK1d !! Ich bin der Fr4GM4stEr und ich werde bis41_1Ly wIpE der phr34k1ng fL00r *** j3d1 5tYlE *** mit y0uR h1dE !!!! L0L0L0L! t3lEphR4gG1nG l4m3rs Witz meine m8tes r34lLy k1kK $ A $$ l33t hAxX0r $ CrE4t3 u8er- k3wL 5tUff wie n34t pR0gR4mm1nG lAnguidGe $ ... s0m3tIm3 $ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o machen ppl Th1nk th3y'r3 ju $ t n0rMal lEE7 5pEEk aber th3y're 5ecRetLy c0dE !!!! n080DY unDer5tAnD $ l33t SpEaK 4p4rT fr0m j3d1 !!!!! 50mE kId 0n A ich $$ 4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIke y0d4 !!! HE i5 der U8ER !!!! 1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE. 1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD !!!" Du kannst nicht gu3s5. tH3r3 ist n3v3r und p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s what th1s 1s !!!!! 5xX0r5 !!! L0L0L0L0L !!!!!!!
13. Omgrofl
Omgrofl (was für "oh mein Gott auf dem Boden rollen" steht) wurde von Juraj Borza erstellt, wo alle Befehle aus Internet-Akronymen wie lol, wtf, brb, stfu usw. bestehen. Alle mit der Sprache deklarierten Variablen müssen in Form von lol, zB lol, lool, loool usw. Hier ist der Quellcode für 'Hello World!' sieht aus wie:
loool iz lol looooool iz lool rtfm wtf looooool iz liek 0 tldr brb lmao loool roflmao looooool brb
14. Velato
Velato ist eine Sprache von Daniel Temkin, die MIDI-Dateien als Quellcode verwendet. Die Befehle werden durch die Tonhöhe und Reihenfolge der Noten bestimmt, und die mit Velato erzeugten Quellcodes neigen dazu, einen jazzähnlichen Klang zu haben. In dem unten aufgeführten Beispiel "Hello World!" Sieht der 'Quellcode' so aus:
(Bildquelle: Daniel Temkin)
15. Malbolge
Wenn eine Programmiersprache nach dem achten Höllenkreis benannt ist, wissen Sie was zu erwarten ist. Im Jahr 1998 von Ben Olmstead entwickelt, war Malbolge so konzipiert, dass es nahezu unmöglich ist, es zu programmieren. In der Tat war es nicht künstlich - es ist mit einem Algorithmus erstellt. Es ist kein Wunder, dass es zwei Jahre dauerte, bis das Programm zustande kam. Dies ist der Quellcode für 'Hallo Welt!' für diese unmögliche Programmiersprache, um Ihnen eine Vorstellung von der Verrücktheit im Code zu geben.
(=
Mit dieser kostenlosen Boilerplate-Galerie kannst du schneller Dev-Projekte erstellen
Sie haben Zugriff auf Hunderte von freien Code-Bibliotheken zur Hand . Es ist nicht notwendig, Projekte von Grund auf neu zu erstellen, wenn Sie sich von der Open-Source-Community helfen lassen können.Aber wie suchen Sie in hunderten von Bibliotheken nach einem, der am besten zu Ihren Bedürfnissen passt ?
Erweitern Sie Ihre Chrome-Lesezeichen mit Dewey
Internet-Browser haben seit den Tagen von Netscape Navigator einen langen Weg zurückgelegt, aber die Art, wie wir unsere Lesezeichen durchsuchen und verwalten, hat sich über die Jahre nicht wirklich verändert . Mit der klassischen Ordneransicht ist nichts wirklich in Ordnung, aber was wäre, wenn es eine bessere Möglichkeit zum Verwalten von Lesezeichen gäbe , einschließlich intelligenter Suchfunktionen und Unterstützung für das Tagging? Nun, da