Three Cool Things About D - The Case for the D Programing Language
Google Tech Talk July 29, 2010 ABSTRACT C++ has been through many battles and won most of them. Invariably it has been patched with more armor, given more makeshift weaponry, and sent back to battle. Many contenders have tried to spell its demise, but C++ has remained undefeated ruler in one niche: high-performance systems with difficult modeling challenges. Between the halt of Moore's law for serial speed and the continued demand for performance, one thing has become clear: a replacement for C++ must be good at what C++ is good at, and good at what C++ is bad at. The D programming language is that contender. It packs much more punch in a much smaller package. Better yet, D has the flexibility to compete against other languages on their own turf. This talk gives an introduction to the D programming language along with its motivation and basic tenets. The person who asks the more intriguing question wins a signed copy of the recently-published "The D Programming Language". Andrei Alexandrescu coined the colloquial term "modern C++", used today to describe a collection of important C++ styles and idioms. His eponymous book on the topic, Modern C++ Design (Addison-Wesley, 2001), revolutionized C++ programming and produced a lasting influence not only on subsequent work on C++, but also on other languages and systems. Andrei's work has garnered appreciation in both industrial and academic circles through is work on C++ and on Machine Learning applied to natural language ...
View Count: 322 Date: August 3, 2010
SatansSpatula August 4, 2010
Love the douchebag at 13:16 who can't listen (source, not headers) and has to prove himself right. It must really suck to work at Google, dealing with alpha-geeks like this all day.
asdfwqtw August 4, 2010
@QSerpent Was this defined for older versions of C though? I think the point was meant to be illustrative rather than literal.
jbarbuc August 4, 2010
@QSerpent That is true if your compiler is a C99 compiler. My default gcc produces Andrei's result, but add -std=c99 and yours is correct.
QSerpent August 4, 2010
You are wrong about the return value of "main" in your C example - if main() has no explicit "return" statement then the value returned to the environment (in a hosted implementation) is *not* 13 (or something that happens to be in the right register), bu
llothar68 August 4, 2010
@InXLsisDeo The large amout of D features was why i haven't choosen it. Maybe with Version 2 they stop language features for a decade and optimize the tool chain.
llothar68 August 4, 2010
@blenderpanzi Why should execution of a closure outside the thread be a problem. For a closure you (or the compiler) has to break the variables from the stack anyway. I implemented something like this for Eiffel myself, wasn't difficult at all.
mkdbl August 4, 2010
@a1mint That's because he's not a public speaker, but a freaking amazing programmer.
jcao219 August 4, 2010
@a1mint I would disagree. You probably have never gotten familiar with Python before.
jcao219 August 4, 2010
@blenderpanzi yes
a1mint August 4, 2010
Also, Python most DEFINITELY is *NOT* a "beautiful language".
a1mint August 4, 2010
God-DAMNIT already ! Again with the aaahhh, uuhhhmm, uhmm, aaammm, uuuuuuu, aaaa.... What the FUCK is it with this goddamn AAAAAANNNAA, AAAA, taaahhuuuuu, uuhh, i have thisuuuu, and this bookaaahhhuuummm, sooaaa, aaahhmm, alright aaamm, aaamm, i'm sure a
FloppyFormatFrenzy August 4, 2010
@ewigkase1 Hundreds if not thousands.
InXLsisDeo August 4, 2010
@ewigkase1 Too many certainly, and a few of them are interesting to study. D is one of the best kids on the block right now and probably the best contender as a successor to C++, although it's already a "big" language in terms of features. It doesn't hav
coreboy August 4, 2010
Everything went better than expected.
dsimcha August 4, 2010
@blenderpanzi : D2 (the current version of the language) does support closures, and they can be executed from another thread. I actually used this property to implement a parallel foreach loop in a parallelism library I wrote.
ewigkase1 August 4, 2010
how many programing languages is there wtf!
blenderpanzi August 4, 2010
Does D support closures? If yes can you execute a closure in another thread as from which the bound variables are coming from? (I guess not.)