» »

Programski jezik D

Programski jezik D

Nanthiel ::

Pozdravljeni!

Ga kdo pozna? Je kdo že kaj programiral v njem?

Rad bi malo razširil zanimanje, saj se mi zdi kot jezik zelo dober, četudi prevajalnik in standardna knjižnica malo pešata (v funkcionalnosti in/ali dokumentaciji).

Jaz od zdaj naprej pišem stvari za faks v njem, da vidim, kako se obnese, nimam pa še zaključenega mnenja.

MrBrdo ::

Obstaja ena gora takih jezikov (Go, Scala...). Kaj je prednost tega D? :)
Drugače jaz osebno ne vidim ravno velike vrednosti takih jezikov, ker če me hitrost ne skrbi uporabljam dinamične jezike, sicer pa C++ (sploh zdaj ko je C++11 je še bolj fino).
MrBrdo

Nanthiel ::

Ja C++0x (ali 11, kakorkoli) je tudi zelo fajn. Jaz navadnega sploh ne bi uporabljal.
Sicer pa se mi D dopade zaradi naslednjih stvari:

  • vektorske operacije (oz. operacije na tabelah),

  • možnost funkcijskega programiranja (do neke mere -- zaradi zelo močnih »templatov«),

  • tipizirani enumi,

  • DbC -- Design by Contract podpora na nivoju jezika (zaradi tega se mi Eiffel dopade),

  • unittest, debug atributi (čisto praktično),

  • asociativne in dinamične tabele na nivoju jezika,

  • kompleksna števila (na nivoju jezika),

  • keyword »scope«,

  • range (na primer »1..n« v »foreach (i ; 1..n)«),

  • tabele preverjajo indeks dostopa (da ne pademo čez) -- da se izključit med prevajanjem,
    ampak je zelo priročno za razhroščevanje (vsekakor bolj kot SIGSEGV ali Valgrindov
    »illegal access of size blahblah«),

  • rezi tabel (»slice«). Ne vem, če se to dobro obnese v praksi, ampak deluje OK.


Pa še kaj bi se verjetno našlo. Garbage collectorja ne bom štel kot prednost. :)
Menda ima dobro podporo za sočasnost (zaklepanje in podobno), ampak tega še nisem probal.
Mogoče sploh ni implementirano. :P
(Dejansko ob določenih stvareh prevajalnik vrže "Error: not implemented!" ...)

Če kaj od tega ima tudi C++ se opravičujem in me prosim popravite.

Zgodovina sprememb…

  • spremenil: Nanthiel ()

phyro ::

2-3 leta nazaj sem ga opazil in se odločil (zgolj zaradi testiranja hitrosti) da prepišem eno seminarsko nalogo v jezik D (blo je ene 800 vrstic java kode). Načeloma ni blo problemov, sem pa imel tako nesrečo da sem pri prvi uporabu moral obesit ticket za bug pri generiranju random števil. Takrat sem uporabljal še dmd 1.X, so pa potem dokaj hitro fixali bug, sam se mi ni dalo spet ubadat :D So pa očitno dodali določene stvari jeziku (ne spomnim se da bi takrat opazil možnost uporabe slice-ov)
Jezik je načeloma ok, se mi pa zdi da se nekako ni zalaufal.
btw eni poljaki so nardili eno 3D streljačino v njem, ne spomnim se imena igre je pa eden izmed glavnih razvijalcev bil h3r3tic na ircu, nevem če je še gor

Nanthiel ::

Mja sej še zdaj vrne prevajalnik kak "not implemented" (meni pri operacijah na tabelah, kjer sta v izrazu nastopali več kot 2 tabeli), pa bug reportov je precej. Jaz ga ne bi uporabljal v komercialnem okolju, mu ne zaupam toliko. Ampak jezik je lep in za fakulteto je odličen!

Ma pa enih par čudnih stvari, kot je npr. to, da tabelo deklarirano kot "int[maxX][maxY] a" uporabljamo kot "a[y][x]", torej ravno obratno. S tem da se jo uporablja normalno, če jo alociramo dinamično kot "int[][] a = new int[][](maxX,maxY)". Meni se to zdi zelo dvoumno.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SuSE 10.0 in problem z driverji

Oddelek: Operacijski sistemi
71375 (1322) kriko1
»

Gentoo setup problem

Oddelek: Operacijski sistemi
251746 (1570) G2
»

Linux / ATI Radeon / problem z driverji

Oddelek: Operacijski sistemi
131745 (1562) ahac
»

Kako razporediti elemente v sobi [slika] (strani: 1 2 )

Oddelek: Loža
5530470 (936) Marjan
»

novi java problemi

Oddelek: Programiranje
51204 (1064) StratOS

Več podobnih tem