Hacker News new | ask | show | jobs
by waynecochran 2690 days ago
My first year of grad school I was a TA for a first year computer science course that was often taken by students from a variety of majors. The first editing sessions I spent the whole lab time running around help students with frozen vi editors.

The main problem is you don't start in "edit mode" and students expect to be able to just start typing (which is a reasonable expectation). Who knows what "command" they just invoked -- sometimes I just "ctrl-z, killall vi"

I learned to hate vi.

2 comments

That sounds like someone's idea of a practical joke. Assigning vi as a default editor for first year CS students has to be an efficiently cruel way to clear out an overpacked classroom for the semester.
For the cost of tuition, that should be banned.
"Weed-out" classes are pretty common across subjects, though.

I remember taking an introductory course in our undergraduate pre-med track which was basically just a new presentation about novel research every week. The exams would be on these fairly specialized papers which most first-year students were at a loss to understand, so they ended up being exercises in rote memorization.

When some of us complained to a TA that we didn't see how we could learn enough to understand the concepts without just memorizing key points and angling at the professors to find out what was important, their response was something along the lines of, "then are you really sure that you want to study biology and medicine for the next umpteen years?"

On the other hand, I hate telling people that a field "isn't for them" just because they don't feel like putting up with the bullshit which has accreted around the way that a subject is currently taught.

Personally, I'd like to see an introductory class about how to effectively search for answers online, find useful sources, ignore ads and obvious SEO-gaming, etc.

Weed out classes shouldn’t exist. Not when a degree is mandatory and student loans can’t be defaulted.
I agree - I sure didn't stick with studying medicine - but there they are.
Too many people go to college today. A degree used to carry prestige. Now it mainly shows you're impulsive enough to take out $60,000+ in debt when you don't even know what you want to major in.
Or, just being 17/18 years old without a clue in the world and tons of external pressures to take on that debt.
You've got it!

My kid was uncertain and stressed by the pressure to make a decision; once he decided "I won't" his stress went away and his grades shot up. Instead of going to college at 18 he got a job. A year after graduating he knew what he wanted and got into a good school in a program he wanted.

What shocked me is how much disapproval he received from his classmates and the school (especially the "guidance" counselor). "Loser", "what's wrong with you?", "are you too stupid to get into college" (asked one of his fellow AP Calc classmates).

Apparently the approved path is to get into a school and ask to defer for a year. Deciding you're not ready seems to threaten everybody's assumptions.

Hell, I'm 26 with all that debt and still really without a clue on what I want to do. Thankfully I have a stable job that, if I keep at it, will forgive my debt...But our system is completely broken in that it expects way too much out of young adults.
For reference this was 1992 and the lab was a collection of thin clients that booted in HP/UX. I still hate vi to this day.
Why not just write the basic instructions up on the board? Or give them a handout with the basic command keys?
Why not just use an editor without awful UX?
That would have been my choice. Unfortunately I wasn't the one that made the decision to have the students use vi.
It's not really awful, especially when you compare it to something like ed, edlin, or edt...
The fact that $thing has some negative qualities is not erased by pointing at $otherThing which scores lower on that particular dimension.
There aren't really any editors that have no negative qualities...

vi is a very good editor. You have to learn about three things to use it effectively. It's really not a high bar to entry.

You can lead a horse to water, but he will still start typing before reading instructions.