I am trying to get into blockchain programming from having no programming experience, right now I am slowly learning C++, once I feel a little comfortable with it I am going to start learning blockchain development from courses regardless of the languages they use (which shouldn't be a problem because learning C++ is to give me the knowledge of programming in general and to apply C++ as well). But I see all of these different githubs and courses that use javascript and javascript derived languages (node.js, react.js, etc), those that use c++, those that use python, those that use GO, and I am at a loss. What should I learn exactly? Do I need to know all of these languages for not too complex blockchain applications?
My plan was to just learn c++ and then start studying the blockchain programming while learning the syntax of other languages as I need them, but how can you make a blockchain, cryptocurrency, explorer, wallet, etc utilizing all of the languages above? Do I need to?
Hi,
I do think that learning C/C++ as the first language is the best way to start. By being able to read C++ you can read the whole bitcoin-core code which is, I think, what you mean by "blockchain programing".
But you are confused with the term "blockchain" : a block chain is a database and in most cases just a set of transactions, you won't "programm a blockchain" as you won't programm a MariaDB. However you can use datas from a MariaDB database, or from a block chain for an application or interact with it : here you can differenciate two things.
1) You want to know how Bitcoin (the network, defined by a protocol) works and C++ is the good way to go.
2) You want to make some mobile or web applications which would interact with the Bitcoin network (or another, like Ethereum or Stellar) and in order to do so a scripting language in more often used (mostly Javascript).
Theses two paths are not incompatible but it is easier (required ^^) to go from 1) 2) than from to 2) to 1).
To conclude I would recommend you to learn and practice C++, trying to learn some parts of
bitcoin-core (the reference implementation of the
Bitcoin protocol) and then to choose what you want to do.
Check this thread it can helps you to start with Bitcoin.