Alternativa a python. Che ne dite di Gambas?

Pubblicità
un compilatore si occupa di tradurre un programma scritto in un linguaggio con una data sintassi nel linguaggio comprensibile da un dato processore. Non ha importanza se un linguaggio usa uno stile alla Visual Basic, che per me è moderno sebbene un pochettino migliorabile, o un linguaggio alla LISP. Se alla fine il risultato deve essere quello, meglio usare un linguaggio dalla sintassi più semplice possibile.
.

Non avrei dovuto rispondere alla provocazione, ma quanto hai detto sopra mi sembra una ottima sintesi del tuo livello di conoscenza degli argomenti di vorresti parlare. Amen.



Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Comunque non vedo perchè continuare questa discussione:
mi pare evidente che tu non hai tempo/voglia/capacità di programmare alcunché né hai intenzione di fare il benché minimo sforzo di imparare qualsivoglia linguaggio/tecnica nuova che richieda una fatica maggiore di fare click su un link trovato bighellonando Internet.
Io vedo che sei molto presuntuoso, e ignorante.
Non mi conosci affatto e ti permetti di giudicarmi, ma credo che il tuo intervento sia per difendere qualcun altro. E che cosa è, una setta? Un moderatore può chiudere questa discussione, ha tutto il potere per farlo, per tuo comando, ma rimane il fatto che dovrebbe chiudere invece solo la tua bocca.
--- i due messaggi sono stati uniti ---
Non avrei dovuto rispondere alla provocazione, ma quanto hai detto sopra mi sembra una ottima sintesi del tuo livello di conoscenza degli argomenti di vorresti parlare. Amen.
Mi sembra di essere stato chiaro sul mio livello di conoscenze di programmazione. Ma tu, come il precedente, ti ostini a parlare da essere superiore. Io non mi comporto nello stesso modo se uno come te incomincia a interessarsi al mio settore (è inutile che me lo chiediate, non è importante e non lo dirò).
 
Scusa, ma Gambas supporta i puntatori. Poi di quello che se ne può fare, con quel linguaggio, non lo so, dato che non conosco affatto il c o il c++.

Riferimenti sarebbe più corretto. Li chiamano puntatori e vabbè. Ma un puntatore è una variabile che consente di impostare una locazione di memoria arbitraria. E posso svolgere operazioni aritmetiche su questo numero contenuto nel puntatore.

Cioè vuoi accedere al framebuffer VGA per visualizzare i primi messaggi durante il boot di un kernel. Fai

C:
    char *videobuffer = (char*)0xB8000;
    while( *testo )
    {
        *videobuffer++ = *testo++;
        *videobuffer++ = colore;
    }

Non è stata allocata nessun'area di memoria tramite le apposite funzioni ( Alloc nel caso di Gambas ). E puoi scorrere arbitrariamente quella zona di memoria usando l'operatore di post-incremento.
 
Riferimenti sarebbe più corretto. Li chiamano puntatori e vabbè. Ma un puntatore è una variabile che consente di impostare una locazione di memoria arbitraria. E posso svolgere operazioni aritmetiche su questo numero contenuto nel puntatore.

Cioè vuoi accedere al framebuffer VGA per visualizzare i primi messaggi durante il boot di un kernel. Fai

C:
    char *videobuffer = (char*)0xB8000;
    while( *testo )
    {
        *videobuffer++ = *testo++;
        *videobuffer++ = colore;
    }

Non è stata allocata nessun'area di memoria tramite le apposite funzioni ( Alloc nel caso di Gambas ). E puoi scorrere arbitrariamente quella zona di memoria usando l'operatore di post-incremento.
Se imparerò Gambas tralascerò i puntatori, dato che non mi serviranno per niente.
--- i due messaggi sono stati uniti ---
Qualche esempio di programma trovato negli esempi:
sc1.webp
Due orologi, entrambi senza nessuna cornice. Il secondo con trasparenze. Beh, nulla da aggiungere.
 
Se imparerò Gambas tralascerò i puntatori, dato che non mi serviranno per niente.

