JN7.net

D Programlama Dili

D Programlama Dili (D Programming Language); kısaca D diyelim, nesne tabanlı, çok örnekli diye çevirebileceğimiz multiparadigm sistem programlama dilidir. Walter Bright tarafından Digital Mars isimli ufak bir Amerikan şirkette geliştiriliyor. D dili C++ dilini temel alarak C++ dilinin eksik ve yavaş taraflarını kaldırıp daha gelişmiş bir dil oluşturmaya çalışmışlar. C++ dilini temel alsa da C, C# ve Java dillerinden de güzel yanlarını almış. Kararlı sürümü 1.0, 2 Ocak 2007 de yayınlanmış, deneysel bir sürüm de 2.0, 17 Haziran 2007 da yayınlanmış.

D ile ilgili birkaç kaynak :

http://www.digitalmars.com/d/

http://d-programming-language.org/

http://www.osnews.com/story/6761

http://www.sun-inet.or.jp/~yaneurao/dlang/english.html

http://www.dsource.org/

http://www.asahi-net.or.jp/~cs8k-cyu/ D dili ile yazılmış birkaç ufak oyunun olduğu bir site. Örnekleri görmek açısından güzel gözüküyor.

Örnek Bir program :

#!/usr/bin/dmd -run

/* sh style script syntax is supported */

/* Hello World in D

To compile:

dmd hello.d

or to optimize:

dmd -O -inline -release hello.d

*/

import std.stdio;

void main(char[][] args)

{

writefln("Hello World, Reloaded");

// auto type inference and built-in foreach

foreach (argc, argv; args)

{

// Object Oriented Programming

CmdLin cl = new CmdLin(argc, argv);

// Improved typesafe printf

writefln(cl.argnum, cl.suffix, " arg: %s", cl.argv);

// Automatic or explicit memory management

delete cl;

}

// Nested structs and classes

struct specs

{

// all members automatically initialized

int count, allocated;

}

// Nested functions can refer to outer

// variables like args

specs argspecs()

{

specs* s = new specs;

// no need for '->'

s.count = args.length;           // get length of array with .length

s.allocated = typeof(args).sizeof; // built-in native type properties

foreach (argv; args)

s.allocated += argv.length * typeof(argv[0]).sizeof;

return *s;

}

// built-in string and common string operations

writefln("argc = %d, " ~ "allocated = %d",

argspecs().count, argspecs().allocated);

}

class CmdLin

{

private int _argc;

private char[] _argv;

public:

this(int argc, char[] argv)    // constructor

{

_argc = argc;

_argv = argv;

}

int argnum()

{

return _argc + 1;

}

char[] argv()

{

return _argv;

}

char[] suffix()

{

char[] suffix = "th";

switch (_argc)

{

case 0:

suffix = "st";

break;

case 1:

suffix = "nd";

break;

case 2:

suffix = "rd";

break;

default:

break;

}

return suffix;

}

}

Bir önceki yazımız olan Yazılım sürecinde test etme ve kullanılabilirlik. başlıklı makalemizde algoritma, kiss ve yazılım süreci hakkında bilgiler verilmektedir.

4 comments

  1. 13 Nisan 2008, 01:21

    D Programlama Dili…

    D Programlama Dili nedir?…

  2. […] yok etmek istermisiniz. Torus Trooper tam olarak bu şekilde bir oyun. Daha önce bahsettiğim D Programlama Dili ile geliştirilmiş açık kaynak kodlu bir oyun olan ufak boyutlu ama sizi saatlerce başından […]

  3. […] public links >> yaneurao D Programlama Dili Saved by supermarcw on Tue 04-11-2008 iPhoneが見つかりました Saved by humeid on Sun […]

  4. 31 Mayıs 2010, 08:02

    D dilinin Türkçe sitesi bulunduğunu bildirmek istedim:

    http://ddili.org

    Programcılık öğrenmek isteyenlere yönelik ilk D2 kitabı da Türkçe:

    http://ddili.org/ders/d/index.html

    Ali

Leave reply

Back to Top