Речь, конечно, пойдёт о части математической, а не материальной.
Что к чему?
Топик родился из статей на хабре последних дней и собственных нелегких дум о том, почему так сложно научится программированию человеку, с так называемым «гуманитарным» складом
В чем твоя ошибка?
Я думаю, что большинство рассуждает примерно следующим образом:
«Ну да, мне так просто не научиться писать настоящие программы, или хотя бы их части. Чтобы этого достичь, нужно много учиться и много понимать, и начинать нужно с фундаментальных наук. У меня нет на это времени, я буду использовать иной подход. Я начну с решения насущных, практических задач, а понимание, как всё устроено и как должно работать, придёт с опытом.»
То есть применяется не дедуктивный, а индуктивный подход к обучению — от частного к общему.
Почему не работает?
В какой-то момент я подумала, что понимаю PHP. Я подумала, что это оттого, что язык создан под конкретные задачи для веба. То есть, нужно более-менее представлять, как работает сайт и что должно происходить на нём (точнее — внутри него), и ты сможешь реализовать это на PHP. Или, иными словами, что PHP является языком для решения задач с низкой степенью абстрактности.
Очень быстро я поняла, что это не так. Что даже на PHP реализуются такие сложные функции, в которых можно потерять нить происходящего после третьей строчки кода.
Абстрактные абстракции
Важная часть того, что отличает программистов — это высокий уровень абстрактного
Так в чем же разница?
А разница в том, что гуманитарные абстракции нематематичны. Математика оперирует цифрами, а цифры сами по себе уже являются нехилой такой абстракцией. Вот что скажет философ:
— Возьмем человека, не какого-то конкретного, а абстрактного человека, и начнём совершать над ним манипуляции.
Это будет один уровень абстракции. Мы поднимаемся от обычного человека до человека сферического в вакууме. А вот что скажет математик:
— Возьмем абстрактного человека и превратим его в единицу. А теперь возьмем человека, не существующего вообще, и превратим его в ноль. А теперь можно совершать над ними манипуляции.
Это уже совершенно другой уровень — абстракция двойной вложенности, всё как в «Inception».
Матчасть
Многие программисты скажут вам, что математику в жизни не учили, а сейчас даже не помнят, чем интеграл отличается от дифференциала. Это не может быть точно так. Может быть плохо учили, ленились делать домашку, получали тройки, но понимали. Может получили опыт таким же индуктивным образом, но в более раннем возрасте, а потом в вузе получили сполна фундаментальных знаний. Может быть не учили математику в вузе, но вынуждены были развивать своё абстрактное
Когда-то я думала, что с моим
Пока однажды не открыла для себя, что математика просто прекрасна в своей многогранности. Есть разделы, которые невероятно близко подведут вас к математике прикладной. Вот примерные курсы для молодого бойца:
Математическая логика.
Мне преподавали основы ещё в школе на информатике. Нули и единички, какие-то действия с ними. Только в общих чертах. Скучно. Больше я с ней не встречалась до того момента, пока не наткнулась на этот курс и поняла, что это то, что мне нужно. Для начала научиться свободно оперировать нулём и единичкой. Задачки здесь могут быть не менее сложны, чем на матане, когда появляются большие уровни вложенности И, ИЛИ и НЕ.
Дискретная математика.
Множества, функции, комбинаторика, теория графов. Изучение подобного курса позволит получить общие представления и, возможно, зародит желание углубиться в одно из направлений. Или во все сразу.
На самом деле эти курсы не настолько страшны и сложны, как может показаться. Если у пациента ещё не атрофировался
Важно!
Не лениться решать задачки.
P.S.: Данные курсы рекомендованы автором исключительно из личных предпочтений по удобству использования. С таким же успехом подойдут обычные вузовские учебники. Возможно, кому-то больше нравятся другие разделы математики или другие курсы, книги — напишите нам об этом! В комментариях желанны как никогда советы, рекомендации и личный опыт.
Также подобные курсы никак не могут гарантировать успех в программировании. По сути задачки просто расшевелят
Автор: yukkat