I am self taught, I worked as a lawyer for six years and four of those were spent prepping for a career change - self-teaching comp sci and software dev in the evenings, then working as a volunteer a few years in. (I come from an engineering family and should have just done it from the start, but oh well.) I'm not sure if it's still on the platform, but about a year into my self studying I took a series of courses on…
I think these are the 2 courses OP is talking about: https://www.edx.org/course/how-to-code-simple-data https://www.edx.org/course/how-to-code-complex-data
How to Design Programs (2014)
71–80 of 141 posts
Re: How to Design Programs (2014)
#72I never understood the appeal of this book.
I see two sides: the numericals and the algebraists. I've talked with people who also see these two sides but call them differently. As I see it, this book is closer to the algebraists side. Thus, you probably lean closer to the nuemerical side. I also like to think about it as the Turing perspective (numerical, algorithmic) and the Chruch outlook, which is more algebraic-symbolic. At the end of the day, it's both "c…
edit: typo
Re: How to Design Programs (2014)
#73Earlier quoted context omitted.
I must be the black sheep of this thread, because I had a completely different experience. Professor Felleisen was never my professor directly, but he did oversee a few of the introductory courses I took, and was very present and had a heavy hand in many of the advanced courses. I also went to him for a number of office hour sessions. He came off as incredibly self-absorbed and at times, borderline hostile. A sibling…
There are some people who completely gave up of Racket just because of him (take a look of this video: https://www.youtube.com/watch?v=_wY7FBtr7_c ). And, speaking of ego, just take a look at the author list on the cover of this book: https://pbs.twimg.com/media/BRtef96CcAA54cS.jpg Notice the font size of his name, versus the font size of the students who actually wrote the book and everything will be clear to you!
How does one increase font size on HN? I feel I deserve a larger font for my username!
Re: How to Design Programs (2014)
#74Earlier quoted context omitted.
I must be the black sheep of this thread, because I had a completely different experience. Professor Felleisen was never my professor directly, but he did oversee a few of the introductory courses I took, and was very present and had a heavy hand in many of the advanced courses. I also went to him for a number of office hour sessions. He came off as incredibly self-absorbed and at times, borderline hostile. A sibling…
There are some people who completely gave up of Racket just because of him (take a look of this video: https://www.youtube.com/watch?v=_wY7FBtr7_c ). And, speaking of ego, just take a look at the author list on the cover of this book: https://pbs.twimg.com/media/BRtef96CcAA54cS.jpg Notice the font size of his name, versus the font size of the students who actually wrote the book and everything will be clear to you!
Except that, thank you for that YT link. A critical opinion, when well stated is worth its weight in gold.
Re: How to Design Programs (2014)
#75How common is the usage of linked lists in real world Lisp projects? Isn't the prevalence of this data structure in books encourage writing inherently inefficient programs?
Re: How to Design Programs (2014)
#76Earlier quoted context omitted.
I think these are the 2 courses OP is talking about: https://www.edx.org/course/how-to-code-simple-data https://www.edx.org/course/how-to-code-complex-data
Are the 2 courses sufficient on their own? or do I need to read the book as well?
Re: How to Design Programs (2014)
#77I'm a bit sad that contracts became the enduring legacy of HtDP and all the brilliance of the approach to recursive programming was just tossed by the wayside by the "digerati". I would have really liked to use those tools in my professional life. I guess the idea of giving up the compile step was way before its time.
Re: How to Design Programs (2014)
#78Earlier quoted context omitted.
Once a SE discovers that they can learn, quite significantly, in a language that may have very little practical day to day use, it's a powerful moment. Sometimes the best tools for teaching aren't the tools we need in our day to day work, and that's ok. When you're in learning mode, it's about discovering those foundational blocks upon which all else is built. Those fundamental blocks are never the actual programming…
I've had that moment and it's a paradigm shift in thinking. I'm still on my first leg of my journey as I started learning Racket/Scheme relatively recently but I've already started seeing things in a different light. I almost don't care about performance (at this point) as I know that could be attainable somehow once a solution is fleshed out but I simply enjoy the understanding of the concepts and the patterns that…
It rarely is though.
Re: How to Design Programs (2014)
#79I'm a bit sad that contracts became the enduring legacy of HtDP and all the brilliance of the approach to recursive programming was just tossed by the wayside by the "digerati". I would have really liked to use those tools in my professional life. I guess the idea of giving up the compile step was way before its time.
Recursion is all fine and dandy when you have TCO. Most languages don't.
Re: How to Design Programs (2014)
#80Earlier quoted context omitted.
I think these are the 2 courses OP is talking about: https://www.edx.org/course/how-to-code-simple-data https://www.edx.org/course/how-to-code-complex-data
Do you think these courses would be worthwhile for a seasoned software engineer?
Seriously though, they are fun. Racket's way of programming with pictures is great. Maybe following the book at your own pace would be more rewarding.