4 ms·
and guess what? You don't need a website either. Step 1: Get a copy of "The C Programming Language" by Dennis Ritchie, Brian Kernighan. Step 2: Learn the fund
by huangc10 10y ago
and guess what? You don't need a website either.
Step 1: Get a copy of "The C Programming Language" by Dennis Ritchie, Brian Kernighan.
Step 2: Learn the fundamentals
Step 3: Master other languages
Edit...I know there's been a lot of negativity towards my comment and I can understand why. I like to keep my comments simple and leave it to the reader's interpretation. However, it seems my comment was too simple...
Let's focus on step 2, as step 1 and 3 are out of the scope of my comment. "Learn the fundamentals". As with any profession, trade, basketball player, high-rise building, pyramid, etc. you need to have solid fundamentals. What does that mean for programmers and developers? It means understanding computer theory. It means learning about the stack. It means learning the difference between big endian vs little endian. Learning memory allocation in C for an array is every bit as important as learning how to var arr = [].
Sure you can skip the fundamentals (hard stuff?) and go straight to high level languages but should you?
- wyldfire 10y agoThat's ludicrous, IMO. I think that people who are in the market for a $15k coding bootcamp should steer way clear of K&R (and LCTHW). Why? Because C is not the right tool for 95% of the jobs the coding bootcamp crowd will be asked to solve. Don't get me wrong, C's great and I followed your three-step process over the years. But we don't need to do that anymore because most devs will just eke out the slimmest benefit to understanding those details.
- deleted 10y ago[deleted]
- sndean 10y ago> Because C is not the right tool for 95% of the jobs the coding bootcamp crowd will be asked to solve. I'm curious about this point. Are the large majority of coding bootcamps teaching JavaScript and Ruby because of the number of jobs available in that market? Would anyone (hopefully, the bootcampers) benefit if there were a bootcamp teaching C?
- shubb 10y agoC is largely used for embedded / engineering / systems work. That work largely gets done at engineering companies that also employe mechanical and structural engineers. They like degrees and apprenticeships as routes to entry - the coding camp crowd might be able to find an equivalent apprenticeship and grow out of that into engineering work. But they won't recruit to an engineering role out of a bootcamp.
- ng12 10y ago> Because C is not the right tool for 95% of the jobs the coding bootcamp crowd will be asked to solve. Totally irrelevant. My first language was Scheme and I haven't touched a functional language in the 10 years since. However I'm really glad I learned it (through SICP) because it set me up for success later. This is actually what I think is the big problem with bootcamps -- they want to treat software engineering as a trade. I don't care if you can check off the Javascript box on the resume. I care that you're an intelligent, motivated developer who's able to build decent software.
- mi100hael 10y agoBut that's hard :( /s
- rublev 10y agoStandard HN comment, and also absolutely insane. Have you met people with limited computer experience just getting 'into' it? Computers and code are literal magic to them. I mean people who's lives don't really entail a computer at all beyond social media. I taught at a local bootcamp. It had less to do with code and more to do with getting people to think in abstractions within a specific domain. If you can sit in a room for days on end juggling the uncertainty of learning something completely new, more power to you I guess. And that's like nobody. I consider myself decently intelligent and I almost went insane trying to teach myself something I had zero prior experience in. Literally wasted like 4 months due to uncertainty/following wrong info. Many moments of "oh, I didn't need to learn any of that actually". This is why bootcamps are amazing, you have experts roaming around that you can tap into at any second. Somewhat ironically paying that $15k for the bootcamp would have saved me a lot of money in opportunity cost and sanity. >C is a general-purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators. C is not a "very high level" language, nor a "big" one, and is not specialized to any particular area of application. But its absence of restrictions and its generality make it more convenient and effective for many tasks than supposedly more powerful languages. Just reading the first paragraph already opens a world of questions, and this is way before you even get to any Hello World stuff. Just telling a beginner "Hey you should read this C book" would open up questions like "What is C? You're telling me I have to learn an entire new language just to make that tiny thing? Screw that!" Have fun untangling yourself out of that one. External motivators work, there's a reason we have entire academic institutions instead of a world of disconnected hermits.
- afarrell 10y agoAlso, the poster fails to specify that you need the 2nd edition of that book. Otherwise, just following it won't even work.
- kybernetyk 10y ago>Computers and code are literal magic to them. Ok, but why do those people think they just need to do a 5 week long $15k bootcamp to get a job as a senior software dev and make $100k+/year? I get that people want to expand their knowledge. But these bootcamps don't cater to this kind of people.
- narrator 10y agoBack when I was a teenager I read "The C Programming Language" and did not get it at all. There's a lot of jargon in there that presumes familiarity with low level operating system and computer architecture concepts. I read it again a few years ago after many years of a successful software development career and it seemed generally concise and practical. Point being, there are much better introductory CS texts such as "Structure and Interpretation of Computer Programs".