digitalmars.D - What Programming Book Should I Read Next?
- Walter Bright (2/2) Jul 26 2014 http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_boo...
- Adam D. Ruppe (16/16) Jul 26 2014 On the topic of professional growth, I was asked this week in a
- Walter Bright (6/19) Jul 26 2014 Interestingly, I've been programming for 40 years, and I'm constantly le...
- H. S. Teoh via Digitalmars-d (17/27) Jul 26 2014 I've to say, that learning D and contributing to D has greatly expanded
- Paulo Pinto (9/49) Jul 26 2014 For me is actually thanks to my interest in compiler development
- Jim Hewes (25/38) Jul 27 2014 Sorry if this is too off-topic, please tell me if so. As I read the D
- Dicebot (7/20) Jul 27 2014 Ironically after D has become part of my daily job I have found
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (16/23) Jul 27 2014 Really? I've realized a long time ago that there is more to learn
- Gary Willoughby (24/26) Jul 27 2014 That's the big realisation of any good programmer. I used to
- Joseph Rushton Wakeling via Digitalmars-d (21/26) Jul 27 2014 There are many ways to grow, and the most important one need not necessa...
- Adam D. Ruppe (4/9) Jul 28 2014 everyone tells me i need to get married :<
- Peter Alexander (13/20) Jul 28 2014 I suppose it depends on what "related to programming" means. I
- Kagamin (2/5) Jul 28 2014 Why write it? Just give birth to a child.
- John Colvin (3/8) Jul 28 2014 Humans are boring, we've got plenty of them already. Make
- Adam D. Ruppe (2/3) Jul 28 2014 Giving birth would indeed be a new experience for me!
- Adam D. Ruppe (9/13) Jul 28 2014 Yeah, I'm defining it as basically something non-trivial that is
- John Colvin (3/20) Jul 28 2014 How's your mathematics and numerical analysis? There are always
- Adam D. Ruppe (5/7) Jul 28 2014 I'm very good at integral and differential calculus, I know the
- H. S. Teoh via Digitalmars-d (6/9) Jul 26 2014 What about TDPL? Even though it's somewhat dated, it *was* what finally
- Walter Bright (3/9) Jul 26 2014 I also posted Ali's book because it was free, and so people wouldn't be
- David Gileadi (4/10) Jul 28 2014 I am, alas, still a D dabbler, but I'm a huge fan of Andrei's book. It's...
- Jonathan M Davis (11/25) Jul 28 2014 Honestly, what I like the most about TDPL is that it assumes that
- Rikki Cattermole (10/34) Jul 28 2014 I'm similar with how I learn programming languages, except I drown
- Israel Rodriguez (6/8) Jul 26 2014 Its hard to admit but it is sometimes true. Needing a book to
http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!
Jul 26 2014
On the topic of professional growth, I was asked this week in a work meeting what I think I can do for mine.... and I didn't really have an answer. Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time. Then I was asked what about team dynamics and stuff... but even there, I've been doing this a pretty long time now. You know what I spend most my time talking about with my programming co-worker? Recipe swapping and church stuff. And I don't mean D Cookbook recipes, i mean stuff like baking bread and pies. We're both pretty good at our day jobs and tend to be on the same page on work related stuff more often than not anyway.
Jul 26 2014
On 7/26/2014 4:42 PM, Adam D. Ruppe wrote:On the topic of professional growth, I was asked this week in a work meeting what I think I can do for mine.... and I didn't really have an answer. Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time. Then I was asked what about team dynamics and stuff... but even there, I've been doing this a pretty long time now. You know what I spend most my time talking about with my programming co-worker? Recipe swapping and church stuff. And I don't mean D Cookbook recipes, i mean stuff like baking bread and pies. We're both pretty good at our day jobs and tend to be on the same page on work related stuff more often than not anyway.Interestingly, I've been programming for 40 years, and I'm constantly learning new ways of programming. It's a combination of experience, changing hardware, and new ideas. The Warp program I did for FB, for example, is pretty unlike anything I've written before in the way it's put together.
Jul 26 2014
On Sat, Jul 26, 2014 at 04:56:20PM -0700, Walter Bright via Digitalmars-d wrote:On 7/26/2014 4:42 PM, Adam D. Ruppe wrote:[...]On the topic of professional growth, I was asked this week in a work meeting what I think I can do for mine.... and I didn't really have an answer.Interestingly, I've been programming for 40 years, and I'm constantly learning new ways of programming. It's a combination of experience, changing hardware, and new ideas. The Warp program I did for FB, for example, is pretty unlike anything I've written before in the way it's put together.I've to say, that learning D and contributing to D has greatly expanded my programming horizons. I've been doing C/C++ for about 2 decades, and about 8 years ago I felt I'd started to taper off in terms of learning new things in programming. Until I found D, that is. D made hard / complex things in C++ easy, and opened up new horizons -- like weak purity, range-based component programming, new possibilities in metaprogramming, etc.. Contributing to Phobos was also quite eye-opening in learning about novel ways of handling common tasks in a standard library. I daresay I learned more contributing to Phobos than from my full-time job (mainly C with some C++ and a smattering of Javascript, PHP, and some other stuff). T -- They pretend to pay us, and we pretend to work. -- Russian saying
Jul 26 2014
On Sunday, 27 July 2014 at 01:00:34 UTC, H. S. Teoh via Digitalmars-d wrote:On Sat, Jul 26, 2014 at 04:56:20PM -0700, Walter Bright via Digitalmars-d wrote:For me is actually thanks to my interest in compiler development while at the university, that I keep on. I got/get to read so many papers, programming manuals and design rationales that I keep on learning about how to structure code, algorithms and lots of other nice stuff. -- PauloOn 7/26/2014 4:42 PM, Adam D. Ruppe wrote:[...]On the topic of professional growth, I was asked this week in a work meeting what I think I can do for mine.... and I didn't really have an answer.Interestingly, I've been programming for 40 years, and I'm constantly learning new ways of programming. It's a combination of experience, changing hardware, and new ideas. The Warp program I did for FB, for example, is pretty unlike anything I've written before in the way it's put together.I've to say, that learning D and contributing to D has greatly expanded my programming horizons. I've been doing C/C++ for about 2 decades, and about 8 years ago I felt I'd started to taper off in terms of learning new things in programming. Until I found D, that is. D made hard / complex things in C++ easy, and opened up new horizons -- like weak purity, range-based component programming, new possibilities in metaprogramming, etc.. Contributing to Phobos was also quite eye-opening in learning about novel ways of handling common tasks in a standard library. I daresay I learned more contributing to Phobos than from my full-time job (mainly C with some C++ and a smattering of Javascript, PHP, and some other stuff). T
Jul 26 2014
On 7/26/2014 5:58 PM, H. S. Teoh via Digitalmars-d wrote:I've to say, that learning D and contributing to D has greatly expanded my programming horizons. I've been doing C/C++ for about 2 decades, and about 8 years ago I felt I'd started to taper off in terms of learning new things in programming. Until I found D, that is. D made hard / complex things in C++ easy, and opened up new horizons -- like weak purity, range-based component programming, new possibilities in metaprogramming, etc.. Contributing to Phobos was also quite eye-opening in learning about novel ways of handling common tasks in a standard library. I daresay I learned more contributing to Phobos than from my full-time job (mainly C with some C++ and a smattering of Javascript, PHP, and some other stuff). TSorry if this is too off-topic, please tell me if so. As I read the D newsgroup I notice that a lot of you guys who are really quite knowledgeable about languages are doing things like C programming as a day job. I recently (like 2 weeks ago) resigned my current job of over 10 years. One of the reasons is that the work has veered too far from why I got into this career in the first place. The code for the product, in C++, has been largely finished (by me) so the only coding I do is small modifications to it. Mostly what I do now is what follows that: customizations for OEM customers, Windows installers, rebuilding the product, testing, testing, certification testing. There are more issues, but I'll spare you :-). I do try to learn more about things like Haskell and D and meta-programming and ranges, etc., but there isn't so much time when your regular job takes up over 40 hours a week. With programming, I feel like you can read about something but you can't really be proficient at it until you use it hands-on and practice it regularly. So I think it helps to try to find a job where you can do some of that during work time. I hope to do that. But then I read here where a lot of you guys have day jobs not even doing C++ but C programming, I feel like some of you are in the same boat, and more so because you're more knowledgeable than me. So how do you feel about that? Jim
Jul 27 2014
On Sunday, 27 July 2014 at 15:15:31 UTC, Jim Hewes wrote:I do try to learn more about things like Haskell and D and meta-programming and ranges, etc., but there isn't so much time when your regular job takes up over 40 hours a week. With programming, I feel like you can read about something but you can't really be proficient at it until you use it hands-on and practice it regularly. So I think it helps to try to find a job where you can do some of that during work time. I hope to do that. But then I read here where a lot of you guys have day jobs not even doing C++ but C programming, I feel like some of you are in the same boat, and more so because you're more knowledgeable than me. So how do you feel about that? JimIronically after D has become part of my daily job I have found myself being less capable of contribution / participation :) Before it always felt like relief - being able to hack some nice D stuff after boring daily C routine. But now I more often find myself wanting to try something different simply for the sake of change.
Jul 27 2014
On Saturday, 26 July 2014 at 23:42:33 UTC, Adam D. Ruppe wrote:Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time.Really? I've realized a long time ago that there is more to learn than can possibly be internalized. Now, books that label themselves as programming books are not the best source. You need more narrow sources. Even a narrow field as computer graphics is way too big to master fully. Then you have logic programming languages / database engines, constraints programming, term rewriting, concurrency, verifiable programming, a plethora of event based programming paradigms, AI... And then you can move on to philosophies of different types of modelling, semantics etc. Even in basic web pogramming things are getting complex: efficient scalable modelling on nosql databases, how to get the best split between server client on modern browsers, how to utilize the various engines in the browser...
Jul 27 2014
On Sunday, 27 July 2014 at 07:13:10 UTC, Ola Fosheim Grøstad wrote:Really? I've realized a long time ago that there is more to learn than can possibly be internalized.That's the big realisation of any good programmer. I used to think i was pretty good until stackoverflow.com opened. Boy was i wrong. It suddenly hit me i knew nothing. Even after fifteen years in software i still feel i have way too much to learn. Even visiting this newsgroup i feel like a total amateur and learn loads reading posts. I've worked with people who honestly believe they are awesome programmers and have mastered their craft, when in reality they don't even understand bit-shifting or what the modulus operator is for. Being humble is the only way to grow being a developer. As for books, here are some of the best books i've read and encourage anyone here to take a look. (but you've probably read em already.) The Pragmatic Programmer http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X Code Complete http://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ Some Head First books: http://www.amazon.co.uk/Head-First-Design-Patterns-Freeman/dp/0596007124/ http://www.amazon.co.uk/Head-First-Object-Oriented-Analysis-Design/dp/0596008678/ All these books really opened my eyes and improved my coding no end.
Jul 27 2014
On 27/07/14 01:42, Adam D. Ruppe via Digitalmars-d wrote:Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time.There are many ways to grow, and the most important one need not necessarily be programming. Personally, I tend to find that growth as a programmer tends to come as a consequence of problems that need to be solved with programming. Reading about new ideas and techniques is great -- of course I do this -- but it's actually finding a problem of my own that they are relevant to which really makes them sink in and allows me to feel their value. Then there's things that are not programming per se but that feed into it -- the research literature on many different topics, or topics such as the social and psychological dynamics of how people use software, or collaborate on software, or interact when using software. Or, as Walter has already pointed out, the ways in which new hardware, and new hardware environments, change the ways in which software can be written and needs to be written. Put another way, while sometimes it's useful to think of programming in a somewhat isolated or theoretical sense, most of the time I find it more inspiring to think about the whole range of things that programming interacts with. And of course, ultimately, sometimes it is very good to take a break from learning more in a particular area and go and work on other things for a while. We all need fun, and we all need stimulus that comes from unexpected things that are not part of our habitual activities.
Jul 27 2014
On Sunday, 27 July 2014 at 11:35:31 UTC, Joseph Rushton Wakeling via Digitalmars-d wrote:There are many ways to grow, and the most important one need not necessarily be programming.everyone tells me i need to get married :<Personally, I tend to find that growth as a programmer tends to come as a consequence of problems that need to be solved with programming.Yeah, I would agree with that.
Jul 28 2014
On Saturday, 26 July 2014 at 23:42:33 UTC, Adam D. Ruppe wrote:Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time.I suppose it depends on what "related to programming" means. I presume you, like everyone else, could not write a general purpose AI, so we all still have that to learn. I'm guessing you'd classify that as more of an application rather than being directly related to programming? The applications are where most of the fun is. There's so many algorithms, concepts, and theories to learn. I don't think I'll ever stop. Even with things directly-related-to-programming, there's lots for me to learn. I know very little about all the Haskell-level category theory stuff, and I really should spend some time to play with things like Forth to see what all the fuss is about there. I'm sure there are still many gems to discover.
Jul 28 2014
On Monday, 28 July 2014 at 07:42:39 UTC, Peter Alexander wrote:I suppose it depends on what "related to programming" means. I presume you, like everyone else, could not write a general purpose AI, so we all still have that to learn.Why write it? Just give birth to a child.
Jul 28 2014
On Monday, 28 July 2014 at 11:32:15 UTC, Kagamin wrote:On Monday, 28 July 2014 at 07:42:39 UTC, Peter Alexander wrote:Humans are boring, we've got plenty of them already. Make something new, something different :)I suppose it depends on what "related to programming" means. I presume you, like everyone else, could not write a general purpose AI, so we all still have that to learn.Why write it? Just give birth to a child.
Jul 28 2014
On Monday, 28 July 2014 at 11:32:15 UTC, Kagamin wrote:Why write it? Just give birth to a child.Giving birth would indeed be a new experience for me!
Jul 28 2014
On Monday, 28 July 2014 at 07:42:39 UTC, Peter Alexander wrote:I suppose it depends on what "related to programming" means. I presume you, like everyone else, could not write a general purpose AI, so we all still have that to learn.Yeah, I'm defining it as basically something non-trivial that is to be learned by picking up a new programming language. There was a period where there was much I picked up that way - especially around seven years ago when I was doing Lisp, D for the first time, stuff like that. I could get on a bi-weekly meeting then and report all kinds of stuff. I kinda get macros now, I kinda get purity, but now the rate has slowed significantly.The applications are where most of the fun is.depends on the applications :P
Jul 28 2014
On Saturday, 26 July 2014 at 23:42:33 UTC, Adam D. Ruppe wrote:On the topic of professional growth, I was asked this week in a work meeting what I think I can do for mine.... and I didn't really have an answer. Maybe this is arrogant or whatever, but my view is that I'm kinda maxed out as a programmer. Sure, there's a handful of specific things (like framework method names) I don't know and some concepts I don't know the names of, but as for like revolutionary new lessons, I don't think I've actually learned anything like that directly related to programming for a pretty long time. Then I was asked what about team dynamics and stuff... but even there, I've been doing this a pretty long time now. You know what I spend most my time talking about with my programming co-worker? Recipe swapping and church stuff. And I don't mean D Cookbook recipes, i mean stuff like baking bread and pies. We're both pretty good at our day jobs and tend to be on the same page on work related stuff more often than not anyway.How's your mathematics and numerical analysis? There are always new horizons.
Jul 28 2014
On Monday, 28 July 2014 at 09:22:29 UTC, John Colvin wrote:How's your mathematics and numerical analysis? There are always new horizons.I'm very good at integral and differential calculus, I know the scientific names of beings animalcules, in short in matters vegetable, animal, and mineral, I am the very model of a modern major general.
Jul 28 2014
On Sat, Jul 26, 2014 at 04:23:23PM -0700, Walter Bright via Digitalmars-d wrote:http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!What about TDPL? Even though it's somewhat dated, it *was* what finally drove me to non-trivial programming in D. T -- People tell me that I'm skeptical, but I don't believe it.
Jul 26 2014
On 7/26/2014 4:26 PM, H. S. Teoh via Digitalmars-d wrote:On Sat, Jul 26, 2014 at 04:23:23PM -0700, Walter Bright via Digitalmars-d wrote:I also posted Ali's book because it was free, and so people wouldn't be complaining about posting spam links. Not that that stopped a couple complainers :-)http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!What about TDPL? Even though it's somewhat dated, it *was* what finally drove me to non-trivial programming in D.
Jul 26 2014
On 7/26/14, 4:26 PM, H. S. Teoh via Digitalmars-d wrote:On Sat, Jul 26, 2014 at 04:23:23PM -0700, Walter Bright via Digitalmars-d wrote:I am, alas, still a D dabbler, but I'm a huge fan of Andrei's book. It's not just the fantastic content, it's also the engaging style. I like it so well that I read it once in a while just for enjoyment.http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!What about TDPL? Even though it's somewhat dated, it *was* what finally drove me to non-trivial programming in D.
Jul 28 2014
On Monday, 28 July 2014 at 14:22:01 UTC, David Gileadi wrote:On 7/26/14, 4:26 PM, H. S. Teoh via Digitalmars-d wrote:Honestly, what I like the most about TDPL is that it assumes that you already know how to program. It's not out to teach you how to program. It's out to teach you how to program in D. That was _incredibly_ refreshing to me. I can understand why so many language primers assume that you don't know much about how to program in any language, but I find it incredibly frustrating that they do that, and it makes it that much harder for me to get myself to read them - and I'm the kind of guy who likes to read the whole instruction manual before doing anything. - Jonathan M DavisOn Sat, Jul 26, 2014 at 04:23:23PM -0700, Walter Bright via Digitalmars-d wrote:I am, alas, still a D dabbler, but I'm a huge fan of Andrei's book. It's not just the fantastic content, it's also the engaging style. I like it so well that I read it once in a while just for enjoyment.http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!What about TDPL? Even though it's somewhat dated, it *was* what finally drove me to non-trivial programming in D.
Jul 28 2014
On 29/07/2014 1:18 p.m., Jonathan M Davis wrote:On Monday, 28 July 2014 at 14:22:01 UTC, David Gileadi wrote:I'm similar with how I learn programming languages, except I drown myself in the language almost quite literally. Lets do the most complex task first! Like setting up build management and get packages installed. Then go read the documentation and specifications. Hence I love a 'getting started' guide for all the common things. From here's a commonly used industry standard IDE, this is our build manager to here's a PDF which is our specifications! We're really missing that getting started guide. Everything else is slowly getting there.On 7/26/14, 4:26 PM, H. S. Teoh via Digitalmars-d wrote:Honestly, what I like the most about TDPL is that it assumes that you already know how to program. It's not out to teach you how to program. It's out to teach you how to program in D. That was _incredibly_ refreshing to me. I can understand why so many language primers assume that you don't know much about how to program in any language, but I find it incredibly frustrating that they do that, and it makes it that much harder for me to get myself to read them - and I'm the kind of guy who likes to read the whole instruction manual before doing anything. - Jonathan M DavisOn Sat, Jul 26, 2014 at 04:23:23PM -0700, Walter Bright via Digitalmars-d wrote:I am, alas, still a D dabbler, but I'm a huge fan of Andrei's book. It's not just the fantastic content, it's also the engaging style. I like it so well that I read it once in a while just for enjoyment.http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!What about TDPL? Even though it's somewhat dated, it *was* what finally drove me to non-trivial programming in D.
Jul 28 2014
On Saturday, 26 July 2014 at 23:23:26 UTC, Walter Bright wrote:http://www.reddit.com/r/programming/comments/2bt8a5/what_programming_book_should_i_read_next/ Ali's book is the latest, so I posted that one!Its hard to admit but it is sometimes true. Needing a book to learn is not always the right way to go not because of the book itself but because of the author. Knowing something and being able to teach it in layman terms, are two completely different arts...
Jul 26 2014