Это нормально, что меня интересуют сложные вопросы? И как с этим быть, если твои вопросы действительно сложные?
Source - by RandomDice 779
Немного из личного...
Еще те времена, когда моим языком был Python, а мой код максимум выдавал
print(color_red("It works!"))
, я, в каком-то смысле, стремился "прыгнуть выше головы". Хотя я тогда и писал чуть ли не типовые скрипты aka "кастомизация термукс 2024", но даже они несколько выделялись. Я стремился не просто создать очередной скрипт-кастомизацией, а сделать из этого что-то действительно особенное - а это требовало сложного (для тогдашнего меня) кода. И я активно читал сайты по питонским библиотекам, смотрел Хауди, в телеграмм наподписался на каналы aka "Python для новичка", и все такое.Это была идиллия, потому что ответы на "сложные" вопросы я легко мог найти в гугле (даже несмотря на то, что у меня долго отсутствовала привычка гуглить, да и сейчас я иногда не слишком охотно иду в гугл).
Позже, я уже немного изучил Linux, Android, сменил python на C++. А тяга к сложному осталась (а без этой тяги к сложному я бы на C++ так и не перешёл, наверное. Да, мне C и C++ казались сложными). "Через силу, через боль" я осваивал C++. На удивление, мне язык относительно легко давался, я аж сам такого не ожидал. Причём это зашло так далеко, что я основной ЯП python променял на C++. И тяга к сложному проявлялась уже несколько иначе. Я читал LFS, иногда гуглил различные либы, зачитывался статьями по Linux, Android, эксплоитам. Попытался и в изучение Rust, но быстро забросил идею (но базовые вещи из этого языка до сих пор помню).
Дальше - больше. Я стал уже максимально серьёзно интересоваться устройством Android, Linux. Даже попытался освоить ассемблер (причём именно arm64, поскольку я программирую в основном именно под
aarch64-linux-android
). Чересчур высокий порог вхождения в GNU AS для стал слишком серьёзным препятствием, хотя, опять же, базовые вещи из ассемблера я всё-таки понял. Тем более, в отличие от остальных языков, по ассемблеру нету нормальных обучающих гайдов (искл. - NASM) для новичков. Да, я, даже при своих знаниях (далеко не экспертных) по-прежнему ждал чуть ли не "новичковских" объяснений. По тому же Rust есть официальная книжка от разработчиков - весьма понятная).Но ассемблер - лишь мелочь. Я стал интересоваться устройством Magisk, принципами работы ядра, пытался найти внятный гайд по портированию EDKII / UEFI на ARM, и ещё много чего. И тут я просто застрял. "Прыгнуть выше головы" в этот раз не получилось. Гугл никаких ответов на мои вопросы не давал. Конечно, в значительной части случаев были "наводки", я понимал, куда можно копать, к чему присмотреться. В случае с Magisk - libselinux, в случае с EDK II - посмотреть соответствующие форумы, в случае с микроядром - почитать исходники, ну или на худой конец Танненбаума. Но даже с этими наводками жизнь медом не казалась...
Я как будто упёрся в какой-то потолок. Я хочу удовлетворить свою любознательность, но уже не могу сделать это, как раньше. Я понимаю, что мне не хватает одного навыка (и нет, не навыка гуглить) - навыка чтения чужого исходного кода. В некоторых вопросах (с тем же Magisk, например) это меня бы хорошо выручило.
Я понимаю, что мои вопросы бесполезно задавать даже на enSO - вряд ли бы кто-то на них смог ответить. Ну или ответил бы через чёрт знает сколько лет...
Ну и я хотел бы досконально разобраться в устройстве Linux ядра - как чтобы понять принцип работы конкретно Linux, так и ядер вообще. Понятно, что тут один выход - читать исходный код. А у меня, даже будь навык чтения исходного кода, это сделать было бы трудно - при том, что я хотел бы чуть ли не досконально разобраться, вплоть до каждого драйвера...
Так что тут возникает сразу ряд вопросов
И все же, как отточить навык чтения чужого кода (особенно большого, разбросанного по hpp файлам?)
Как искать ответы на действительно сложные вопросы, если твоя проблема практически не упоминается, говорится о ней мало, а по твоей теме максимум - заброшенный форум или что-то ещё этакое (и хорошо, если хоть что-то найдёшь. Например, я не нашёл вообще никакой инфы о том, как портировать EDK II на arm64 процессор. Есть разве что старый гайд по заброшенному EFIDroid, но я заинтересован в более современном Tianocore. Все, что я нашёл по теме - это заброшенную беседу телеграм - там вообще дошли до запуска GRUB на моём устройстве, и активную беседу телеграм, где я, однако, все равно не получил ответа на свой вопрос, да и моё устройство/SoC там даже не упоминается, хотя на мой же SoC, просто на другие устройства, есть тот же EDK II).
Но самое главное. Это нормально, что я пытаюсь прыгнуть выше головы и искать ответы на действительно сложные для меня вопросы? Да, это мне даже помогло - я так хотя бы изучил C++ в некоторой мере, сделав его своим основным ЯП. Просто, как я уже говорил, сейчас я как будто упёрся в потолок со своими реально сложными вопросами...
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.