Monday, February 2, 2015

Re: OMG, Vim is hard! [Was: Re: Oh no! Vim eats my text - Naughty Vim. [Was: Any poets here?]]

On Mon, Feb 02, 2015 at 03:01:46AM +0100, Xen wrote:
> Quoting guyzmo <guyzmo+vim@m0g.net>:
> > When I happened to be teaching at people learning programmation, my
> >first advice was to try a few editors or IDEs out to make their mind
> >about it, and discover, learn as much as they can of that editor.
> >Because the more you know your editor, and your dev environment, the
> >more efficient you'll be at the other tasks you'll do.
> Of course, but that was never the point.

This is, au contraire, the whole point! Any advanced editor can be
painful to use at some point, when you want to get to advanced features.
Then, you need to learn, take tutorials, do trainings in order to
remember those features. Or you can spend half of your time using it
taking the menus, looking again for that damn option that's always 5
llicks away. And worst, you need to take the mouse to get to them!

> > But I guess there's no point talking with you, as you won't move
> >from your trollesque point of saying the tool is bad when you're
> >actually too lazy to understand how and why it's been designed that way
> >with a learning curve. If that tool was indeed that bad, do you think it
> >would still have such a wealthy community after 24 years, and 39 years
> >for Vi?
> Then why don't you explain to me this good reason for making something
> harder than it has to. I am sure you do not agree with that sentiment,
> that this had been some kind of conscious choice, and I am sure it has
> not.
> I am also sure you disagree with the tool being harder than it needs
> to in any case, but that is the whole point of the disagreement, not
> whether I am trolling and how good or bad I am at it :p.

I'm not saying learning Vim is not hard, it is known to have as steep
learning curve. But that does not mean the interface is wrong, that
just mean it is different.

> > Sure the manual is heavy and also needs to be learned, but isn't it
> >positive that almost every single feature of vim is documented? No
> >manual can be perfect, and it's always hard to find the good questions,
> >but whatever you want the answer is in there!
> It would be more positive if less manual was necessary, to be sure.

But what do you want from a text editor? If you want something alike the
notepad, then choose another less featured editor. If you want something
that improves your edition abilities and speed to do so, Vim is a pretty
good choice!

> No, actually I was indicating that perhaps seeing as I cannot be the
> only person with this experience or impression or perception (I am
> sure you know many more people who have had this opinion of Vim,
> right?) that there might be something of a truth in those opinions.

As well as there are many people who got over that first impression and
love the way the editor has been designed.

> I can tell you right away that virtually every person I know, has
> "notepad" or "word" or "wordpad" or "evernote" or "textedit" or even
> "openoffice" as the frame of reference for what constitutes a
> "standard or regular" editor.
> I do not expect Vim to behave in a certain way. I am saying that there
> are user interface dynamics and concepts and laws that are pretty
> common among computer designers that have to serve the masses. But as
> I was saying, Linux and Unix is a deep subculture to begin with.

Those may be standards, but their interface has been invented way
after vim has been out. Vim is different in terms of user experience
because it has been designed before the PARC group and subsequently
Apple, Microsoft et al. made standard the window oriented approach of
editing.

If Vim still exists it is because not being bounded by a UX/UI
reference that guided the whole software development of the last 30
years, made it do an unique and original approach which is the modal
way of editing.

> And being on a Vim mailing list is even much deeper. How many people
> are going to spend time, invest energy, into writing, complaining,
> commenting or doing anything around an EDITOR?

Not much, even amongst vim user.

> Just the fact that someone is here, means he or she has invested a lot
> of time in the program already. That fact reveals that there is
> already a deep commitment. You don't go on a mailing list for
> OpenOffice users. It is pretty nonsensical; perhaps you would post a
> few customer support requests on some group or forum, but that is
> about it.

I know a bunch of people that are actually pretty active on OO.
Whether this is the lists, or the forums or the organisation.

> And you want to maintain that Vim is no different from any other
> system you could want or need to learn.

I indeed do, it's a productivy tool, aimed at making life easier for
text edition. The modal way of editing is a very peculiar language that
needs to be learned, because no language is natural.

> But for me Vim is a thing that first, needs to work. It doesn't have
> to do all that much special things. My skills are limited to:
>
> - regular copy paste motions: yy, dd, D, p, and more of that. The
> basics. Now my requirement has obviously been to improve that. So I
> spent some time finding out how to do it. It was pretty hard to find
> the proper place (in the help file) and I ended up with "windows". So
> I tried to use windows. And then my interest in programming perhaps
> faded for a few weeks, and I had already forgotten again everything,
> seeing as especially there are a multitude of commands available and
> listed in the help, and I tried to select just one or two for
> remembrance. And the search for these answers had already cost me so
> much energy already, and I don't have that much of it. And so I gave
> up trying to do it over again with a 99% chance of forgetting
> everything again in pretty much the same way (actually, a guarantee).
> So I could have kept notes. Yes, indeed.

