Комментарии 24
Сколько умниц было у нас на курсе — много. А где они? Что еще нужно для успеха? А бог его знает.

Тут с мест подсказывают, что еще нужно: не считать других дураками. Даже если они в этой вашей математике и физике никак.
А я и не считаю других дураками. Боже упаси. Скорее я себя считаю дураком. «Если бы я был умным, то был бы богатым». Можно не знать математики и быть прекрасным поэтом, философом. Поэту математика только мешает. Мир многогранен. Я только считаю, что хоть поэту математика не нужна, но программисту она обязательно нужна. Нужно математическое мышление: логичность, точность, изобретательность. Поэтическая метафоричность может быть в названиях, процессе составления программы, но не в самой программе. В ней есть только логика. Логика может быть корявой, может быть красивой. Но, главное — она должна быть эффективной: давать правильный результат.
По большому счету информатика есть часть математики.
Автор, можно Вас на минуточку? Хотелось бы, так сказать, в общих чертах понять, что Вы хотели сказать?
Самокритично. Надеюсь, что автору полегчало после удовлетворения писательского зуда.
Сначала что я не хотел сказать: как программировать, какой язык лучше, какая технология лучше, как лихо я программировал. Об этом говорится достаточно и, похоже, каждый остается при своем мнении.
Пройдя длинный путь ИТ-шника, я подумал: а что было запоминающегося на этом пути? Вот об этом и постарался написать. Похоже, не совсем удалось. Значит не Чехов. Извините.
Отличное начало, и хотя я еще не успел дочитать, позвольте немного поворчать
Например, для номера 73-85 имеем 7-3=8-5
— что-то тут немного не сходится…
Но и сейчас технология программирования не имеет под собой фундаментальной базы типа физики как базы для технических технологий. Ситуация напоминает состояние средневековой техники, когда она не имела под собой научной базы в виде физики. Тогда и появляются проекты вечного двигателя.

Не всякая практическая деятельность может и должна иметь под собой научную основу. Ее создают тогда, когда это необходимо. Сейчас в программировании есть мало что от науки, вы правы, но попытки систематизировать опыт есть, они известны в виде паттернов и принципов проектирования. Так что все впереди. Может так сложиться, что и не потребуется никакая научная основа, если и без нее решаются поставленные задачи.
Не всякая практическая деятельность может и должна иметь под собой научную основу.

Категорически не согласен. Всякая осмысленная деятельность может иметь научную основу. Это не всегда необходимо, но в любом случае — желательно.
Стадию чистого эмпиризма проходят все науки. Паттерны и есть систематизация эмпиризма: если есть такая-то эмпирическая ситуация, то действуй так-то. В математике стадию паттернов представляла вавилонская математика, в которой не было теории, а были только образцы решений. Вот и программирование сейчас на стадии Вавилона. А вот греки создали теорию. И сейчас школы учатся по Евклиду.
Радиоволны были обнаружены почти сразу, как их теоретически предсказал Максвелл. Гравитационные волны были открыты через сто лет после их теоретического предсказания Эйнштейном. Конечно, и без теории было-бы какое-то движение. Эмпирически, интуитивно. Но то, что без теории доступно только гениям, с теорией становится доступно каждому смертному. До диаграмм Фейнмана квантовые процессы считали только избранные, а с появлением этих диаграмм каждый студент-физик при желании может посчитать сечение квантового рассеяния.
Когда он увидел в Италии водокачку с надписью, гласящей, что хозяин построил ее во имя любви к богу и к своей стране, для того, чтобы усталые страннику могли утолить жажду, то Бэббедж насторожился, осмотрел водокачку и обнаружил, что каждый раз, когда путешественник качал воду, большая часть ее попадала в дом к благочестивому хозяину. После этого эпизода Бэббедж добавил “Есть только одна вещь, которую я ненавижу более чем благочестие – это патриотизм”
не проверял насчет того — был ли у него такой факт в биографии, однако как анекдотический случай — отлично!
Можно знать каждую опцию операционной системы, как установить всякие драйверы и не быть в состоянии разработать элементарный проект.

Забавно, что как раз-таки для того, чтобы разработать "элементарный проект" ничего знать не нужно :) А для того, чтобы разработать рабочее бизнес-решение — все эти чудные математические знания нужны в очень ограниченных местах и количествах, а вот знания всяких флажков всяких разных систем — практически везде.


Программист-математик может написать что-то оптимальное, а программист-самоучка может написать что-то работающее :) Не понимаю презрительного тона (цитирую: "программист и жалок и смешон без знания математики") по отношению к людям которые таки не осилили все заумности математики, но-таки стали программистами. Мы все нужны друг другу)

