Раньше технологии были совсем примитивные и оттого простые для понимания. Сейчас всё намного сложнее, вот и приходится постоянно пользоваться справочниками.
раньше для того чтоб считать произвольный сектор с диска нужно было 10 строк кода и int 13 а сейчас пару-тройку фреймворков и всё будет обрабатываться через фигову кучу прокладок пока дойдет до железа
как только тебе нужно что-то сложнее, чем прочитать файл - это уже портянка на сотни строк. загрузить файл по https - пять сотен, да еще десятка два хедеров. в много потоков - уже тысяча. в итоге у тебя сначала образуется библиотечка, потом ты понимаешь, что все средства, входящие в библиотеку лучше использовать единообразно и подчинять проектируемое приложение неким правилам.
вуаля - ты породил фреймворк. тупо потому, что писать в несколько строк удобнее.
все еще хочешь подискутировать о прослойках до железа?
а смысл? если нужно что -то напрямую с железом работающее, под конкретную узкую задачу, то фреймворки эти только мешают, а вот если глобально-общее со свистоперделками, то без них не обойтись, огорчает только что они разрастаются до такой степени что для пойти в интернет или для hello world уже рекомендуемое железо - I3 и 8 гиг оперативы
как вам там в 1980-х? норм?
проснись, с железом напрямую уже никто кроме эмбедеров не работает. даже у ядерщиков и драйверистов есть фреймворки, чтобы лишний раз не стрелять в ногу и не рисковать исключением на уровне ядра/гипервизора, которое завалит всю систему, если она не микроядерная (win/*nix/*BSD - нет).
в большинстве случаев, даже если ты работаешь с железом - ты работаешь с ним по USB. И даже в этой ситуации тебе не надо работать с железом напрямую - ты берешь libusb, берешь байндинг к нужному языку - и херачишь userspace драйвер. Потому что отлаживать драйвера на уровне ядра - это больно и долго, это кернелпаники и BSoDы. А тут уже за тебя умные люди написали простенький диспатчер, который дергает твой кривой код в юзерспейсе, и в худшем случае ты роняешь хост-процесс драйвера и теряешь связь с железкой.
так что, нет, фреймворки - это добро. очень хорошее, годное добро. которое прежде всего упрощает жизнь нам, разработчикам, и ускоряет разработку.
пойти в интернет или для hello world уже рекомендуемое железо - I3 и 8 гиг оперативы.
curl до сих пор на 4 мегабайтах ОЗУ запустить можно. питоновский hello world - ну, на 16, или 64. при том, что жирнее питоновского стдлиба сложнее что-то найти.
а если ты про модерновые браузеры - так ты сначала посмотри полный объем спецификаций на HTML5 + CSS3 + ES6 и WebAPI к ним - тысячи страниц буквально, сейчас в полной мере браузер самому написать нереально. Вполне логично, что они жрут минимум 8 гиг.
Qt-овая минимальная форма с кнопкой и мессаджбоксом - пять метров, это на QMLе.
На .NET FX - примерно столько же.
в Lazarus-е - 20 метров.
Были-были. Вы же не хотите сказать, что как только появились персональные компьютеры, так сразу же технологии были такими же развитыми, как сейчас?
Я знаю, о чем говорю. В самом начале 90-х изучал фортран и бейсик методом тыка. Просто читал чужие листинги и разбирался, что зачем. В начале 2000-х так же методом тыка выучил яваскрипт+CSS+HTML4. Но потом судьба увела от программирования. Недавно прочитал пару книг по современной Яве, посмотрел уроки - существенно сложнее. Метод тыка уже не пройдёт. Нужно курить мануалы.
Конечно вы правы, ведь написание кода на ассемблере конечно легче чем написание кода на питоне.