Using 10 Fingers lazarus / 8-Other ---------------------------------------------------------------------- loaded · 2022-01-07 12:06 Hi All, Does a good programmer have to know how to type "10 fingers"? I would be glad if the masters give their opinions. Respects. ---------------------------------------------------------------------- SymbolicFrank · 2022-01-07 12:53 I have been programming for ~40 years, and a few times a year i think that I should learn to do that. It seems very useful. Then again, not being able to type with 10 fingers isn't holding me back and I spend a lot of time pressing keys other than just alphanumeric ones by themselves. ---------------------------------------------------------------------- Handoko · 2022-01-07 13:08 As I am still learning to be a good programmer, I can't say for sure. But I personally think a good programmer is a programmer who is open to try new ideas, diligent in improving his knowledge and has good logical thinking. I learned 10 fingers typing skill in my school and I can type very fast. As I spend a lot of time writing and improving my source codes, able to type fast is very important. But, it is only a bonus, the most important 'things' to be a good programmers are those I mentioned previously. Hey, it is not hard to learn 10 fingers typing technique. I used to be a part-time teacher. If you spend 30 minutes or more everyday following the correct lessons, you should be able to type 10 fingers in less than a month. All my students were able achieved it in less than 3 weeks. ---------------------------------------------------------------------- balazsszekely · 2022-01-07 13:22 I learned to type with ten fingers a long time ago and it was a painful process. It took approximately six month to be good at it, the temptation was always there to switch back to two fingers. As a side note, remember that a programmer who types with ten fingers is a fast programmer not necessarily a good one. ---------------------------------------------------------------------- RayoGlauco · 2022-01-07 13:23 Typing with 10 fingers and especially without looking at the keyboard is an important advantage. You can do your work faster and more comfortably. Maybe not essential, but a good advantage. ---------------------------------------------------------------------- Ñuño_Martínez · 2022-01-07 13:26 Me too, I learned typography when I was a child.  Now my students are amazed how fast I can write code.  A pain but very useful. ---------------------------------------------------------------------- RayoGlauco · 2022-01-07 13:37 I can type hundreds of digits on the numeric keypad in a few seconds without taking my eyes off the paper. ---------------------------------------------------------------------- korba812 · 2022-01-07 13:38 Unfortunately, I do not have this skill. Fortunately, most IDEs or code editors have a code completion feature, so I don't feel this painfully. ---------------------------------------------------------------------- PascalDragon · 2022-01-07 13:43 Originally I was only able to use a couple of fingers, but when I switched from QWERTZ (the German default layout) to NEO (German only, sorry) I was essentially forced to learn how to type blind, cause the characters on the keys didn't match the generated keys anyway. And yeah, that has greatly improved my writing speed and I can type without looking at the keyboard which in my opinion is quite an advantage. ---------------------------------------------------------------------- Martin_fr · 2022-01-07 13:46 Quality ("good"-ness) of programming is not related to "method of typing". But, if you spent a lot of time on the keyboard, 10 fingers (combined with an ergonomic keyboard) can be an advantage. That is, if for you "not 10 finger" means a lot of looking down to the keyboard. As this can put a lot of strain on your neck. Yet 10 fingers on a "normal" (not ergonomic) keyboard can be bad for your wrists. Switching keyboard layout (e.g. to Dovrak) can help with the learning. But, if you are not on your own PC, then you want be able to do 10 fingers. (and probably be slower, than today, as you have less exercise in the old way of typing) ---------------------------------------------------------------------- ojz0r · 2022-01-07 15:18 I learned to used 10 fingers when i was ~10 in the middle of the nineties. My dad had a retired compaq (the one with mouse wheel in the screen part) that i could play with and installed a shareware to learn it with different exercises. I dont see how it can affect your skill as a programmer per se, but it has its advantage not needing to take the eyes of the screen and losing track of your position. ---------------------------------------------------------------------- balazsszekely · 2022-01-07 21:04 @loaded I created a small demo project for you. It depends on TRichMemo, you can download the package from: https://github.com/skalogryz/richmemo or install via OPM. Unfortunately Richmemo does not install on linux so this project is windows only for now. You can test your typing speed. After you finish typing the application displays a small statistics. ---------------------------------------------------------------------- loaded · 2022-01-08 07:28 First of all, I would like to thank all of you who offered their experiences and ideas. Quote from: GetMem on January 07, 2022, 10:04:30 pm@loaded I created a small demo project for you. GetMem my dear brother. The gift you gave made me happy like a child.  If I had found gold on the road, I wouldn't have been so happy. Thank you as much as 14016, which is the number of characters in your program. Good luck with your hard work, thank you very much. I wish I had the opportunity to buy you all a coffee. ---------------------------------------------------------------------- 440bx · 2022-01-08 09:09 I just wanted to say that I concur with everyone who has stated that typing fast doesn't have anything to do with the quality of the code but, as many stated, it is quite an advantage. I wish I could type as fast as I can code in my head.  Sometimes I find myself typing code that's supposed to be there 5 or 10 lines after the last line of code I typed.  IOW, my fingers try to type what I'm thinking and since they cannot keep up, they skip ahead dropping lines of code in the process .  If I typed with two fingers, I wonder what the result would be. Typing classes were given in the high school I went to but, I was definitely more interested in other things and didn't learn anything.  Many years later, I had a boss who typed about 90 words a minute and watching him made feel very inadequate then (he was really, really fast), as a result, I taught myself touch typing (or 10 finger typing) and, I'm very glad I did. I've noticed that, as I get older, my fingers don't have to struggle as much to keep up with the speed of my thinking   My fingers don't seem to mind but, I'm not too happy about that. ---------------------------------------------------------------------- MarkMLl · 2022-01-08 09:23 Quote from: 440bx on January 08, 2022, 10:09:03 amI've noticed that, as I get older, my fingers don't have to struggle as much to keep up with the speed of my thinking   My fingers don't seem to mind but, I'm not too happy about that. I'm now at the stage where my fingers move faster than my thoughts, and I have to go back and change entire words that some helpful part of my nervous system thought I might be about to use. And a few days ago I found I'd typed '1 + 1' where I meant 'i + 1'... MarkMLl ---------------------------------------------------------------------- Josh · 2022-01-09 01:36 Hi Getmem, modified app, does not use richmemo; so should be ok for nix.. ---------------------------------------------------------------------- balazsszekely · 2022-01-09 08:49 @josh Very nicely done! Thank you!  Now it works on Linux too. Will test later on macOS. Few notes: 1. There is a small glitch, if you type the same letter multiple times the length of the text increases(see attached image)  2. When I press the ESC key, the test does not end(most likely related to point 3) 3. You moved from UTF8KeyPress to KeyPress, I don't know how well it works for non English characters(Russian, Chines, etc..) 4. Can you please add the possibility to load text from file? 5. If you have github(I don't) can you please upload the project? ---------------------------------------------------------------------- Josh · 2022-01-10 23:47 @getmem uploaded an update; moved routines into unit; there is now a load button. now the text area will auto scroll, keeping active line centered when needed. I had a brain freeze earlier and winni helped in other post, i dont do much graphic work; so brain was foggy. the 'glitch', is by design, if you press the wrong key, the displayed correct text is over written with the wrong text, it is then in red, if you type the write character but wrong case ie c instead of C, it is highligted in blue. The size of the text is limited to 1500px this can be changed, but equates to about a 200 line text file. I dont use utf8 much at all, all my stuff is old school ascii, will have to look at that, is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines.. Like I said, i have not to use it for what I do; which is primarily data aquasition and manipulation from various hardware devices.. so good old HEX,Binary stuff. edit modified some ufunction routine in thread execute and wait to reduce cpu load (from 20%idle to 1%idle) ---------------------------------------------------------------------- Martin_fr · 2022-01-11 00:42 There is something wrong with the keyboard displayed. ---------------------------------------------------------------------- balazsszekely · 2022-01-11 13:59 @josh Quoteuploaded an update; moved routines into unit; there is now a load button. now the text area will auto scroll, keeping active line centered when needed. I had a brain freeze earlier and winni helped in other post, i dont do much graphic work; so brain was foggy. the 'glitch', is by design, if you press the wrong key, the displayed correct text is over written with the wrong text, it is then in red, if you type the write character but wrong case ie c instead of C, it is highligted in blue. The size of the text is limited to 1500px this can be changed, but equates to about a 200 line text file. I dont use utf8 much at all, all my stuff is old school ascii, will have to look at that, is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines.. Like I said, i have not to use it for what I do; which is primarily data aquasition and manipulation from various hardware devices.. so good old HEX,Binary stuff. edit modified some ufunction routine in thread execute and wait to reduce cpu load (from 20%idle to 1%idle)Thanks. ---------------------------------------------------------------------- MathMan · 2022-01-11 14:54 Maybe I'm the odd one here again - but I never bothered to learn 10 finger typing. Reason for that is - when I'm programming 90% of my time is spent thinking and only 10% typing. There simply is no advantage in it for me. But I also admit, that I'm a really slow programmer. Cheers, MathMan ---------------------------------------------------------------------- Thaddy · 2022-01-11 14:59 Quote from: MathMan on January 11, 2022, 03:54:06 pmMaybe I'm the odd one here again No you are not... ---------------------------------------------------------------------- 440bx · 2022-01-11 15:01 You're odd if you have 11 fingers... now, that, is mathematically odd.  As far as 10 finger typing... Fast programmers delegate thinking to their fingers.  10 brains and parallel execution... can't beat that. ---------------------------------------------------------------------- SymbolicFrank · 2022-01-11 16:13 You just have to learn to multitask: while typing a part, already design the next part. Or, think of the things that interact and/or would make the current part simpler and/or more efficient. ---------------------------------------------------------------------- Martin_fr · 2022-01-11 16:38 Quote from: 440bx on January 11, 2022, 04:01:06 pmYou're odd if you have 11 fingers... now, that, is mathematically odd.  As far as 10 finger typing... And if you have 9 fingers, someone might call you a square. And if they do, you can't get even with them. But worse, if you had 1 finger: Not in your prime, still a square, still not getting even, and can't duel them, because for a duel you need a second. But imagine you had -1 fingers, only the imaginary can help you find the root (cause) of that. ---------------------------------------------------------------------- Sieben · 2022-01-11 17:21 Quote from: josh...is there routines to manipulate a utf8string with codepoints positions, ie  mystr[10] will give the 10th utf8 codepoint; like wize for copy routines.. The latter and more is in LazUTF8 of course, for the former you might want to have a look at GetCodePoint / SetCodePoint in unit MaskEdit.