Может, немного пофантазировать на тему "как писать большие проекты в команде и не поубивать нахрен этих уродов, каждый из которых дергает меня, но делает по-своему?". Может полегчать...
1 курс, зимняя сессия закончена, каникулы. Путевка от профсоюза в санаторий. Учебник Паскаля из вузовской библиотеки, пару недель чтения, благо больше в санатории все равно делать нечего. По возвращении домой - вставляю в свой "Поиск" дискету с ТрубоПаскакалем, ковыряюсь до изнеможения со словарем, поскольку все на английском, а в школе я его имел глупость подзабросить.
Несколько лет назад. Отпуск. Самоучитель Питона на планшете, неделя чтения, когда все равно больше делать нечего. По возвращении - запускаю PyCharm, пишу сервис в Джанге. Ну, тут-то полегче, все быстро гуглится, да и с английским у меня с тех пор стало получше...
Впрочем, от необходимости думать своей головой и прилагать усилия ни гугль, ни SO не освобождают.
Если на каждый только одно простое действие - либо switch, либо вообще таблица.
Размер портянки, по большому счету, неважен - важна читаемость и очевидность, особенно при изменениях.
Более сложные случаи зависят от языка. Намудрить паттернов или крутое наследование можно во многих языках, а вот читаться это будет далеко не везде, и кое-где такое решение создаст проблемы при первой же правке... уж лучше портянка, но простая, как портянка.
Если предполагаемый язык - С++, то есть один нюанс: библиотека wxWidgets, с одной стороны, не добавляет собственных компонентов, используя нативный GUI Windows. В отличие от Qt, например. А с другой стороны, работать с ней неизмеримо проще и приятнее, нежели с таким днищем, как WinAPI. Или с заведомо устаревшими MFC, которые она, собственно, довольно сильно копирует.
IQ-тест применяется, чтобы выявить проблемы с логическим мышлением. После определенной планки его результаты не имеют никакого отношения к интеллекту.
Считать, что программист, получивший в таком тесте на 20 баллов больше, чем сосед, умнее этого соседа... ну, вот это, пожалуй, действительно - дурость, над которой можно и поржать, если очень хочется.
wxWidgets всю дорогу были бесплатными.
В свое время именно поэтому предпочел их Qt, мутившему с лицензиями.
С тех пор Qt развивался куда энергичнее, но wxWidgets по-прежнему позволяют написать обычный кроссплатформенный интерфейс и собрать на нем легкую программу.
Знакомство вообще не помогает. Помогает - использование.
Вам есть, где применить Хаскель? Если нет - не тратьте время впустую.
Лучше всего понять ООП, особенно в С++, помогает работа в С++ с использованием ООП.
Попробуйте все-таки выкинуть из голов древние представления о том, как все это нужно делать, и рассмотреть вариант онлайн-сервиса. Да, для этого придется начать работать немножко по-другому, но это также позволит делать вещи, которые нынешняя организация работы делает невозможными.
А уж написать систему учета на веб-технологиях сейчас может любой фрилансер за копейки.
Сфера программирования так огромна, что, говорят, позволяет даже избрать нужного президента.
Но только из реальных кандидатов, так что это мало где можно использовать.
Если немножко почитать учебники ("Рефакторинг" Фаулера, например), то вполне можно составить довольно обширный и при этом довольно универсальный список признаков "code smells". Но, как мы понимаем, стандарт на говнокод никому не нужен.
Чтобы уверенно читать исходники, нужно, во-первых, несколько лет их писать.
Тогда вы сможете понимать логику пишущих и узнавать популярные решения.
Вместо исследования письма Чужих к Хищнику.
Стоит ли идти в эту сферу, или это обреченно на провал?
Вам - не стоит. Вы не осилили даже нагуглить ответ на один из самых частых вопросов на Тостере, так что к этой сфере со всей очевидностью не подходите.
Ассемблер даст понимание того, как компьютер работает на самом деле. Но прикладному программисту, особенно в вебе, это сплошь и рядом не нужно. Кроме того, человек, вообще не умеющий программировать, не сможет и освоить ассемблер.
Поэтому для заглядывания "под капот" обычно рекомендуют научно-популярную "Код: тайный язык информатики", а учиться программировать можно и на Питоне. Главное - настойчиво учиться программировать, а не ходить вокруг да около с фантазиями "а не изучить ли мне ассемблер, а то взять и начать программировать как-то страшновато".
появилось желание по фрилансить, с одним будет тяжко
Из какой маркетинговой задницы выковыривают такие суждения?
Я понимаю, мне тесновато на 19" 4:3, но у тебя-то в одном 29" таких воткнуто две штуки с припевом.
Что ты по ним раскладывать собрался, фрилансер?
Страницы интернета, которые должны в смартфонный экран влезать?
Код, в котором после сотни символов в строке читаемость упадет до нуля?
Терминал, изначально рассчитанный под 80х25 символов?..
Программист - это профессия не для прокрастинаторов.
Любителей порассуждать на отвлеченные, никакого практического значения не имеющие, темы.
Проходите, не задерживайтесь.