Code Monkey home page Code Monkey logo

ruspython's Introduction

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)

  1. Temporaneo: Scrivi export PATH=$PATH:/path/to/RusPython nel terminale.
  2. 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ù appropriato Roma 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 divisione
  • minore indica più piccolo di
  • maggiore indica più 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 oppure variabile 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 usa nella 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 usa minore o maggiore
  • 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 usando e; 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 parametro bingo 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 con RusPython examples/Hello_World.ruspy
  • Or(d)inamento: Ordina la sequenza in input.
    Esempio RusPython examples/Ordinamento.ruspy 75 5 1 9 104 32
  • ParamList: stampa sullo schermo tutti i parametri in input.
    Esempio RusPython examples/ParamList.ruspy 5 Borghezio 3.14
  • RitualeDelPo: gioca a indovinare il numero magico per ultimare il rituale.
    Esempio RusPython examples/RitualeDelPo.ruspy
  • Matrimonio: Controlla se due parametri di input possono sposarsi.
    Esempio RusPython 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.
    Esempio RusPython examples/ServerWeb.ruspy /var/wwww/ localhost 8080
  • 99 bottiglie: Canta la canzone 99 bottiglie di birra.
    Esempio RusPython 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à.

ruspython's People

Contributors

eleirbag89 avatar stefanoio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

platypus-8

ruspython's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.