4 ms·
I sometimes feel like I have a leg up based on when I learned computers (self taught mid 80's to early 90's). At that time, everything was more low level, and
by derekp7 7y ago
I sometimes feel like I have a leg up based on when I learned computers (self taught mid 80's to early 90's). At that time, everything was more low level, and there were fewer, yet higher quality books on the market. So I started off with W. Richard Stephens, K&R, Pike, Sedgewick, and others that you either had to really get it, or you wouldn't get anything. Not that this was the best way to learn, but you knew coming out of it what you learned.
- commandlinefan 7y agoI have a CS degree (in fact, I have both a BS and a Master's degree in CS) - I'm still "self taught" in the sense that I learned to program the same way you did, by reading Stevens, K&R, Knuth, etc. outside of my coursework. Don't get me wrong - I learned a lot of interesting stuff: I never would have learned calculus if it hadn't been a degree requirement, and it helps to understand a lot of AI, but learning to program is sort of a "side effect" of academic computer science.
- arethuza 7y agoThat was similar to my experience on a CS course - you were expected to do a lot of development, but nobody really specifically taught you about it and you were expected to pick that up by yourself as you went along.
- scj 7y agoIn this field, you're always going to have to learn things on your own... The trivial example is new technologies that weren't available when you were in university.
- mtberatwork 7y agoThat's how my CS program was (late 90s) as well. You were expected to be somewhat proficient already in C/C++ programming going into the major. Much of the program was mathematics courses. It was brutal. They eventually saw the high drop out rate and re-configured the major. I envy the kids who get to go through the major now. The courses look much more interesting and it's comprised of more actual software engineering coursework.
- jgalentine007 7y agoI finished my CS degree in 06' and it still was more about math than programming (C++, no Java). To graduate I had to take single/multi variable calculus, linear algebra, vector geometry, discrete mathematics, differential equations, combinatorics and numerical methods. When I started there were 600 in my class, when I graduated I think there were only 60!
- javier2 7y agoSame, I graduated in 2013. nearly the entire class feel through in the process. The only thing I've never had any use for is differential equations. I have for instance never worked with signal processing.
- jgalentine007 7y agoLikewise. I did well in diffeq thanks to a really good professor. Sadly I remember the least about it because I haven't had to use it since the class.
- javier2 7y agoI graduated with a masters in 2013 and my courses involved a lot of calculus, and some courses on theoretical foundations of computing ++ Still learned most of how to be a developer on my own, but I find immense value in the education. I learned to see how nothing in computing is magic, just hard work. In 2014 they changed the algorithm introduction course from C++/java to python, which I reckon is a good thing.
- jerf 7y agoI also have both a BS and a Masters in CS. I took a required software engineering course in either 1999 or 2000. I think that there may not be a single thing taught in that course I would agree with now. I learned a lot of useful things, like how to write a compiler. But I would say that in the sense of what I really do day-to-day to "program", I'm effectively self-taught too. (I walk the walk, too; I can and have hired people without degrees, and it's been fine.)
- another-dave 7y agoI think that's one thing that's making me think twice about doing a CS degree now e.g. by night — a lot of what you learn at university isn't in lectures, it's in the ample free time that you have between lectures. With limited free time, it's hard to know whether it's better to self study or do a degree (or even just follow along a curriculum online) I go between trying to work through things systematically to get a good grounding where I have knowledge gaps, and jumping to what I think will help me best on my job at this point in time. It would probably be better to stick to one approach or the other to make more focused use of time, but I'm not sure which way is best! :)
- saagarjha 7y agoThose books are still quite useful today: I learned C from The C Programming Language, for example, and I’d still recommend it as the best book to read to learn the language (though a nice supplement that covers how modern compilers work would be useful to accompany it).
- microcolonel 7y agoI started with MASM-style assembly, and transitioned to higher level languages when I got frustrated. I think this angle has made a huge positive difference in my ability to reason about my work. I think if you start with high level languages, it's easy to ignore what you're actually doing.
- pryelluw 7y agoSame here. The added benefit of there being a handful of really good resources to learn. The manual if my C64 pretty much taught me all the basics in a very approachable manner (I was 7 when I started). Nowadays, there are so many resources (mostly low quality) that people waste too much time trying to decide or lesrning things wrong.
- GrinningFool 7y agoI had a similar experience with C64 and its User and Reference manuals at that age. I was thinking about that a couple of months back, and found that they're still out there as PDFs of the originals: https://www.commodore.ca/commodore-manuals/ https://www.commodore.ca/commodore-manuals/
- pryelluw 7y agoIve been wanting to do something similar with Python. Time has been the issue.
- GrinningFool 7y agoYeah, I started looking because I wanted to 'translate' it to a modern environment for my son. Just haven't had the time to sit down and do it yet.
- fao_ 7y agoI started programming properly in 2010 when I was 12 or 13. Before that I did some small things in Inform 7, and now I remember it, Visual Basic, but I don't really consider that 'proper programming' as it was mostly cutting and pasting code with little understanding. I started with Inform 7, Python, and a little bit of Processing and Lua. I did three or four ludum dares and at some point I made most of a game in Lua with Love2d (around October 2012ish). Maybe a few years later I started delving into 'hacker culture', and I picked up C with K&R (since it was almost universally recommended and easy to read), I also at some point picked up UNIX Power Tools (recommended in Linux Format) and The Practice of Programming. At some point after that I became really interested in Compilers and Operating Systems. When I went for my first internship three years ago, the interviewer said I knew more about the things we talked about, than most other bona fide engineers they interviewed. The university-hired interns that sat next to me couldn't read the Erlang manual or documentation because it just didn't click with them, which while I can appreciate on some level that people have different sources of information that suit them best, it's still astonishing to me. Consider that programmers started out as secretaries learning how to program the machine from the specification and the schematics given. A lot of the programmers I have met, probably wouldn't be able to cope with such a task, I include myself in that category. I agree with you about the quality of books. A fair chunk of the books on my bookshelf from that era are 80s/90s to early 00s because those books are just an order of magnitude better written, with a high signal to noise ratio. Can you imagine a modern language like Swift or Rust being taught to the same level, in the same space as K&R? I can't!
- kqr 7y ago> I agree with you about the quality of books. A fair chunk of the books on my bookshelf from that era are 80s/90s to early 00s because those books are just an order of magnitude better written, with a high signal to noise ratio. This is a common misconception. There were plenty of shit books then, too, you just won't find people remembering and recommending them. Whereas we haven't, collectively, discarded the shit books of today, yet.
- fao_ 7y agoI don't think that's quite the case. I think there are more books in the 2000s written about basically nothing. Look at the "For Dummies" series of books. They're accessible but the content they teach could be condensed into one or two blog posts with nothing lost except the material is easier to read in a single sitting and much easier to reference.
- rbongers 7y agoI learned in the early decade using K&R, Pike, and Petzold. It has been a great base for me, despite the age of the books.