RISOLTO Linguaggio multipiattaforma con GUI facile

Stato
Discussione chiusa ad ulteriori risposte.

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Cercando sul web, ho letto qualcosa su perl e su C# dentro monodevelop,
Non so, sono un pò scettico, Sul Perl ho letto pochissimo, mentre sul C# avviato tramite monodevelop non ho trovato argomentazioni recenti.

Il mio prossimo nuovo linguaggiio di programmazione dovrebbe svolgere il suo compito in ambiente Linux desktop con S.O. come fedora, lubuntu, Linux Mint e sabayon.
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,222
1,853
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Il supporto per C# è migliorato, ma personalmente lo consiglierei sotto Windows.
Che devi realizzare? Hai dato uno sguardo a Kotlin magari? Cito questo in quanto so che utilizzavi Java.
In base a ciò che devi realizzare, anche Python può essere un'opzione (considerando la sua semplicità).

"Con gui facile" è un pò riduttivo... hai guardato Java con JavaFx? Sinceramente Swing è macchinosa, ma non così difficile (a quanto ricordi).
A questo punto puoi dare uno sguardo anche ad ElectronJs, se vuoi qualcosa di semplice.
 

pabloski

Utente Èlite
2,868
916
Cercando sul web, ho letto qualcosa su perl e su C# dentro monodevelop,
Non so, sono un pò scettico, Sul Perl ho letto pochissimo, mentre sul C# avviato tramite monodevelop non ho trovato argomentazioni recenti.

Perl??? Non farlo. C'è una ragione per cui un certo Guido Van Rossum sentì il bisogno di creare Python. Perl ha fatto la storia di Unix, non ci piove. Ma ha una sintassi che sembra uscita dalla mente di un pazzo furioso.

C#, se lo conosci, usalo. Sennò, non ha senso abbracciare C# per sviluppare software per Linux.

Il mio prossimo nuovo linguaggiio di programmazione dovrebbe svolgere il suo compito in ambiente Linux desktop con S.O. come fedora, lubuntu, Linux Mint e sabayon.

Magari sostituisci Java con Kotlin e conservi la JVM, i miliardi di librerie Java, JavaFX e tutto l'ambaradan. Ma potresti saltare il fosso e pensare di buttarti su un LISP, nello specifico Clojure. E stiamo andando pian piano verso i linguaggi più esotici.

Hai la possibilità di puntare su uno dei linguaggi con supporto a QT ( C++, Python, Rust, Crystal, Go, Haskell, OCaml ).

Uno dei linguaggi con binding per Sciter ( una libreria per la creazione di GUI tramite un HTML-like ). Anche qui abbiamo Rust, Go, Python.

Elencare i linguaggi con supporto a GTK+ e wxWidgets è inutile. Si tratterebbe di fare l'elenco completo di quasi tutti i linguaggi a disposizione :D

Siccome hai scritto "GUI facile" e il concetto di facile è un pelino soggettivo...tuttavia, credo che qualcosa basato su un linguaggio di markup tipo XML, HTML e compagnia, sia da considerare più facile. Quindi Sciter appunto o vai di Electron ( Node.js + Chromium ).

Ovviamente ognuna di queste soluzioni ha i suoi pro e contro. Andrebbero scelte in base allo scopo finale.

Per fartela breve, sui linguaggi, direi che è buona cosa avere conoscenza almeno di un linguaggio imperativo, uno funzionale e un LISP.

Gli imperativi sono parecchi e presentano ( alcuni ) delle peculiarità interessanti. Cioè, C e C++ sono abbastanza assimilabili. Senza contare che conoscere C++ è di fatto conoscere anche C. Java fa le sue cose, ma è un C-like. Se ti serve perchè ti viene chiesto da un committente, allora ok. Altrimenti potresti farne a meno. E il discorso è applicabile a molti altri linguaggi.

Ma già se prendi Rust, noterai subito che non è il tradizionale linguaggio imperativo. E in verità ha elementi funzionali. Ma soprattutto implementa un modello di memoria completamente nuovo, pensato per ridurre al minimo i bug. Quindi diventa un linguaggio da conoscere.

O se prendi Go, il cui vantaggio è il modello di concorrenza basato CSP. Cioè non esiste un altro linguaggio che ti consenta di scrivere codice concorrente corretto e con tanta facilità.

