Dscanner - DCD - Dfix ... Editor support or the lack of it.

H. S. Teoh hsteoh at quickfur.ath.cx
Sun Jan 28 23:06:49 UTC 2018


On Sun, Jan 28, 2018 at 09:02:36AM -0700, Jonathan M Davis via Digitalmars-d wrote:
[...]
> I have yet to find an IDE where I didn't feel like I was playing with
> primitive tools in comparison to vim. And as such, it's that much weirder to
> me for someone want to use an IDE. But it _does_ take quite a lot to learn
> vim. Starting out with it was a lot like when I first switched to dvorak.
> For a while, I could barely type at all. And I suspect that it's that first
> encounter with vim or emacs where it feels like you have to fight them to
> even get what you can get out of notepad is why more folks don't use vim or
> emacs. But a lot of programmers do eventually end up with one or the other
> in spite of that.
[...]

Yeah, I think the barrier to entry is probably a big deterrent for the
casual learner. I think this is more so in vi clones like vim than in
emacs, because of that modal thing. When I first started using vim, it
almost drove me to tears in frustration. But nowadays, I find any text
editing that *isn't* modal awkward and annoying to use. :-P  There's
something about being able to navigate freely without "accidentally"
making an edit that just seems to make more sense to me. But I don't
think any non-vi user would understand what I'm talking about.


> > As far as learning a new language is concerned, though, IMO that has
> > nothing to do with what IDE or editor you use or don't use.  The
> > idea is to learn the underlying paradigms and principles in
> > programming languages in general, which is standard curriculum in
> > universities AFAIK, and once you understand that, picking up a new
> > language is easy.
> 
> Learning a new language is always a bit of work, but once you
> understand the underlying concepts and have use a language or two,
> it's generally straightforward to learn a new language.

The thing is, the majority of languages out there today are imperative;
that means once you know how an imperative language works, you're
already halfway to learning *all* of those languages. The other half is
just learning keywords and standard identifiers that map to standard
imperative concepts. Even with non-imperative languages like Lisp or
Haskell, once you've learned the concepts behind the functional
paradigm, learning another functional language is easy. Of course, this
depends on being able to see through the external trappings of a
language and discern its underlying principles; otherwise you have to
start from scratch with every new language.


[...]
> Either way, I've seen a whole range of what programmers do and prefer in
> their code editors. The youngest programmers do tend to use the standard IDE
> for a language (in which case, many of them would initially feel a bit lost
> with something like D), but that's often just a question of them not having
> found something better yet. For many of them, even if they don't end up with
> vim or emacs, they'll end up with something like sublime or notepad++. And
> yes, some do stick with IDEs, but a lot don't. I think that part of that
> tends to depend on the programming language or OS that's being used.

I actually used to use Notepad++ or some related clone before I learned
vim. But now, there's simply no comparison.  The drive towards user-
friendliness and general accessibility by MS and other IDE vendors is a
double-edged sword; OT1H it's great that these nicely packaged software
have made programming more accessible to a vast number of people who
otherwise may not have gotten into it.  But OTOH, it has also produced a
kind of misconception that programming is "easy", and a sense of
entitlement that everything must be handed to you on a silver platter.
Unfortunately, the harsh reality is that programming is inherently hard,
and if you want to write good code you'd better get ready to put in the
effort to think (hard!) about your programming problem. Getting past the
initial learning curve of syntax and library, that IDE's are purportedly
good for, is only barely scratching the surface of it.



[...]
> It is true though that most of the core developers around here favor
> editors like vim or emacs and would prefer to focus their efforts on
> the language itself or libraries rather than on plugins for IDEs and
> whatnot, which is part of why D's IDE support isn't as good as some
> folks would like - the other big component being the lack of a company
> paying for folks to work on IDE support. I think that in general,
> that's how you end up with IDEs with first class support for a
> language. Sometimes, volunteer work will get you there, but that
> doesn't seem to be how it usually comes about - not from what I've
> seen in other languages anyway.

But the thing is, this is not a proprietary language where people are
paid to do the grunt work.  It's unrealistic to expect that random
volunteers in the internet would go out of their way to implement
support for something they don't use themselves. *Somebody* among the
IDE crowd has to step up to do the work of improving IDE support;
otherwise no amount of complaints is going to change a thing.


> But there are a few folks like Rainer who put in a lot of time and
> effort on IDE-related support and tools.
[...]

And I'm mighty glad we have people like him around!


T

-- 
My program has no bugs! Only undocumented features...


More information about the Digitalmars-d mailing list