Раньше, когда я был на Windows, то был твердо уверен, что моих знаний более чем достаточно. Но после того, как я перешел на Linux, то понял всю свою наивность. Плюс к этому, у меня есть желание стать специалистом по безопасности Linux(ну или просто Linux-программистом, на худой конец).
Так всегда будет. Игрался кубиками в детском садике дяди билли, а теперь оп - реальный мир. Какая нахрен разница кто ты? Зачем пытаться быть каким-то абстрактным «программистом»?
Короче, мой уровень знаний надо повышать. Однако, у меня возникли вопросы насчет того, как организовать процесс самообучения.
А легко. Зачем что-то организовывать? Суть обучения - создание лучшего. Главное на увязнуть в пучине деревенского интерпрайза и не стать макакой, которая составляет из кубиков однообразное говно на конвейре - таким макаром ты не особо и разовьёшься.
Не секрет, что большинство областей знаний пересекается друг с другом.
Да всё так или иначе пересекается со всем.
Так например, если я буду изучать ассемблер, то мне просто необходимо знать как работает процессор.
Не необходимо, а желательно, если ты хочешь запилить что-то лучше какахи.
Если я буду в подробностях изучать строение Unix/Linux, то мне может понадобиться знание языка программирования Си.
Если ты взялся за программирование - тебе необходим Си. Всякую конвейерную братию, которая стала модна в последние время в связи с появлянием ширпотребных направлиний, аля: говновеб, деревенский интерпрайз, формачки и бомжеБД. Появился большой спрос - разсплодились целые поколения говнорей.
Говнарь не может осилить что-то сложнее кубиков - появились ЯП для говнорей(жаба и иже с ней). Появилась проблема «безопасноти», «утечек» и т.п. Скриптовые языки, суть которых была - быстрое решение какой-то задачи(автоматизировать расчёт, сделать протенькое действие) и которыен е претендовали на написание и особенно чтение программ больше 5-10строчек(по 100-200символов) - превратились в основу веба, говногеймдева, да и вообще во всё, что пичально.
Если надо запилить что-то быстрее/проще/удобней/красивей/надёжней, то тут без сишечки никуда.
А если я буду изучать программирование, то мне могут понадобится некоторые знания из области математики(а с этим у меня проблемы, кстати).
Да какая математика. 95% - это макаки, собирающие поделки из кубиков. Какая математика? Математика нужна когда ты что-то создаёшь, улучшаешь, думаешь. Да и то не особо. Абстрактная математика не учитывает ничего из реального мира и поэтому почти всегда она сливается. А реальная учится помере продвижения и является частью понимания работы основных узлов, а понимание этих узлов - основная защита твоего мозга от желания наговнокодить.
Если я буду изучать работу компьтерного железа(например, чтобы заняться оверклокингом), то мне могут понадобиться знания из области физики(с которой у меня тоже дела обстоят неважно).
Какой оверклокинг и физика? Тут ты высоко взял.
Короче, одно с другим связанно с другим. Это мне напоминает зависимости в системе пакетов. Просто голова идет кругом, если хорошенько так обо всем подумать. Даже не знаешь, что делать. Встает вопрос: как разрешить такие «зависимости»?
Пилить всёподрят пока качество запиленного не станет хорошим. Потом пилить из этого какую-либо систему, пилить, пилить пока система не станет красивой. А не нагромождением портянок-кастылей, как среди понтов плюсовиков, жабистов и т.п.
Суть треЪ - это не скрыть ущербную реализацию за «красивым» апи, а написать такую реализацию, которая красива сама по себе. Сейчас труЪ - это запилить говнокстыль, написать для него обёртку. Потом из этих обёрток запилить систему обёрток к кастылям, но она говно. Потом запилить для этой говносистемы из обёрток над кастылями, которая сама является кастылём, запилить api и выставить это как треЪ, хотя на самом деле - говно. Пример плюсовикам, жабистам.
P.S. Я считаю, что для ширпотреба и среди ширпотреба не выростет норм программист, поэтому бежать за этими новомодными «тенденциями» - себе дороже.
o2n3e ()