www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Learning D for a non computer science background person :

reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
While I have been a programmer for close to 23 years, it's been 
mostly API level code cobbling work.

Would like to learn "D", but am a bit intimidated by the fact 
that I don't have much of a grasp over the foundational stuff 
(discrete mathematics, machine organization, etc.) and hence am 
preparing for the same.

Would like to know if there be anything else I should work 
through before approaching "D" via Mr. Alexandrescu's book.

Thanks.
Dec 02 2014
next sibling parent "H. S. Teoh via Digitalmars-d-learn" <digitalmars-d-learn puremagic.com> writes:
On Tue, Dec 02, 2014 at 04:38:33PM +0000, Mayuresh Kathe via
Digitalmars-d-learn wrote:
 While I have been a programmer for close to 23 years, it's been mostly
 API level code cobbling work.
 
 Would like to learn "D", but am a bit intimidated by the fact that I
 don't have much of a grasp over the foundational stuff (discrete
 mathematics, machine organization, etc.) and hence am preparing for
 the same.
 
 Would like to know if there be anything else I should work through
 before approaching "D" via Mr. Alexandrescu's book.
[...] Ali Cehreli's D book is another excellent resource: http://ddili.org/ders/d.en/intro.html --T
Dec 02 2014
prev sibling next sibling parent reply "CraigDillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 2 December 2014 at 16:38:34 UTC, Mayuresh Kathe wrote:
 While I have been a programmer for close to 23 years, it's been 
 mostly API level code cobbling work.

 Would like to learn "D", but am a bit intimidated by the fact 
 that I don't have much of a grasp over the foundational stuff 
 (discrete mathematics, machine organization, etc.) and hence am 
 preparing for the same.

 Would like to know if there be anything else I should work 
 through before approaching "D" via Mr. Alexandrescu's book.

 Thanks.
If you have been programming for 23 years there is absolutely no reason why you should struggle with D due to your lack of discrete math, machine organization knowledge, etc. You certainly shouldn't have any trouble following Andrei's book, which is very easy to follow, although having some discrete math is helpful in keeping up with some of his forum posts :o) Welcome to the D world!
Dec 02 2014
parent reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
On Tuesday, 2 December 2014 at 16:54:50 UTC, CraigDillabaugh 
wrote:
 On Tuesday, 2 December 2014 at 16:38:34 UTC, Mayuresh Kathe 
 wrote:
 While I have been a programmer for close to 23 years, it's 
 been mostly API level code cobbling work.

 Would like to learn "D", but am a bit intimidated by the fact 
 that I don't have much of a grasp over the foundational stuff 
 (discrete mathematics, machine organization, etc.) and hence 
 am preparing for the same.

 Would like to know if there be anything else I should work 
 through before approaching "D" via Mr. Alexandrescu's book.

 Thanks.
If you have been programming for 23 years there is absolutely no reason why you should struggle with D due to your lack of discrete math, machine organization knowledge, etc. You certainly shouldn't have any trouble following Andrei's book, which is very easy to follow, although having some discrete math is helpful in keeping up with some of his forum posts :o) Welcome to the D world!
Thanks for the welcome. :) I think I'll just work through Discrete Mathematics and Machine Organization before approaching Mr. Alexandrescu's book, would take up only 6 ~ 8 months of my time, and would be really good for me in the long term.
Dec 02 2014
next sibling parent reply "Tobias Pankrath" <tobias pankrath.net> writes:
 Thanks for the welcome. :)

 I think I'll just work through Discrete Mathematics and Machine 
 Organization before approaching Mr. Alexandrescu's book, would 
 take up only 6 ~ 8 months of my time, and would be really good 
 for me in the long term.
No! If you know how to program and want to learn D, start reading Andrei's book now. Any discrete math class is only a distraction. Read up on discrete math in parallel or if the need arises.
Dec 02 2014
parent reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
On Tuesday, 2 December 2014 at 17:10:57 UTC, Tobias Pankrath 
wrote:
 Thanks for the welcome. :)

 I think I'll just work through Discrete Mathematics and 
 Machine Organization before approaching Mr. Alexandrescu's 
 book, would take up only 6 ~ 8 months of my time, and would be 
 really good for me in the long term.
