Прочитал статью «Математика для программиста». Удивительно, что в ней куча букв, но нет внятного смысла. Я решил исправить этот фатальный недостаток.



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


  1. Мостик из предметной области и задачи к разработчику.
  2. Мостик от разработчика к компьютеру.

Первая задача — инженерная. Это, собственно, процесс решения задачи, творческий этап.


Вторая — кодирование. Переложение решения на язык, понятный компьютеру. Может показаться простым, но иногда сложность переложения может быть серьезной.


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


Иной раз само кодирование простое, однако понимание того, что необходимо закодировать — является крайне нетривиальной задачей. Вплоть до исследований в computer science, когда необходимо сделать что-то новое, доселе неизведанное.


Т.к. предметных областей — вагон и маленькая тележка, то сказать, что конкретно понадобится, — вопрос нетривиальный. Понятно только одно: чем больше спектр знаний, тем больше подходов к решению задач можно использовать, и тем эффективнее задача может быть решена. Однако никто не отменял узкоспециализированные навыки, где решение типовых задач не требует широких знаний.


Итого, мы приходим к понимаю, что разные области требуют разного. Пришли к очевидному. Однако неочевидно тут то, что подходы из одной области можно использовать в других. Например, химическую кинетику в распределенных системах. Поэтому знание — сила.

Комментарии (11)


  1. gleb_l
    27.11.2021 13:41

    1. Формализация задачи (то есть, ЧТО нужно сделать)

    2. Решение (КАК сделать это самое ЧТО)

    Это приложимо вообще к инженерии, не только программной.


    1. LARII
      27.11.2021 15:03

      Это вы не формализовывали задачу, за которую заказчик уже заплатил 30К но не вам, а вы об этом не знали и подвязались решить задачу за 3К причем не из кармана заказчика. Да вот только заказчик не хочет решения, а хочет деньги назад. И это он говорит, когда вы уже неделю проработали над задачей и демонстрируете ему альфу для корректировки разработки.

      Или как мне сказали на одном местном предприятии: "Нам не нужно решение задач, нам нужен ответственный."


  1. DaneSoul
    27.11.2021 15:00
    +19

    На Хабре что какой-то флеш-моб кто «статью» короче напишет?


    1. nick1612
      27.11.2021 16:46
      +3

      Важно еще соответствие содержания статьи всему множеству заявленных тем. - Программирование, Алгоритмы, Математика, Научно-популярное, Химия.

      Тут все четко - 5 из 5, "твёрдо по темам, сжато по фактам".


    1. mSnus
      27.11.2021 17:13
      +1

      Атака комиксов


    1. lastrix
      28.11.2021 08:45
      +4

      Скоро хабр переименуют в твиттер и ограничат длинну статьи в 255 символов.


  1. valis
    28.11.2021 05:00

    А я тут архитектором заделался как-то. Работал с разными командами разработчиков, во многих предметных областях. Знал как разрабов, которые легко войдут в любой Фреймворк и любую предметную область, так и тугих, которые застряли в конкретной области и на конкретном стеке и ничего не поделать

    Могу с уверенностью сказать что главное для разработчика два качества

    1. Умение учится

    2. Умение абстрагироваться.

    Второе даже по моему важнее ибо жить в одной предметной области и на одном стеке можно до пенсии (я и людей на Delphi 6 в 2021 году встречал), а вод абстрагирование для разраба крайне важно. Ибо это отличает разработчика от кодера.


    1. HemulGM
      29.11.2021 10:58

      Как абстрагирование связано со стеком? Какая разница какой стек используется?


  1. Mishima_Zaibatsu
    28.11.2021 07:16
    +4

    Иной раз само кодирование простое

    "Болтовня ничего не стоит. Покажите мне код" © Linus Torvalds.

    У меня есть множество идей. Уже продуманных и решенных в уме. Осталось дело за малым — написать практическую реализацию. Которая мысленно тоже кажется несложной. Всего лишь сесть и написать код. Всего лишь. Ну вы поняли :)


  1. spooky
    28.11.2021 22:50

    del


  1. lair
    28.11.2021 23:44

    Удивительно, что в ней куча букв, но нет внятного смысла. Я решил исправить этот фатальный недостаток.

    … написав статью, в которой, по крайней мере, нет кучи букв. Ну да, "исправили".