2010-11-18 13 views
5

Prenderesti in considerazione Delphi 2010/XE per lo sviluppo di un nuovo progetto desktop di Windows o lo consideri morto con lo stato corrente di .Net & Prodotti Microsoft (WPF)?Delphi vs C# e WPF per un nuovo progetto?

Se vuoi/non lo utilizzi, ti preghiamo di spiegarne il motivo.

Modifica

Sono d'accordo alla domanda iniziale è un po 'polemico. Tuttavia, questa è una domanda seria. Sono residente in Australia e non ho visto molti CV degli sviluppatori che contengono esperienze recenti delphi, quindi quando dico "morto" mi sto solo chiedendo se sia una cattiva scelta perché c'è un ristretto gruppo di persone che lavorano con esso.

+2

soggettiva e argumentive, questo dipende da ciò che si vuole sviluppare e molte altre cose. – Svisstack

+2

L'Australia ha un gruppo di utenti Delphi abbastanza attivo: http://www.adug.org.au/ che è un buon posto per cercare risorse. –

+5

Perché la gente continua a pensare che Delphi sia morto? È tutt'altro che morto. Fondamentalmente è morto come le applicazioni desktop, in particolare le applicazioni desktop WIN32. –

risposta

12

avrei scelto lo strumento la tua squadra viene utilizzato per, se si può scegliere sia comunque avrei scelto Delphi per un client Win ...

