I have been trying to pick up a slightly lower level language for
some time. I read most of a book on C, but never really made much
with the language beyond exercises. It was confusing and tricky.
I recently tried out Pascal (via the freepascal compiler) and did
end up liking it... but the current community and package support
is really poor. I could not find answers to problems and the docs
are not good. I liked the structured nature of pascal programs a
lot. Too bad there does not seem to be one language standard for
it (just a bunch of different implementations).
In the end, I finally listened to a co-worker and picked up Go.
Golang (as it is often refered to) has been interesting. I have
already picked it up much quicker than C. The way packages work
is really fantastic and the language docs are good. The community
is VERY active and there are a lot of answers to be found when
problems or questions come up. It seems quite fast and provides
good debugging and error handling support. Once I got what slices
were doing I came to really like them as a middle ground between
static and dynamic arrays (really, they are just a layer on top
of a static array with some cool features).
As I have tended to lately, I am using a gopher client as a means
to learn or get better at a language. I spent the morning mapping
out the program flow and figuring out what structs and receivers
I would need. I'll try to update again after awhile more working
with the language.
As a funny side note: I am a big fan of Go (the abstract strategy
game also known as WeiQi or Baduk). So now when I talk about Go
my wife always wonders at first if I am talking about the game or
the language... it usually becomes clear pretty quickly though.