In a message dated 7/6/2009 3:54:38 AM Pacific Daylight Time, usenet@tonal.clara.co.uk writes:
Although the point could have been put more tactfully, I think the salient point here is that "English-like" programming languages have been tried before many times, and have (with the possible exception of COBOL) consistently been rejected in favour of compact equation-like languages.>>
Neil let me just point out in counter-point that the two longest-living third-generation langages, COBOL and BASIC are both still alive and well.
Both use a most English-like foundation.
Is Python more represented in want-ads ? Most businesses still use older generation languages, regardless of what is being taught in university.
Will Johnson
The reason why COBOL and SQL endure isn't their English-like syntax, which is a relic of the era in which they were designed, but because they were the first just-good-enough systems of their type.
The same is true of C, which is an appallingly badly designed language by modern standards; but endures for the same reasons; familiarity, backwards compatibility and the widespread availability of trained programmers. But in its time, C was a _vast_ improvement over assembler, which is what it existed to replace.
[Regarding want ads: granted, there are billions of lines of COBOL and BASIC code out there in the business world, but how many new projects do you see being created in COBOL or BASIC, and how many job ads for COBOL and BASIC programmers? http://langpop.com/ has a pretty good survey of what's actually used in the wider world. Gnomic ALGOL-esque languages like C, Java C++ and PHP lead the pack.]
The MediaWiki template language survives for the same reason. This is not to say that it's perfect, or even very good: but it works, has a large installed base of legacy code, and general availability of the appropriate skills in the existing base of "programmers", and is just good enough to serve its purpose, and therefore survives on for the same reasons as above.
Given the large installed base of existing template code, I believe it would a much better idea to start with the template language we currently have, and clean it up incrementally, than it would be to rewrite it from scratch and risk second system syndrome.
Fortunately, it's (necessarily) machine-parsable, and it shouldn't be an insuperable task to clean up the syntax whilst still running alongside the old code, and remaining (mostly) backwards compatible. If this is done in stages, the current template coder base should learn the new syntax in parallel with the changes, and the new syntax should be much easier for new template programmers to learn.
This has actually been done twice before: once with the creation of proper conditionals and the retirement of {{qif}}, and a second time with a subtle change in the semantics of the template system to make it faster and easier to parse and run.
Perhaps the next move should be the replacement of {{{name|default}}} with something like ${name|default}, with $name as a short form for the common case?
-- Neil
On Tue, Jul 7, 2009 at 5:28 AM, Neil Harrisusenet@tonal.clara.co.uk wrote:
The MediaWiki template language survives for the same reason. This is not to say that it's perfect, or even very good: but it works, has a large installed base of legacy code, and general availability of the appropriate skills in the existing base of "programmers", and is just good enough to serve its purpose, and therefore survives on for the same reasons as above.
Erm, the MediaWiki template language survives because it has a monopoly. There is no alternative. It doesn't really matter how bad it is - there is nothing users could switch to.
Steve
On Tue, Jul 7, 2009 at 1:56 AM, Steve Bennettstevagewp@gmail.com wrote:
Erm, the MediaWiki template language survives because it has a monopoly. There is no alternative. It doesn't really matter how bad it is - there is nothing users could switch to.
The word "monopoly" implies unfair business practices such that make an inferior product the exceedingly market-dominant one. Putting aside its basic inapplicability in an open-source context, and the fact that in that context people will make free choices to use a tool, and not to mention participate in that tools' further development.. what is the argument?
-Steven
On Wed, Jul 8, 2009 at 1:18 AM, stevertigostvrtg@gmail.com wrote:
On Tue, Jul 7, 2009 at 1:56 AM, Steve Bennettstevagewp@gmail.com wrote:
Erm, the MediaWiki template language survives because it has a monopoly. There is no alternative. It doesn't really matter how bad it is - there is nothing users could switch to.
The word "monopoly" implies unfair business practices such that make an inferior product the exceedingly market-dominant one. Putting aside its basic inapplicability in an open-source context, and the fact that in that context people will make free choices to use a tool, and not to mention participate in that tools' further development.. what is the argument?
Sorry to offend you. The claim made was that users continued to use the MediaWiki template language because it was "good enough". I say users continue to use it because there is no alternative. If you wanted to make templates in Wikipedia, you'd write them in BrainFuck* if that was the only language available.
Steve * With a tip of the hat to David G. I've never written BrainFuck, but I have written a fungeoid interpreter...