a parte il fatto ci sono più sviluppatori .Net di quelli di Delphi in tutto il mondo ancora (come per i numeri ufficiali ci dovrebbero essere quelli da 1.5M ++ Delphi però - che è un numero abbastanza alto), lì sono altri motivi per cui Delphi potrebbe essere preferito dal lato client (app desktop ecc ...) ...

  • codice nativo/più velocità - NO JIT (tempo molto lento avvio per assiemi complessi o molto esterni programmi dipendenti) ...
  • Più potenza con gestione della memoria semi-manuale (che in casi molti è un vantaggio , dove sul lato GC Net non ti permettono abbastanza libertà o la flessibilità, a parte essere non deterministica in molte situazioni ...)
  • NO (o meno) le dipendenze esterne (singolo .EXE ecc ...)
  • Più facile DEPLOY (REAL xcopy) - per .Net si dipende veramente da 50/70MB ++ RTlibraries e i problemi relativi alla sicurezza potrebbero vincolarvi facilmente ... - -
  • Delphi associa le sue RTLibraries (molto leggere) direttamente a WinAPI (che essenzialmente fa .Net ma anche su un altro/strato gestito aggiuntivo)
  • Esecuzione di programmi/app più veloce con oggetti deterministici/gestione della memoria ...
  • Sul lato specifico della lingua (non della libreria) (a parte lince e alcune differenze minori) tutto ciò che si può fare con C# si può fare con Delphi con codice più facile da leggere e meglio organizzato (funzionalità standard di linguaggio OOP + generici, funzioni anonime, raggiungere RTTI/Reflection, ottimo IDE, librerie ricche, con il supporto per il supporto a 64 bit, multipiattaforma e altri zuccheri) ...
  • Delphi è molto simile al C++ sulle "proteine" (significa che puoi fare tutto ciò che puoi con C++, con il stesso risultato velocità del codice, ma con app eseguite in meno tempo grazie a un solido framework vcl/rtl molto simile a .Net (il fatto è che hanno lo stesso padre praticamente con un linguaggio/struttura del framework molto simile), ...
  • lunga e forte background compatibilità ...

detto questo, e lavorare con C# così, mi piacciono entrambi, su lati diversi, però, ... Is va detto anche che essi sono strumenti realizzati per diversi motivi e obiettivi.

Delphi è nato da programmatori e realizzato per programmatori (nel 1995/6) e .Net/C# è nato da MS "marketing" da un lato e Delphi padre e grande team MS dall'altro lato per sostituire VB6, uccidere Java, sostituire COM, ecc ... e alla fine dare un po 'di aria fresca al portafoglio degli sviluppatori MS in quel momento (circa 2000 ++) ...

Risultato è che Delphi lentamente ma costantemente va avanti, e .Net è molto "storico", il che significa che ha aggiornamenti molto spesso (e alcuni molto interessanti), alcune porzioni diventano obsolete molto spesso, cambiano anche alcune direzioni, fornendo una sensazione molto instabile a molte persone, ecc. ...

Oggi voi avere .Net/C# che ti dà cose che sei stato in grado di fare con Delphi più di 10 anni fa, ma con più lento (codice) e ancora peggiore distribuzione (dll di nuovo, giusto?) ...

Cheers, B.

+0

Il delpi ha un supporto multicore integrato? Nella mia esperienza le due cose migliori di .Net in questo momento sono LINQ, PLINQ e Parallel.Net con Reactive Extensions che stanno arrivando forti. Sono d'accordo sul fatto che Delphi abbia una solida base ed è fantastico che produca direttamente il codice binario. Poi di nuovo, non ho ancora avuto alcun problema con le prestazioni di GC o JIT (e puoi pre-JIT se questo è un problema). Al giorno d'oggi è abbastanza difficile evitare di avere il runtime .Net installato con Windows, quindi la dipendenza spesso non è un problema – Homde

+2

Delphi è multi-thread dalla prima versione. Per framework dedicati, hai ad esempio la molto potente OmniThreadLibrary disponibile su http://otl.17slon.com –

+2

Informazioni sul runtime DotNet, hai installato il 2.0 per lo più. Ma WPF avrà bisogno delle ultime versioni disponibili (3.5 o anche più recenti) ... che non sono così diffuse, e sono un enorme download e tempo per l'installazione. –

7

Delphi non è sicuramente morto, e in effetti ha fatto un bel risveglio negli ultimi anni, da quando è stato raccolto da un'azienda che si preoccupa davvero di renderlo un buon prodotto. E con il futuro di WPF così incerto e in aria ultimamente, non vorrei provare a costruire qualcosa per paura di averlo interrotto da Microsoft come il classico VB.

Quindi direi che vale la pena considerare Delphi molto seriamente per un nuovo progetto. Non è così popolare come C#, ma è un sistema di sviluppo migliore con una serie di librerie mature e una community forte e solidale, e se altre persone non la usano, ciò significa solo che avrai un vantaggio competitivo.

+2

Il futuro del WPF è lontano dall'essere "incerto". Microsoft non sta spingendo altre alternative (si consideri che SL è solo una derivata del WPF) e le "funzionalità" in WinForms sono state congelate da diversi anni. Classic VB è stato "sospeso" in * favore di * versione .NET (che può utilizzare WPF ...) - concesso ci sono un certo numero di cose che la versione .NET non può sostituire VB6 in, esp. con COM +, ma sto divagando ... –

+0

futuro di WPF non è incerta, se non altro a causa della sua stretta di accoppiamento a Silverlight, che ora è molto importante per WP7 sviluppo. Devo dire però che la quantità di applicazioni professionali WPF che raggiungono corrente principale è stata piuttosto deludente – Homde

+2

@MattiasK: Sì, questo è in realtà una grande parte del motivo per cui dico che è incerto. Assomiglia sicuramente al WP7 che si preannuncia come un grande flop e, se muore, Silverlight e WP7 sono praticamente morti insieme ad esso. –

11

Produco applicazioni commerciali con Delphi. Fa tutto ciò di cui ho bisogno e altro ancora.

+1

Hai problemi nel reclutamento per lavorare sulle tue applicazioni? –

+2

Vero, questo è uno svantaggio. Sembra che ci siano meno sviluppatori Delphi là fuori, ma poi di nuovo prenderei un esperto Delphi oltre 3. Noobs così li avvicini un po 'a questo riguardo. –

+3

Ho esperienza con due sviluppatori. che veniva da java. Il tempo di apprendimento è stato molto veloce e la base di dev è molto simile in entrambe le lingue. Ora stanno lavorando in un'app complessa. con datasnap e thread pooling (tre mesi dopo) Non cercare buoni sviluppatori delphi. Cerca semplicemente buoni sviluppatori. –

2

Dipende dal tipo di applicazione che si intende costruire e da altri fattori come l'esperienza di te e del tuo team nelle varie tecnologie. Per le applicazioni tradizionali con molte finestre di dialogo ordinarie, listbox ecc. In cui la personalizzazione, la presentazione e l'animazione non sono così importanti, continuo a pensare che Windows Form abbia un vantaggio rispetto a WPF poiché è una tecnologia più matura con programmatori più esperti e più esempi di codice. WPF non ha ancora molti vantaggi per questo tipo di applicazioni dato che la sua forza IMO è l'accelerazione grafica e la presentazione.

Delphi è fantastico, ero un programmatore delphi e ho trovato che è molto più avanti di Visual Studio/Visual Basic al momento. Al giorno d'oggi però sembra che sia un po 'scadente e .Net ha molti più sviluppatori che Delphi. Anche l'accesso all'intero quadro .Net con tutte le sue classi e metodi è inestimabile

+0

Da quello che vedo da .NET usando gli amici, per le app in realtà viene utilizzato Winforms, non WPF. –

+0

Sì, WPF è ancora piuttosto raro nella mia esperienza, anche se a volte vedo sviluppatori che sono riusciti a convincere il loro capo a creare uno strumento di amministrazione in WPF, probabilmente soprattutto perché volevano imparare qualcosa di nuovo :) – Homde

+0

WPF è pesante. Le applicazioni WPF reali non scalano così bene e bruciano la CPU e la memoria. Ho scoperto che XAML è prolisso per applicazioni ricche (non solo moduli demo). È possibile ottenere l'interfaccia utente 3D, veloce e utilizzando molte meno risorse del PC, con Delphi usando http://www.ksdev.com/dxscene –

4

Riprenderei la scelta WPF perché è "morto"?
http://www.itwriting.com/blog/3385-lessons-from-evernotes-flight-from-net.html