Poi vengono linguaggi che hanno vantaggi ma niente di rivoluzionario. Python è estremamente espressivo. I programmi si scrivono quasi da soli. Ed è facile scrivere programmi corretti al primo colpo.

Ma se prendi Crystal, per esempio, ti trovi di fronte ad un linguaggio Ruby-like, con prestazioni da linguaggio C++. Cioè ha il suo perchè. Se sei uno sviluppatore Ruby, puoi usarlo per realizzare applicazioni desktop, server, ecc... molto performanti ( Ruby è lento, Crystal è un Ruby veloce ). Però l'elemento rivoluzionario non c'è.

E ovviamente c'è l'onnipresente Javascript, che è come l'inglese per il mondo degli affari.

Poi ci sono i LISP. Che vale la pena conoscere per capire che programmare non è sottostare alle regole del linguaggio, ma espandere il proprio universo creativo. La flessibilità dei LISP è qualcosa che non trovi in nessun altro linguaggio.

E ci sono i linguaggi funzionali, che invece sono molto rigidi, ma consentono di realizzare software corretto. Sono linguaggi che insegnano la disciplina. Che pure è necessaria nella vita e nella programmazione!

Comunque, dopo tutto questo pippone, il tuo cammino parte dalla scelta del GUI toolkit. E se fai un giro, noterai che si parla quasi sempre di GTK+, Qt, wxWidgets, magari un pò IUP, FLTK e qualche altro. Poi ci sono quelli basati su linguaggi di markup, tipo Sciter ed Electron. E poi ci sono quelli poco usati/poco noti e/o proprietari di un certo ambiente. Penso alla GUI del linguaggio Red, alla LCL di Free Pascal/Lazarus, a quella del linguaggio/framework HaXe, ma trovi pure quella di Pharo ( un linguaggio + IDE ) e quella di Racket.

Red, Pharo e Racket hanno la caratteristica di essere ambienti abbastanza integrati, nel senso che linguaggio, GUI e IDE tendono a formare un tutt'uno. Pharo, in particolare, segue questa logica alle estreme conseguenze ( e bisogna provarlo per capire cosa intendo per "estreme conseguenze" ). E' difficile da spiegare il perchè possano essere utili e in quali casi d'uso. Ma è bene tenerli a mente e magari giocarci un pò.

E non ho nominato Flutter, che sta sbarcando sul desktop e ha una GUI proprietaria.

A questo punto, ti consiglio di prendere nota di queste tecnologie e fare una ricerca per vedere di che si tratta e quale si addice di più al tuo modo di programmare.

E ovviamente fare altre domande qui, magari approfondiamo alcune di queste tecnologie. In generale, il mondo delle GUI è parecchio caotico e spesso vengono adottati approcci diametralmente opposti. Cioè, la maggior parte usa il solito approccio OOP, ma che può risultare sgradevole da usare in alcuni casi.
 
Ultima modifica:

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Vi ringrazio per i vostri suggerimenti.
Quando parlo di Gui facile, intendo riferirmi al modo di disegnare una finestra di interfaccia, posizionando i widget all'interno della finestra dove desidero che compaiono durante l'esecuzione di un qualsiasi programma desktop, amio esclusivo uso e consumo. Io ormai programma per passatempo , perchè programmare mi nobilita nella mente e nello spirito e mi permette di non pensare ad altro che raggiungere lo scopo di quanto ho immaginato.
Il linguaggio non è un problema. Devo solo trovare quello che più si coniuga col mio modus di scrivere codice. Java andrebbe benissimo e mi piace moltissimo, ma non trovo agevole e rapido, allo stesso tempo, il posizionamento dei widget sulla finestra di interfacciamento.

Non conosco Lisp. Avendo scelto S.O Linux, ho scelto a suo tempo di utilizzare eclusivamente strumenti free, quindi non sono interessato ad ambienti con caratteristiche di proprietà.

I miei programmi, hanno bisogno quasi sempre, oltre ad interfaccia utente pratica, ma gradevole alla vista, di database e funzioni di stampa su carta di alcuni report.

Spero di essere stato più chiaro sul mio criterio di massima di fare programmazione, forse un pò antiquata, ma dipendente anche dalla profondità del mio orizzonte di ideatore di progetti informatici.
 

pabloski

