2 ms·
Ok maybe not beginner. I was thinking more of a second or third language I suppose. I'm mostly self taught other than some BASIC classes in highschool and a bit
by grawprog 9y ago
Ok maybe not beginner. I was thinking more of a second or third language I suppose. I'm mostly self taught other than some BASIC classes in highschool and a bit of R for statistics in university. I never really understood most of the concepts of programming from that. I've tried to learn a bunch of languages on my own. For some reason I tried to start with perl and around the same time C....I wrote a few things but I got stuck on structs with C and well...perl...with perl so I gave up on those. I tried python and couldn't stand it. Tried c++ and D1 and got about as far as I did with C. At the same time I was reading general programming books and looking at lisp and scheme like they used in the books but I just didn't understand them at all...but I sort of understood the idea of functional programming and had understood enough of C to get how cool it was to be able to have fumctions return other functions and the ability to have anonymous functions.
In the end I ended up learning lua as my first real language where I finally knew how to use programming to make things. I experimented with a few functional programs in lua and learned enough about OOP and luas metaprogramming to design my own classes and start working on some small games and bigger projects.
Eventually I started to run into lua's limitations (every number is a floating point number, the classes I designed couldn't be serialized properly, there wasn't really a way to debug a lua program, lua's tables and metatables are kind of weird) and most of the answers I looked at pointed to needing to understand C and use lua's c bridge to get the kind of functionality I wanted from lua.
That was when I rediscovered D and all the things that confused me about it before just made sense this time. I have been also trying to learn C along side it just because it seems like it's something I should know. But I've been writing most of my stuff in D lately, even smaller programs just because I find it has the balance between lower level and higher level stuff I need and can use for what I know.