RusPython
Perché per Python ci vuole la RUSPA!!!
Missione
RusPython è un linguaggio di programmazione ispirato dall'illustre Matteo Salvini.
Crediamo fermamente che l'attuale stato dell'arte dei moderni linguaggi di programmazione non sia in grado di ricreare la sua magnificenza espressiva e contenutistica.
Se anche tu condividi la nostra visione, RusPython è il linguaggio che fa per te!
Spero che mentre Matteo riuscirà nella sua impresa di liberare la Padania da Roma ladrona, noi, nel nostro piccolo, libereremo il mondo dell'informatica dagli altri inutili, se non dannosi, linguaggi di programmazione.
Installazione
RusPython è progettato per funzionare su Python 2.7.
Per usarlo scarica ed estrai il file .zip oppure clona il repository digitando
git clone https://github.com/Eleirbag89/RusPython.git
Aggiungi la cartella di RusPython al PATH
usando uno dei due comandi seguenti (su Linux)
- Temporaneo: Scrivi
export PATH=$PATH:/path/to/RusPython
nel terminale. - Permanente: Aggiungi
export PATH=$PATH:/path/to/RusPython
alla fine del tuo file~/.bashrc
.
Utilizzo
- Scrivi un file ruspy usando l'opportuna sintassi (in bocca al lupo).
- Esegui
RusPython /path/to/ruspy/file [parametri_input_script]
- Benvenuto nel magico mondo di RusPython!
Funzionalità
RusPython include diverse funzionalità perfette per ogni aspirante leader della Lega Nord:
- Non ci sono istruzioni per effettuare gli import. Non vogliamo che codice straniero ci rubi il lavoro.
- Tutti i programmi devono terminare con
PadaniaLibera
. - Il linguaggio è insensibile alle minuscole/maiuscole. Anzi, è insensibile punto.
- È il primo linguaggio di programmazione ad usare le Closure mentali.
- Il linguaggio è Turing Completo. A noi Padani non manca mai nulla.
- Protegge le funzioni con le Guardie Padane.
Italia
viene sostituito automaticamente con il più appropriatoRoma Ladrona
- Non esiste un equivalente del not. RusPython è il linguaggio del fare, non come gli altri linguaggi disfattisti.
Grammatica
La grammatica del linguaggio è un pò complessa, ma solo attraverso un accurato studio delle arti retoriche è possibile rendere messaggi complessi diregiribili per l'uomo comune.
Ecco un assaggio di cosa sarai in grado di fare
Operatori Aritmetici:
+
fa la somma-
fa la sottrazione*
fa la moltiplicazione/
fa la divisioneminore
indicapiù piccolo di
maggiore
indicapiù grande di
Variabili:
- Puoi usare tutti gli spazi che vuoi per il nome delle tue variabili
- Usa
,
se devi differenziare due variabili consecutive - Puoi effettuare un assegnamento così:
variabile è espressione
oppurevariabile sono espressione
- Le stringhe sono racchiuse da doppi apici
"Stringa"
- Puoi generare un numero casuale in un intervallo con
scegliete variabile fra espressione e espressione
Liste e Stringhe Ricordate che le stringhe sono liste di caratteri!
- Creare una lista vuota:
raderemo al suolo variabile
- Aggiungere un elemento alla lista:
nella variabile deporta indice
.
Se vuoi anche specificare la posizione usanella variabile deporta espressione nella cella indice
- Leggere un elemento dalla lista:
dalla variabile sgombera indice
- Ottenere la lunghezza della lista:
la dimensione di variabile
- Estrarre una sottolista:
variabile RUBA/RUBANO espressione e espressione
- Effettuare lo split di una stringa
segrega stringa [in pattern]
Controllo del flusso
- Per creare un costrutto IF:
variabile è/sono espressione ? istruzioni [ALTRIMENTI istruzioni].
Oppure usaminore
omaggiore
- Per creare un ciclo WHILE:
finche variabile OPERATORE espressioni; istruzioni.
- Ciclare i valori di una lista:
per ogni variabile in variabile; istruzioni.
Funzioni
- Definire una funzione usando:
attenzione variabile ! parametro [e parametro...] tornino a casa loro istruzioni basta
- Richiamare una funzione usando:
ricordate variabile ! parametro [e parametro...] a casa loro
- Far ritornare un valore ad una funzione:
espelli valore
Input/Output
- Stampare sullo schermo;
urla espressione
Si possono stampare valori concatenati usandoe
;urla espressione e espressione [e espressione...]
- Leggere un valore numerico inserito dall'utente nel terminale
ditemi variabile cosa volete
- I parametri passati allo script possono essere ottenuti in due modi:
- Usando la lista
frontiera
- Usando la variabile
bingo bongo
per il primo parametrobingo bongo bongo
per il secondo,bingo bongo bongo bingo
per il terzo,bingo bongo bongo bingo bongo bingo bongo bingo bongo
per l'ottavo e così via.
Socket (Altri metodi saranno aggiunti)
- Creare una socket;
variabile è spione
- Fare il bind di una socket
variabile ama host e odia port
- Mettere la socket in stato listen
varibile ascolta a #CodaConnessioni
- Leggere dati da una socket
variabile che regala #ByteDaLeggere euri
- Scrivere dati su una socket
dico a variabile: espressione!
- Accettare una connessione
rifiutiamo variabile!
- Chiudere una socket
uccidiamo variabile!
File (Altri metodi saranno aggiunti)
- Aprire un file in lettura;
leggermente #PathDelFile
- Controllare che un path esista (da inserire come condizione in un if)
Esiste #path ?
- Controllare se un path è una directory
Cartella #path ?
- Leggere l'intero contenuto di un file
variabile infame
Thread
- Avviare una funzione RusPython in un thread;
mandiamo funzione a lavorare [con parametro [e parametro]]
Infine:
A noi Padani non piace parlare dei propri errori, per cui molte volte il codice fallirà senza segnalare nulla.
Pensate al debug come a un piccolo gioco fra di noi.
Esempi
Attenzione padani ! Gli Africani tornino a casa loro
milioni sono 0 tutti sono 1
gli Africani sono milioni? Espellili tutti.
espelli gli Africani * Ricordate padani! Gli Africani-Tutti a casa loro
Basta
Urla ricordate padani! Bingo bongo a casa loro
PadaniaLibera
Questo codice definisce una funzione chiamata "padani" che calcola il fattoriale in maniera ricorsiva.
Di seguito la lista con tutti gli script creati fino ad ora e come utilizzarli
- Fattoriale: Calcola il fattoriale di un numero in input.
Fattoriale di 5:RusPython examples/Fattoriale.ruspy 5
- Fibonacci: Calcola i primi n valori della sequenza di Fibonacci in base al numero in input.
Primi 8:RusPython examples/Fibonacci.ruspy 8
- Hello world: Semplice programma di esempio.
Lancialo conRusPython examples/Hello_World.ruspy
- Or(d)inamento: Ordina la sequenza in input.
EsempioRusPython examples/Ordinamento.ruspy 75 5 1 9 104 32
- ParamList: stampa sullo schermo tutti i parametri in input.
EsempioRusPython examples/ParamList.ruspy 5 Borghezio 3.14
- RitualeDelPo: gioca a indovinare il numero magico per ultimare il rituale.
EsempioRusPython examples/RitualeDelPo.ruspy
- Matrimonio: Controlla se due parametri di input possono sposarsi.
EsempioRusPython examples/Matrimonio.ruspy 5 5
- ServerWeb: Avvia un server web. Il primo parametro è il percorso dove sono salvati i file del sito, il secondo è l'host e il terzo la porta.
EsempioRusPython examples/ServerWeb.ruspy /var/wwww/ localhost 8080
- 99 bottiglie: Canta la canzone 99 bottiglie di birra.
EsempioRusPython examples/99 bottiglie.ruspy
- Tris: Gioca una partita a Tris contro la migliore simulazione di Matteo.
Esempio
RusPython examples/Tris.ruspy
Attivati
Sentiti libero di contribuire al progetto con commit, idee, suggerimenti.
Puoi creare fork e spinoff senza chiedere il permesso a nessuno (ok, però magari un piccolo link mettilo).
Puoi contribuire anche scrivendo del codice RusPython e arricchendo la nostra galleria di esempi.
Siccome in fondo siamo delle brave persone
Se questa pagina ti ha divertito, rifletti sulla possibilità di fare una donazione ad un ente benefico impegnato nell'aiuto di rifugiati e profughi.
Se sei più sul lato hacktivist, potresti donare qualcosa al collettivo Autistici/Inventati
Inoltre puoi fare una donazione ai ragazzi dietro TrumScript, il progetto che ha ispirato tutto questo: Shadwell.
Disclaimer 2021
Questo progetto è sostanzialmente abbandonato, anche se resto aperto ad accettare contributi e modifiche, aggiungo queste righe solo perché questo progetto è stato associato da diverse parti a GomorraSql ed ha goduto di una nuova visibilità.
Quanto ho iniziato a implementare RusPython era il 2016, prima dell'esperienza del governo giallo-verde, prima che l'odio xenofobo, razzista e sessista abbia avuto il potere di causare sofferenza e morte. Ho smesso di sviluppare RusPython perché per me lo scherzo non è più divertente, anzi, temo possa essere controproducente.
Rimuoverò tutti i riferimenti alla monetizzazione da questo progetto, invito a donare e supportare attivamente organizzazioni che contrastano l'odio e la persecuzione per nazionalità, etnia o sessualità.