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

Reply via email to