В программировании почти ничего не делается на 100%. Занятие не для перфекционистов. Могло бы таким быть, если бы ставить такую цель. Там эта цель как и другие достигается с меньшими вложениями чем в материальной сфере. Шлифуя какую-то реальную деталь в идеал ты можешь в какой-то момент сделать хуже и даже совсем её испортить, в программировании можно сколько угодно шлифовать свой код, а потом нудно проверять каждую строчку и устранять баги, возникающие в процессе шлифовки. Но именно поэтому туда приходят не те инвесторы, у кого избыток денег и это позволяет все тщательно шлифовать, а те, у которых денег ограниченно и хватает лишь чтобы сделать все на грани. Ситуация с языком не исключение. Нет, в языке куча возможностей, включая устаревшие или нелепо сделанные и нет надобности знать даже 70% всего. Зато требуется знать многие библиотеки, фреймворки, паттерны, хотя бы одну систему контроля версий, и прочие модные технологии. Тоже не на 100%, но уметь построить наиболее распространенные архитектуры приложений на этом.