Я не понимаю, как на это реагировать. Некий товарищ полгода спрашивает у меня советы как начать с Verilog/FPGA/ASIC, но при этом ничего не начинает, хотя его вопросы становятся все более экзотическими. Чтобы было понятнее, опишу как бы это выглядело для программирования. Предположим к вам пришел молодой человек и спрашивает как научиться программировать. Вы ему говорите что-нибудь типа:
"Сесть за компьютер, написать и запустить программу Hello, world. Одновременно купить книжку с описанием языка и базовых приемов и читать ее в общественном транспорте, перед сном и в приемной у зубного врача. Периодически садиться за компьютер, написать и отладить программы: сортировки массива, игры Жизнь, ханойских башень итд. С выводом на текстовый терминал, окно в GUI или веб-страницу - по вкусу. Далее вы поймете в какую сторону копать или не идти в это дело вообще."
Молодой человек вас горячо благодарит и уверяет как он сильно хочет стать настоящим программистом. Потом он Hello, world не пишет и никакой книжки читать не начинает, но последовательно спрашивает у вас:
1. "Как вы думаете, что лучше - объектно-ориентированное программирование на Rust или функциональное программирование на хаскеле? А может попробовать Smalltalk как самый чистый объектно-ориентированный? Или Simula-67, с которой объектно-ориентированность начиналась?"
2. "Мне посоветовали изучать компиляторы. Как вы думаете, правильно ли было бы для меня взять в качестве учебного проекта выделение регистров с помощью окраски графа? И стоит ли делать это на Лиспе? И какой лисп выбрать - с CLOS или Schema? Мне говорили Schema изучают студенты в Беркли. И может перед написанием алгоритма выделения регистров выучить ассемблер? Но какой? Intel 8051 годится? С ним до сих пор Сименс чипы выпускает."
3. "Я пока не купил компьютер, чтобы начать учиться программировать. Как вы думаете, что лучше покупать если я после C/C++ захочу учить CUDA - компьютер Apple с процессором M2 или китайский ноутбук с процессором RISC-V и линуксом? Стоит ли к нему докупать плату с транспьютерами? Или лучше учить не CUDA, а OpenCL? Или может перед ним выучить OpenGL или Vulkan? Может я пойду в игровое программирование и мне нужен специальный игровой компьютер?"
Итд - шесть месяцев. И Hello, world еще не написан. Как вы думаете, с какого вопроса вы перестанете терпеливо объяснять? Как вы будете реагировать потом? Что это вообще такое? Какое-то психическое нарушение или троллинг?
Автор: Юрий Панчул / Yuri Panchul