Тут говорят, что у программистов забрали, самое интересное, а оставили рутину, а я думаю, что как раз наоборот - заблали рутину и оставили самое интересное. Программирование это же не про то, как написать цикл, функцию и класс, а про то, как придумать принцип по которому они будут написаны, например, выделить характеристики кода, как: иммутабельность, идемпотентность, гранулярность, зацепленность, ленивость... и придумать, что эта характеристика дает нам полезного, пока AI не придумал ни одной новой парадигмы программирования, ни одного нового паттерна или приема, ни одного обобщения.
Программирование в его наиболее интеллектуальной части - это не код, а создание принципов, по которым код должен быть устроен.
Циклы, функции, классы, промисы - это механизмы. А иммутабельность, идемпотентность, композируемость, гранулярность, связность, зацепленность -характеристики, через которые мы управляем свойствами кода.
- Иммутабельность дает упрощение конкурентного исполнения
- Мутабельность - скорость и экономию памяти, но много опасностей
- Идемпотентность - устойчивость к повторам
- Слабое зацепление - гибкость через заменяемость
- Композируемость - повторное использование и порождение новых абстракций
Такие и подобные вещи формируют модель мышления, которое позволяет создавать целые классы программ иначе.
ИИ уже участвовал в открытии новых алгоритмов, обнаружил более эффективные алгоритмы сортировки, новые алгоритмы умножения матриц и оптимизации вычислений. Но это не то же самое, что создание новой парадигмы программирования.
Можно выделить четыре уровня интеллектуальной деятельности:
1. Реализация -написать код по заданным правилам
2. Проектирование - выбрать известные принципы, паттерны и ограничения
3. Обобщение - обнаружить общий принцип в разных решениях и сформулировать новую абстракцию
4. Изобретение - предложить новый принцип организации вычислений, который открывает ранее недоступные возможности или существенно меняет подход к разработке
ИИ уверенно работа…
Ganz lesen →