Hi verymuchso...
Can i ask you some questions about programming languages?
Sure..
Love to talk about this subject.
I will add to the thread so not to ask too much in one go.
You mentioned you know about 25 programming languages.
It's slightly more than that. But you'll be amazed how fast you get there if you include things like CSS, bash, C, Cobol etc etc..
If ok can you mention your history in programming?
Sure.. First interaction I had with a computer, really was when i was around 16, it was with
word-perfect.
It was a course on my social-studies education where I understood what was being explained basically instantly.
The teacher said it might be better if I did not come back to that class.
So that was the end of that. Nice teacher right!
So 5 years later when i was 21 and got my own PC through a program at my dads work.. Things got rolling for real.
There was view-source in the browser, you had HTML, Javascript and who knows what.
From there I wanted to create server apps, so i
googled yahoo'd and found that worked with CGI.
But that required C so had to learn that and then HTML and then JS and so on and so on.
Got my first real IT job at a bank as a trainee. Became a Cobol/Mainframe programmer through a course of 9 months, in hind sight that basic programming course was the best thing I could ever learn. But at the time I was kinda bored with the topic.
Mainframe is very boring when you are 20 something and at home you are embedding browsers and interacting with the JS engine through an embedding in Borland Delphi (Pascal).
Got so bored with working at the mainframe department that I pitched an idea to a friendly software company (through a contact) where they hired me on the spot.
The thing i pitched was a solution I built where you could browse the server folder structure without page reloads, it was based on a thing called
remote scripting.
Invented by this
guy (talk about forgotten heroes).
Later they called that technique AJAX, it was named RS for years before AJAX got popular.
6 months later I stopped IT completely and tried something different, which in hind sight was no good match.
So some years later i quit that and was a cross-road..
What to do?
Go back to social-group-counseling (for which i have a degree)?, get back in IT professionally?, start another business - but now in IT?
I figured that last thing was the right way, had this great idea of massively scraping basically every shopping site out there and sell the data to interested parties and create my own search sites from it.
To make a living i worked in a group home at nights and worked on my business during the day.
I was able to identify and then learn basically everything I needed to know (technically) to run that business, it ranged from coding in various languages to full systems administration and DEVOPS (Chef).
So to make a long story short..
What I've learned through the years (and I don't have a computer degree - so mind that) is that the actual learning itself goes quicker and quicker the more you do it.
Each technology (or language for that matter) is in reality nothing more than another technology but morphed to solve some other (sometimes more advanced) purpose..
C++ is based of C
C wraps Assembly
Javascript is inspired by C, but lends its closures from Lisp.
Java is basically C++ but with auto memory management, hides the ref counters basically
Ruby is Lisp but created by someone who really likes clean-looking code
Pascal, Cobol, PL1, Basic (in a way) and the likes are from the old days - systems just came with those languages. Again an attempt to wrap machine code..
etc etc etc..
What you'll see is that everything builds on everything else. And everything borrows from everything else.
Java now does closures which is kinda what Scala is all about with its functional programming and on and on.
But can you list your favorite or the ones you are most adapt at.
That is something that changes constantly.
I used to consider myself a good Java and JavaScript coder.
But just last year I came in contact with Scala and Typescript and had to learn those, now with those two i can do more now than with those other two on which Scala and TypeScript where based.
So I guess the real strength comes from when you push your knowledge of a language to a certain level and only then start using their higher-level cousins.
I am doing my own study or programming languages very broadly first then to target in on each and its purposes and uses to find my way to dedicate to choosing my first then to cover the theory of the procedural declarative styles to see which route i will focus on.
If I may suggest something..
Humbly.. start here:
C++ for dummies.
Those for dummies books make no presumptions about any prior knowledge and explain things really well.
If you know basic C++ you'll instantly understand so many other concepts and where they are all coming from.
Done with C++?
Definitely pick up a book about data structures (array, linked list, heap, vector etc etc) not that you'll use them as such, but they broaden your mind to find solutions later for your own problems. Guess that'll get you going for the coming year.
-----------------
Kinda long answer, perhaps
But I hope it helps you find your drive and purpose in life!
Back to work now