Utente Èlite
2,868
916
Quando parlo di Gui facile, intendo riferirmi al modo di disegnare una finestra di interfaccia, posizionando i widget all'interno della finestra dove desidero che compaiono durante l'esecuzione di un qualsiasi programma desktop

In questo caso lo scopo è progettare le GUI tramite strumenti RAD che consentano un posizionamento "grafico" degli elementi. Ti dirò che non c'è unanimità su questo punto, nel senso che alcuni preferiscono usare il codice, altri preferiscono usare linguaggi dichiarativi.

Per chi ama il WYSIWYG, non si può non citare gli strumenti di Visual Studio, in particolare tutto quanto concerne Visual Basic. Su Linux esistono sotto forma di Mono/MonoDevelop.

Ma non finisce qui. GTK+ c'ha Glade ( preferibile usarlo tramite altri IDE come Anjuta ) . FreePascal c'ha Lazarus. wxCrafter per Codelite. Qt Designer ( oggi parte di Qt Creator ). E c'è Gambas. E' tutta roba free ed opensource.

Ho escluso Netbeans e il suo GUI designer, perchè mi pare di capire che l'hai già usato!?!

Tutti quelli citati permettono di disegnare le interfacce graficamente. Alcuni permettono anche di modificare il relativo codice. In ogni caso, non costringono ad editare del codice di markup o codice sorgente per disegnare la GUI.

Inoltre, i vari Electron e similari che ho citato nell'altro post, ovviamente non vanno bene o almeno andrebbero accoppiati ad altri tool per poterti consentire di disegnare le GUI graficamente. Diventa parecchio farraginoso.

Non conosco Lisp. Avendo scelto S.O Linux, ho scelto a suo tempo di utilizzare eclusivamente strumenti free, quindi non sono interessato ad ambienti con caratteristiche di proprietà.

I Lisp sono una famiglia di linguaggi, che comprende pure i linguaggi discendenti da Scheme ( che è un discendente di Lisp a sua volta ). Parecchie implementazioni di Lisp sono opensource. Racket, Clojure, Common Lisp ( sbcl ), Guile, ecc...

In generale, non esistono linguaggi che non consentano d'interfacciarsi, in un modo o nell'altro, ai database.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
In questo caso lo scopo è progettare le GUI tramite strumenti RAD che consentano un posizionamento "grafico" degli elementi. Ti dirò che non c'è unanimità su questo punto, nel senso che alcuni preferiscono usare il codice, altri preferiscono usare linguaggi dichiarativi.
Solitamente preferisco disegnare i controlli grafici in progettazione, però, se occorre, lo faccio anche da codice.


pabloski ha detto:
Ho escluso Netbeans e il suo GUI designer, perchè mi pare di capire che l'hai già usato!?!
No, non l'ho usato. Non sono riuscito ad avviarlo nemmeno una volta. Sarà perchè non ho capito come fare leggendo la guida (in inglese).

VisualStudio è molto pesante per il mio vetusto pc, ma mi sto attrezzando con qualcosa di fresco. L'ho comunque provato, ma non sono arrivato fino all'applicazione pratica dell'interfaccia grafica, ora non ricordo perchè, probabilmente per la manifestazione di errori.

Come avrai capito ho iniziato tanti percorsi di prova per l'apprendimento e ciò mi ha fatto più male che bene, tanto da non sapere più come andare avanti. Ecco perchè cerco ancora un linguaggio che disponga anche di un'interfaccia con cui combinare facilmente l'input e l'output.
 

Andretti60

Utente Èlite
6,440
5,091
... Per chi ama il WYSIWYG, non si può non citare gli strumenti di Visual Studio, in particolare tutto quanto concerne Visual Basic. ...
Beh, da quando e' stato introdotto .NET (venti anni fa?) il linguaggio "di scelta" per scrivere applicazioni GUI usando DevStudio e' C# (VB.NET e' rimasto per i "vecchi" programmatori VB6 che non volessero passare a un altro linguaggio). Il vantaggio di C#, oltre ad avere molte piu' features di VB, e' che permette di scrivere interfacce grafiche in WPF (Windows Presentation Foundation) che e' molto piu' moderna e flessibile dei "vecchi" componenti WinForms. Usare WPF pero' richiede una curva di studio molto ripida. E comunque C# e DevStudio rimangono strumenti prettamente da usare in Windows (ho provato in altri sistemi operativi, e' un macello).
 

pabloski