Я старый программист и, может быть, уже устарел не только физически, но и морально. Но в отношении математики я остаюсь на своем. Все заумности математики не нужно осваивать, но математическое мышление желательно. Без математики можно программировать только на чужих плечах. Кто-то должен разработать нейросети(а попробуйте сделать это без математики), разработать удобный интерфейс для пользователя, а потом на этот интерфейс садятся пользователи и считают себя крутыми программистами. А теперь представьте себе диспут между разработчиком нейросетей и теми, кто ими только пользуется. Кто скорее всего будет смешон? Давайте смотреть правде в глаза. Да, можно что-то программировать без знания математики. До поры, до времени. Но, все-таки, учите математику. Пусть это будут не интегральные уравнения. Но графы, множества, алгоритмы, логика, отношения, сортировка, строки, кортежи, автоматы — ну как без этого хотя бы на минимальном уровне?
Не все пишущие — писатели. Не все программирующие — программисты.
Без математики можно программировать только на чужих плечах.

Подумайте немного о том, что примерно 99% вашей жизни (а скорее и намного больше) проведено «на чужих плечах».
С математикой вы программируете на чужих плечах инженеров-электронщиков, кстати.
Да, я программирую на плечах электронщиков и поэтому не считаю себя электронщиком. Я их пользователь. Я с трепетом смотрю на результаты их работы и не сужу что это такое. Я пользуюсь их результатами, как электронщик пользуется результатами физиков, не считая себя физиками, а физики пользуются результатами Творца, не считая себя Творцами.
Мне кажется, что как жалок физик без математики, так и программист и жалок и смешон без знания математики. В лучшем случае это ремесленник.

Сверх натуральной кормежки решено было начать гидротехнические
работы. Создана была особая комиссия по набору техников. Но она ни одного
техника не приняла, так как оказалось: чтобы построить деревенский
колодезь, техник должен знать всего Карла Маркса.
Андрей Платонов, «Город Градов»
Обожаю стиль Платонова. Однако, мне кажется, что математика стоит гораздо ближе к программированию, чем Капитал к котловану(Возьмем «Котлован», для масштабности). Вот экскаватор и бульдозер не помешают рыть котлован. Математика и есть экскаватор-бульдозер для программирования. Но если кому-то нравится рыть котлован лопатой — на здоровье. Можно и ложкой.
Можно ли выбрать такой маршрут змеи, чтобы она заполнила собой все пространство экрана. Подумав пару часов, я нашел нужный маршрут. Идем на обед. Я в очереди рассказываю задачу своему коллеге. И к моему удивлению, нам еще не успели налить первое, как он решил задачу (хотя очереди были длинными, но не на пару же часов). Поразмышляв над этим случаем, я стал утешать себя тем, что, видимо, стремление поесть стимулирует интеллект.

Есть не хочу, и не то, чтобы хвастаюсь, но решил задачу секунд за 7 в голове. Я гений? :D

Вполне возможно, и гений. Люди и программисты стали, видимо, умнее. Я же описал реальность со средними программистами, не называя гением ни себя ни своего напарника. И, вообще, гениальность не проявляется на весьма частной задаче. Бор производил впечатление туповатого человека, и только в длительных дебатах начинался проявляться гений.

Да не, я скорее из необразованных умников :) Как-то не довелось мне получить хорошего фундамента научного, по большей части из-за неудачной географии места рождения, хотя никогда не испытывал проблем с точными науками. Просто всегда мыслил (и продолжаю) мыслить частностями, а не общим решением и кажется уже что-то во мне сломалось, чтобы это исправить :)


Поэтому и задачу решил быстро — мне не нужно было думать о "задаче" и о самой её постановки и доказательствах решения. Я просто прикинул возможное решение, нарисовал на бумаге и оно подошло)

Я рад за вас. Дерзайте. А я всегда тормозил, хотя в конце-концов и додумывался до решения. Ну, не олимпиадник.

Я тут ща понял, что не до конца продумал решение. Я придумал его для поля NxM, где N и M четные числа. Для нечётных и четно-нечетных вариантов пришлось подумать примерно ещё минуты 3)

Вот оно реальное программирование. Кажется уже все сделал, ан нет обнаруживаются хвосты. Иногда они тянутся бесконечно. Но вы, кажется, уже перебрали все варианты и довольно быстро. Желаю действовать с таким успехом и дальше.
А для реальных программ есть аксиома горького опыта: В каждой программе есть ходя-бы одна ошибка.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.