Perché Qt dovrebbe essere considerato dannoso? [chiuso]

5

Un ampio elenco di " roba dannosa " relativa allo sviluppo del software è presentato su cat -v . Qt è dannoso? Quale sarebbe la logica per considerare Qt dannoso? Perché dovrebbe Tcl / Tk essere presentato come un'alternativa superiore?

    
posta Judge Maygarden 23.05.2011 - 17:05
fonte

3 risposte

8

Quel sito è progettato attorno all'idea di semplici implementazioni , piuttosto che semplici interfacce. Si fa riferimento a questo sito come design in stile Unix rispetto al design in stile MIT.

Come tale, Qt è "considerato dannoso" perché si sforza di offrire un'interfaccia più semplice possibile, aumentando al contempo la complessità interna. Ad esempio, QString s condivide la memoria internamente, in alcune circostanze, quando viene copiata. Dimmi che è il comportamento previsto e l'implementazione più semplice possibile. Non è. È utile quando si memorizzano grandi quantità di dati duplicati in diversi QString s, tuttavia, gli sviluppatori hanno aggiunto tale funzione. Come afferma il maintainer di quel sito web, non implementare le funzionalità è difficile ( paper ).

L'elenco dei software "dannosi" nel link mostra che questo è un modello comune: l'autore preferisce il software è semplice nell'implementazione, fa una cosa e lo fa bene. Che l'autore sia corretto nelle loro ipotesi sul software complesso dipende dal lettore, e molti non sarebbero d'accordo.

Personalmente, cerco di rimuovere la complessità non necessaria dai programmi che scrivo quando possibile. Tuttavia, al fine di scrivere software utili, come programmatore, spesso è necessario affrontare tale complessità come ovvio. Il tuo lavoro, come detto programmatore, è quello di aggiungere le funzionalità richieste con una minima aggiunta di complessità.

    
risposta data 23.05.2011 - 21:15
fonte
7

La domanda, almeno per me, non è perché è dannosa, ma se è o non è. Penso di no, in realtà. È un ottimo toolkit. I toolkit sono dannosi in quanto non dovrai imparare come stanno le cose che si trovano sotto di loro, ma anche se esistono, sei ancora libero di farlo, e dovresti farlo. Dovresti utilizzare anche i kit di strumenti quando disponibili (il più delle volte, lo sono). Questo non era specifico per Qt e l'autore ha elencato Tcl / Tk (toolkit) come opzione migliore, quindi non sembra che l'autore sia contrario agli stessi toolkit.

Potrebbe essere la licenza (Tcl / Tk usa una licenza BSD molto più liberale e gran parte del software che utilizza è in qualche variante della GPL), o potrebbe essere solo la preferenza personale dell'autore (e sembra non essere in grado di vedere qualcosa di buono in altre cose).

L'autore non elenca alcun punto sul perché pensa che Qt sarebbe cattivo, e quindi puoi solo speculare, e non riesco a capire perché Qt sarebbe dannoso. Molte cose su quel sito solleva anche la domanda generale: "L'autore è serio, o sta solo scherzando / trollando?". Penso che sia il secondo.

    
risposta data 23.05.2011 - 18:42
fonte
2

Considererei Qt dannoso per la sua implementazione.

La mia scelta preferita è la mancanza di puntatori intelligenti. La memoria viene gestita manualmente e la proprietà non è chiara.

Questa mancanza di semantica / convenzione di proprietà della memoria chiara nell'API è dannosa - è necessario leggere il documento ... e sappiamo che ogni sviluppatore lo legge scrupolosamente, no? e non commettere mai errori, naturalmente

Un uso appropriato degli idiomi C ++:

  • usa puntatori intelligenti nell'interfaccia quando diventi proprietario
  • usa riferimenti quando l'oggetto deve essere vivo più a lungo del metodo chiamata / oggetto che viene creato e non sarà di proprietà
  • ecc ...

creerebbe un'API meno soggetta a errori e, in definitiva, si baserebbe su un software di migliore qualità.

A parte questo, sembra che l'autore di questo sito abbia un senso dell'umorismo.

    
risposta data 23.05.2011 - 20:18
fonte

Leggi altre domande sui tag