Five languages in seven lines, or how not to do web development
docs.google.com
docs.google.com
Programming at that level requires HTML and Javascript. Python is integrated as part of Mako; calling them separate languages is valid but questionable. (Given that the author is maximizing the number of languages, I'm a little surprised jQuery wasn't included in the list.)
One language? Because you'd have to select HTML by default... And I'm guessing that might not make for the best user experience.
Also surprised they didn't include (implied) CSS.
1) Your server-side language (e.g. Ruby)
2) Your templating language (e.g. ERB, which may be very similar to 1)
3) HTML
4) CSS
5) Javascript
5 languages is pretty much a minimum unless you're doing something trivial. I'll agree that the onclick should be extracted, but as has been pointed out in other places, this is a quick documentation example, so it is reasonable to use onclick there to keep it brief.
PS: Also, perhaps worth pointing out that HTML and CSS aren't actually programming languages... Should they count? probably not.
It's bad organization.
...And, if that handwaving fails to convince you, jQuery's selector string format is at least as much a language as the pager formatting string that merits its own language in the article. :)
I'm a Haml fan, so I'd have a view template like:
= paginate(@employees)
%ul
- @employees.each do |employee|
%li
= employee.first_name
= employee.last_name
and then a helper to fill out the "paginate", or some plugin to handle it for me, and finally an unobtrusive js file.So I get 3 languages. The only real WTF I see here is the "onClick", and for an example in some documentation about a framework, its forgivable. Could also be broken up into separate files, because the pagination part is a bit complex for a view. Again, though, its a documentation example, on the paginator helper, no less.
I'm not sure that it's "how not to do web development", but it's certainly "this is common: what's a better way?".
Rails is actually not that bad, letting you use ruby for everything from javascript and html templates to sql queries and configuration. The future is languages that can be tweaked to express anything like lisp, ruby, python, groovy and one day also javascript.
Or are you supposed to do nothing but back end in Python, or just HTML front ends?
http://search.cpan.org/~jrockway/Template-Refine-0.02/lib/Te...
http://search.cpan.org/~jrockway/Template-Refine-0.02/lib/Te...
(Those are two different examples, which is unclear due to news.yc's URL truncation.)
Call me old fashioned, but I'm pretty much a one language per file guy.