15 linguaggi di programmazione bizzarri (e pazzi) che esistono
Alcune persone dicono che imparare a programmare è difficile, noioso e straziante. È come imparare una nuova lingua, solo per parlare con una macchina che deve essere detta in comandi molto specifici su cosa fare ed eseguire. Per qualche ragione, un gruppo di persone sembra pensare che la programmazione stessa non sia abbastanza complicata, e così è nato 'esolang'.
Benvenuti nel mondo dei linguaggi di programmazione esoterici (aka esolang), dove i programmatori spingono le convenzioni della progettazione del linguaggio . Queste lingue non sono pensate per essere facili da usare . Al contrario, sono progettati per sfidare, frustrare e divertire i programmatori con le loro difficoltà. Ci sono molti esolang là fuori per te, ma qui ci sono 15 dei più bizzarri e folli del lotto.
1. Brainf * ck
Fedele al suo nome, questo linguaggio di programmazione darà a qualsiasi programmatore un immediato mal di testa. È stato creato da Urban Müller nel 1993, come linguaggio che potrebbe essere implementato da un compilatore davvero piccolo, per divertire il programmatore. Il linguaggio utilizza solo otto comandi e un puntatore di istruzioni, ciascuno composto da un singolo carattere, rendendo questo linguaggio incredibilmente minimalista. Di seguito è riportato un esempio del codice che induce alla cefalea, uno che stamperà 'Hello World!':
+++++ +++ Imposta la cella da 0 a 8 [> ++++ Aggiungi 4 alla cella n. 1; ciò imposterà sempre la cella da 1 a 4 [poiché la cella verrà cancellata dal ciclo> ++ Aggiungi 2 alla cella # 2> +++ Aggiungi 3 alla cella # 3> +++ Aggiungi 3 alla cella # 4> + Aggiungi 1 alla cella # 5 + Aggiungi 1 alla cella # 2> + Aggiungi 1 alla cella # 3> - Sottrai 1 dalla cella # 4 >> + Aggiungi 1 alla cella # 6 [>. La cella # 2 ha valore 72 che è 'H'> ---. Sottrai 3 dalla cella # 3 per ottenere 101 che è 'e' +++++ ++ .. +++. Allo stesso modo per "llo" dalla cella n. 3 >>. La cella # 5 è 32 per lo spazio> +. Aggiungi 1 alla cella # 5 ci fornisce un punto esclamativo> ++. E infine una nuova riga dalla cella n. 6
2. LOLCODE
LOLCODE è costituito da lolspeak, il "linguaggio" utilizzato dai lolcats. Il linguaggio è stato progettato da Adam Lindsay nel 2007, un ricercatore presso il Dipartimento di Informatica della Lancaster University. La lingua non è completa come quella tradizionale, con sintassi e priorità dell'operatore non chiaramente definite ma ci sono dei compilatori funzionanti per quello disponibile là fuori. L'ilarità e la carineria della lingua più che compensa questo però. Dai un'occhiata al "Ciao mondo!" codice qui sotto:
HAI PUO AVERE STDIO? VISIBILE "Hello World!" KTHXBYE
3. Befunge
Simile a Brainf * ck, Befunge è stato sviluppato da Chris Pressey nel 1993, con l'obiettivo di creare un linguaggio che fosse difficile da compilare il più possibile. Lo fa implementando il codice auto-modificante e facendo eseguire la stessa istruzione in quattro modi diversi, per non parlare dell'insieme di istruzioni stesso. Tuttavia, alla fine è stato creato un certo numero di compilatori. Di seguito è riportato il codice sorgente di "Hello World!":
> vv,,,,, "Hello" 48 *, vv,,,,,, "World!" 25 *, @
4. ArnoldC
Ecco un linguaggio di programmazione interamente basato su one-liners di film con Arnold Schwarzenegge, classici come Terminator, Predator e Total Recall. ArnoldC è stato creato da Lauri Hartikka, che ha sostituito i comandi standard con l'equivalente di Arnold. L'esempio include False e True, che diventano rispettivamente "I LIED" e "NO PROBLEMO". Ecco come un "Hello World!" il codice sarebbe simile a:
IT'S SHOWTIME PARLA ALLA MANO "Hello World!" SEI STATO TERMINATO
5. Shakespeare
Se gli attori austriaci del bodybuilding non sono il tuo genere, potresti preferire il linguaggio di programmazione di Shakespeare. Creato da Jon Aslund e Karl Hesselstörm, l'obiettivo era quello di creare un linguaggio di programmazione che non somigliasse a uno. In questo caso, il codice sorgente sembra esattamente come una rappresentazione di Shakespeare. Le variabili devono avere il nome di caratteri shakespeariani e le costanti sono decise da nomi positivi o negativi.
Un "Ciao mondo!" il campione è piuttosto lungo, la lettura è esattamente come una riproduzione, quindi qui è solo una parte del codice sorgente (qui è disponibile la versione completa):
Il famigerato programma Hello World. Romeo, un giovane con una notevole pazienza. Giulietta, una donna altrettanto giovane di notevole grazia. Ofelia, una donna straordinaria molto in disputa con Amleto. Amleto, l'adulatore di Andersen Insulting A / S. Atto I: insulti e lusinghe di Amleto. Scena I: l'insulto di Romeo. [Inserisci Amleto e Romeo] Amleto: Stai mentendo stupido, orfano e puzzolente vigliacco codardo! Sei stupido quanto la differenza tra un eroe ricco e coraggioso e te stesso! Parla la tua mente! Sei coraggioso come la somma della tua grassa peluria maltrattata e usurata da vecchi codini marci e una bella bella giornata calda e soleggiata d'estate. Sei sano come la differenza tra la somma della più dolce rosa più rossa e mio padre e te stesso! Parla la tua mente! Sei vigliacco come la somma di te stesso e la differenza tra un grande e orgoglioso regno e un cavallo. Parla la tua mente Parla la tua mente! [Esci da Romeo]
6. Chef
Simile a Shakespeare, Chef, creato da David Morgan-Mar, è un linguaggio di programmazione che non sembra uno, somigliante invece a una ricetta di cucina. I principi di progettazione della lingua è questo
- il codice dovrebbe non solo generare un output valido, ma l'output deve essere facile da preparare e delizioso
- le ricette si rivolgono a cuochi con budget diversi
- le ricette devono essere metriche
In altre parole, le ricette devono funzionare come codice, E possono essere preparate e mangiate. Il codice sorgente per "Hello World!" il programma è disponibile qui sotto:
Ciao World Souffle. Questa ricetta stampa le parole immortali "Ciao mondo!", In un modo praticamente brutale. Fa anche molto cibo per una persona. Ingredienti. 72 g di fagiolini 101 uova 108 g di lardo 111 tazze di olio 32 zucchine 119 ml di acqua 114 g di salmone rosso 100 g di mostarda di Digione 33 patate Metodo. Metti le patate nella ciotola. Metti la mostarda di Digione nella ciotola. Metti il lardo nella ciotola. Metti il salmone rosso nella ciotola. Metti l'olio nella ciotola. Metti l'acqua nella ciotola. Metti le zucchine nella ciotola. Metti l'olio nella ciotola. Metti il lardo nella ciotola. Metti il lardo nella ciotola. Metti le uova nella ciotola. Metti i fagioli in una terrina. Liquefare il contenuto della ciotola. Versare il contenuto della ciotola nella teglia. Serve 1.
7. Spazio bianco
Whitespace è stato creato da Edwin Brady e Chris Morris come uno scherzo di April Fools. Laddove la maggior parte dei linguaggi di programmazione ignora i caratteri di spaziatura, Whitespace li usa come comandi, ignorando invece i caratteri non bianchi. Per questo motivo, il codice di Whitespace può essere scritto all'interno di linguaggi di programmazione che ignorano gli spazi bianchi. Di seguito è un 'Ciao mondo!' codice sorgente scritto in Whitespace (il colore è usato per chiarezza).
(Fonte immagine: Wikipedia)
8. Piet
Prende il nome da Piet Mondrian, Piet è l'ennesimo linguaggio di programmazione esoterico creato da David Morgan-Mar. Il programma è compilato da un puntatore che si muoverà intorno all'immagine, da una sezione all'altra. Il codice è nel colore; i colori vengono letti dal compilatore per trasformarsi in un programma. Di seguito è riportato un esempio di "codice sorgente", con l'output "Hello World!":
(Fonte immagine: Wikipedia)
9. Pollo
Pollo. Questo è un linguaggio di programmazione composto da una sola parola: pollo. È stato creato dal programmatore svedese Torbjörn Söderstedt, che è stato ispirato a crearlo dopo aver ascoltato la parodia di discorsi scientifici di Doug Zongker (che nessuno comprende). Piuttosto che mostrare il codice per "Hello World!", Che richiederebbe metà della pagina e consisterebbe solo nella parola "pollo", ecco la carta e la presentazione che ha ispirato la lingua:
10. Ook!
Ook! è un derivato di Brainf * ck, ed è creato dallo sviluppatore seriale esoterico, David Morgan-Mar. La struttura è la stessa, tranne che gli otto comandi sono sostituiti con combinazioni di "Ook.", "Ook?" e "Ook!". L'obiettivo era quello di creare, e non scherziamo, un linguaggio di programmazione "scrivibile e leggibile dagli oranghi". Di seguito è riportato il codice sorgente di "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. SEGNALE
Sviluppato da Ryan Kusnery, ReMorse è un linguaggio di programmazione creato come un codice Morse. Ci sono solo quattro istruzioni: punto (.), Punto (seguito da uno spazio), trattino (-) e dasher (- seguito da uno spazio). Le specifiche di ReMorse non erano chiare e ReMorse2 è stato creato come un tentativo di pulire un po 'il codice. Di seguito è riportato un esempio incompleto per "Hello World!":
- - - ..- ...-.---.;nuova linea - - - .-. - ..-.- ...-. ---.;! - - - ...-. . -.--- .; d ----. . . -.--- .; l ----. . -...--- .; r ----. -...--- .; o ----...-.- ..-. ---. W omitted code for "Hello" è simile a quanto sopra per "World!" -... ......... stampa tutti i caratteri
12. l33t
Chiunque abbia mai passato un po 'di tempo su Internet sa cosa è l33t sp34k (leet speak): gli utenti sostituiscono parole e lettere con numeri e intenzionalmente male ortografia. Due programmatori, Stephen McGreal e Alex Mole, hanno deciso che sarebbe stata una buona idea creare un linguaggio di programmazione e così nacque. Come con molti altri linguaggi esoterici, è stato progettato per essere il "più sciolto il cervello possibile per codificare". Di seguito è riportato il codice sorgente di "Hello World!":
// "Hello World" di Stephen McGreal. // Nota che le viste espresse in questo codice sorgente // non coincidono necessariamente con quelle dell'autore: o) Gr34t l33tN3 $$? M3h ... iT 41n's s0 7rIckY. l33t sP33k è U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh. 1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE !!! ; p w4r3Z c0ll3cT10n2 r 7eh l3Et3r! Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD !!! g4m3s wh3r3 u g3t a 5h00t ppl r 70tAl1_y w1cK1d !! Io sono fr4GM4stEr aN I 'tl tt tt1_1lY wIpE teh phr34k1ng fL00r *** j3d1 5tYlE *** conY0uR h1dE !!!! L0L0L0L! l4m3rs t3lEphR4gG1nG mio spirito m8tes r34lLy k1kK $ A $$ l33t hAxX0r $ CrE4t3 u8er- k3wL 5tUff come n34t pR0gR4mm1nG lAnguidGe $ ... s0m3tIm3 $ teh l4nGu4gES l00k solo l1k3 rE41_ 0neS 7o fare ppl Th1nk th3y'r3 ju $ t n0rMal lEE7 5pEEk ma Questo è 5ecRetLy c0dE !!!! n080DY unDer5tAnD $ l33t SpEaK 4p4rT fr0m j3d1 !!!!! 50mE kId 0n A me $$ 4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4 !!! hI i5 teh u8ER !!!! 1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE. 1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD !!!" u ju5t non puoi gu3s5. tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whIt1s 1s !!!!! 5uxX0r5 !!! L0L0L0L0L !!!!!!!
13. Omgrofl
Omgrofl (che sta per "oh mio dio che rotola sul pavimento") è stato creato da Juraj Borza dove tutti i comandi sono composti da acronimi di internet come lol, wtf, brb, stfu, ecc. Tutte le variabili dichiarate con la lingua devono essere sotto forma di lol, es. lol, lool, loool, ecc. Ecco qual è il codice sorgente di "Hello World!" sembra:
loool iz lol looooool iz lool rtfm wtf looooool iz liek 0 tldr brb lmao loool roflmao looooool brb
14. Velato
Velato è un linguaggio creato da Daniel Temkin che utilizza i file MIDI come codice sorgente. I comandi sono determinati dal tono e dall'ordine delle note e i codici sorgente creati usando Velato tendono ad avere un suono simile al jazz. L'esempio "Hello World!" Riportato di seguito è l'aspetto del "codice sorgente":
(Fonte immagine: Daniel Temkin)
15. Malbolge
Se un linguaggio di programmazione prende il nome dall'ottavo cerchio dell'Inferno, sai cosa aspettarti. Creato da Ben Olmstead nel 1998, Malbolge è stato progettato per essere quasi impossibile da programmarlo. In realtà, non era creato dall'uomo - è stato creato utilizzando un algoritmo. Non c'è da meravigliarsi che ci sono voluti 2 anni perché il programma si materializzasse. Questo è il codice sorgente di "Hello World!" per questo linguaggio di programmazione impossibile per darti un'idea della follia nel codice.
(=
Come ottenere lo screensaver aereo di Apple TV sul tuo Mac o PC
I proprietari della quarta generazione di Apple TV hanno familiarità con Aerial, uno screensaver che mette in mostra varie città in tutto il mondo da una posizione elevata. Per quelli di noi che non possiedono una Apple TV, due utenti Github hanno portato lo screensaver su Mac e PC, dandoci l'accesso a uno degli screensaver più interessanti in circolazione.In
30 snippet di codice Regex che tutti gli sviluppatori Web dovrebbero conoscere
Le espressioni regolari sono uno strumento potente che dovrebbe essere presente nella cintura degli attrezzi di ogni sviluppatore. Possono essere confrontati con una stringa di caratteri basata su parametri molto complessi, che possono far risparmiare un sacco di tempo quando si costruiscono siti Web dinamici