Утратит ли важность кодирование?
Кто из вас может читать по-гречески? Я могу расшифровать алфавит и произнести слова, но это все. Я подумал об этом, перейдя через эссе, в котором говорится, что кодирование в конечном итоге будет таким же важным для большинства людей, как и древнегреческий, что, скажем, вряд ли важно вообще. Автор, кажется, предполагает, что в конце концов мы расскажем системы, что мы хотим, и они будут строить алгоритмы. Я предполагаю, что это то, что мы делаем в коде, но впечатление, которое у меня есть, состоит в том, что мы будем использовать естественный язык, чтобы информировать некоторую систему ИИ, которая действительно будет генерировать код.
Возможно, но давайте отложим это на минутку. Предположим, что у нас может быть ИИ, который устраняет необходимость кодирования корпоративных систем CRUD или большинства веб-сайтов, которые у нас есть. Может ли такая система быть адаптирована для управления данными?
Возможно, и, возможно, более последовательно, чем можем мы. Разумеется, включение значений RTO / RPO и потребностей HA может позволить системе, подобной ИИ, планировать резервное копирование, создавать или разрывать новые узлы в кластере или группе доступности и, безусловно, реагировать на ошибки DBCC, системы reindex и т.д. Я, конечно, мог видеть, что мы могли бы запросить систему для выполнения X, и многие детали фона будут обработаны.
Есть еще некоторые мысли относительно этого, с которой я склонен соглашаться. Возможность легко определить способ работы системы для среднего или даже выше среднего пользователя не скоро появится, если вообще появится когда-либо. Дело в том, что я буду искать утешение в том, во что я действительно верю.
Написание кода - не сложная часть.
Несомненно, синтаксис может быть сложным, и выработка механики взаимодействия модулей, а также создание сценариев типа MAKE и внедрение изменений сложны. Мы забываем о различиях в средах и конфигурации, и я уверен, что лучший статический анализ и AI могут помочь здесь. Что действительно сложно, так это то, что эти различия вероятно все еще будут существовать, - даже если мы укажем как это должно работать, очень сложно быть конкретным.
Мы изо всех сил пытаемся выразить точный способ работы систем. Мы иногда боремся за то, чтобы сообщить, что означает «скидка более чем на 10 штук». Это скидка в 10? В 11? Что, если 20 штук заказано и 10 возвращено? Удаляем ли мы скидку или проплату возврата? Мы можем решить проблему, но так часто мы не знаем, что есть проблема до тех пор, пока система не начнет работать. Изменения в правилах или инструкциях? Мы не часто знаем о них, и тем более не знаем, как выразить эти изменения на понятном языке.
Даже если бы мы могли обойтись без написания кода, выражение «как» что-то работает, вероятно, требует много деталей, дотошного человека и бесконечного терпения, чтобы заставить машину понять. Это что-то, что сейчас делают многие разработчики. Я подозреваю, что то же самое потребуется для разработки базы данных. Даже если бы мы могли указать набор результатов, мы бы действительно доверяли машине запрашивать источник и не приводили к множеству способов получить этот набор результатов, который может быть недействительным для другого?
Назовите меня циничным, но кодирование не исчезнет, даже если синтаксис изменится на английский (или какой-либо другой разговорный язык).