Alternativa a python. Che ne dite di Gambas?

Pubblicità
Per esempio un'alternativa che si potrebbe consigliare è FreePascal/Lazarus.
Bello FreePascal, ma è troppo da programmatori seri. Comunque è un bel prodotto. In altri tempi e occasioni l'avrei imparato.

Io uso Linux, quindi anche se non è multipiattaforma poco mi importa.
 
Bello FreePascal, ma è troppo da programmatori seri. Comunque è un bel prodotto. In altri tempi e occasioni l'avrei imparato.

Io uso Linux, quindi anche se non è multipiattaforma poco mi importa.

Eh ma col basic devi stare attento al fattore espressività.

Cosa voglio dire? Guarda gli esempi su questa pagina https://vlang.io/

In particolare HTTP+time. Cioè un webserver!!

Oppure in Go https://gowebexamples.com/http-server/

E la monumentale feature di Go, la programmazione concorrente resa semplice https://gobyexample.com/goroutines
 
Gambas è Unix-only
Più che Unix-only direi Unix-like, molto meno errabondo come termine.

Ti ho già risposto su questo punto, uso Linux.
Ciò non toglie che il linguaggio di programmazione abbia una pessima portabilità, non so se mi spiego. Se usi un sistema operativo GNU/Linux non toglie che il linguaggio di programmazione potrebbe non andare sotto qualsivoglia sistema operativo non Unix-like. Su Windows hai bisogno di Cygwin.
Se devi tenerlo per te, allora buon per te. Ora devi tenere conto soprattutto del punto che ti ho illustrato, cioè se ne vale la pena di utilizzarlo solo a scopo di ammaestramento.

E chi le vuole includere
Appunto, la tua affermazione non aveva totalmente senso.

Gambas, a prima vista, contiene tutte le librerie che uno possa normalmente desiderare, in tutti i campi
Questo è falso. Librerie come quelle utilizzate per scrivere un webserver, lavorare l'HTML dei siti come in Ruby o Python non esistono in Gambas.

python, un progetto mastodontico che prima o poi (o lo è già?) sfuggirà di mano agli sviluppatori.
Dal mio punto di vista questa affermazione è abbastanza astratta.

Il fatto che si tratti di "basic" non ha alcun significato "limitativo" come vorrebbero farti credere
Credo che la tua risposta sia stillando dal tema della discussione, in quanto nessuno sta parlando di intendere "limitativo" quando si parli di "basic".
 
In che senso? Così :hihi: o così :asd: o così :+1:?

Lo so che sembra un concetto astratto. Ma provando vari linguaggi, ti accorgi che certe cose le fai in due righe con un linguaggio ( e il risultato è pure corretto ), mentre diventa un incubo con un altro.

Il multithreading è l'esempio lampante. Farlo in C/C++, ma pure in altri linguaggi più avanzati, è roba da sindrome da stress post traumatico.
 
Dal mio punto di vista questa affermazione è abbastanza astratta.
Parecchi sono rimasti delusi dalla nuova versione 3, e chi proveniva da Java ci sta ritornando. Meglio pensarci su.
--- i due messaggi sono stati uniti ---
Lo so che sembra un concetto astratto. Ma provando vari linguaggi, ti accorgi che certe cose le fai in due righe con un linguaggio ( e il risultato è pure corretto ), mentre diventa un incubo con un altro.
Io sono autodidatta nella programmazione e ho solo imparato ciò che python mi metteva a disposizione nelle sue guide ufficiali. Ovviamente a volte ho dovuto usare altre strade per dei casi più particolari. Finora ho solo creato dei programmi abbastanza semplici e generici, e sinceramente non ho le competenze per creare, che ne so, web server o driver di periferiche. Ma un hobby lo si può coltivare in vari modi, che chi si costruisce un'automobile reale e chi si costruisce un modellino.
 
Ultima modifica:
Più che Unix-only direi Unix-like, molto meno errabondo come termine.


Ciò non toglie che il linguaggio di programmazione abbia una pessima portabilità, non so se mi spiego. Se usi un sistema operativo GNU/Linux non toglie che il linguaggio di programmazione potrebbe non andare sotto qualsivoglia sistema operativo non Unix-like. Su Windows hai bisogno di Cygwin.
Se devi tenerlo per te, allora buon per te. Ora devi tenere conto soprattutto del punto che ti ho illustrato, cioè se ne vale la pena di utilizzarlo solo a scopo di ammaestramento.


Appunto, la tua affermazione non aveva totalmente senso.


Questo è falso. Librerie come quelle utilizzate per scrivere un webserver, lavorare l'HTML dei siti come in Ruby o Python non esistono in Gambas.


Dal mio punto di vista questa affermazione è abbastanza astratta.


Credo che la tua risposta sia stillando dal tema della discussione, in quanto nessuno sta parlando di intendere "limitativo" quando si parli di "basic".
Non è né unix-like né unix-only, ma Linux-only.
Il fatto che non sia un linguaggio multipiattaforma non costitu necessariamente un fattore negativo.
Ho quasi 50 anni e programmo da quando andavo se medie, di certo non confondo BASIC con "basic", ma conosco molto bene quali sono i pregiudizi in tal senso.. vedi sopra: "espressività"

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Meglio pensarci su.
Consiglierei di pensarci su pure a te. Ho la sensazione che tu sia troppo ostinato con le tue idee e che non abbia intenzione di capire ciò che io abbia scritto, in tal caso penserei fosse in te che non abbia tanto senso chiedere pareri.

