On Saturday, 25 August 2012 at 22:40:56 UTC, Nick Sabalausky
wrote:
On Sat, 25 Aug 2012 22:36:08 +0200
"SomeDude" <lovelyd...@mailmetrash.com> wrote:
On Saturday, 25 August 2012 at 00:20:57 UTC, Timon Gehr wrote:
> On 08/25/2012 01:58 AM, Pragma Tix wrote:
>> ----was Andrew McKinlay is trying D for Suneido.
>>
>> http://thesoftwarelife.blogspot.fr/2012/08/d-etractions.html
>>
>> You do not necessarily have to agree with Andrew, but this
>> is a
>> pragmatic developer's view. Let me say that Andrew has
>> created his own
>> database system (Relational Algebra based) , his own
>> language (Ruby
>> like) and his own application frame work. Finally he is
>> using his Tools
>> to create real world software.. i.e. Trucking/Transport /
>> Accounting etc.
>>
>> IMO a voice, D core developers should listen to.
>>
>> Bjoern
>
> His post comes down to: "I like to have an IDE and I prefer
> Java
> because I already know Java."
> This is perfectly fine of course, but why would this be
> relevant for D
> development?
No, he points out that 1) templates inherently complexify code
2) make refactoring difficult, especially automated
refactoring, something that is supported by major modern IDEs
and not by text editors like vim/emacs, because the former
have some knowledge of the AST, not the latter.
I know the first point is debatable; maybe there is less need
for refactoring as the language is more expressive, but when
refactoring is needed, it's probably much more difficult than
in Java/C#, especially without the help of tools.
FWIW: Personally, I would argue that (as nice as automated
refactoring
admittedly is) putting up with a simplistic less expressive
language for
the sake of niceties like (perfect) automated refactoring is
putting the
cart before the horse. It'd be like putting up with starvation
because
you can't find a salad marked "organic". Having automated
refactoring be
less-than-perfect is a price, yes, but it's a very small price
to pay
for the much bigger savings you get from having powerful
metaprogramming.
Plus, certain non-automatic refactorings would be a much bigger
pain in
something like Java anyway because of, for example, the lack of
type
inference and the increased need for code to be non-generic in
the first
place.
My $0.02, anyway.
I mostly agree, although some basic refactoring like a simple
renaming is also very handy.