Найти в Дзене

Давненько я не философствовал. Пришла пора заняться анализом и синтезом. И погода располагает. Впрочем, к написанию программ и текстов меня побуждает любая погода. Чем же ещё заниматься человеку, если есть свободное время?


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

Но вот в программировании, с начала возникновения этого рода деятельности, шёл процесс только разделения. В начале появилась парадигма структурного программирования, потом процедурный подход. А в процедурном подходе уже можно было делить работу разработчиков между несколькими программистами. Потом модульный подход. Здесь уже и сама отладка и тестирование могли быть раздельными. Объектно-ориентированный подход, который позволяет разрабатывать классы раздельно друг от друга. Деление приложений на слои или уровни (клиент-серверный подход, много-уровневый подход). Это всё разделение работы над программным обеспечением. А сама технология разработки. Появилось несколько технологий, когда в разработке одного элемента могут участвовать несколько человек. И всё это вроде бы понятно и направлено на эффективность процесса программирования. Но обратного процесса пока не видно.

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

И вот приходит искусственный интеллект, который еще плохо справляется с большими проектами. Но ведь это дело времени. Небольшие программы пишутся им уже вполне успешно. Но через некоторое время написать программу в пятьдесят, сто и пятьсот тысяч строк одним файлом для ИИ будет совсем не сложно. В сущности ему будет "всё равно". И вот вам обратный процесс. Никто не будет читать тексты огромных программ, которые будет писать компьютер, кроме, возможно другого искусственного интеллекта, который будет проверять первый искусственный интеллект.

Кстати, программа "одним файлом" может оказаться значительно короче (в строках), чем если нечто подобное писала бы группа разработчиков.

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

Давненько я не философствовал. Пришла пора заняться анализом и синтезом. И погода располагает. Впрочем, к написанию программ и текстов меня побуждает любая погода.
2 минуты