Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaEdit Takácsné Megváltozta több, mint 10 éve
1
A D programozási nyelv 2014.04.03. Angeli Dávid
2
Nagy vonalakban C++ +++++ --- 2
3
Történet Megjelenés éve: 2001 Fejlesztők: Walter Bright, Andrei Alexandrescu (2006-tól) Utolsó verzió, 2014 február: 2.065 17. a TIOBE listán (2013 március: 30.) 3
4
Walter Bright, Digital Mars 1957 Empire - stratégiai játék, 1971-1977, PDP-10 mainframe C/C++ fordítók (Zortech C++, 1988) D (2001) 4
5
C/C++ C/C++ -szerű look and feel Közvetlen rendszer API elérés Multiparadigma támogatás: OOP, funkcionális, generikus, template metaprogramming Kivételkezelés Futásidejű típusinformáció (RTTI) Operátor túlterhelés Resource acquisition is initialization „Down and dirty” programming 5
6
- C (C++) kompatibilitás C preprocesszor Többszörös öröklődés Névterek Előzetes deklaráció Include files Nem virtuális tagfüggvények 16bit támogatás 6
7
+ Memóriakezelés - Garbage collector Dinamikus tömbök, asszociatív tömbök (-> modern string funkciók) Design by contract Unit teszt Modulok Ddoc – dokumentáció kommentekből 7
8
Helló Világ.d import std.stdio; void main() { writeln("Hello, world!"); } 8
9
Binarysearch, type parameter import std.array; bool binarySearch(T)(T[] input, T value) { while (!input.empty) { auto i = input.length / 2; auto mid = input[i]; if (mid > value) input = input[0.. i]; else if (mid < value) input = input[i + 1.. $]; else return true; } return false; } 9
10
Unit teszt unittest { assert(binarySearch([ 1, 6, 7, 15 ], 6)); assert(binarySearch!(int)([ 1, 3, 15 ], 5)); } Unit teszt futtatása: compilert „-unittest” paraméterrel kell hívni. A tesztek a main függvény előtt futnak. 10
11
C/C++ használata C - D felület: közvetlen C hívások: extern (C) int strcmp(char* string1, char* string2); … return strcmp(std.string.toStringz(s), "foo"); … C library-k elérése könnyű C++ hoz korlátozottabb hozzáférés 11
12
Contract programming long square_root(long x) in { assert(x >= 0); } out (result) { assert((result * result) <= x); } body { return cast(long)std.math.sqrt(cast(real)x); } 12
13
Eszközök és linkek VisualD: http://www.dsource.org/projects/visualdhttp://www.dsource.org/projects/visuald DDT: https://code.google.com/p/ddt/https://code.google.com/p/ddt/ Tutorial a Githubon:http://qznc.github.io/d- tut/#http://qznc.github.io/d- tut/# Community: http://www.dsource.org/http://www.dsource.org/ Official: http://dlang.org/http://dlang.org/ 13
14
Forrás http://dlang.org/ http://dlang.org/ http://www.wikipedia.org/ http://www.wikipedia.org/ http://www.informit.com http://www.informit.com 14
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.