Incidentally, a relative who was really interested in programming went to college and her first course was in C++. It was too much too fast and she quit (and never became a programmer). Unless we're actively trying to reduce the number of programmers, don't start with C or C++.
-
-
Show this threadThanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Been writing a lot of C the past year. My thoughts: terrible intro to programming, absolutely valuable as a growing software engineer. I would have run from programming if it was my first exposure but think it’s the best thing I’ve learned since.
-
Right. Totally agree.
End of conversation
New conversation -
-
-
Another terrible advice I hear often is to learn [language] before learning [framework]. Because we all love sticking to contrived examples in a console, and waiting patiently until "we are ready" to see anything actually relatable.
-
Yep! Build something you can use and share first.
- 1 more reply
New conversation -
-
-
Both positions are equally bad, it's not C that makes programming good, notmr is it that makes it bad too! You may have not enjoyed K&R, but others do can! It's not an universal truth.
-
I didn't say nobody can enjoy K&R. I'm pushing back on the closing line: "So, if you’re interested in programming, C is a great place to start." For a lot of people, C will be the beginning and end of their experience.
-
I agree. And for others, as they are commenting, it was indeed a great place to start, so... IMO, basically a matter of taste, or how it happened.
End of conversation
New conversation -
-
-
My alma mater has switched to JS for the first language because it’s high leverage. Easy to get folks interested when they see something more than just printing strings. Sophomore year is when they begin to mix in C.
-
They should check to see whether people are bouncing hard in year 2. If not, this sounds much better. Of course, I'm partial, but I really wish more schools mixed in Rust as their "low level" thing. Having a standard pkgmgr is gold.
-
Definitely. I believe
@rtoal and@zugzugglug would be able to provide more insight there. -
Here's a history/manifesto and reasons we went this route: https://gist.github.com/rtoal/046c7be95aa077a832fcd87f5b024446 … Second semester is Java, so no hard bounce when C is introduced in semester 4.
End of conversation
New conversation -
-
-
I had a very similar experience with a C++ book when I was a kid. I think I just ignored it and kept going with QBasic, then Delphi and Visual Basic. And a scripting thing called “AutoIt 3”.
-
I basically had no access to anything. This was the late 80s so the internet couldn't tell me I should just ignore C (BBSes I was on didn't have the right people), and I didn't have enough $ to try a lot out, so when people gave me a new thing to try it was a big deal.
- 1 more reply
New conversation -
-
-
(I wrote a while ago about what I care about in an introductory language: http://blog.bethcodes.com/1189539 C has... maybe one of these things. If I'm being generous.)
-
fwiw I think I completely agree with your heuristics :)
End of conversation
New conversation -
-
-
Agreed. People referring me to K&R, and encouraging me to start with C in general, set teenage-programmer me back many years. It’s often meaningless to a beginner.
-
I read K&R when I was in high school and I liked it so much that I was upset people didn't recommend it before. Short book with all that I needed to learn C.
-
I wasn't a total beginner, though.
-
I think C is a great language for an intermediate developer with enough skills to get stuff done already. Learning how to write a Ruby C extensions felt so good to me. But I already knew how to get shit done in Ruby.
-
Yes. I think one ought to learn C and a bit of asm eventually, they represent the hw/sw interface as seen at the lower levels of system dev, and C is ubiquitous in the world. But like .. maybe as language 3 or 4? It's very fussy and awkward, easy to lose motivation when new.
-
Anything beyond scalars quickly gets lost in the weeds of memory management APIs and pointers that, while necessary for full understanding of the implementation, obscures early problem-level reasoning, exhausts a learner's patience.
-
I think beginners should be exposed to many different languages so they quickly understand the most important thing about programming: there are many ways to do it.
-
After learning that they will pick a language to study deeply. They will focus on a language without mistakenly believing that what they're doing is how everyone else programs.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.