sortarray sortarray
sortarray sortarray личный блог
13 мая 2018, 14:44

Об алгоритмах и машинах.

Как то поднимал уже эту тему тут.
Я постоянно натыкаюсь на вещь, которая меня совершенно выводит из себя, просто бесит.
Это смешивание понятия алгоритма и машины.

Вот, в очередной раз натыкаюсь на это
smart-lab.ru/blog/470649.php

Человек — совокупность органических алгоритмов, отшлифованных естественным отбором на протяжении миллионов лет. Алгоритмические вычисления не зависят от материала, из которого сделан калькулятор.

 От материала то может и не зависит, да и то спорно, но напрямую зависит от архитектуры человеческой машины, уж коль скоро мы рассматриваем человека чисто механистически.
Алгоритмом можно считать лишь некоторые детали, такие как последовательности ДНК/РНК в геноме клетки или вируса, и не более того. Работает все в совокупности, и не представляет из себя «алгоритм»

Некоторые считают что это просто терминологическая придирка(в том числе и в вышеприведенном топике) с моей стороны.

Давайте разберемся, сводится ли это к терминологии.
Возьмем классическую вычислительную модель: машину Тьюринга(Поста)

Машина имеет память в виде ленты, инструкцию, подаваемую на вход, и сам исполнительный механизм, который действует по определенным правилам.

Алгоритмом является только часть машины, изменяемая часть, которая подается на вход, в виде инструкции, при этом, принимает алгоритм именно эта машина, если подать его на вход другой машине, она просто его «прожует»

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

Когда мы что-то конструируем, мы не только разрабатываем алгоритм для машины, мы создаем и машину для алгоритма. Это важно.

И, ладно бы эту тупую «алгоритмическую» ахинею несли дилетанты, эта чушь сейчас сидит и в головах львиной доли инженеров, которые связаны с IT.
Несомненно, часть вины за это всеобщее безумие лежит на математическом образе мышления, который активно внедряется в IT, кстати говоря.
И хз, что это, сознательная политика отупления инженерных масс, или просто хаотичная деградация
Из-за этого бабского образа мышления программисты путают программные объекты с исходным текстом программы это уже приобрело характер эпидемии.

20 Комментариев
  • GAURANGA
    13 мая 2018, 15:45
    А почему тело не может быть машиной? Машина которая имеет кучу алгоритмов. Заводит ее душа, то есть мы…
      • GAURANGA
        13 мая 2018, 15:59
        sortarray sortarray, ну а почему нет? в теле все под каким то законом, нету такого же чтоб начали дышать через попу хах))) сорри за такой пример. Алгоритмы конечно. Законы правил. Стопаки часто срабатывают и даже маржинколлы каждую минуту. Тело раз и сломалось, человек умер.
  • Русский
    13 мая 2018, 16:04
    в рамках приведенной аргументации вы правы. лет двадцать назад, когда компы работали не так стабильно, часто сталкивался с таким явлением: включает машину один человек, система работает. стоит сесть другому- начинает постоянно виснуть. поговоришь с компьютером, скажешь «ну давай, не капризничай, ты же хороший» и висяки отпускает. это работает с любой техникой. машина работает по алгоритму, согласен. а когда будет написан алгоритм написания алгоритмов?
      • Русский
        13 мая 2018, 16:53
        sortarray sortarray, криво выразился. когда машина сможет сама поставить задачу и написать под нее алгоритм.
    • GAURANGA
      13 мая 2018, 16:07
      Андрей Косыгин, уже написан. природа создает тысячи видов компьютеров, которые работают по определенному сценарию.
  • My Shadow
    13 мая 2018, 16:41
    Понятие алгоритма неотделимо от машины исполняющей его. Одна и та же инструкция может исполняться на разных машинах по разному.

    придумали кучу способов абстрагировать машину испольнителя на разных уровнях: fortran, c99, lvm, jvm, verilog, ..., не говоря уже про всякую эмуляцию, при таком разнообразии проблемы машины исполнителя нет. В старые времена когда машиное время было дорого, машины разные и «писали» на перфокартах — с терминологий было лучше (из за того что машины были разные, и это было видно даже физически), но разве кто то хочет вернутся в те времена из за такой мелочи?..
      • My Shadow
        13 мая 2018, 18:14
        sortarray sortarray, 

        кому важно «сблизится» с машиной теперь развлекается со всякого рода микроконтроллерами и ПЛИС-ами, кому всеравно — есть 1C и подобное. Это не ИТ-шники тупыми становятся, это входной порог в ИТ сильно упал совместно с ростом потребности в количестве. Ну разделение труда в ИТ произошло, как и во многих отраслях, не то что раньше купил компьютер-набор, спаял и запрограммировал :)
        Вы же не хаете нынешних водятлов, за то что подавляющие большинство не то что движек теперь перебрать не может, дак еще просто не представляет как оно работает. А раньше вкладышы меняли на полуторках на обочине запросто.

  • Stepan K
    13 мая 2018, 19:33
    Не особо понял смысл посыла. Развитие идет в сторону внедрения уровней абстракции просто. Раньше писали под машину или под конкретный cpu или архитектуру. Сейчас пишут под некую абстракцию, например на джаве. То же самое с интерфейсами происходит, да вообще со всем.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн