On Tue, 18 Jan 2011 12:10:25 +0200, bearophile <bearophileh...@lycos.com>
wrote:
Walter:
http://urbanhonking.com/ideasfordozens/2011/01/18/what-makes-a-programming-language-good/
It's a cute blog post. It suggests that it will be good to:
Getting Code:
1) Have a central repository for D modules that is easy to use for both
submitters and users.
Forcing a code repository is bad. Let authors use anything that they're
comfortable with. The "repository" must be nothing more than a database of
metadata (general information about a package, and how to download it).
- D code in such repository must Just Work.
This is not practical. The only practical way is to put that
responsibility on the authors, and to encourage forking and competition.
- I must stress that having a shared community-wide style to write D
code helps a lot when you want to use in your program modules written by
other people. Otherwise your program looks like a patchwork of wildly
different styles.
I assume you mean naming conventions and not actual code style
(indentation etc.)
- Probably D the package system needs to be improved. Some Java people
are even talking about introducing means to create superpackages. Some
module system theory from ML-like languages may help here.
Why?
Writing Code:
- Interactive Console: it will be good to have sometime like this built
in the D distribution.
I don't think this is practical until someone writes a D interpreter. Have
you ever seen an interactive console for a purely-compiled language?
- People today like to use modern IDEs. So the core of the language too
needs be designed to work well with IDEs. Currently D doesn't look much
designed to be IDE-friendly.
How would DMD become even more IDE-friendly that it already is? What about
-X?
One more thing: from a recent discussion with Walter about software
engineering, it seems that computer languages are both a design tool and
engineering building material. Python is better than D for exploratory
programming (http://en.wikipedia.org/wiki/Exploratory_programming ), or
even to invent new algorithms and to explore new software ideas. D is
probably better than Python to build larger software engineering
systems. Lately Python has added several features to improve its
"programming in the large" skills (decorators, Abstract Base Classes,
optional annotations, etc), likewise I think D will enjoy some little
handy features that help both exploratory programming and "programming
in the small", like tuple unpacking syntax
(http://d.puremagic.com/issues/show_bug.cgi?id=4579 ). There are
features like named arguments
(http://en.wikipedia.org/wiki/Parameter_%28computer_programming%29#Named_parameters
) that are useful for both little and large programs, named arguments
are one of the things I'd like in D still.
I have to agree that named arguments are awesome, they make the code much
more readable and maintainable in many instances.
--
Best regards,
Vladimir mailto:vladi...@thecybershadow.net