[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Var-free programming (slightly off-topic)

On Thu, 6 Dec 2001, Morgan McGuire wrote:
> I think of lightweight as in "good, fast, small": I'm not using an
> industrial tool that is too big for the job, and I don't get tied down
> by the baggage of a heavier language.  You're using it to mean "bad,
> flimsy, flakey": it doesn't have enough substance and infrastructure to
> it to rely on.  Both are perfectly valid interpretations of the phrase,
> but the different spins are amusing.

Actually I am a big believer in lightweight languages.
I think most issues heavyweight languages address are better addressed by
development process and documentation tools.

For example a methodology like Extreme Programming, means:
* user stories cover your application level documentation
* test cases cover your function level documentation
* test code protects you from making mistakes
* refactoring keeps your code clean and understandable
  (heavyweightness is actually limits refactoring.)
* you accumulate API level documentation as they live longer
* you can use tools that produce different views of the code

This last point is the motivation for my prior posting.
Are there features of agile languages that make them more or less amenable
to generating views: e.g.
* a type system on which type inference is possible,
* a runtime system that allows profiling,
* a module/class system whose dependencies can be automatically diagramed
* visibility of obscure language features -- links to simple documentation
   on how to use them


S. Alexander Jacobson			i2x Media
1-917-783-0889 voice			1-212-697-1427 fax