You're smart enough if you can already program. In a lot of ways APL is easier. It's just frustrating for you as you probably can't remember how long it took to learn your first language.
Every subsequent language you've learned has been built off of that (Ex: once you know Perl, Python isn't that hard to pickup in a couple of days if you have StackOverflow to help you translate). You still think in lists, hashes, for loops, while loops... etc. You just need to learn syntax and idioms. With APL, you have to start from scratch and realize knowing Ruby is of limited help.
Here's the cool part...the symbols, what they do, and even their location on the keyboard is easy to learn. It is especially important to actually write code as you're going through the Dyalog book. Similar to Forth, all the individual pieces of APL fit together seamlessly. With Python you have these Lego blocks (for-loop, dictionary, list... etc) that are the fundamental building blocks you can use to assemble any computation. With APL, you need to learn all those symbols and then you have many methods to combine them.
Every subsequent language you've learned has been built off of that (Ex: once you know Perl, Python isn't that hard to pickup in a couple of days if you have StackOverflow to help you translate). You still think in lists, hashes, for loops, while loops... etc. You just need to learn syntax and idioms. With APL, you have to start from scratch and realize knowing Ruby is of limited help.
Here's the cool part...the symbols, what they do, and even their location on the keyboard is easy to learn. It is especially important to actually write code as you're going through the Dyalog book. Similar to Forth, all the individual pieces of APL fit together seamlessly. With Python you have these Lego blocks (for-loop, dictionary, list... etc) that are the fundamental building blocks you can use to assemble any computation. With APL, you need to learn all those symbols and then you have many methods to combine them.