Hello everyone, I am new here.
I was hoping that some of you could offer your insight. I am interested in learning to code, for a few reasons. One is to seriously change careers and the other is for personal fulfillment in my hobbies. I have even considered the idea of doing free lance work someday, but first things first.
To let all of you understand what I know and better what I want to know, I will start off by stating that I fiddled around with a Texas Instruments computer as a kid. I learned some of it's basic functions like, go to, run, print, etc. I have also learned some things on CodeAcademy's website, using Python. I have never worked much with an IDE, interpreter or compiler. I am aware of concepts like source code and machine code, but don't know how to make use of them.
I became frustrated on CodeAcademy when I realized I was going through the steps to program to create a tip calculator. One of my frustrations with learning that way is that it begins to feel like brute force memorization, without any practical application. I find necessity a better teacher than memorizing "useless" facts.
All I took away from these experiences was that there is a set of words and symbols that have definitions and that they need to be put into a proper order, with the right punctuation, metaphorically speaking. I believe they call that syntax.
I started learning the concept of things like variables or arrays. Where I struggled with this was understanding how these parts of the program would apply to what I ultimately would like to achieve. I find it difficult to picture where these parts would go into the lines of code or how all of the lines would be put into order. I get the impression, unlike writing a story, the order of the code isn't necessarily strictly relegated to one order. It is like in math, where 4x6 or 6x4 is basically the same thing. It ends up having the same value or function.
I started doing some more research and I discovered that there are two types of languages, one imperative and the other declarative. I reached a state of confusion when realizing I had interest in a program both being able to describe what computation should be performed and how to compute it.
I am really confused now as to what language or languages I should even try to learn or how I should try to learn them.
I am not interested in sitting through classes or reading books that explain to me what I already know. I am looking to move forward, but I am not interested in trying to learn by brute force memorization.
If it is helpful, I am interested in data analysis of chess related and mathematical nature and data storage and retrieval.
I welcome any advice.