Non è né unix-like né unix-only, ma Linux-only.
Scorretto. Gambas è Unix-like, come credo volesse già intendere l'altro utente, e non Linux-only in quanto è supportato pure da BSD.
Ma non è questo il punto cardine della discussione, è tutt'altro e non hai nemmeno accennato nulla al riguardo: fuori tema.
 
Non è né unix-like né unix-only, ma Linux-only.

Su FreeBSD pure ci gira. Con linuxulator ovviamente.

vedi sopra: "espressività"

Per essere espressivo è espressivo. Il guaio è che manca di tutti i meccanismi moderni, alcuni dei quali ormai necessari ( vedi le goroutine/canali per implementare il modello CSP in Go ).

Già una volta il Basic è stato rimodernato in chiave procedurale ed object-oriented. L'ha fatto Microsoft con Visual Basic. Il guaio è che oggi non c'è nessuna entità di peso interessata ad implementare nuovi meccanismi in un basic.
--- i due messaggi sono stati uniti ---
Parecchi sono rimasti delusi dalla nuova versione 3, e chi proveniva da Java ci sta ritornando. Meglio pensarci su.

Purtroppo, da assiduo utilizzatore di Python e un tempo anche parecchio fanboy, devo darti ragione. Il linguaggio non sta più evolvendo secondo una precisa direzione. Semplicemente si chiede alla comunità cosa vorrebbe e parecchie cose si buttano dentro senza pensarci troppo.

Sta prendendo la stessa identica strada già presa da Java. Python doveva rimanere un linguaggio di scripting ed implementare il minimo indispensabile per essere produttivi.

Hanno deciso altrimenti e partiti in quarta con decoratori, green threads e altre robe, la cui implementazione si è dovuta scontrare col modello di programmazione del linguaggio. Possiamo rigirarla come vogliamo, ma quel global interpreter lock resterà lì ad impedire una sana e reale implementazione del multithreading.

Il casino con la versione 3, poi, è successo soprattutto per un'altra leggerezza nel design iniziale, ovvero la non presa in considerazione di Unicode al posto di ASCII. Da cui casini con le stringhe in chiave di portabilità. E casini con gli encoder/decoder nella lettura/scrittura su file. Seriamente, quanti linguaggi ci costringono a specificare l'encoding di un file che andiamo a leggere? Python 2 ha questa chicca.
 
Ultima modifica:
Paragonare Gambas/Python mi sembra una inutile perdita di tempo.
Sembra di paragonare un'australopiteca ad una delle attuali miss del genere "sapiens": è sicuro che uno che preferisce l'australopiteca lo trovi.
 
Paragonare Gambas/Python mi sembra una inutile perdita di tempo.
Sembra di paragonare un'australopiteca ad una delle attuali miss del genere "sapiens": è sicuro che uno che preferisce l'australopiteca lo trovi.
Io credo che python sia stato sopravvalutato. Comunque ci sarebbe da valutare python in due modi. Uno come linguaggio di scripting per un uso senza GUI, il secondo per un uso con GUI. In quest'ultimo caso è la scelta peggiore, sia con riferimento a Gambas che a Ruby che a TCL o Perl. Per non parlare poi di Java, un abisso di differenza.
 
Stai facendo paragoni quasi irrazionali, non puoi mettere quei linguaggi di programmazione sullo stesso piano di confronto. La presenza di Gambas, tra l'altro, insieme a Java lascia quantomeno basiti!

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
il problema va rovesciato: NON devi scegliere UN linguaggio, devi prima capire COSA vuoi fare, e scegliere il linguaggio in base al tuo progetto, altrimenti non va bene niente.
Vado a memoria ricordando tue discussioni precedenti: per i motivi più vari fino ad oggi hai scartato C/C++/C#/Java/Python, ora ci aggiungi Free-Pascal (Lazarus). In pratica fino ad ora hai scartato il 100% di tutto ciò che i programmatori usano (non sto considerando i linguaggi per il web come javascript e derivati o framework vari).

Ti piace Gambas? e allora usalo.
Però ascolta pure i consigli di chi qualche esperienza in più ce l'ha: troverai molto meno supporto (quasi nullo) e molta meno documentazione.

I linguaggi sono strumenti, SONO UN MEZZO, non lo scopo del programmatore. Quindi usa Gambas senza problemi, nel momento in cui sarà limitato perché le tue capacità saranno sicuramente aumentate, cambi linguaggio.
Ti assicuro che il Pascal è un eccellente linguaggio: puoi usarlo in modo semplice, puoi perfino usare i puntatori senza tutte le trappole del C/C++ (e se non ti piacciono non li usi e basta!). Se non ricordo male, l'ambiente free-pascal Lazarus ti offre anche strumenti per disegnare GUI. Ma è ovvio che c'è una curva di apprendimento. In futuro le intelligenze artificiali scriveranno il codice per te (letteralmente: tu parli al computer col microfono, l'IA ti scrive il codice), ma per ora tocca pedalare!
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top