Template Metaprogramming Made Easy (Huh?)

language_fan foo at bar.com.invalid
Mon Sep 14 10:55:45 PDT 2009


Mon, 14 Sep 2009 07:33:59 -0400, bearophile thusly wrote:

> But lot of people will judge D against more modern languages like C#,
> Scala or Java) and not against C.

Programmers often belong to three kinds of groups. First come the fans of 
traditionally weakly typed compiled languages (basic, c, c++). They have 
tried some "dynamic" or "academic" languages but did not like them. They 
fancy efficiency and close to metal feel. They think compilation to 
native code is the best way to produce programs, and think types should 
reflect the feature set of their cpu. They believe the syntax C uses was 
defined by their God.

The second group started with interpreted languages built by amateurs 
(php, ruby, python, some game scripting language etc). They do not 
understand the meaning the types or compilation. They prefer writing 
short programs that usually seem to work. They hate formal specifications 
and proofs about program properties. They are usually writing simple web 
applications or some basic shareware utilies no one uses. They also hate 
trailing semicolons.

The members of the last group have studied computer science and 
languages, in particular. They have found a pet academic language, 
typically a pure one, but paradigms may differ. In fact this is the group 
which uses something other than the hybrid object-oriented/procedural 
model. They appreciate a strong, orthogonal core language that scales 
cleanly. They are not scared of esoteric non-C-like syntax. They use 
languages that are not ready to take a step to the "real world" during 
the 70 next years.

So yes, every group has a bit different expectations..

>>C++ isn't anymore complex than D2,<
> 
> I don't agree, see below.

It would help all of you if you could somehow formally specify how you 
measure language complexity. Is it the length of the grammar definition 
or something else? Otherwise these are just subjective opinions.



More information about the Digitalmars-d mailing list