Silverlight morto troppo?
http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834 http://blog.marcocantu.com/blog/microsoft_silverlight.html

ma vero, gli sviluppatori Delphi sono più difficili da trovare, ma è relativamente facile per loro scuola (abbiamo un # sviluppatore VB + C qui "aggiornato" a Delfi ;-))

+0

Grazie per gli articoli, quello WPF era piuttosto interessante. –

2

Sono un programmatore dei giorni Turbo Pascal/C quindi sono stato un fan di Borland da molto prima che RAD diventasse maggiorenne. Ho acquistato Delphi 1.0 (16 bit!) Non appena è uscito (di nuovo quando è stato lanciato Windows 95) e ricordo di aver fatto un amore dolce. Delphi ha continuato a migliorare nel corso degli anni e ho continuato a comprare ogni nuova versione. Ho amato la lingua, ho amato l'ambiente e sono stato un convinto sostenitore e ho continuato a mungere i contratti Delphi nel corso degli anni mentre volavo da un lavoro all'altro in tutti gli Stati Uniti, poi Anders Heijlsberg ha ceduto a Microsoft e .NET e C# è stato rilasciato; era chiaro che la scritta era sul muro. Ho fatto il passaggio e con il passare degli anni ricordo Delphi affettuosamente come farei con un vecchio orsacchiotto ma vorrei mai tornare indietro.Non posso dire di essere sorpreso dall'atteggiamento adottato da Delphi irriducibili poiché posso capire di amare un prodotto così fantastico, ma a volte l'amore può renderti cieco alla realtà e questo è chiaramente il caso. Naturalmente è ancora possibile sviluppare applicazioni in Delphi, ma il suo ambiente e il suo set di strumenti sono stati a lungo superati (principalmente da Visual Studio/.NET di Microsoft) ed è un pezzo da museo al giorno d'oggi che cerca disperatamente di rimanere relavent di virare su bandaid dopo bandaid con ogni nuova release. Fai l'interruttore ragazzi ... renditi conto che quello che stai vivendo è il fenomeno dei "fanatici" e che ti impedisce di andare avanti. Impara qualcosa di nuovo, prova Visual Studio/.NET/C# e trova un lavoro a breve termine. Se dopo 6 mesi decidi che è la cosa migliore dal burro di arachidi e gelatina, hai appena migliorato il tuo ambiente di codifica e la commerciabilità della tua carriera e il potenziale salariale in un colpo solo. Se no, torna da Delphi e buona fortuna a te; niente male fatto?

In breve, Delphi è davvero una lingua morta nella stessa vena che di base e Modula-2 sono lingue morte; ci sono ancora persone che si sviluppano in loro ma non sono più relavent nel grande schema delle cose. Delphi è più moderno della maggior parte delle altre lingue morte e quindi gode ancora di un po 'più di supporto, ma quel supporto si sta erodendo ogni giorno che passa (ed è stato per molti anni) mentre i linguaggi più moderni (ad esempio Java, C#) stanno crescendo e evolvendo.

+2

L'audio di .NET è così dolce, se solo fosse vero! 11 anni dal suo primo avvio e posso ancora individuare un'applicazione gestita dal suo tempo di avvio lento e le sue prestazioni di runtime lente. Apparentemente 11 anni di aggiornamenti hardware e software non sono sufficienti. Microsoft Office non è ancora un'applicazione gestita: se non cambiano, perché dovrei? Assolutamente ** amo ** il concetto di WPF e ** XAML ** ma indovina un po ', i Web sono pieni di chiacchiere sul fatto che WPF sia morto! Visual Studio 2012, sul mio computer, si sente lento. E credimi, è un computer veloce. –

+1

Proprio ieri stavo visitando ragazzi dal mio vecchio lavoro. Stanno rivendendo questo nuovo brillante programma molto grande scritto in .NET. Questo programma è così dannatamente lento che l'apertura di una fattura su un computer veloce e razionale richiede 15 secondi ... ** una ** fattura. La società che ha realizzato questa applicazione era un partner tecnologico di Microsoft. Per rendere le cose più divertenti questa applicazione è installata con InstallAware (scritto in Delphi). Sono in contatto con Visual Studio da alcuni anni e non ne sono affatto colpito. La domanda principale è ora di 2 anni, come è stato sviluppato WPF in quel periodo? – Wodzu

+0

E solo un anno fa ho lasciato un lavoro in cui ho completato la migrazione di una importante applicazione di trading Delphi lenta e pesante a un'app C# .Net molto più flessibile e veloce, ma cosa prova? Ci sono cattivi programmatori in ogni lingua; mantenere questa discussione onesta assumendo che "tutto è uguale" e non utilizzando esempi che non hanno alcun impatto sul set di strumenti utilizzato ed è invece un caso di progettazione/implementazione errata da parte di programmatori malintenzionati. Ho visto la mia giusta dose di codice di merda da entrambe le parti e non ho mai dato la colpa alla lingua. – Anthony

Problemi correlati