On Monday, 10 February 2014 at 20:32:03 UTC, Adam Wilson wrote:
I wholeheartedly agree with this sentiment, although I am a
little older and got my start in a combination of VB6 and C++98.
Same for me when I first started learning to program. I did a VB6
course in highschool, followed by a Java course, as well as
teaching myself C++ on my own to hack on my Nintendo DS. Looking
back, good tutorials were the biggest help. I didn't know
anything about anything, and I don't know if I would ever have
been able to figure out C++ without sites like cplusplus.com.
Bartosz Milewski's C++ in Action book was a huge help too. I'm
glad he decided to publish it for free on the web.
And the .NET Framework or Java Frameworks. I know that the
linux-heads scoff at the idea of shipping a large standard
library, "Download the library that works best for you" they
cry! Well, that answer is unacceptable for newbies, mostly
because they don't actually know which library will work for
them, or with D, or on the operating system they are using. Big
standard libraries provide a new user with all the tools that
they need to write many programs. This isn't to say that the
standard library needs to include everything one might need to
build any app every. I still use third-party libraries. I just
don't use them to fill in common functionality. For example, I
have a library that provides special types of inputboxes, but
WPF (a big part of the .NET Framework) provides a generic
inputbox. Then we use EntityFramework, .NET provides the
generic interface that is used by EntityFramework, LINQ, but EF
itself extends the framework in specialized ways. The framework
should absolutely include as many general tools as possible.
I absolutely agree with that. Phobos should strive to be as
"batteries included" as possible while minimizing (ideally
eliminating) third party dependencies.
Building a new IDE won't solve this problem. Here we need to
focus on building better tools for D, turning DMD itself into a
library or Compiler-as-a-Service in the current lingo, since
libraries are now "services". D needs to make great strides in
tooling to be relevant, we need first-class debugging, and they
need to support more than the terminal. We need D as library,
we need better IDE integrations. We need a broader standard
library. We need more bindings for existing libraries. We need
more new libraries (like the Aurora library I am working on).
But most importantly we need to stop whining about the problems
and start doing something about them. There are plenty of
projects in these areas that are being run by a single person
that could use any help. For example, I know that Rainer
Schutze of VisualD fame is quite open to pull requests. If you
use a library from a language other than D and have a D binding
for it, get it in Deimos.
I've come to agree that good IDE integration is a must. I use C#
at work, and Visual Studio makes refactoring and code generation
near-effortless. I agree with Walter that we definitely shouldn't
need an IDE to use D, but there is no competition when it comes
to the productivity that a good IDE enables.