I tried vim motions as a daily driver many times but, I don't think that with today's expansive IDEs vim motions are all that superior. IDEs have very competent shortcuts and features built in.
My biggest problems with vim are lack of feature discoverability and the fact that you can't change the keybindings.
It's very hard to learn new things in Vim without specifically googling for them. It's highly likely that if I sat down to some online course I could learn a lot more about the Vim way of editing but I could never sit through one long enough to discover new things, so most of the things I learn about Vim come from me specifically looking up how to do certain things, not a bad way to learn, but I feel like I never got extremely proficient becasue I didn't go deep enough.
I find a lot of the keybinding to be unintuitive or not very ergonomic or inconsistent, but I also don't want to rebind anything because part of the reason vim is so useful is the fact that you get this tool with every linux install and changing things means you're no longer using The Vim. On the contrary it feels perfectly fine to tweak your IDE's keybindings because that IDE is already very specific to your needs.
I don't think anyone claims vim motions are superior in absolutes with a straight face.
I like a nearby comment that essentially says "it's not superior for everyone, it's just infinitely better for me; also it doesn't magically make anyone 100x better than the next developer".
I've seen people using IDEs and flying around massive codebases at incredible speeds, all the while they're completely mystified by even the simplest vim editing.
Me? Put me in front of an IDE and painfully witness the absolute grind: I'm a sitting duck; but in Vim I feel like my brain is plugged straight into the computer: I don't even think about my hands, code is conjured just by thinking about it.
Yes, vim is not intuitive. It doesn’t teach itself to you. It takes hard work. I bought the O’Reilly vi/vim book [1] and read it cover to cover. I practiced a lot of things and was very deliberate about it.
To me, learning vim is like learning a musical instrument. You’re not going to get there without committing to it. For many people that’s just not going to happen: they have neither the time nor the inclination/energy to do it. That’s totally fine! There are loads of other tools for people to use and they get by just fine without vim!
I think my main complaint is that there aren’t a few more tools like vim. Almost all software is designed for people to be able to pick up casually and be able to get work done at a passable level of productivity without ever reaching mastery and flow state. Tools like that (easy to use but with no real incentive for mastery) are deeply unsatisfying to me for a lot of reasons.
I guess what I’m saying here is really just a restatement of “Worse is better” [2].
Yes, though that characterization is time-relative. I think vi would’ve been called “New Jersey Style” back at the time it was created, owing to its legacy as a minimal extension to ed for full screen interactive editing on a video terminal.
Today, the editing landscape is dominated by IDEs which have very basic (nearly minimum viable) editing functionality in support of getting the product out the door ASAP and letting plugins handle the fine details. This stands in marked contrast to a legacy tool like vim which gets editing right out of the box, allowing people to be productive even with a stock configuration (no plugins needed, though of course many are available).
We might call this an analogue of the Overton Window: the TRT vs WIB Window has shifted so far towards Worse is Better that we now consider UNIX an elegant tool. The old team at MIT must be really disappointed now!
Yes, but I meant that in the sense that when you change vim, it's no longer the vim that ships with Linux distros. It stops being the universal tool and starts becoming your custom text editor,and to me the biggest advantage of vim is how you're going to encounter it everywhere.
A gameboy emulator is a very popular project. There are plenty of guides on how to get started. Checkout "build your own x" repo for some project ideas
I shouldn't need to read a 500page textbook to understand a class that a teacher has been 'teaching' for 20 years. He's there to give me an understanding of the subject. I have at least 5 classes each semester which are very technical and difficult, it's impossible for me to read a textbook on each while also reading a 20-30 page lab instruction each night, all written in a technical language which I barely understand. I can try but so many times constant consumption of this literature lead to burnout
"Technical and difficult": there are both important concepts and broad strokes that your teacher should be good at explaining, and important details that should be explored in a textbook because they need good pictures, data, editing etc. more than good explanations.
Taking a longer time than normal to learn a topic and prepare university exams might be a good alternative to burnout; or maybe your lifestyle and/or intellect are incompatible with studying.
Am I not supposed to expect a quality lecture from a university professor?
I have had such a bad experience with certain lecturers, I'm certain what they were saying wasn't incorrect but the way they were speaking made it impossible to follow. It wasn't just me who thought so.
I admit I've had learning difficulties my whole life but I believe it is actually impossible to learn all the material from the classes with all the details from books. You can pick a field or two which interest you the most and delve deep into the details.
An extremely fundamental topic at my uni is called "introduction to circuit analysis". It was taught by a professor who was so bad at teaching it there was no point in coming to his lectures. You would learn more from watching youtube videos. Everyone was aware of the state of that class. Even our lab professors would mock his teaching style. Now if every class was like this we would be lost.
I'll give a recent example of another lecturer who I also consider bad, but fortunately he is teaching an easy subject. First class a kid asks 'what's the difference between a router and a switch'. The professor answers 'a switch works on layer 2 and a router works on layer 3'. In my opinion this is a non answer. Yeah he said the truth but it didn't mean anything. If that student didn't know the difference between a switch and a router then surely he doesn't know about the ISO OSI model. Before you think he probably didn't have time to answer more specifically to make sure he understands. This guy notoriously keeps digressing from the subject. As that classes subject is one I am familiar with I knew the way he taught it was impossible to make sense of because he never answered in a concrete way, everything felt so drawn out and lacking a focal point, it's hard to describe. It took him four hours to go over the ISO OSI model and honestly while I wasn't paying attention to every single word he said. With all the digressions and constant comments about stuff you just couldn't follow his train of thought.
On the contrary electromagnetism class was absolutely amazing. It's still a difficult subject, at least for me because I've always been pretty bad at physics but the lad who taught it was brilliant. He made sure we all understood, he started with very basic concepts that everyone knew, just to be certain everyone is on the same page. His presentations were concise, easy to follow with links to read up/watch stuff that you didn't fully get or wanted to learn more about. They had plenty of visualizations with gifs of stuff. It's a pleasure going to his classes.
So I think that I should expect the lectures to give me an understanding of a subject. If I had to read a book for every class there wouldn't be enough time in a day for me to catch up.
I never understood this example used to explain it, vsauce made a video on the banach tarski theorem.
You make an infinite list of numbers between 0 and 1 chosen at random. Apparently you can make a new number that was never seen in the list before if you pick a digit from each number in the list and add one to it.
Say the list has numbers
0.36285728..
0.95825597..
0.47264112..
..
I can make a new number by taking the 3 from the first number the 5 from the second and the 2 from the third num and so on.
0.463..
I never understood
You don't take "3" from the first, you consider three, but choose something that's not "3", so the number you are constructing differs from that first number.
Then in the second place you don't take "5", you choose something that's not "5", so the number you are constructing differs from that second number.
And so on. So every time you have a list of real numbers, it cannot contain all real numbers ... you can always construct many, many, many numbers that are not in your list.
But I'm not sure how this is related to what we've been talking about. If you understand what I've said here and are still confused, maybe you can be a bit more specific. If you have not understood what I have said here, perhaps you can ask more specific questions.