A D programozási nyelv 2014.04.03. Angeli Dávid. Nagy vonalakban  C++  +++++  --- 2.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

A Java programozási nyelv
Objective- C Bereczki Gréta Tamara
9. előadás (2005. április 26.) Parancssor argumentum kezelés példák (K&R) Fordítóprogramok A C előfordító 1.
Objective-C Készítette: Zsivics Sanel NL5LWN. Tartalom bevezető történeti háttér rangsor elterjedtsége / népszerűsége alapok felépítése (.h,.m, xcode,
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
Adatbányászati technikák (VISZM185)
Programozási Nyelvek (C++) Gyakorlat Gyak 01.
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Programozás alapjai.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Ruby nyelv. Története Yukihiro Matsumoto (szül ápr. 4.) alkotta meg, az ideális script nyelv hosszú eredménytelen keresése után. A lehetséges jelöltek.
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
Programozás I. Horváth Ernő.
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
Programozás I. Horváth Ernő.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
5. előadás Parametrikus polimorfizmus. Generikus programozás
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
C++ alapok, harmadik óra
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Összetett adattípusok
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Készítette: Lipp Marcell
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Bevezetés Amiről ma szó lesz… Miért D? Mert a fejlesztők úgy látták, hogy a C++-on van még mit javítani. Mert a programozók a nyelvnek általában elszigetelt.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Egyenesvonalú (lineáris) adatszerkezetek
Webprogramozó tanfolyam
A Visual Basic nyelvi elemei
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
© Tóth Ákos, Óbudai Egyetem, 2010
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
DLL használata és készítése Feladat
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Excel programozás (makró)
Script nyelvek előadás
Script nyelvek előadás
Script nyelvek előadás
Excel programozás (makró)
A CLIPS keretrendszer
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Python alapok Vincellér Zoltán.
Függvénysablonok használata
Előadás másolata:

A D programozási nyelv Angeli Dávid

Nagy vonalakban  C++   --- 2

Történet  Megjelenés éve: 2001  Fejlesztők: Walter Bright, Andrei Alexandrescu (2006-tól)  Utolsó verzió, 2014 február:  17. a TIOBE listán (2013 március: 30.) 3

Walter Bright, Digital Mars  1957  Empire - stratégiai játék, , PDP-10 mainframe  C/C++ fordítók (Zortech C++, 1988)  D (2001) 4

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

-  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

+  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

Helló Világ.d  import std.stdio;  void main() {  writeln("Hello, world!");  } 8

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 $];  else return true;  }  return false;  } 9

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

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

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

Eszközök és linkek  VisualD:  DDT:  Tutorial a Githubon: tut/# tut/#  Community:  Official: 13

Forrás   