Pornocorso di programmazione ovvero il coding al tempo di swing
1 Pornocorso di programmazione ovvero il coding al tempo di swing
1.1 considerazioni
Siamo nella rivoluzione digitale, qualunque cosa essa voglia dire.
Per quello che ne penso, fondamentalmente è un altro modo con cui tentano di sodomizzarci ma con parecchio lubrificante. Entra giù che è un piacere. I computer sono pericolosi o meglio lo sono chi li controlla. Un elaboratore elettronico di base è una macchina stupida, parecchio stupida che segue pedissequamente cosa gli viene detto. Uno, una Slave perfetto, perfetta.
1.2 la domanda
Non vorreste essere un Master/Mistress del vostro giocattolo elettronico?
1.3 la risposta
Bene, se volete vi dico come si fa. Badate bene che all'inizio come tutti gli Slave che si rispettino farà le bizze e sbaglierà, anche voi dovrete imparare. Non si nasce Master/Mistress ma si diventa. C'è poi chi diventa bravo e chi rimane una schiappa, ma qualche frustata c'è concessa a tutti.
1.4 la storia che va saputa anche se non insegna nulla alle nuove generazioni
Fin dai primordi, all'uomo gli è sempre piaciuto dominare queste macchine ed è andato via via affinando la tecnica.
All'inizio la scheda perforata nella fessura allungata, quella che faceva tanto sesso. Era come i vibratori di una volta, massaggiatori si chiamavano, di plastica dura e rosa.
Insomma non è che fossero un granché.
1.4.1 affinare l'ingegno serve sempre
L'uomo però affina l'ingegno e tra una passata e l'altra ci infila l'Assembler, roba da veri duri. Ad un ordine corrisponde una azione. Giù!, giù. Su! su, Destra! destra. Sinistra! sinistra. Qui certo abbiamo la prova che la storia non insegna nulla e basterebbe aggiungerci un Avanti! per avanti con un Destra! per destra, andiamo a teatro a fare i balletti e stampiamo le magliette con le maestre.
Non divaghiamo…
Poi siamo arrivati ai registri dove si infilava qualcosa, ma era proprio roba piccola.
1.4.2 la rivoluzione ed il goto
Insomma la vera rivoluzione arrivò dopo, coi linguaggi di alto livello. Ci sono diversi livelli ovviamente.
Con quelli gli potevi dire più o meno semplicemente: - Piegati in avanti e apri le gambe -.
Questi erano pieni e direi infarciti, quasi pregni, della più infausta istruzione mai inventata dall'uomo il goto.
Col goto l'amante te lo prendeva in bocca e all'improvviso ti ritrovavi nella bocca della moglie o nell'ano del marito o nella fica della suocera.
Oddio, che visione funesta.
Insomma 'sto goto era un casino. Due veri Master però, tal Bohm e Jacopini un giorno ci pensarono fitto fitto ed elaborarono una nuova teoria: - Ragazzi, basta rischiare, qui è un casino -.
Pensarono allora che sostanzialmente tutto quello che si faceva col goto si sarebbe potuto fare tramite solo tre strutture di controllo:
- sequenza
- selezione
- ciclo
1.4.3 la rivelazione
Apriti cielo! Pure più divertente.
Con la sequenza si potevano elencare una serie di azioni una dopo l'altra: prima la bocca, poi la fica, poi l'ano. Insomma tutto era bello ed in ordine.
Con la selezione una serie di operazioni basate su controlli: se l'ano è abbastanza lubrificato allora metticelo altrimenti lubrifica. (if-then-else).
Ovviamente abbiamo anche test semplici o anche negativi: se non era nell'ano mettilo in bocca. Insomma si sa che non è igienico passare dall'ano agli altri buchi.
Il ciclo, lo dice la parola stessa: ripeti le azioni molte volte in base a dei criteri.
Per esempio:
- finché non vieni entra e esci. (while-do) (certo se si è eiaculatori veloci non si entra nemmeno)
- entra finché non vieni (do-until) (almeno una volta ti riesce)
- se poi si è uno che ha tutto sotto controllo: per cento volte entra ed esci (for-do).
Ora se ci pensate questo ha portato a notevoli progressi nell'arte. Ci si poteva sbizzarrire di più e con meno rischi.
Questa è la programmazione strutturata.
1.4.4 perché l'uomo non è mai contento
Una volta acquisita una certa pratica, l'uomo ha cominciato ad elaborare diversi paradigmi di programmazione. La vita è bella perché varia e non si hanno tutti gli stessi gusti. Meno male, aggiungerei.
Da qui in avanti abbiamo avuto la (in ordine sparso):
- programmazione strutturata
- programmazione modulare
- programmazione generica
- programmazione logica
- programmazione orientata agli oggetti
- programmazione basata su oggetti
- programmazione funzionale
- programmazione per aspetti
- programmazione a pattern
- programmazione procedurale
- programmazione concorrente
- programmazione ad eventi
- programmazione reactive
- programmazione a vincoli
- Design by Contract
- multiparadigma.
1.4.5 tutta festa insomma
Se ci pensate ci sono paradigmi il cui nome è tutto un programma.
- Quella orientata agli oggetti: gli oggetti li fate voi, insomma ci vuole inventiva e il dildo lo scolpite nel legno.
- Quella basata su oggetti: siete ricchi e vi comprate il simulatore di slinguazzata (esiste giuro, ho un cliente che lo vende).
- Quella logica: siete freddi e compassati, razionali.
- Quella per aspetti come la vedete?
- Quella concorrente per l'ammucchiatina del venerdì sera.
- Quella a vincoli e non aggiungo altro che ci siamo già capiti.
- Il Design by Contract è per chi va a puttane d'alto bordo, li il contratto è d'obbligo.
- Quella funzionale e vi lascio a pensarci bene, tra i suoi lati positivi solo un nome: tail recursion.
- Quella multiparadigma ovviamente vi permette di fare parecchie cose, magari non benissimo in quel paradigma specifico ma in ogni caso decentemente. Potete sperimentare almeno per poi passare ai linguaggi 'puri'.
Uno dei miei preferiti multiparadigma è Ada.
Cazzo! esiste un linguaggio che si chiama Ada? Ebbene si, prende il nome da una fica ottocentesca: Ada Lovelace.
Ricazzo! pure Love-Lace…
Lo so che comincia a venir duro ai maschietti e bagnata alle femminucce, non negate.
1.4.6 che spreco!
I nomi si sprecano, si va dal: A, B, C, C++, C#, D, E, F# all'Haskell, Prolog, Smalltalk, Erlang, Elixir, ML, OCaml, Scala, Java, Python, Ruby, Occam, Oz, Miranda, Dylan, Lisp, Oberon, Pascal, ObjectPascal, Tcl, Forth, Fortran, Modula, Rebol, Scheme, Curry, Mercury, cazzo, fica, culo e tette…
Insomma sono una sbombardata.
1.4.7 8000 linguaggi e passa?
Abbiamo anche il Brainfuck.
Google poi come novità nel 2007, ha proposto il Go (copiandosi più o meno l'Algol68). Una novità vecchia di quanto? Fate il conto 2007-1968= ?
Dentro Google sono dei grandi (che poi il tipo, Rob Pike, è uno dei progettisti di Plan9).
Ognuno ha il suo pregio ed il suo difetto. La perfezione si sa non è di questo mondo.
1.5 Ora basta che mi sono dilungato
Vabbè, per questo mini corso di introduzione ho scelto Ruby.
Ruby lo ha scritto un nipponico, tal Yukihiro Matsumoto (anzi Matsumoto Yukihiro), un mormone giapponese. Già questo lo fa fico, no?
- Ruby è multiparadigma, quindi alé! Tutta vita.
- Ruby è magico… Potrete fare cose che fino ad adesso non avevate neanche il coraggio di pensare.
- Ruby è divertente, perché no? Perché non dovrebbe essere divertente.
Insomma è un linguaggio orientato agli oggetti, con estensioni funzionali, metaprogrammazione, moduli e closure.
Le closure, sono la cosa più erotica che potete incontrare, immaginate!
Poi incontrerete le Proc e le lambda…
Bevete molto, si entra nell'orgasmo multiplo.