Utente Èlite
2,868
916
Solitamente preferisco disegnare i controlli grafici in progettazione, però, se occorre, lo faccio anche da codice.

In generale, nel codice del programma nessuno apprezza inserire elementi della GUI. Per questo, il minimo sindacale è offrire un linguaggio di markup ( accoppiato a quello di programmazione ) per descrivere le interfacce. E poi ci sono i tool RAD che permettono di progettare graficamente la GUI.

No, non l'ho usato. Non sono riuscito ad avviarlo nemmeno una volta. Sarà perchè non ho capito come fare leggendo la guida (in inglese).

Tra Netbeans ed Eclipse, effettivamente la confusione è tanta. Sono apprezzati per la loro flessibilità e potenza, ma sono elefantiaci e farraginosi. Non ti biasimo. E in verità moltissimi programmatori preferiscono altro.

Restando in ambito Java, una soluzione discreta è IntelliJ Idea. Potresti usarlo per sviluppare progetti JavaFX ( siccome offre un GUI builder grafico ). Il problema è che non è leggerissimo. Se VS è pesante, questo non scherza.

Ecco perchè cerco ancora un linguaggio che disponga anche di un'interfaccia con cui combinare facilmente l'input e l'output.

In passato erano tutti così. Ci siamo persi per strada. Comunque ad oggi, quel tipo di esperienza la puoi trovare in Gambas ( Basic ) e Lazarus ( Pascal ).

QtCreator e i suoi designer ti aiutano, ma il problema è che Qt è troppo legata al C++. E C++ non è un linguaggio semplice da apprendere. E' un autentico mostro.

Poi ci sono vari linguaggi visuali, tipo Sketch. Ma è roba per insegnare ai bambini, quindi non potresti produrre software molto utile.

E butto lì un'idea magari puzza. Perchè non considerare di buttarsi sullo sviluppo di videogames con Unity? Avresti un ambiente integrato, la possibilità d'imparare C# e i giochi motivano molto più del normale software.
Post unito automaticamente:

Beh, da quando e' stato introdotto .NET (venti anni fa?) il linguaggio "di scelta" per scrivere applicazioni GUI usando DevStudio e' C# (VB.NET e' rimasto per i "vecchi" programmatori VB6 che non volessero passare a un altro linguaggio). Il vantaggio di C#, oltre ad avere molte piu' features di VB, e' che permette di scrivere interfacce grafiche in WPF (Windows Presentation Foundation) che e' molto piu' moderna e flessibile dei "vecchi" componenti WinForms. Usare WPF pero' richiede una curva di studio molto ripida. E comunque C# e DevStudio rimangono strumenti prettamente da usare in Windows (ho provato in altri sistemi operativi, e' un macello).

E' flessibile ma al costo di una maggiore curva d'apprendimento e possibile perdita d'entusiasmo per strada. E poi, appunto, petrusic è stato lapidario sul cross-platform.

E poi, si dica quel che si vuole, imho un linguaggio simil-Java come C# non sarà mai espressivo come un Basic. Oggi non userei mai il Basic, ma se non fosse stato per GWBasic prima e Qbasic poi, probabilmente oggi non lavorerei in questo campo :D

E Turbo Pascal che mi fece provare il brivido di dominare il processore.
 
  • Mi piace
Reazioni: fabio93

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
In generale, nel codice del programma nessuno apprezza inserire elementi della GUI. Per questo, il minimo sindacale è offrire un linguaggio di markup ( accoppiato a quello di programmazione ) per descrivere le interfacce. E poi ci sono i tool RAD che permettono di progettare graficamente la GUI.

Tra Netbeans ed Eclipse, effettivamente la confusione è tanta. Sono apprezzati per la loro flessibilità e potenza, ma sono elefantiaci e farraginosi. Non ti biasimo. E in verità moltissimi programmatori preferiscono altro.

Restando in ambito Java, una soluzione discreta è IntelliJ Idea. Potresti usarlo per sviluppare progetti JavaFX ( siccome offre un GUI builder grafico ). Il problema è che non è leggerissimo. Se VS è pesante, questo non scherza.

Mi pare che siamo al punto di partenza, con tanta carne sul fuoco, ma vedo solo fumo. Non riesco a decidermi.
Quasi quasi torno al vecchio QBasic, con QB64.
 

Andretti60