No! If you know how to program and want to learn D, start reading Andrei's book now. Any discrete math class is only a distraction. Read up on discrete math in parallel or if the need arises.
Okay, if that is the case, I'll dive into Mr. Alexandrescu's book as soon as I get my copy. BTW, how come all of you address him as Andrei? Is this group that informal? Asking, just so that I don't become the odd man. :)
Dec 02 2014
next sibling parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Tuesday, 2 December 2014 at 17:15:28 UTC, Mayuresh Kathe wrote:
 BTW, how come all of you address him as Andrei?
 Is this group that informal?
 Asking, just so that I don't become the odd man. :)
This group is definitely that informal. First names are the norm here.
Dec 02 2014
prev sibling next sibling parent reply "Gary Willoughby" <dev nomad.so> writes:
On Tuesday, 2 December 2014 at 17:15:28 UTC, Mayuresh Kathe wrote:
 Okay, if that is the case, I'll dive into Mr. Alexandrescu's 
 book as soon as I get my copy.
No need to wait that long. I second H.S. Teoh's suggestion to recommend reading this book too: http://ddili.org/ders/d.en/intro.html It's free, downloadable and right up to date.
Dec 02 2014
parent reply "Mayuresh Kathe" <mayuresh kathe.in> writes:
On Tuesday, 2 December 2014 at 17:33:18 UTC, Gary Willoughby 
wrote:
 On Tuesday, 2 December 2014 at 17:15:28 UTC, Mayuresh Kathe 
 wrote:
 Okay, if that is the case, I'll dive into Mr. Alexandrescu's 
 book as soon as I get my copy.
No need to wait that long. I second H.S. Teoh's suggestion to recommend reading this book too: http://ddili.org/ders/d.en/intro.html It's free, downloadable and right up to date.
Yes, prima-facie it definitely looks good. Will start off with it while I await delivery of Andrei's book to my location.
Dec 02 2014
parent "H. S. Teoh via Digitalmars-d-learn" <digitalmars-d-learn puremagic.com> writes:
On Tue, Dec 02, 2014 at 05:46:04PM +0000, Mayuresh Kathe via
Digitalmars-d-learn wrote:
 On Tuesday, 2 December 2014 at 17:33:18 UTC, Gary Willoughby wrote:
On Tuesday, 2 December 2014 at 17:15:28 UTC, Mayuresh Kathe wrote:
Okay, if that is the case, I'll dive into Mr. Alexandrescu's book as
soon as I get my copy.
No need to wait that long. I second H.S. Teoh's suggestion to recommend reading this book too: http://ddili.org/ders/d.en/intro.html It's free, downloadable and right up to date.
Yes, prima-facie it definitely looks good. Will start off with it while I await delivery of Andrei's book to my location.
Keep in mind that there's an errata for Andrei's book: http://erdani.com/tdpl/errata/ T -- Life would be easier if I had the source code. -- YHL
Dec 02 2014
prev sibling next sibling parent =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 12/02/2014 09:15 AM, Mayuresh Kathe wrote:

 BTW, how come all of you address him as Andrei?
 Is this group that informal?
First name is the normal way of referring to colleagues here in the US, at least in Silicon Valley. Even the CEOs, board members, and all the other "top" people are referred to by their first names, even in person. Ali
Dec 02 2014
prev sibling parent reply Shriramana Sharma via Digitalmars-d-learn writes:
On Tue, Dec 2, 2014 at 10:45 PM, Mayuresh Kathe via
Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:
 Okay, if that is the case, I'll dive into Mr. Alexandrescu's book as soon as
 I get my copy.
 BTW, how come all of you address him as Andrei?
Heh -- possibly you haven't interacted on international technical mailing lists like this. For us (you and me) in India we are used to employ/expect such honorifics, and in fact it would be considered somewhat disrespectful if we didn't, but in my early days interacting with people from "western" countries on the net, I was actually discouraged from using "Mr" because it made people feel "old"! :-) FWIW while we're talking honorifics, he's *Dr* Alexandrescu as in Ph D doc. :-) [I'm one too, but you won't find me having mentioned it anywhere earlier! :-) That's informal.] Re Andrei's book versus Ali's, the latter is a more starting from the basics approach whereas Andrei's book is more targeted at people coming from other languages. (This is a judgment I read somewhere -- perhaps on this forum? -- and which I agree with, sorta.) -- Shriramana Sharma ஶ்ரீரமணஶர்மா श्रीरमणशर्मा
Dec 02 2014
parent "Mengu" <mengukagan gmail.com> writes:
On Wednesday, 3 December 2014 at 02:41:16 UTC, Shriramana Sharma 
via Digitalmars-d-learn wrote:
 On Tue, Dec 2, 2014 at 10:45 PM, Mayuresh Kathe via
 Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:
 Okay, if that is the case, I'll dive into Mr. Alexandrescu's 
 book as soon as
 I get my copy.
 BTW, how come all of you address him as Andrei?
