Ho letto alcune domande correlate su questo sito, tra cui:
quale lingua dovrei cercare di imparare se mi piacerebbe sviluppare per Windows
e
Come avviare la programmazione in Windows
ma ritengo che la mia situazione sia leggermente diversa e ho alcune altre domande su cui vorrei esprimere alcune opinioni.
Sono uno studente maturo che fa una laurea in Informatica. Devo scegliere un'idea per il mio progetto per l'ultimo anno molto presto. Ho intenzione di produrre un prodotto software Windows specifico (applicazione desktop - abilitato per il Web) quando esco da uni e vedere il mio progetto per l'ultimo anno come un'opportunità per ottenere un vantaggio su questo. In particolare, voglio affrontare tutte le parti difficili come il networking e la sicurezza.
Al momento non mi interessa molto la compatibilità cross-platform, perché il mercato di questo prodotto utilizza Windows, ma ho bisogno di scegliere la lingua e il framework che dovrei usare molto presto.
Sono certificato in Java (OCPJP (usato per essere SCJP)) e all'università abbiamo usato Java, C e Occam (uurrghh). Tuttavia, stavo pensando di imparare il C ++ in modo da poter usare il framework Qt che sembra piuttosto buono.
Tuttavia ho qualche problema. Sarebbe più veloce usare C #, piuttosto che C ++ e Qt? Quali sarebbero i vantaggi dell'utilizzo di Qt? Spero che renderà lo sviluppo veloce e renderà il mio software sicuro e difficile da decifrare. Sono consapevole del fatto che devo pagare per il privilegio (non voglio usare l'opzione che è gratuita, dato che dovrei rendere disponibile il mio codice sorgente).
Se utilizzo C #, imparerò il framework .NET che è fondamentalmente un sacco di classi helper per accelerare lo sviluppo di Windows, è corretto? Capisco che posso usare parecchie lingue diverse con .NET e verranno tutte compilate nella stessa lingua intermedia.
Qual è la differenza tra Microsoft Foundation Class Library e Windows Presentation Foundation? Qualcuno conosce i vantaggi dell'utilizzo di uno dei due?
Non penso che il software sarà molto complesso. Ho utilizzato professionalmente 4 prodotti diversi del tipo che voglio realizzare (sono uno studente maturo) e la parte di elaborazione effettiva non deve essere all'avanguardia perché la domanda non è mai così grande per i computer moderni anche piuttosto bassi ( ovviamente cercherò comunque di essere efficiente), ma il design generale e l'usabilità sono stati sorprendenti, mancando nella maggior parte di essi e spero di fare meglio. Voglio solo assicurarmi che sia bello e che io possa svilupparlo rapidamente.
Devo continuare a leggere Visual C ++ di Ivor Horton che tratta C ++, le basi della programmazione Windows, Windows Form e Microsoft Foundation Classes? O qualcuno ha un suggerimento migliore. Tempo limitato a disposizione, quindi devo decidere gli strumenti che ora utilizzerò per il prodotto finito.
Mi dispiace molto che questo post sia così lungo, ma è molto importante per me ricevere alcuni buoni consigli su questo.
Grazie mille:)
Modifica:
Buon articolo su StackOverflow
Un'altra modifica:
La gestione della memoria è qualcosa di automatico quando si sviluppa con C ++ / Qt? Capisco che se stai usando .NET con C ++, è tutto spazzatura.