On Friday, 17 October 2014 at 08:44:00 UTC, Paulo Pinto wrote:
On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via
Digitalmars-d-learn wrote:
On Fri, 17 Oct 2014 00:52:14 +0000
MachineCode via Digitalmars-d-learn
<[email protected]>
wrote:
I don't understand. If at least it were C but java? why not D
itself?
C is *awful* as "beginner's language". never ever let people
start with
C if you don't hate 'em.
as for D... current version of D can be used, but with some
precautions. we now have excellent book by Ali. (it's great,
really! i
believe that it must be featured on the front dlang.org page!)
but java
has alot more books and tutorials.
not that D is bad for beginners, it's just has a smaller
userbase. and
all that things with "classes are reference types and structs
are not",
"empty array is not empty array but is empty array" and so on
D may be
confusing a little. it's good to have some CS background to
understood
that things.
just my cent and cent.
Better, go with FreePascal http://www.freepascal.org/ and
discover all that those features that many C advocates spread
as being close to the machine and other C only features, aren't
exclusive of it.
Alongside support for real modules, OO and genericity.
Then with a head clean of bad C influences, jump into D.
--
Paulo
One of the problem when starting out with FPC resides in the fact
that's a completely different family of language (Ada, Pascal,
Modula vs the C family), syntax and philosophy (for example in
the RTL).
Another one is that usually people use it in combination with
Lazarus and as the RAD concept is no shit, people start building
some applications very fastly. Then when they come to another
lang. eg D or Cpp they take a big slap in the face. The fact is
that Obj. Pascal and Delphi often give a wrong appreciation of
its own skills and abilities.
You talk about genericity but the genericity in Object Pascal is
currently almost inexistant and doesn't provide a good idea of
what "template-meta-programming" is. Actually this looks more
like a patch to the lang. and some simple things just like
casting a generic type or global generic functions simply don't
work at all. While D2 has been written with this idea, FPC will
never be good with TMP. Even in the commercial version (Delphi
XE7) they start to add some kind of patchs eg with a compiler
instrasic which is equivalent to D "static if" (which means that
the lang. is not designed for that at all).