On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote:
On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby
wrote:
On Monday, 4 November 2013 at 15:58:48 UTC, Chris wrote:
"Who D is Not For
- As a first programming language - Basic or Java is more
suitable for beginners. D makes an excellent second language
for intermediate to advanced programmers."
(http://dlang.org/overview.html)
I think this claim on the website is a hold over from the dark
days of D language evolution and lack of documentation. It
should go!
I'd argue against this. I think D would make a terrific first
language.
I agree.
(...)
Something like C or D (i'd opt for D) should be any devs first
language. Simply to educate them in the basics.
I would say that it really depends on the age too. D as a first
language for an 18 year-old technically savvy person might
work, but for a 10 year-old?
And for a non-english speaker? I remember having a very hard
time reading English books when I was younger (there might be
many programming books for languages with a lot of speakers,
but not for all languages), and had difficulties grokking
pointers and bit operations. Of course, kids today is much
better at English at a young age due to the internet etc., but
it's still a lot of new terminology you aren't used to.
But if you are Turkish, you're set!
Being in college now, I see a lot of grown-ups *really*
struggling to grasp *basic* programming concepts using Java
(even most of the teachers unfortunately). Starting with a
limited language like Java probably isn't that bad until you
are capable of both reading and writing non-trivial code.
While D code can quickly become complex relative to Java, at the
same time I think in a beginner course/book could easily be geared
to keep away from D's fancier features and just teach basics.
For example, code for reading a text file in in Java is (top
answer on SO):
static String readFile(String path, Charset encoding)
throws IOException
{
byte[] encoded = Files.readAllBytes(Paths.get(path));
return encoding.decode(ByteBuffer.wrap(encoded)).toString();
}
vs.
readText(filename)
in D. Not really up on Java these days, so perhaps Java now
includes a readText() like method now. Anyway, hard to beat the
D version for
easy!
I doubt most people here are representative for the average
programmer. Many of the discussions here are way over my head,
but I still hope that I'm above average.
Hey, that is how I feel. When I talk with other programmers at
work/school I feel pretty smart. When I come on here, I feel
like a moron.