

Tell us why your language sucks - floater
http://www.drmaciver.com/2008/02/tell-us-why-your-language-sucks/

======
tom_b
SQL: Requires your vendor to wrap in basic programming constructs or wrapping
the SQL yourself in the code of your choice.

No ability to create dynamic functions on the fly. Why can't I do something
like:

SELECT something, {some custom function here()} FROM sometable GROUP BY
something

I almost want something macro like in there. I previously worked on apps that
had fluid, ever-changing business rules. Where you might read in several range
values to check some other set of values for inclusion in that range, count
the values in the range, or average them, or check them for thresholds, etc.
In Oracle, you can easily write your own custom grouping function, but you
can't do it on the fly. I probably should have written the code to dynamically
parse the intended SQL and build the dynamic SQL and custom function on the
fly. Live and learn.

Analytic function windowing. Every time, I have to re-grok exactly how to do
it properly.

Hierarchies. SQL sucks for doing this simply. I've used proprietary stuff
(CONNECT BY in Oracle) and built my own nested set models as well. Both are
fun technically and work, but are hell to support - during code reviews and
sessions I see the eyes start to glaze over whenever I've dealt with
hierarchies in SQL.

------
garnet7
I think "T"'s comments on the Python community are depressingly close to the
truth.

It is very easy to find pythonistas on python-list who are eager to tell you
how wrong you are, or how you shouldn't even _want_ to do <X> because it's not
"pythonic".

I think Yegge was right, and that this is the main thing holding Python back.

That said, I still generally like the language itself.

------
nailer
Python: for the reasons mentioned in the article, but also the frequent
release changes. There's great stuff in 2.6 like Queue objects but 2.4 is
always installed.

Also unlike Perl and Java, there's still no tool that converts custom formats
to native OS packaging.

And the colon on the end of function declarations serves no purpose.