Or you could have used Vim for all your text editing needs on your
computer, and trained the muscle memory that way until you would
consider all other editors time wasting.

> The whole idea of a system being user friendly is to define its scope
> properly. You do not want to bury a user with a 1000 options when he
> needs only one. He'll need to spend hours finding the one he wants,
> studying everything, if he is a detailed person, selecting and
> discarding the rest. They say in programming "defaults matter".

But Vim's scope is pretty well defined: it's aimed at offering a
modal language for text edition, and a huge flexibility on its
editing capabilities. So yes, the trade off between conveniency and
configurability is pretty much leaning over the later. But that's what
makes that tool powerful. It's bloody good at editing!

> The idea that learning should require effort is a misconception.

It depends on what you want to learn. Learning a language need an
effort, learning to drive a car need an effort, learning physics theory
need an effort as well, and I'm not even talking about doing sports!
Even if you learn by yourself, you don't do it without reading
extensively on the subject, looking for answers and practicing.

> There is one author who has suggested to just dump all schools and
> just let children hang out in offices and factories and workplaces. A
> bit of a 'rough' proposition in this world, but still a sentiment that
> I somewhat share.

But that does not mean the learner has no effort to do, it just
means that everybody can become a teacher and share a knowledge. But
you'll always have to go through getting the information from
someone/something, asking questions/looking for answers and practicing.

> My programming is usually effortless no matter how much time and
> energy I have to invest, in the sense that such a true investment also
> rewards ample amounts of energy and time in return, as you've said.
> Doing stuff you love doesn't cost energy, it increases it.

But nonetheless, it is an effort. When the effort is driven by
passion, that's really great and may not feel like being an effort,
but it's still energy and work you put into that.

> My health has been rather bad in a way that I've had to be very
> specific about what to spend my energy on.
[...]
> Now I am in a place where I am getting nutritionally depleted in every
> way, in every single way, except one.

We're talking over Internet, on a public forum about a general idea,
and one of the great advantages, and in that mail as well as the
previous ones, I prefer to not read and ignore your personal situation.
I prefer to consider you as a human mind I can talk to without
consideration your specific problems, so I don't change my tone given
your very own situation.

> >It's not like you could become a better programmer than what you
> >already are!
> I cannot become a better programmer. But I can obtain or develop more
> skills, or increase my knowledge, or develop and build my skillset and
> toolbase. That doesn't make me a better programmer. I have been this
> person all my life. Because the programming is a process. And you stay
> within the process. And the process deals with inputs, and does
> processing, and gives outputs. And even though the externals (the
> knowledge that you can use as input, and hence the reach and power of
> what you can accomplish) do go up constantly, the actual growing that
> you do always remains a constant.

A good software engineer is someone who keeps learning. We're
working in a field that progresses everyday, and new technologies come
as older ones die everyday. Languages like BCPL are dead languages, some
thrive a bit like Cobol or Fortran, whereas they were once the most used
languages. Perl is getting less and less used, except by some sysadmins.

I've learned many languages, and doing so helped me understand
language features and choices in different programming languages leading
me question my habits.

But you say that programming is a process. It is actually not, it's
more than that, it's expressing ideas through languages, and the
languages define the complexity of the ideas you can describe.

I thought I knew programming, and started to be not bad at that, and
then I've discovered functional programming, which is a totally
different paradigm and I've learned to *think* differently the way I
program in other languages as well.

To be back on Vim, you feel it is not convenient, because it is a
different *paradigm* as well. You need to *think* differently the
way you're editing.

> But you said one more thing about not understanding why you kept writing me.

It was only because you write very lengthy mails, whereas you're
unable to read the answers in length. If your connectivity is that
bad, keep it short ;-)

Finally, that discussion is, like any troll, leading nowhere.
There's no improvement you suggest to make vim a "better" tool from
your perspective. You already know the basics, but you complain that
going further is hard. At the same time you say that all you need is a
basic editor that can lead you to do the damn job done.

I do believe that Vim can be improved, and I'm happy to see a
project like Neovim happening to revive the community, and because I
hope that Bram will be able to take a retirement, however he loves
his job maintaining vim ;-) There may be areas of amelioration, but as
long as I have a choice, I'll keep on using a lovely modal UI to edit
texts!

So thank you for the exchange, but I have to get back using my time
at productive stuff (whereas writing a email in my vim is always a
pleasure ;-) ).

So long, and thanks for all the fish!

--
Guyzmo

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: