mniej więcej opanowany tutorial z kanału Pasja Informatyki z C++
Jeśli to Twoje jedyne doświadczenie z programowaniem to w mojej opinii będzie Ci dosyć ciężko. Gdybyś znał jakiś inny podobny język to powiedziałbym Ci, że to bardzo dobry pomysł. Czemu? Jeśli znasz ogólne pojęcia i problemy programistyczne to wiesz co wpisywać w google jak nie wiesz jak coś działa w danym języku. A jeśli nie wiesz nawet czego szukać to będzie Ci ciężko. Dajmy na to natkniesz się na funkcję lambda czyli coś co wygląda tak:
std::sort(tab,tab+5, [] (const Klasa& lhs, const Klasa& rhs){ return lhs.whatever < rhs.whatever;});
i co wpiesz w google, żeby się nauczyć jak to działa? Można spróbować "puste kwadratowe nawiasy C++". Prawdopodobnie gdzieś się dobijesz do nazwy kluczowej funkcja lambda i potem już pójdzie lepiej. Ale nie zawsze uda Ci się sformułować pytanie na tyle, żeby znaleźć tą kluczową nazwę elementu składni (byłoby też łatwiej gdybyś lepiej znał angielski :P).
Drugi argument na minus to fakt, że jest to bardzo skomplikowany system. Użyłem takiej wtyczki do chrome, żeby sprawdzić ile jest łącznie linii kodu i uwaga - 530166. Tak, pół miliona. Kto dołączył kiedyś w pracy do wielgachnego projektu ten wie, że często nawet ze 100% znajomością składni języka ciężko jest połapać się w skomplikowanym systemie. A w pracy chociaż jest możliwość zadania pytania komuś z większym doświadczeniem w projekcie. Ty nie będziesz miał takiego kogoś. Nawet jeśli przebrniesz przez składnie danego fragmentu to w wielu przypadkach taką inżynierią odwrotną będzie Ci ciężko dojść do przyczyny zastosowania takiego rozwiązania. Język to nie sama składnia. Są wzorce, konwencje, dobre praktyki, rozwiązania specyficzne dla danej dziedziny itp itd.
Trzecia sprawa jest taka, że nawet osoby, które przy tym kodzie pracują nie ogarniają go całego. Ktoś pracuje nad jedną częścią inny nad inną. Ktoś poprawia jakiś mały bug w obrębie jednej funkcji. I te osoby mogą wcale nie wiedzieć jak działa cały system. Osób, które ogarniają cały system może być bardzo mało, a nawet mogą nie istnieć :D. Generalnie to zadanie projektantów i architektów, ale oni sami nie operują na kodzie tylko na diagramach UML. I programiści dostają wytyczne co każda funkcja ma robić - czemu tak się robi? Bo projektowanie i ogarnianie całego systemu jest bardzo trudne.
Według mnie czytanie czyjegoś kodu jest bardzo spoko, ale nic nie uczy tak dobrze jak własne eksperymenty. Nie znam się na temacie, ale skoro znasz podstawy C++ to spróbowałbym bardziej napisać swoją mini upośledzoną kryptowalute i potem ją ulepszać. Spróbować jeszcze innego podejścia. I dopiero wtedy zmierzyć się z kodem bitcoina. Choć i tak wydaje mi się to być mega trudnym zadaniem.