2009-05-26 17 views
20

Qualcuno ha mai avuto esperienza con lo D programming language?Esperienze con linguaggio di programmazione D

Sembra avere molte funzioni interessanti ma riuscirà mai a raggiungere la popolarità di quei linguaggi attualmente diffusi come C++, Java o C#?

Vale la pena imparare o è una lingua isolata con prospettive minori.

+0

vale la pena imparare perché ha qualche caratteristica piacevole ma non vale la pena investire per scrivere app del mondo reale perché gli strumenti e la libreria sono una schifezza. Semplicemente non è organizzato bene e troppe questioni sottili con cose che sprecano molto più tempo di quanto si pensi. Nessuna impresa lo vuole. Penso che molti possano inconsciamente intuire che è una lattina di vermi. È come comprare una porche online per 10k che sembra incredibile e funziona alla grande ... ma quando la guidi per un mese inizi a notare che le cose non stanno andando bene ... poi, alla fine, le cose cominciano a crollare. – Stretto

+0

Penso che l'uso migliore di D sia quello di fare certi algoritmi e strumenti di alto livello che non sono grandi o interconnessi, quindi usarli da altre lingue. In questo modo si spende meno in D, ma si possono usare le sue potenti caratteristiche in modo più vantaggioso. Sfortunatamente questo è complicato a causa dell'interoperabilità tra esso e altri linguaggi (finirai per scrivere in C piuttosto che in C++ perché i modelli non si traducono tra i due ... anche se probabilmente uno potrebbe superarlo con alcuni wrapper che funzionano bene). – Stretto

risposta

37

Ho trascorso alcuni giorni a giocare con D per vedere come si confronta con C++ e java. È posizionato come un altro modo per ottenere le stesse cose che fa il C++, ma senza tutto il comportamento indefinito, e con l'aggiunta di un garbage collector, di un ciclo foreach e di alcune altre sottigliezze moderne. Si compila in codice nativo in modo da ottenere l'accesso a tutte le solite ottimizzazioni che possono verificarsi da questo scenario.

L'intero linguaggio C è incapsulato come un sottoinsieme di D come i blocchi di livello inferiore da cui viene costruita gran parte della lingua. Ciò può aiutare con la portabilità, ma impedisce anche che D si evolva in un'unica metodologia coerente.

La possibilità di eseguire qualsiasi funzione C nativamente in D apre il regno della possibilità di includere sistemi di programmazione - sistemi operativi, driver, ecc

Esistono due sistemi di classe comunemente utilizzati in D. Il predefinito è Phobos , che è piuttosto spartano e semplice nel design, consentendo di creare le strutture necessarie, ma fornendo pochi elementi di costruzione grandi o complessi. L'altro è Tango, che ricorda la libreria di classi java e contiene un framework molto più completo. C'è anche un progetto per consentire l'interoperabilità delle due librerie.

In base alla mia esperienza, D è un bel linguaggio per la codifica, ha molto in comune con C# e java e consente l'accesso al macchinario grezzo tramite C e persino all'interpolazione di assemblaggio. Il limite principale che vedo è la mancanza di un buon supporto per gli strumenti di sviluppo. Ci sono alcuni IDE e plugin là fuori, ma niente di molto completo, quindi potresti stare meglio con un editor di testo e uno strumento di compilazione della riga di comando nel frattempo.

Esistono due versioni della lingua, D1 e D2. D1 è meglio supportato da framework e compilatori per ora, e D2 ha aggiunto alcune funzionalità utili che rendono il linguaggio più facile da gestire e da utilizzare.

Update (giugno 2009): Recentemente ho cercato in D di nuovo e pensato che avrei dovuto richiamare l'attenzione DSource, che ora ha un certo numero di progetti diversi compilatore, ed è la sede della biblioteca Tango, varie collegamenti, diversi toolkit della GUI e un paio di IDE. Alcuni dei progetti sono stati abbandonati nella loro infanzia, ma credo che oggi ce ne siano alcuni che stanno andando forte e stanno facendo buoni progressi. A questo punto, sembra molto che il successo di D sarà determinato dal movimento open source molto più che dai suoi progenitori.

Update (febbraio 2012) Anche se non ho guardato molto in D dopo la mia ultima modifica, mi noteranno che D2 è fuori ora, con il supporto di un grande libro, The D Programming Language. Tipico di Alexandrescu, espone molti dettagli del sistema di template, inclusi i vincoli del template, che rendono D uno strumento molto più espressivo e sicuro rispetto allo stato attuale del C++.

Oltre a leggere il libro, dal 2009 non ho avuto contatti con il linguaggio di D, con i suoi strumenti e la sua comunità, quindi non posso commentare la loro maturazione o crescita fino ad oggi.Sono a conoscenza di un piccolo gruppo di programmatori professionisti che desiderano essere autorizzati a utilizzare la lingua sul posto di lavoro, ma la maggior parte di noi è generalmente bloccata con C++ e altre lingue popolari nelle aree in cui D dovrebbe essere al suo meglio.

+1

+1. Una valutazione equa dello stato attuale delle cose, anche se si stanno facendo rapidi progressi sul fronte del toolchain. Vedi LDC (http://www.dsource.org/projects/ldc) e Descent (un plugin Eclipse: http://www.dsource.org/projects/descent). – dsimcha

+2

@dsimcha: Idem sul commento della catena di strumenti, sta migliorando rapidamente. Se la catena degli strumenti fosse addirittura dell'80% come valida per D come per C++, allora penso che C++ diventerebbe rapidamente un linguaggio legacy. Visto il tempo, penso che ci arriverà. – BCS

+0

@BCS: Sono d'accordo, il fatto che D abbia persino questo livello di supporto così presto nella sua vita può essere un indicatore del suo successo futuro. –

1

Se si guarda a cose come popolarità lingua, ecc ho trovato TIOBE ad essere una buona risorsa http://www.tiobe.com/content/paperinfo/tpci/index.html

Come si può vedere D è nella top 20.

+2

L'ho appena visto (febbraio 2012) e sfortunatamente ora è a 40. Detto questo, è ancora al di sopra di Haskell, Go, Eiffel, Clojure, Scala e altre lingue molto discusse. Secondo Tiobe, una delle lingue emergenti è LOGO !! – Justin

+0

È tornato solo a 39 :( – Demi

+0

agosto 2014, girato fino a 28. Mi chiedo perché l'assemblaggio è così popolare – simonzack

Problemi correlati