What programming-related computer skills should I teach?
-
@KattMan no, I meant the opposite. It doesn't matter how good you are with five finger typing - it's still much inferior technique and saying otherwise is just dumb.
-
@Gąska said in What programming-related computer skills should I teach?:
@KattMan no, I meant the opposite. It doesn't matter how good you are with five finger typing - it's still much inferior technique and saying otherwise is just dumb.
Because you don't understand my point. It isn't inferior for me after all these years. Did it take me longer to bring my speed up to match, probably, but these days it no longer matters. Can I get my speed up to the same level of above average users? Probably not, but again, that doesn't matter, for code I just need to be able to type as well as the average programmer, the rest is logic and problem solving skills. That's the point.
-
@KattMan you're conflating two different questions here.
- Does it matter how fast I can type, and whether I use ten, five, or just two fingers? (Answer: not at all.)
- Usefulness and importance aside, is 10 finger typing infinitely superior to 5 finger typing? (Answer: hell yes.)
"Five finger typing is okay because we're all going to die eventually" really is bullshit argument, even if I agree with individual thoughts you have.
-
@Gąska said in What programming-related computer skills should I teach?:
@KattMan you're conflating two different questions here.
- Does it matter how fast I can type, and whether I use ten, five, or just two fingers? (Answer: not at all.)
- Usefulness and importance aside, is 10 finger typing infinitely superior to 5 finger typing? (Answer: hell yes.)
"Five finger typing is okay because we're all going to die eventually" really is bullshit argument, even if I agree with individual thoughts you have.
Again, you are being Gaska here. I'm not conflating those points at all, you did then said they are not valid. I'm talking about myself personally only, which means to me it doesn't matter. If it matters to others that's their problem, not mine. I get my stuff done just as fast as anyone else and for me it's not extra work at all. I already agreed that in truth 5 fingers isn't as efficient, and that I may never get to the upper tier of typing with that process, but as I said, for me it doesn't matter because that's not the important part of my job. So stop doing a Gaska (yes, I'm going to verb you here, because this is your usual argument pattern) and do not project your malfunctions onto me, I have enough of my own already.
-
@KattMan maybe if you didn't literally say "it isn't inferior for me", I wouldn't have assumed you think it isn't inferior for you.
-
@Gąska said in What programming-related computer skills should I teach?:
Programming really isn't that much about typing.
But using a computer to produce documents (something quite possibly in the future of many of these students) very much is frequently about typing, and the alternatives aren't likely to be improve to the point of being able to take over in the next decade at least. (Voice input? AI writing everything for us? Hohoho…)
-
@Kian said in What programming-related computer skills should I teach?:
Consider teaching them to use a password manager? Not sure if macOs doesn't already have one.
The system one is quite reasonable providing you're looking for one that doesn't synch to different devices.
-
@Gąska said in What programming-related computer skills should I teach?:
Usefulness and importance aside, is 10 finger typing infinitely superior to 5 finger typing?
As long as the speed of typing is faster than the speed of thinking, there's no real need to go faster. Why spend effort on something that isn't the bottleneck?
-
@dkf said in What programming-related computer skills should I teach?:
@Gąska said in What programming-related computer skills should I teach?:
Programming really isn't that much about typing.
But using a computer to produce documents (something quite possibly in the future of many of these students) very much is frequently about typing, and the alternatives aren't likely to be improve to the point of being able to take over in the next decade at least. (Voice input? AI writing everything for us? Hohoho…)
And that's exactly what I meant by "except maybe copywriters". Because there really aren't that many jobs where you write more than one page of text per day (copy-paste doesn't count, as it's more about mouse movements or arrows navigation than typing).
-
@dkf said in What programming-related computer skills should I teach?:
@Gąska said in What programming-related computer skills should I teach?:
Usefulness and importance aside, is 10 finger typing infinitely superior to 5 finger typing?
As long as the speed of typing is faster than the speed of thinking, there's no real need to go faster. Why spend effort on something that isn't the bottleneck?
USEFULNESS AND IMPORTANCE ASIDE
-
@Gąska @dkf @KattMan Can we take the rancor about typing methods to a different thread please? Note the category, please.
-
@dkf @Kian I teach about using a password manager a bit, but it's not something I can really grade on...
@Parody I cover both of those things. And those are both in my grading rubric for their big final project (as well as others where it's relevant). Specifically, I use https://webaim.org/resources/contrastchecker/ and require 3 of 4 to be a pass (I'm fine with not having AAA support for normal text) and I require external CSS. This year I'm going to go to "must only have 2 CSS files max, one of which can be
slider.css
", whereslider.css
is a package I built to do a css-only slider that I let them implement.
-
@Benjamin-Hall Just checking: are the students going to have accounts without system privileges? The default account on macOS when you set things up the first tim has system privs, but you can create other ones afterwards that are much more locked down (including being completely unable to write to system directories). That'd seem sensible to me to have.
I'd definitely avoid using Terminal. But Cmd+i in Finder is about as useful as a combination of
file
andls -l
in a terminal.
-
@dkf said in What programming-related computer skills should I teach?:
@Benjamin-Hall Just checking: are the students going to have accounts without system privileges? The default account on macOS when you set things up the first tim has system privs, but you can create other ones afterwards that are much more locked down (including being completely unable to write to system directories). That'd seem sensible to me to have.
I'd definitely avoid using Terminal. But Cmd+i in Finder is about as useful as a combination of
file
andls -l
in a terminal.IT is setting those up--the idea is to have a locked-down admin account (that I don't have access to on those machines, despite having admin on my own school systems), a guest account that wipes the storage on log-out (for the non web-design classes that use these laptops occasionally for testing), and a dedicated, shared, non-admin "Programming" account. So yeah, that's being taken care of.
The trick's going to be getting them to back their crap up regularly to some external source (probably Google Drive, since they all have accounts there and that's accessible from their iPads or other machines they may have) so they can work from any laptop and do work at home, because these laptops are staying at school.
-
@Gąska said in What programming-related computer skills should I teach?:
@chozang said in What programming-related computer skills should I teach?:
I'd recommend one class be an introduction to proper 10-finger typing. Some of your students will already know how, but many will not. A single class will not be enough for them to really learn, but it would be an introduction and maybe inspire a few of them to learn to type.
Considering how miniscule part of programming (or really anything using a computer, maybe except copywriting) is actual typing, this would be mostly a waste of time.
I disagree. I took a typing course in college and it has significantly helped my typing. I don't keep my hands in the "perfect" position anymore, but it definitely helped develop the muscle memory. (Again, it's something you'll develop over time, but that typing course definitely helped. Ok, it was on IBM Selectric typewriters. But it still helped!)
-
@dkf said in What programming-related computer skills should I teach?:
(Voice input? AI writing everything for us? Hohoho…)
LOL! Then they get to learn how to proofread and correct!
-
@dcon said in What programming-related computer skills should I teach?:
@Gąska said in What programming-related computer skills should I teach?:
@chozang said in What programming-related computer skills should I teach?:
I'd recommend one class be an introduction to proper 10-finger typing. Some of your students will already know how, but many will not. A single class will not be enough for them to really learn, but it would be an introduction and maybe inspire a few of them to learn to type.
Considering how miniscule part of programming (or really anything using a computer, maybe except copywriting) is actual typing, this would be mostly a waste of time.
I disagree. I took a typing course in college and it has significantly helped my typing. I don't keep my hands in the "perfect" position anymore, but it definitely helped develop the muscle memory.
You misunderstood. I'm not saying learning to type properly doesn't help with typing. I'm saying typing doesn't help (that much) with programming.
-
@Gąska You are really not getting much code written, are you? Is it always perfect the first time? Are you writing tests or documentation? Are you writing tickets or updating them, or ad-hoc querying datastores or logs?
No, it's not about typing, but there is a lot of typing unless you're primarily using visual builders or somesuch.
-
@Gribnit said in What programming-related computer skills should I teach?:
@Gąska You are really not getting much code written, are you?
The best code is no code at all.
Is it always perfect the first time?
Of course not. That's why I have to debug it, which (unless you're a masochist operating on raw gdb) involves lots of clicking, lots of reading, lots of waiting, and almost no writing.
Are you writing tests or documentation?
I run test and read docs way more than I write them.
Are you writing tickets or updating them
Only updating. With mouse.
or ad-hoc querying datastores or logs?
Again - I read the results way more than I write queries.
No, it's not about typing, but there is a lot of typing unless you're primarily using visual builders or somesuch.
I think it all comes down what we mean by "a lot". For me, 15 minutes per day is not a lot.
-
@Gąska Thing is, it doesn't sound like enough. I do at least an hour or two on productive days.
-
@Gribnit just typing? Or typing interrupted every five seconds because you have to look something up or just wait and think?
-
@Gąska While writing actual code, out of 8 hours spent I'd say maybe a quarter are spent typing/retyping etc. Now note, I do my text manipulations by typing as well. And I have the portions of the APIs that I use frequently largely memorized and/or can pull up the docs inline by... typing.
-
I try not to use a mouse when I type. Copy-pasting? Between Ctrl + arrow key, Home and End keys, plus some other modifier, you don't need a mouse. Navigating through text boxes is Tab and Shift-Tab. Etc. So even if I don't type that much, I certainly do benefit from touch-typing. (Mine isn't real touch-typing as I do need the visual cues now and then, but it's close to it).
-
@admiral_p sometimes, mouse is better than keyboard for copy-pasting, especially if you're just copying fragments of text, and if you're switching between windows all the time.
-
@Gąska mouse can never be as fast, ever. It can feel faster because it is easier. but,
:esc: ddp
or:esc: yyp
will swap lines faster than you can with any pointing device, etc. - it is the deep/flat tradeoff.
-
@Gribnit said in What programming-related computer skills should I teach?:
mouse can never be as fast, ever
It's better for some tasks, worse for others. Keyboards tend to be better for text, mice for graphics (when not doing those tasks where a touch/pen interface is better again).
-
@dkf said in What programming-related computer skills should I teach?:
@Gribnit said in What programming-related computer skills should I teach?:
mouse can never be as fast, ever
It's better for some tasks, worse for others. Keyboards tend to be better for text, mice for graphics (when not doing those tasks where a touch/pen interface is better again).
Broadly agreed - at the time I did my most mousing it was in Macromedia Director and the pixel-level manipulation was fiddly - so there was a fiddle window for it. But I could not rapidly reproduce my mousical manipulations like I could with coded positioning of elements of course. Source control? What is source control? Is it a shared drive?
Visual builders now, I'm told, are more amenable to source control. Still the reproducibility of mousing it is low.
-
@Gąska I'm with Gąska on this one. My typing speed is much higher than my thinking speed when writing code, so I never feel like the speed I type at is a problem. Even when writing text (like this post), I do a lot more thinking and editing and rereading of what I've written than I do straight up typing. So even though I can touch-type (not particularly well, but well enough to not look at the keyboard), I wouldn't say it is key to my productivity, or that I could work better if I could type faster.
-
@Kian said in What programming-related computer skills should I teach?:
@Gąska I'm with Gąska on this one. My typing speed is much higher than my thinking speed when writing code, so I never feel like the speed I type at is a problem. Even when writing text (like this post), I do a lot more thinking and editing and rereading of what I've written than I do straight up typing. So even though I can touch-type (not particularly well, but well enough to not look at the keyboard), I wouldn't say it is key to my productivity, or that I could work better if I could type faster.
Ah. I have always thought faster than I can type. I can only type maybe +45 wpm, whereas generally I get whole paragraphs at once to deal with while having thought of something.
-
@Gribnit said in What programming-related computer skills should I teach?:
@Gąska mouse can never be as fast, ever.
An example from what I'm doing right now: I have XAML window with twelve buttons, and I have viewmodel class with twelve actions, and I want to bind those buttons to those actions. It means writing two ~20 character lines of code for each button, the same two lines except for the name for the action. So I wrote it once, copied it over for each button, then went on double click/Ctrl+C/double click/Ctrl+V spree for every action. How many keystrokes would that be in Vim?
And don't even think about by going away with XAML or C#.
-
@Gąska
:esc: V 2 0 j y : n e :enter: p : n e :enter: p : n e :enter: p ... : p r :enter: :gs/Foo/Bar :enter: : p r :enter: ...
, or, if the spacing is predictable and it's the same file,7 7 j
instead of: n e :enter:
-
@Gribnit if I'm counting it correctly, that's 18 keystrokes per item, plus however long it will take you to write the regexp that extracts "MyAction" from "public ICommand MyAction { get; }". Adding that plus horizontal navigation that you've apparently neglected, let's say it's 22 strokes per item on average. If you're in top 1% of fastest typists in the world, you can do about 540 characters per minute, or 9 per second. Even assuming that you don't have to spend any extra time calculating offsets of where you want to move the cursor exactly, that's still over 2 seconds per item - slower than I can do with mouse without even trying.
-
@Benjamin-Hall: be sure to extol the virtues of ten-finger versus five-finger typing. But also stress how little they'll need it.
-
This post is deleted!
-
@Gąska said in What programming-related computer skills should I teach?:
@Gribnit if I'm counting it correctly, that's 18 keystrokes per item, plus however long it will take you to write the regexp that extracts "MyAction" from "public ICommand MyAction { get; }". Adding that plus horizontal navigation that you've apparently neglected, let's say it's 22 strokes per item on average. If you're in top 1% of fastest typists in the world, you can do about 540 characters per minute, or 9 per second. Even assuming that you don't have to spend any extra time calculating offsets of where you want to move the cursor exactly, that's still over 2 seconds per item - slower than I can do with mouse without even trying.
@Gribnit said in What programming-related computer skills should I teach?:
@Gąska :esc: V 2 0 j y : n e :enter: p : n e :enter: p : n e :enter: p ... : p r :enter: :gs/Foo/Bar :enter: : p r :enter: ..., or, if the spacing is predictable and it's the same file, 7 7 j instead of : n e :enter:
- :esc:
V 2 0 j y
yanks your text to paste, that's 6. - Assuming you have all the files loaded already,
: n e
:enter: is 3 to get to the next file. - Where does it go in the next file? Wasn't it the whole 20-odd lines? I dunno.
p
pastes them 20 lines.- I don't need to horizontal or vertical nav to do the
:gs/\(My\)\(Action\)/\1Other\2/g
:enter: - and the next time I want to do it, I can
:
to recall it and futz with theOther
.
Note, I'd usually do the filenav with the mouse because that part is faster with the mouse
- :esc:
-
@Gribnit said in What programming-related computer skills should I teach?:
- :esc:
V 2 0 j y
yanks your text to paste, that's 6.
You're lucky they were consecutive lines. In real applications, they aren't.
- Where does it go in the next file? Wasn't it the whole 20-odd lines? I dunno.
Not pictured: the other 10 places at various indentation level. Good luck hitting it exactly without mouse or pressing arrows frantically.
Note, I'd usually do the filenav with the mouse because that part is faster with the mouse
That's exactly what I'm saying. Copy-pasting often (not always, not even usually, but still very often) involves more navigation than just executing the commands for copying and pasting, hence why it's often (not always, not even usually, but still very often) faster with mouse.
- :esc:
-
@Gąska said in What programming-related computer skills should I teach?:
@KattMan maybe if you didn't literally say "it isn't inferior for me", I wouldn't have assumed you think it isn't inferior for you.
Ah, I think you have some different working definitions of
inferior
here. So,inferior
ininferior for me
is eitherinferior
quainferior
i.e.absolutely inferior
or it is a less-strong term having been modulated to the subjective byfor me
which I rather think it does do, hence noqua
.This could maybe have been rendered less confusingly by italicizing vs not italicizing words in the original post and/or posts, but eh.
-
@Benjamin-Hall said in What programming-related computer skills should I teach?:
they can google for simple instructions
Do they do this correctly? Or do they go on to type entire sentences instead of just the key words?
-
@Deadfast It seems everyone takes the "ask an entire question" route. Though from what I've seen, Google does a fairly good job of answering directly.
-
@kazitor said in What programming-related computer skills should I teach?:
@Deadfast It seems everyone takes the "ask an entire question" route. Though from what I've seen, Google does a fairly good job of answering directly.
Descriptive strikes another blow against prescriptive, by market demand.
-
@dkf said in What programming-related computer skills should I teach?:
As long as the speed of typing is faster than the speed of thinking, there's no real need to go faster.
So you're saying some people never need to type at all?
-
@HardwareGeek it's better for the rest of us if they don't.
-
@Gąska said in What programming-related computer skills should I teach?:
You are naming things in polish?!?!
-
@MrL said in What programming-related computer skills should I teach?:
You are naming things in
polishPolish?!?!Unless they shine in the light or something.
-
@MrL said in What programming-related computer skills should I teach?:
@Gąska said in What programming-related computer skills should I teach?:
You are naming things in polish?!?!
As I said, college work.
-
@kazitor said in What programming-related computer skills should I teach?:
@MrL said in What programming-related computer skills should I teach?:
You are naming things in
polishPolish?!?!Unless they shine in the light or something.
There are some grammar/language rules which I find silly and purposely ignore them. Capitalizing language names in english is one of them. Capitalizing days of week is also stupid.
"never put coma before 'and'" and "capitalize pronouns to 'show respect'" are examples in polish.
-
@MrL Normally I wouldn't say anything, but in this case it changes pronunciation
and presents an opportunity for a pathetic attempt at humour.
-
@kazitor said in What programming-related computer skills should I teach?:
in this case it changes pronunciation
Really?
-
@kazitor said in What programming-related computer skills should I teach?:
@MrL Normally I wouldn't say anything, but in this case it changes pronunciation
and presents an opportunity for a pathetic attempt at humour.Really? Never heard that.
-
polish, to shine something: /ˈpɒlɪʃ/
Polish, of Poland: /ˈpəʊlɪʃ/I think those are about right. My IPA-fu is not perfect.