

Your Language Sucks - tormeh
https://wiki.theory.org/YourLanguageSucks

======
readerrrr
C:

 _Manual memory management can get tiring._ Only if you don't exercise.

 _String handling is manual memory management. See above._ See above.

 _The support for concurrent programming is anemic._ Introducing C11 and
OpenMP!

 _Terribly named standard functions: isalnum, fprintf, fscanf, etc._ Beauty is
subjective.

 _The preprocessor_ is the best thing ever.

 _Not feeling your smartest today? Have a segfault._ Can I have another?

 _Lack of good information when segfault occurs... the "standard" GNU
toolchain doesn't tell you the causes of segfaults in the standard runtime._
Enable debug mode.

 _If that code is legacy, you 're in for two days of not looking like a hero._
Luckily there are 137 alternatives.

:-)

------
Rangi42
Too many of these are quibbles about minor language warts and constructs that
shouldn't be used in the first place. For example:

 _Python: There is no "do ... until <condition>"._ Most languages don't have
this either.

 _C#: i++.ToString works, but ++i.ToString does not._ When would you ever need
this?

 _Ruby: Suffix-conditions after whole blocks of code._ Just don't do that.

 _Java: unused keywords, such as goto and const._ Do you really need to name
your variables goto and const?

Some criticisms do point out fundamental limitations and flaws, but most of
the time this is by design and the solution is to use a different language.
For instance, C has manual memory management, Python uses indentation for
nesting, and Haskell uses lazy evaluation. Only a few are potential fixes in
future language versions or forks (e.g. HashMap literals for Java... which I
thought had been introduced in version 8, but I guess not).

------
djur
Most of these are extremely bad points (complaining about 'no interfaces' in
Python, no braceless if in Perl, etc.) but I'm particularly baffled by
"Unicode support should have been built in from [Ruby] 1.0". Ruby came out in
1996. If it had standardized Unicode support at the time, it would have ended
up using UTF-16 like JavaScript.

------
nostrademons
Interestingly, the length of the "sucks" list is seemingly directly
proportional to how frequently it's used.

------
rsl7
I object to this sort of analysis and comparison. Languages don't suck. They
may be well or ill suited to particular tasks or development styles.

------
WildUtah
+1 includes Haskell

-1 lacks LISP

------
jetskindo
This is to show you that it doesn't matter. As long as you get the results you
wanted.

------
henpa
yeee.. GO doesn't suck.