Utente Èlite
6,440
5,091
... E' flessibile ma al costo di una maggiore curva d'apprendimento e possibile perdita d'entusiasmo per strada. E poi, appunto, petrusic è stato lapidario sul cross-platform.
In teoria C# e' possibile usarlo sia su Linux (con Mono) che su Apple OSX, ma e' estremamente macchinoso, io ci ho provato tanto per provare visto che adesso per lavoro uso quasi esclusivamente C# su Windows. Che sia un linguaggio non facile da imparare e' quello che ho detto anche io, ma in fondo dipende anche da come lo si voglia utilizzare, per scrivere semplici applicazioni di tipo console o desktop e' facile usarlo quanto VB. Ovvio che poi diventa piu' difficile quando si vogliano fare applicazioni piu' complesse.

Personalmente, per creare interfacce grafiche multi-piattaforma ho usato Qt (che si pronuncia "chiut" come la parola inglese "cute" ossia "carina") che e' effettivo (sviluppavo in Windows usando DevStudio e compilavo per un dispositivo Linux portatile con touch screen), e' usato da molti anche a livello professionale (alcuni hanno migrato a Qt da wxWidgets, come VLC per esempio). Ma, come quasi tutti gli strumenti del programmatore, non direi proprio che sia facile da usare.
 
  • Mi piace
Reazioni: fabio93

pabloski

Utente Èlite
2,868
916
Mi pare che siamo al punto di partenza, con tanta carne sul fuoco, ma vedo solo fumo. Non riesco a decidermi.
Quasi quasi torno al vecchio QBasic, con QB64.

Oddio, QB64 è un bel giocattolino. E' il salto facile facile è Gambas. Quelle che ho proposto sono tutte soluzioni che rispettano i requisiti richiesti. Ma potrebbe piacerti di più l'una o l'altra. Questo puoi verificarlo solo provandole.

In ogni caso, se hai una buona conoscenza del Basic, non vedo perchè non provare Gambas. Magari non ci si scrivono programmi per le auto a guida autonoma, ma è un ambiente di sviluppo rispettabilissimo e supporta GUI, database, ecc...
Post unito automaticamente:

In teoria C# e' possibile usarlo sia su Linux (con Mono) che su Apple OSX

Il problema, nel caso di petrusic, è l'impossibilità di usare WPF pure su Linux. Ci sarebbe Avalonia, ma ovviamente già il setup può essere macchinoso. Poi non c'è un GUI designer WYSIWYG. Usando Forms, almeno c'ha il supporto del designer di Monodevelop.

Personalmente, per creare interfacce grafiche multi-piattaforma ho usato Qt (che si pronuncia "chiut" come la parola inglese "cute" ossia "carina") che e' effettivo (sviluppavo in Windows usando DevStudio e compilavo per un dispositivo Linux portatile con touch screen), e' usato da molti anche a livello professionale (alcuni hanno migrato a Qt da wxWidgets, come VLC per esempio). Ma, come quasi tutti gli strumenti del programmatore, non direi proprio che sia facile da usare.

Qt ha una strana curva d'apprendimento. E ha un modo davvero particolare di gestire le basi di dati. Ciò sbattuto 3 giorni, prima di capire che diavolo avevano fatto. E in effetti non è malaccio.

Se ci fossero meno bug, sarebbe meglio. E se fosse meno C++-centrico.

p.s. perchè DevStudio e non QtCreator?
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Oddio, QB64 è un bel giocattolino. E' il salto facile facile è Gambas...........................................

In ogni caso, se hai una buona conoscenza del Basic, non vedo perchè non provare Gambas. Magari non ci si scrivono programmi per le auto a guida autonoma, ma è un ambiente di sviluppo rispettabilissimo e supporta GUI, database, ecc...
Post unito automaticamente:

Come ho sempre detto, dall'inizio di questa discussione, Gambas lo conosco moltissimo.
Ho imparato a conoscerlo nel 2008, subito dopo essere entrato nel mondo Linux. Con Gambas ho scritto un programma di contabilità familiare, a mio uso e consumo (vedi qui).

Complessivamente va, ma l'ho trovato poco agevole per alcuni aspetti, uno di questi, tanto per fare un esempio, è che non ha risorse native per la stampa cartacea di un report, ma occorre ricorrere ad una classe scritta da un appassionato, classe da copiare in ciascun programma che dovvesse avviare un processo di stampa cartacea.

