Enviar búsqueda
Cargar
D lang
•
0 recomendaciones
•
1,273 vistas
Jonathan Mercier
Seguir
Why to use D programming?
Leer menos
Leer más
Meditación
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 21
Descargar ahora
Descargar para leer sin conexión
Recomendados
Rebort
Rebort
mahammedo
c++ part1
c++ part1
Sltnalt Cosmology
Marsh Transforms Itself With Social Technology - HR Technology Conference 2012
Marsh Transforms Itself With Social Technology - HR Technology Conference 2012
Ben Brooks
Flow of control ppt
Flow of control ppt
Indraprastha Institute of Information Technology
Números Naturais
Números Naturais
Shirley Araujo
Sql
Sql
Tiago
Apostila geo gebra
Apostila geo gebra
Raimundo Renato
Monografia tanilson = 0.1
Monografia tanilson = 0.1
Jean Souza
Recomendados
Rebort
Rebort
mahammedo
c++ part1
c++ part1
Sltnalt Cosmology
Marsh Transforms Itself With Social Technology - HR Technology Conference 2012
Marsh Transforms Itself With Social Technology - HR Technology Conference 2012
Ben Brooks
Flow of control ppt
Flow of control ppt
Indraprastha Institute of Information Technology
Números Naturais
Números Naturais
Shirley Araujo
Sql
Sql
Tiago
Apostila geo gebra
Apostila geo gebra
Raimundo Renato
Monografia tanilson = 0.1
Monografia tanilson = 0.1
Jean Souza
Apostila c# iniciantes
Apostila c# iniciantes
Caique Moretto
2012: Computação Natural - Slides do Curso
2012: Computação Natural - Slides do Curso
Leandro de Castro
Landeiro introducao
Landeiro introducao
Adriana Dassie
Python
Python
Tiago
monografia_andre_paro
monografia_andre_paro
Andre Luiz Catini Paro
Apostila de Bioestatística
Apostila de Bioestatística
Rodrigo Fioravanti Pereira
Algoritmos jabour
Algoritmos jabour
fjabour
Análise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação Interna
Johnnatan Messias
Relatorio final - Blinded Walker
Relatorio final - Blinded Walker
Tiago Cunha
Cientista da computacao usando python
Cientista da computacao usando python
Jean Lopes
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Johnnatan Messias
Pre- Calculo
Pre- Calculo
Jaine Fernandes
Guia Aberto Android ed.2
Guia Aberto Android ed.2
Átila Camurça
Análise bayesiana de decisões aspectos práticos
Análise bayesiana de decisões aspectos práticos
Universidade Federal Fluminense
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
odairmarques5
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
thandreola
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Celso Napoleon
Comentários -João - Hernandes Dias Lopes.pdf
Comentários -João - Hernandes Dias Lopes.pdf
RobertoLopes438472
Oração Pelo Povo Brasileiro
Oração Pelo Povo Brasileiro
Nilson Almeida
Vivendo a vontade de Deus para adolescentes - Cleide Silva
Vivendo a vontade de Deus para adolescentes - Cleide Silva
Sammis Reachers
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
VilmaDias11
Paulo é vítima de fake news e o primeiro culto num domingo
Paulo é vítima de fake news e o primeiro culto num domingo
PIB Penha
Más contenido relacionado
Similar a D lang
Apostila c# iniciantes
Apostila c# iniciantes
Caique Moretto
2012: Computação Natural - Slides do Curso
2012: Computação Natural - Slides do Curso
Leandro de Castro
Landeiro introducao
Landeiro introducao
Adriana Dassie
Python
Python
Tiago
monografia_andre_paro
monografia_andre_paro
Andre Luiz Catini Paro
Apostila de Bioestatística
Apostila de Bioestatística
Rodrigo Fioravanti Pereira
Algoritmos jabour
Algoritmos jabour
fjabour
Análise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação Interna
Johnnatan Messias
Relatorio final - Blinded Walker
Relatorio final - Blinded Walker
Tiago Cunha
Cientista da computacao usando python
Cientista da computacao usando python
Jean Lopes
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Johnnatan Messias
Pre- Calculo
Pre- Calculo
Jaine Fernandes
Guia Aberto Android ed.2
Guia Aberto Android ed.2
Átila Camurça
Análise bayesiana de decisões aspectos práticos
Análise bayesiana de decisões aspectos práticos
Universidade Federal Fluminense
Similar a D lang
(14)
Apostila c# iniciantes
Apostila c# iniciantes
2012: Computação Natural - Slides do Curso
2012: Computação Natural - Slides do Curso
Landeiro introducao
Landeiro introducao
Python
Python
monografia_andre_paro
monografia_andre_paro
Apostila de Bioestatística
Apostila de Bioestatística
Algoritmos jabour
Algoritmos jabour
Análise de Algoritmos de Ordenação Interna
Análise de Algoritmos de Ordenação Interna
Relatorio final - Blinded Walker
Relatorio final - Blinded Walker
Cientista da computacao usando python
Cientista da computacao usando python
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Pre- Calculo
Pre- Calculo
Guia Aberto Android ed.2
Guia Aberto Android ed.2
Análise bayesiana de decisões aspectos práticos
Análise bayesiana de decisões aspectos práticos
Último
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
odairmarques5
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
thandreola
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Celso Napoleon
Comentários -João - Hernandes Dias Lopes.pdf
Comentários -João - Hernandes Dias Lopes.pdf
RobertoLopes438472
Oração Pelo Povo Brasileiro
Oração Pelo Povo Brasileiro
Nilson Almeida
Vivendo a vontade de Deus para adolescentes - Cleide Silva
Vivendo a vontade de Deus para adolescentes - Cleide Silva
Sammis Reachers
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
VilmaDias11
Paulo é vítima de fake news e o primeiro culto num domingo
Paulo é vítima de fake news e o primeiro culto num domingo
PIB Penha
Novo dia de festa o verdadeiro amor tyejaytyo
Novo dia de festa o verdadeiro amor tyejaytyo
thandreola
Cópia de Ideais - Desbravadores e Aventureiros.pdf.pptx
Cópia de Ideais - Desbravadores e Aventureiros.pdf.pptx
LennySilva15
Dar valor ao Nada! No Caminho da Autorrealização
Dar valor ao Nada! No Caminho da Autorrealização
corpusclinic
Lição 6 - As nossas Armas Espirituais.pptx
Lição 6 - As nossas Armas Espirituais.pptx
Celso Napoleon
Joanna_de_Angelis__Autodescobrimento__Uma_Busca_Interior.pdf
Joanna_de_Angelis__Autodescobrimento__Uma_Busca_Interior.pdf
RobertPeresBastos
Último
(13)
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
FORMAÇÃO LITÚRGICA - MINISTROS EXTRAORDINÁRIOS.pptx
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
THIAGO-meudiadefestaparaimpressão_thandreola_300324.pdf
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Lição 5 - Os Inimigos do Cristão - EBD.pptx
Comentários -João - Hernandes Dias Lopes.pdf
Comentários -João - Hernandes Dias Lopes.pdf
Oração Pelo Povo Brasileiro
Oração Pelo Povo Brasileiro
Vivendo a vontade de Deus para adolescentes - Cleide Silva
Vivendo a vontade de Deus para adolescentes - Cleide Silva
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
AUTORA VILMA DIAS - MARIA ANTES DE SER MARIA (1).ppt
Paulo é vítima de fake news e o primeiro culto num domingo
Paulo é vítima de fake news e o primeiro culto num domingo
Novo dia de festa o verdadeiro amor tyejaytyo
Novo dia de festa o verdadeiro amor tyejaytyo
Cópia de Ideais - Desbravadores e Aventureiros.pdf.pptx
Cópia de Ideais - Desbravadores e Aventureiros.pdf.pptx
Dar valor ao Nada! No Caminho da Autorrealização
Dar valor ao Nada! No Caminho da Autorrealização
Lição 6 - As nossas Armas Espirituais.pptx
Lição 6 - As nossas Armas Espirituais.pptx
Joanna_de_Angelis__Autodescobrimento__Uma_Busca_Interior.pdf
Joanna_de_Angelis__Autodescobrimento__Uma_Busca_Interior.pdf
D lang
1.
.. .......... ......
..................... ..................... ..................... ..... ..... . ..... .......... .
2.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . . Walter Bright .. ...... If a
language can capture 90% of the power of C++ with 10% of its complexity I argue that is a worthwhile tradeoff. Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 2 / 21
3.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D Imperative .. 1 typedef unsigned long ulong; 2 3 ulong factorial (ulong n){ 4 if (n < 2) 5 return 1; 6 else 7 return n ∗ factorial (n − 1); 8 } .. 1 ulong factorial (ulong n){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 3 / 21
4.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D Imperative and generics .. 1 template<class T> T factorial(T n){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } .. 1 T factorial (T n){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 4 / 21
5.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D Imperative, generics and contract .. 1 template<class T> T factorial(T n){ 2 assert ( n >= 1 ); 3 if (n < 2) 4 return 1; 5 else 6 return n ∗ factorial (n − 1); 7 } .. 1 T factorial (T n) 2 in{ assert ( n >= 1 ); } 3 out{ assert ( n >= 1 ); } 4 body{ 5 if (n < 2) 6 return 1; 7 else 8 return n ∗ factorial (n − 1); 9 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 5 / 21
6.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D Meta-programing .. 1 typedef unsigned long ulong; 2 3 template <ulong N> struct Factorial { 4 enum { value = N ∗ Factorial<N − 1>::value }; 5 }; 6 7 template <> struct Factorial<0> { 8 enum { value = 1 }; 9 }; 10 11 const ulong x = Factorial<4>::value; 12 const ulong y = Factorial<0>::value; .. 1 template Factorial (ulong n){ 2 static if (n < 2) 3 const Factorial = 1; 4 else 5 const Factorial = n ∗ Factorial !(n − 1); 6 } 7 8 immutable ulong x = Factorial !( 4 ); 9 immutable ulong y = Factorial !( 0 ); Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 6 / 21
7.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D CTFE .. 1 typedef unsigned long ulong; 2 3 ulong factorial (ulong n){ 4 if (n < 2) 5 return 1; 6 else 7 return n ∗ factorial (n − 1); 8 } 9 10 enum ulong x = factorial ( 4 ); 11 enum ulong y = factorial ( 0 ); .. 1 ulong factorial (ulong n){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } 7 8 enum ulong x = factorial ( 4 ); 9 enum ulong y = factorial ( 0 ); Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 7 / 21
8.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . . John Carmack .. ...... Using D
for my daily work is not an option, but I applaud their inclusion of a pure attribute. Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 8 / 21
9.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: C++
vs D functional .. 1 typedef unsigned long ulong; 2 3 ulong factorial (ulong n){ 4 if (n < 2) 5 return 1; 6 else 7 return n ∗ factorial (n − 1); 8 } .. 1 @safe pure nothrow 2 ulong factorial (immutable ulong n){ 3 if (n < 2) 4 return 1; 5 else 6 return n ∗ factorial (n − 1); 7 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 9 / 21
10.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . .. Imperative. Generics . Contracts . Meta- programing . Functional . . . . . . . . . . . . . . . . . . .
. . . . . . C++ D Python Java Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 10 / 21
11.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Do you like
it ? .. .Yes .. .No Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 11 / 21
12.
.. .. .continue .......... ...... .....................
..................... ..................... ..... ..... . ..... .......... .
13.
.. .......... ......
..................... ..................... ..................... ..... ..... . ..... .......... .
14.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: Java
vs D A language survey .. 1 public class Factorial { 2 public static int factorial ( int n ){ 3 if (n < 2) 4 return 1; 5 else 6 return n ∗ Factorial . factorial (n − 1); 7 } 8 } .. 1 pure ulong factorial ( immutable ulong n){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 14 / 21
15.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Factorial number: Python
vs D A language survey .. 1 def factorial ( n ): 2 if n < 2: 3 return 1 4 else : 5 return n ∗ factorial (n − 1) .. 1 pure ulong factorial ( immutable ulong n ){ 2 if (n < 2) 3 return 1; 4 else 5 return n ∗ factorial (n − 1); 6 } Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 15 / 21
16.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Computing Factorial 50,
1 million time ..... java . C++ . D . Python .0 . 2 . 4 . 6 . 8 . 10 . 0.167 . 0.003 . 0.014 . 11.399 Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 16 / 21
17.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Computing Factorial 50,
20 millions times ..... java . C++ . D . Python .0 . 50 . 100 . 150 . 200 . 1.692 . 0.002 . 0.006 . 228.815 Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 17 / 21
18.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . Do you like
it ? .. .Yes .. .No Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 18 / 21
19.
.. .. .continue .......... ...... .....................
..................... ..................... ..... ..... . ..... .......... .
20.
.. .......... ......
..................... ..................... ..................... ..... ..... . ..... .......... .
21.
.. ..... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . .... . .... . ..... . .... . ..... . .... . .... . . Andrei Alexandrescu .. ......D rox
!!! Thanks Jonathan MERCIER aka bioinfornatics D Programing October 9, 2013 21 / 21
Descargar ahora