Akiba wrote:
@rx14 @senpai tfw not using vimtutor
haskell is basically lisp with an order of magnitude fewer parentheses
Eh, that's basically wrong on all accounts. Since haskell is functional, whereas lisp is whatever you want it to be. Lisp doesn't constrain you to a single paradigm.
As far as on topic is concerned, there have been plenty of awesome suggestions, so I can't offer much, but then I figured I have quite a bit of experience, so I'll give you a rundown of how I started programming, and how you might want to do it differently, or the same. Forgive me if this ends up a bit of a ramble, I've not had my coffee.
Way back when I was much younger I wanted my own home page, so I wrote a little HTML & CSS, which was good. But that's not really programming (styled markup != programming). But still, it got me into the idea of learning to code. So to dynamically generate the page, I used the one tool everyone was using at the time, PHP. I would not recommend this language, it was haphazardly thrown together and only someone from a programming background could know how to write something in PHP which isn't complete spaghetti.
Skip forward some years, experimenting with a few languages including C, Go, JavaScript, Scheme and all sorts of other lovelies, I started university where they insist on teaching a language which I had always avoided: Java.
For the first time I found myself actually learning to use a paradigm rather than a language, understanding how to model ideas as code rather, that is to say, the semantics of programming, rather than just syntax. There are many books and resources that will lead you down this path, and I might add a couple of them at the bottom of this post, but if you choose to follow this you might want to google "learning OOP" rather than "learning Java", or "learning functional programming" instead of "learning Haskell". Since this experience, I've picked up python in a day, after piecing together its syntax & semantics from open source repositories. I wouldn't say I'm a fantastic python developer, but my point is more that once you have learned to program, learning a language is extremely easy.
Given all of that, I would actually recommend Java, the way I learned was with BlueJ & Objects First with Java. BlueJ is a cross-platform open source IDE for Java, but focuses more on OOP than on the code, and the book is heavily tied to it. I've since migrated to IntelliJ, since BlueJ is not really fit for anything but learning - and can even be a bit of a pain for that at times.
Otherwise, you could learn a Lisp, which is pretty much paradigm neutral, and immediately ascend to godhood.