Ci sono situazioni in cui sono indispensabili. Praticamente non esiste linguaggio che non ne faccia uso, anche se al programmatore non lo dà a vedere. Python campa sui puntatori. Ogni oggetto è molto complesso ( anche un semplice numero ) e viene passato in giro copiando i puntatori. E nemmeno Gambas ne può fare a meno, altrimenti quell'orologio che hai mostrato, non lo disegnerai mai. Che poi si tratti di riferimenti, senza necessità nè possibilità di manipolarli arbitrariamente, non cambia il fatto che sta passando da una variabile all'altra delle locazioni di memoria.

Comunque non è che con Gambas non si possano realizzare programmi, è che l'informatica non si è fermata lì. Poi ad ognuno la scelta di quanto andare in profondità.
 
Io vedo che sei molto presuntuoso, e ignorante.
io ignorante? sicuramente si! presuntuoso proprio no.

Non mi conosci affatto e ti permetti di giudicarmi
nessun giudizio, semplici constatazioni. Bello che in giro ci sia gente così in Gambas.

Puntatori, riferimenti, handle, indirizzi... chiamali come vuoi sono ovunque. La traduzione in linguaggio macchina di qualunque linguaggio ed in qualunque stile di programmazione, alla fine si riduce a quello: copia/gestione/spostamento di indirizzi. Queste sono le regole del gioco, se non le rispetti non puoi giocare.
 
Ultima modifica:
Python campa sui puntatori.
Ho usato Python tanto, non ho mai sentito la loro mancanza. Del resto, non conoscendoli, e non avendone mai visto non solo l'ombra ma anche la penombra, ti pare che stia a pensare ai puntatori? Non è che python campa sui puntatori, è che esplicitamente non li ha. Ma poi, è possibile che un linguaggio non debba basarsi su quelli? Sono necessari.
--- i due messaggi sono stati uniti ---
Ovviamente, non sono certo un fenomeno... da parco.
 
Tecnicamente, un linguaggio ti può impedire di gestire puntatori a basso livello. Ma, come dicevo nel mio post precedente, anche se ben nascosti ci devono essere per forza, altrimenti non si potrebbe compilare in linguaggio macchina (anche se la macchina è virtuale)
 
Ho usato Python tanto, non ho mai sentito la loro mancanza. Del resto, non conoscendoli, e non avendone mai visto non solo l'ombra

E infatti non li vedi, perchè Python non te li fa vedere. Ma li usa la macchina astratta/modello che implementa il linguaggio, ovvero l'interprete e/o compilatore. Tanto per dire, se dovessi scrivere un codec audio o video in Python o Gambas, saresti fregato. Ovviamente risponderai che passi. Ovvio. Puoi farlo. Ma chi lavora nel settore non può. Ecco perchè esistono tanti linguaggi e tutti diversi.

Non ha senso lasciar perdere Gambas, se ti piace. Usalo. Solo che nel normale percorso di apprendimento e/o di lavoro, capita di dover fare delle cose che il linguaggio rende (1) difficili da fare, (2) subottimali, (3) impossibili. Per questo quasi tutti i programmatori hanno la mania di documentarsi e sperimentare le nuove tecnologie ( linguaggi compresi ) che man mano vengono fuori.

Per esempio, Rust sta guadagnando molti consensi, perchè è un linguaggio "safe", i cui meccanismi di sicurezza sono a costo zero. Potresti fregartene della sicurezza e dire che in fondo non t'interessa creare software col minor numero di bug e vulnerabilità possibile. Però, in genere, un programmatore non ragiona così. Un programmatore è molto spesso un hacker e gli hacker non rinunciano mai alle nuove occasioni di apprendimento/sperimentazione che gli si parano davanti.
 
Ultima modifica:
Non ha senso lasciar perdere Gambas se ti piace. Usalo.
Infatti, mi piacerebbe vedere come se la cava sul campo. Hanno prodotto anche un intero desktop in questo linguaggio (l'ho scaricato ma non lo ho ancora provato).
Potresti fregartene della sicurezza e dire che in fondo non t'interessa creare software col minor numero di bug e vulnerabilità possibile.
Difficile parlare di sicurezza. Se i programmi non sono collegati a internet e se sono eseguiti come utente si può stare abbastanza tranquilli.
Per i bug il discorso è diverso. Fino a quando si tratta di semplici glitch grafici si può anche soprassedere (per farti un esempio, le gtk3 della mia distro alcune volte mostrano una banda scura nella parte superiore delle headbar, se prevista). Un altro conto sono i bug non grafici, lì faccio molta attenzione.
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top