[RFC] IDE starter kit

rjframe dlang at ryanjframe.com
Thu Feb 1 12:21:24 UTC 2018


As a followup to [0], I want to take a look at packaging DlangIDE with a 
DMD compiler and tools, so we have an out-of-the box IDE for people giving 
D a try. This would be independent of the rest of the system, so moving on 
(either to Visual Studio, ldc, gdc, or whatever the programmer's preferred 
IDE/tooling might be) would require re-installing the compiler.

Most of this post will be Windows-centric, but if this is popular/useful/
successful I'd also manage macOS and Linux kits.


Basically, in the two years or so I've been here, newcomers have 
consistently had IDE problems. visual-d is perfect if you've got Visual 
Studio (especially with recent improvements), but otherwise you have to 
spend a bunch of time getting something set up just to try a language 
you're not yet sure about.

Some sort of learner's or starter's IDE makes sense to me.

My hypothetical programmer follows the path:

1) Discovers website. Runs some examples.
2) Plays with the online compiler in the tour.
3) Wants to download a compiler to work with. Wants an IDE, but does not
   have Visual Studio installed (or maybe doesn't want to install an
   extension yet).
4) Downloads the starter pack and starts learning.
5) Falls in love and takes the time to set up D with his/her preferred
   toolset.


This somewhat mimics my own entry into D; we didn't have runnable 
examples, but my IDE is Vim, so it did work out of the box (I think I'm 
still just using the C syntax stuff). If I had to spend an hour and a half 
just to get things ready, I don't know that I'd have stayed -- it wouldn't 
have been a good sign for future productivity.

PROS:
- A simple, pre-configured IDE that doesn't require a major time
  investment to set up and learn.
- An IDE written in D helps showcase what D can do.
- DlangUI works with Dub out of the box, making it easy to get started
  adding dependencies.

CONS:
- Working outside the IDE requires installing D again, from the official
  installer. If this pack isn't immediately abandoned, multiple D versions
  are in use that could cause headaches or confusion if the programmer
  doesn't pay attention.
- DlangUI isn't as polished or stable as Visual Studio.
- It's yet one more decision someone has to make just to get started.
- Tooling to automate the testing of DlangUI's compatibility with the
  integrated tools needs to be developed; we don't want to provide
  buggy/unstable tooling to newcomers.
- There are some bugs that I'll need to fix in DlangUI first (mostly
  stability I think). We don't want to provide buggy/unstable tooling to
  newcomers.


Do you have any thoughts, ideas, foresee any problems, have a better way 
to do this? I especially don't want to do something that is actively 
harmful - if the self-contained package makes things confusing to someone 
trying to work with globally-installed tools too, that could potentially 
be worse than what we have now.

I'm not asking for specific problems that may crop up (the need for VSC++ 
compiler tools, etc.) unless they have non-obvious solutions. I'm looking 
for a higher-level "is this a good idea?" discussion.

Thank you for your time, and your thoughts
--Ryan


[0]: https://forum.dlang.org/post/p4sba9$1bga$1@digitalmars.com


More information about the Digitalmars-d mailing list