13/12/2022 - euscar ha scritto:
La mia domanda è: vale ancora la pena imparare queste librerie a basso livello, se così si può dire, o è preferibile orientare l'attenzione verso librerie più ad alto livello come Qt, ad esempio? Naturalmente il mio interesse è principalmente sui linguaggi C/C++. Per motivi didattici avevo usato un po' anche C#, ma mi piace di più gestire direttamente tutto il codice.
La domanda dipende sempre dall'obiettivo che si intende raggiungere.
Ad esempio, da sviluppatore software indipendente (ISV), utilizzando Delphi (ma vale lo stesso discorso per Visual Studio) non ho alcun interesse da parte mia nel dovermi sobbarcare per ogni app da realizzare l'onere di invocare le API necessarie a creare una tipica interfaccia grafica per Windows (ma lo stesso discorso in realtà vale anche per altri sistemi operativi), inclusiva di menu, toolbar, controlli principali e così via.
Se da un lato la conoscenza delle API è indispensabile per arrivare là dove non arriva il tool RAD usato per lo sviluppo, salvo necessità molto particolari, in termini di produttività studiarsi tutte le API e scriversi interamente il codice per creare una interfaccia utente è un tempo che non posso permettermi in quanto sottrae concentrazione allo sviluppo molto più importante e rilevante della parte della logica di business, che se fosse impiegato anche per l'architettura elementare dell'applicazione, non farebbe altro che levitare tempi e costi e porre fuori mercato la mia consulenza o fornitura del software stesso.
Se invece l'interesse è accademico, oppure si tratta di un percorso forzato dai tool che si vogliono utilizzare, oppure se c'è un reale motivo alla base della scelta (tecnico, s'intende), allora ben venga la scelta di scrivere interamente il codice dell'applicazione, ivi compreso ciò che si può automatizzare in qualche modo, come la realizzazione di una interfaccia utente.
Tu dici “mi piace di più gestire tutto il codice”… ok, se ti piace di più, fallo. Perché no?
Se dovessi lavorare su software commissionato e ciò non avrebbe un vantaggio particolare, ti direi che sarebbe insensato (o quantomeno rischierebbe di porti fuori dal budget o dalle tempistiche).
Ciao! :)