Heh -- possibly you haven't interacted on international technical mailing lists like this. For us (you and me) in India we are used to employ/expect such honorifics, and in fact it would be considered somewhat disrespectful if we didn't, but in my early days interacting with people from "western" countries on the net, I was actually discouraged from using "Mr" because it made people feel "old"! :-) FWIW while we're talking honorifics, he's *Dr* Alexandrescu as in Ph D doc. :-) [I'm one too, but you won't find me having mentioned it anywhere earlier! :-) That's informal.] Re Andrei's book versus Ali's, the latter is a more starting from the basics approach whereas Andrei's book is more targeted at people coming from other languages. (This is a judgment I read somewhere -- perhaps on this forum? -- and which I agree with, sorta.)
yes, you are totally right. Ali's book is aiming at teaching D language to complete beginners where Andrei's book is aiming at teaching D language to people who are already programmers.
Dec 05 2014
prev sibling parent "CraigDillabaugh" <craig.dillabaugh gmail.com> writes:
On Tuesday, 2 December 2014 at 17:04:57 UTC, Mayuresh Kathe wrote:
 On Tuesday, 2 December 2014 at 16:54:50 UTC, CraigDillabaugh 
 wrote:
 On Tuesday, 2 December 2014 at 16:38:34 UTC, Mayuresh Kathe 
 wrote:
clip
 Thanks for the welcome. :)

 I think I'll just work through Discrete Mathematics and Machine 
 Organization before approaching Mr. Alexandrescu's book, would 
 take up only 6 ~ 8 months of my time, and would be really good 
 for me in the long term.
I certainly wouldn't discourage from studying Discrete Mathematics or Machine Organization, as they are very helpful, but they are by no means per-requisites for Andrei's book - or D for that matter. Anyway, whatever course you decide to follow - have fun. S
Dec 02 2014
prev sibling parent reply "Meta" <jared771 gmail.com> writes:
On Tuesday, 2 December 2014 at 16:38:34 UTC, Mayuresh Kathe wrote:
 While I have been a programmer for close to 23 years, it's been 
 mostly API level code cobbling work.

 Would like to learn "D", but am a bit intimidated by the fact 
 that I don't have much of a grasp over the foundational stuff 
 (discrete mathematics, machine organization, etc.) and hence am 
 preparing for the same.

 Would like to know if there be anything else I should work 
 through before approaching "D" via Mr. Alexandrescu's book.

 Thanks.
An interesting thing about D (that C++ shares to a degree) is that it is sufficiently high level that you can write programs while knowing nothing about the underlying machine. At the same time (again, like C++) it is sufficiently low level that you have full access to the machine's capabilities if you want to use them. If you want to write an operating system in D, you will need to know about machine organization. If you are writing a command-line utility to process text, you don't need to know or care about the specifics of the underlying hardware.
Dec 02 2014
parent "Chris" <wendlec tcd.ie> writes:
On Tuesday, 2 December 2014 at 21:10:33 UTC, Meta wrote:
 On Tuesday, 2 December 2014 at 16:38:34 UTC, Mayuresh Kathe 
 wrote:
 While I have been a programmer for close to 23 years, it's 
 been mostly API level code cobbling work.

 Would like to learn "D", but am a bit intimidated by the fact 
 that I don't have much of a grasp over the foundational stuff 
 (discrete mathematics, machine organization, etc.) and hence 
 am preparing for the same.

 Would like to know if there be anything else I should work 
 through before approaching "D" via Mr. Alexandrescu's book.

 Thanks.
An interesting thing about D (that C++ shares to a degree) is that it is sufficiently high level that you can write programs while knowing nothing about the underlying machine. At the same time (again, like C++) it is sufficiently low level that you have full access to the machine's capabilities if you want to use them. If you want to write an operating system in D, you will need to know about machine organization. If you are writing a command-line utility to process text, you don't need to know or care about the specifics of the underlying hardware.
And don't forget - and I'll say this again and again - the modeling power of D. Machines are only as intelligent as we make them (not talking about Terminator or The Matrix here!) and D is a good tool to make a machine work like reality.
Dec 05 2014