If I recall correctly (I'm at work, so I can't check), "The Psychology of Everyday Things" ("The Design of Everyday Things" in paperback) by Donald Norman has a detailed discussion on keyboard layouts. He cites studies showing that, for beginners, alphabetic keyboards are no quicker than QWERTY, and for users with experience of QWERTY they're substantially slower.
I've been writing C++ html-generation code, interacting with an Apache-CORBA module as opposed to CGI (I'll get back to this later). A major reason to do this was lethargy: we already had C++ and CORBA integrated into our build system, whereas it would've taken extra effort to use, say, Python. However, C++ also has other advantages - for example, you can optimise things like memory access to take advantage of the characteristics of your particular application. Another advantage is that you don't need to worry about someone moving or replacing the interpreter, or (as much) about security holes allowing an attacker to execute arbitrary code.
Starting an interpreter with every invocation is also a big efficiency cost, which brings us back to Apache modules. Writing Apache modules, or using something like mod_perl (I can't remember how to capitalise it), is a very good way to get more speed out of you code, in whatever language. Of course, things like PHP, ASP and Zope already do this (or equivalent).
I've mainly talked about speed, which isn't important in all cases. Maybe time-to-market or ease of coding/debugging is paramount, in which case I'd go with a scripting language (personally, I'd say Python in general). However, C++ (and even - gasp - C), when well-written, can be readable and elegant, and may well be the correct choice for a lot of projects. There's not a lot of point in using LanguageOfTheMonth (tm) if you're expecting your software to still be running next month.
If I recall correctly (I'm at work, so I can't check), "The Psychology of Everyday Things" ("The Design of Everyday Things" in paperback) by Donald Norman has a detailed discussion on keyboard layouts. He cites studies showing that, for beginners, alphabetic keyboards are no quicker than QWERTY, and for users with experience of QWERTY they're substantially slower.
I've been writing C++ html-generation code, interacting with an Apache-CORBA module as opposed to CGI (I'll get back to this later). A major reason to do this was lethargy: we already had C++ and CORBA integrated into our build system, whereas it would've taken extra effort to use, say, Python. However, C++ also has other advantages - for example, you can optimise things like memory access to take advantage of the characteristics of your particular application. Another advantage is that you don't need to worry about someone moving or replacing the interpreter, or (as much) about security holes allowing an attacker to execute arbitrary code.
Starting an interpreter with every invocation is also a big efficiency cost, which brings us back to Apache modules. Writing Apache modules, or using something like mod_perl (I can't remember how to capitalise it), is a very good way to get more speed out of you code, in whatever language. Of course, things like PHP, ASP and Zope already do this (or equivalent).
I've mainly talked about speed, which isn't important in all cases. Maybe time-to-market or ease of coding/debugging is paramount, in which case I'd go with a scripting language (personally, I'd say Python in general). However, C++ (and even - gasp - C), when well-written, can be readable and elegant, and may well be the correct choice for a lot of projects. There's not a lot of point in using LanguageOfTheMonth (tm) if you're expecting your software to still be running next month.
Rob