Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какие базовые дисциплины необходимо знать, чтобы понимать логику программирования и делать это хорошо?

Знаю, например, что хорошо бы знать дискретную математику, теорию графов и многое другое. С чего стоит начать учить программирование (не с языка, а с каких базовых дисциплин), чтобы быть по-настоящему ценным специалистом, понимающим логику своих действий
ПрограммированиеМатематика
Нарек Саарян
  ·   · 8,2 K
Диванный философ, по совместительству инженер  · 22 мар 2022
Я бы начал все же с теории программирования, нежели сразу лезть в совсем уж фундаментальную математику. Если только вы не учитесь в ВУЗе. Тогда это имеет свой смысл, поскольку математику в ВУЗе вам будет изучить гораздо легче чем потом самому, если понадобится. Есть предмет информатика. Там упрощенно и адаптированно к реалиям программирования по сути и даются специфичные разделы математики. В достаточном большинству программистов объеме. Это ну трудно назвать "пониманием логики программирования", но это совершенно необходимая база. Более глубокая математика уже специфична для конкретных областей программирования. Так некоторым программистам ведь и вирусология пригодится может. Но это не значит что всем с нее надо начинать вхождение в специальность программиста.
Более близко к "пониманию логики программирования" дисциплина "алгоритмы и структуры данных". Там тоже есть математика но обычно она в достаточном объеме объясняется при разборе алгоритмов.
И наконец совсем уж о "понимании". Есть такая вещь как "парадигмы программирования". На сегодняшний день самые популярные три: процедурная, объектно-ориентированная и с некоторым отставанием по популярности от первых двух, но тоже функциональная. Вот и изучить что это такое и зачем это нужно при создании реальных систем. Все это по сути о "декомпозиции", т.е. о разделении сложной и необозримой целиком задачи на простые либо уже решенные до вас подзадачи. Вот это наверное и можно уже назвать "пониманием логики программирования". На словах просто но на деле это сложные технологии шлифовавшиеся уже несколько десятилетий. И это только фундамент. Когда вы выберите свою первую отрасль программирования вы узнаете что там есть так называемые паттерны. А первый язык программирования - узнаете что такое Best Practice. Вот без всего перечисленного простая задачка из учебника будет работать прекрасно и даже проще чем со всем этим. Привет школьным олимпиадам. Но сложная система скорее всего "обрушится под весом собственной сложности" еще до окончания разработки. А если и будет чудом сделана, это будет никому не нужный мертворожденный монстр который невозможно поддерживать и развивать.
Ну и главное. Понимание (а это не то же самое что знания) и навыки этого всего приходят с опытом. Вот и набираться.
Научные заметки о жизни: zen.yandex.ru/id/5c434983...  · 1 мая 2022
Под словом "программирование" чего только не имеют в виду. Производство ПО - гигантская отрасль, разные части которой имеют имеют различные цели, инструменты и технологии. И соответственно разные требования к работникам. Когда-т... Читать далее
1 эксперт согласен
Я не совсем соглашусь по поводу дела в котором программист создает программу. Есть отработанные технологии которые... Читать дальше
Разработчик встроенных систем, немного радиолюбите...  · 26 апр 2022  · vladimir-coslow.narod.ru/index.html
В программировании используются конечно некоторые разделы логики и математики, но уж очень специфичные. Двоичная логика (она же булева алгебра) и двоичная система счисления. Довольно редко нужны основы целочисленной арифметики... Читать далее
Чтобы ни дня в жизни не работать, на практике совмещаю работу с хобби.Перейти на vladimir-coslow.narod.ru/index.html
1 эксперт согласен
зож, сны, мистика, wi-fi  · 22 мар 2022
Что значит "понимать логику программирования"? Чтобы научиться программировать, нужно... программировать. То есть изучать теорию, лучше просто читать учебник, от начала до конца, но умение будет нарабатываться только во время пр... Читать далее
1 эксперт согласен
Отношения между людьми, философия, политика...  · 22 мар 2022
Я думаю программирование это вид логического доказательства.  Потому что каждый шаг в логическом доказательстве и в компьютерной программе должен быть логичным и правильным, чтобы достигнуть желаемого результата. Но писать... Читать далее
1 эксперт согласен
Дисциплины дискретной математики, системного анализа, математической логики. Линейная алгебра, статистика.
Языки, Путешествия, Спорт, Билингвы, Теннис  · 22 мар 2022
Природные данные + математика, логика, философия в целом. Детям(да и взрослым многим не помешает) обязательно наработать навык осознанного чтения. Уметь вычленить из текста суть, передать ее компактно. Находить в массиве ответы... Читать далее
1 эксперт согласен
Все верно. Надо научиться получать, анализировать, понимать(осознавать) информацию и формировать из этих знаний... Читать дальше