La somma delle esperienze negative vissute e la non portabilità all'interno di un S.O diverso da Linux mi ha spinto e mi spinge sempre più a cercare un linguaggio diverso, supportato da un'interfaccia grafica che non richieda acrobatiche evoluzioni mentali.

Spero di avere chiarito ulteriormente il concetto di partenza del mio deisiderio di ricerca.
 

pabloski

Utente Èlite
2,868
916
non ha risorse native per la stampa cartacea di un report, ma occorre ricorrere ad una classe scritta da un appassionato, classe da copiare in ciascun programma che dovvesse avviare un processo di stampa cartacea.

Non troverai linguaggi general purpose con supporto integrato a questo tipo di funzionalità. Nel mondo Javascript si campa di classi e moduli scritti da appassionati e non. Ed è un continuo aggiornamento, che sistematicamente rende il tuo codice incapace di girare. E ad ogni aggiornamento, risali sulla giostra e cominci a modificare pezzi del tuo codice per farlo girare di nuovo.

Gli ambienti di sviluppo più avanzati, ti danno un repository centralizzato e rigidamente gestito dove queste librerie di terze parti vengono ammassate e rese più o meno gestibili. Penso a nuGet di .NET, a PyPi di Python, Crate.io di Rust, ecc...

Comunque Gambas c'ha la classe Report2, che supporta anche la stampa su carta


Del resto, fu Visual Basic uno dei primissimi linguaggi ad implementare classi per generare, gestire e stampare report. E Gambas ne è il clone più fedele. Cioè, a parte usare programmi ad hoc come Powerpoint, non c'è un linguaggio che ti offre un supporto nativo a questa funzionalità. I linguaggi di programmazione non sono nati per realizzare report.

La somma delle esperienze negative vissute e la non portabilità all'interno di un S.O diverso da Linux mi ha spinto e mi spinge sempre più a cercare un linguaggio diverso, supportato da un'interfaccia grafica che non richieda acrobatiche evoluzioni mentali.

Beh questo si. Gambas è Linux/BSD-only. Ma oggi Windows 10 implementa WSL, che permette di far girare programmi Linux, anche grafici!!

Spero di avere chiarito ulteriormente il concetto di partenza del mio deisiderio di ricerca.

Se Gambas non è una scelta possibile, visti i requisiti, solo Python può aiutarti. A patto di accettare una maggiore complessità nel disegnare le GUI.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Se Gambas non è una scelta possibile, visti i requisiti, solo Python può aiutarti. A patto di accettare una maggiore complessità nel disegnare le GUI.

Gambas non è più nel mio cuore, soprattutto perchè non è multipiattaforma.
E se dovessi cambiare idea sulla piattaforma informatica da usare per i miei programmi, che me ne faccio di Gambas?

Tanto per fare un esempio, 4 anni fa ho avuto la necessità di scrivere un programma per la gestione di un torneo di calcetto per mio figlio, programma che doveva girare in ambiete Windows. Ebbene, ho dovuto studiare Python per scrivere quel programma, naturalmente senza GUI.
Dopo avere finito, ho cercato di aggiungervi l'interfaccia grafica. ma è stato un disastro e così ho abbandonato tutto.

Per tornare al punto di partenza, sono alquanto stanco e demotivato.
 
  • Mi piace
Reazioni: pabloski

pabloski

Utente Èlite
2,868
916
Ebbene, ho dovuto studiare Python per scrivere quel programma, naturalmente senza GUI.
Dopo avere finito, ho cercato di aggiungervi l'interfaccia grafica. ma è stato un disastro e così ho abbandonato tutto.

Per tornare al punto di partenza, sono alquanto stanco e demotivato.

Python+Qt ( PyQt ) o Python+wxWidgets ( wxPython ) sono soluzioni molto buone

Il problema è che quasi tutte le tecnologie moderne presentano un disaccoppiamento tra linguaggio e GUI library/framework. Tutte tranne alcune, tipo Red o Racket https://dev.to/goober99/learn-racket-by-example-gui-programming-3epm

Oppure c'è Xojo ( un Basic ) che però è closed e a pagamento. E c'è FreePascal/Lazarus o il suo fratello closed ( ma gratis nelle versioni community ) Embarcadero Delphi https://www.embarcadero.com/products/delphi/starter
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!