3 ms·
Not sure how that follows. You can try to teach good habits, but you're still throwing intro students into a language that doesn't care if you follow them or no
by phailhaus 10y ago
Not sure how that follows. You can try to teach good habits, but you're still throwing intro students into a language that doesn't care if you follow them or not.
- Lev1a 10y agoHaving gone from Python and a little C++ to Python and a certain REALLY pedantic language, I wish I had had one such unforgiving language/compiler from the start...
- enraged_camel 10y agoBut surely a university environment is the best place to experiment and learn what works and what doesn't. I mean, the majority of these students will have to write JavaScript sooner or later. Better they learn it in a controlled environment.
- phailhaus 10y agoUniversity is hardly a controlled environment; students are encouraged to get their projects working and then ditch them. There's very little incentive to write good code. Remember, we're talking about intro languages here. It's a much better idea to teach languages that encourage good habits because then going to "wild west" languages like javascript is much easier.
- deleted 10y ago[deleted]
- detaro 10y agoIn the first programming course many students can't judge "what works and what doesn't" yet, or even appreciate the details if you tell them, and are busy enough with the basic concepts behind what they are doing. You also can't really teach only an opinionated subset of the language, since students use all kinds of material to learn. Material about JS is often steeped in environment details (browser, nodeJS, JQuery, ...), and thanks to transpilation right now multiple versions are popular, which makes it even more confusing. It wouldn't be impossible to teach a good intro course with JS, but I don't see any benefit in doing so, and it wouldn't make the students very effective JS programmers.
- enraged_camel 10y ago>>In the first programming course many students can't judge "what works and what doesn't" yet That's what the instructors are there for...
- detaro 10y agoFrom my perspective (I've TAed a bunch of intro-level courses, taught in various languages): You can tell them, yes. But as you rightly say, an important thing is to experiment and (IMHO) to see for yourself what works and what doesn't. And that part works best if it fits their abilities. Experimentation should lead them past what they've learned from you, but not into to much confusion, which for absolute beginners can be incredibly demoralizing. More talented students will go into different languages and weird stuff anyways, I'll help them when they ask questions or I see something they are doing I can contribute to, but I can't run a course matching their abilities as an intro-course. Again, I'm not saying you can't do it in JS, but it's not a decision of "let's use JS because I want people to learn JS". And if having JS in there is the goal, nothing wrong with running a course using multiple languages and using JS as one of the later ones. Ideally, after a good set of intro courses your students have seen enough that they can pick up most languages relatively easily, and then, when they need them, learn what current best practices and their ecosystem are.
- phailhaus 10y agoSure, given enough instructors and a huge amount of time you could probably teach it. But starting with javascript gives you almost no benefits and saddles you with the huge burden of attempting to teach a language known to have many quirks and strange conventions.