Serious question from a mere server infrastructure monkey: Are there any programming languages that DON'T suck ass?
Snarky coder retort: First you have to define what you mean by "suck ass". As someone who started programming just shy of 30 years ago, there are a lot of incredibly powerful programming languages with some incredibly useful properties.
Here are the issues:
1. Humans are retarded.
2. Programming languages are designed by humans.
It all comes down to choosing the retardation that doesn't irritate you and helps you get your work done faster. I do not believe that humans are intelligent enough to be good coders. All the best pros I know have extensive catalogues of cope strategies used to deal with the fact that they suck at what they're doing, and these strategies help them suck less.
For example, my favorite language is Prolog. Good luck doing anything "normal" with it. No good UI toolkit (that I've bothered with) but it has a bunch of tooling for weird edge case usage that few other languages have, such as constraint logic, definite clause grammars, heavily customizable operators, and ridiculous metaprogramming facilities. I have this weird academic metaparser that extends EBNF syntax to parse arbitrary code based on a grammar spec that I've developed in a couple hundred lines of Prolog. "Normal" people often use some kind of LISP or Haskell (or even Ada?) for these purposes.
For "normal" usage, I like C and Ruby. I like C because whatever you want to hook it to, you can. Integrating with C is a feature that almost every software/development package touts to some degree. C sucks because you have to manage memory, and most non-trivial cases of dealing with string information involve managing that memory.
Ruby sucks even more than C. It's slow. It's obscure. But it doesn't irritate me like Python, which is what most "normal" people would use in this use case instead of Ruby. Unlike C, Ruby has some ridiculously expressive string handling. If I'm looking to do network stuff or string mangling, Ruby's what I go to. Also, if I'm looking to do something non-trivial in C, I'll do a prototype in Ruby first, because that helps me get my ideas in order, and it ends up saving development time. I'm about 5 times faster to produce a polished product in Ruby than C, though a big chunk of this disparity is that I'm a comparative noob at C.
The professional languages I've used are C# and Java. C# is better than Java, but both are used more-or-less exclusively in enterprise. If you're going to be developing in either, it's because you're employed by some corporation who has a contract with the provider. I'd pick C# all day over Java.
This is without getting into the domain-specific languages like bash, SQL, Makefile, etc. All these have great specific use cases where they shine, but there are really obvious cases where each of them couldn't be more useless and awkward.