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;
 
}
 
}

Nis 13th, 2008 | Kategoriler Yazılım | Toplam Okunma=3.605
  1. May 31st, 2010 at 08:02 | #1

    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

Yorum Yazın

XHTML: İzin verilen HTML kodları: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Switch to our mobile site