Чего не хватает в теории программирования
В программировании довольно плотно освещена тема иерархии программных сущностей. Это хорошо отражено в концепции наследования: в теории ООП подтип является частным случаем типа, и связан с ним отношением «является»(англ «is», например — кошка — это животное(его частный случай)).
Порождение этих обобщений лежит на совести программиста. И логично предположить, что следующим шагом, например в контексте ИИ, будет попытка научить делать эти обобщения компьютер.
Действительно, в человеческом мышлении это один из главных аспектов — выделение общности по неким общим признакам множества различных типов объектов, фактически, это является основой индукции(проверяем, что все слоны и мартышки имеют единое свойство -- фиолетовый цвет кожи:) — выделяем общность: фиолетовокожие:) соответственно — слоны и мартышки — подтип фиолетовокожих:))
Но как ни странно, я никогда не сталкивался с исследованиями, которые бы плотно касались данного вопроса, нет ни подобной парадигмы, ни книг, ничего.
Встречались ли Вы с чем то подобным, и если да, что можно почитать по этой теме?
Нейросети вообще уже никто всерьез давно не воспринимает, после публикаций Мински
Не уверен, что следующим шагом именно в рамках программирования как на дисциплины (ну или чем оно там является) будет что-то индуктивное. Всё-таки программирование это однозначность и только однозначность. Да, ты можешь не понимать, как оно работает и почему, но это всегда дедуктивные вещи. Впустить индукцию в программирование это на мой взгляд как-то мегаконцептуально), наверняка в таком случае не только наследования это коснётся, но и много чего ещё.
И совсем другое дело добавление таких вещей на мета-уровне. Некий продвинутый решарпер, который не только синтаксис правит, но по принципам ИИ индуктивно выискивает всякие такие штуки.
Ну, это смотря в рамках какой отрасли. Именно в мейнстриме, в энтерпрайзе в эту сторону гнут, конечно, потому что так большие проекты собирать и майнтейнить проще, плюс производительность, соответственно все идет в сторону статики, но что касается именно ИИ, там ИМХО, всегда были противоположные тенденции, там как можно больше старались спихнуть на сами программы, как бы дать программам как можно больше свободы, сама концепция, как бы, это предусматривает: как мы можем сделать программы умней, если ограничиваем их в принятии решений, в самостоятельности?
sortarray sortarray, Я, кажется, понял, или я неправильно понял или вы неправильно объяснили) — если речь о самих приложениях — то да, тут всё справедливо, там всё больше индуктивного, ИИ и прочего, но сам процесс разработки всё такой же.
Ну или я опять ничего не понял))