Cercasi testi per lo studio di c++, java e swift in ambienti grafici

Stato
Discussione chiusa ad ulteriori risposte.

Phoenix530

Utente Attivo
304
21
Salve a tutti. Sono approdato qui dopo essermi perso nel web alla ricerca di valide risorse didattiche cartacee e non. Ho studiato programmazione fino a 15 anni fa circa all'industriale, partendo dal linguaggio "c/c++", ma non sono mai andato oltre le basi delle interfacce testuali a riga di comando con cui proggettavamo le applicazioni in laboratorio con visual studio 5 o 4 addirittura...mi piacerebbe riesumare da zero per un rapido ripasso c++ e riuscire ad applicarlo su windows e osx per sviluppare applicazioni ad interfaccia grafica che abbiano un senso. Non riesco a trovare testi completi ne guide gratuite sul web da poter consultare. Sapreste darmi qualche consiglio? Mi piacerebbe poter recuperare in questo settore riuscendo a farlo diventare magari un lavoro secondario piu' in la sviluppando app android in java o ios in swift (altri 2 linguaggi che vorrei studiare bene sa zero). Grazie a tutti per i consigli anticipatamente
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
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
Visto che non usi da così tanto C++ dovrai praticamente riguardarlo quasi da zero.
Comunque come lib grafiche per C++ ci sono le Qt. Ne esistono tante altre come WxWidgets e per C/C++ puoi scegliere anche tra SDL2, GLFW e altre... ma dipende dallo scopo che hai (sicuramente per il tuo penso sia meglio Qt).
Una guida, che è la doc ufficiale, la trovi sempre sul sito di Qt.
 
  • Mi piace
Reazioni: Andretti60

pabloski

Utente Èlite
2,868
916
Sono perplesso dall'ampiezza dei tuoi obiettivi. Andare da C++ a Java e fino a Swift. Stai decisamente mettendo troppa carne al fuoco.

Dovresti restringere gli obiettivi, altrimenti resterai con un pugno di mosche.

Intanto ti conviene decidere se puntare al mobile first o desktop first. Le relative piattaforme sono abbastanza differenti. Gli strumenti sono tantissimi e più o meno adatti a vari casi d'uso.

Esempio banale. Perchè non studiare Flutter/Dart per lo sviluppo mobile? E' un framework nuovo, moderno, ovviamente implementa le GUI e può essere usato per sviluppare app iOS e Android, oltre a webapp e programmi Windows, macOS e Linux. Ma altrettanto si può dire per Xamarin/.NET. E per Qt.

E ognuno di questi si porta dietro il suo linguaggio preferito.

Chiaro che potresti fare altrettanto in C++ e il punto è che se lo conosci abbastanza bene, risparmi tempo. E ovviamente è preferibile studiare un framework GUI multipiattaforma ( tipo GTK+, Qt, wxWidgets ), a meno che non ci si voglia vincolare ad una singola piattaforma ( che so, UWP per Windows ).

Sono scelte da fare prima di iniziare.
 
  • Mi piace
Reazioni: Andretti60

Andretti60

Utente Èlite
6,440
5,091
In aggiunta agli ottimi consigli qui dati, vorrei ricordare che si impara un linguaggio perché occorre imparare a programmare, ma poi bisogna capire che per scrivere effettivamente una applicazione occorre imparare un sacco di altre cose. Un linguaggio solo andava bene forse quaranta anni fa, quando esisteva solo il desktop e un programma scritto in C poteva essere ricompilato con pochi cambi per qualsiasi sistema operativo, in quanto non esisteva praticamente interfaccia grafica. Adesso ormai i linguaggi sono molto specialistici come pure le piattaforme di sviluppo, sapere programmare è solo una parte della equazione.

Se vuoi il mio consiglio, visto che è tanto tempo che non programmi, ritorna al C++ e per il momento dimentica la interfaccia grafica. Impara a dividere i programmi in librerie con API ben definite, le librerie sono il “cuore” di ogni applicazione, una volta che sono ben scritte le puoi adattare a qualsiasi programma finale, per esempio aggiungere una interfaccia grafica. Dopo devi decidere su quale piattaforma vuoi continuare a lavorare, quello restringerà i linguaggi e le piattaforme che vorrai imparare, perché ormai il C++ da solo non basta, devi imparare linguaggi più moderni. Per esempio se vuoi continuare su Windows devi imparare C#, se vuoi qualcosa multi piattaforma devi andare di Java (sono solo esempi).
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili