Найти в Дзене

Инструменты для разработки ПО

Инструменты для разработки ПО (и программирования, и тестирования) — они существуют для упрощения работы специалиста. Они должны быть максимально просты (буквально до тупости), охватывать по-максимуму сложные и зависящие от окружения ситуации, и у них должен быть как можно более низкий порог вхождения.

Если для использования инструмента его необходимо особо как-то изучать, то, пожалуй, есть резон сменить его на другой.

Я имел дело с ужасными, чудовищно перегруженными сложностями и «так делать нельзя» библиотеками и фреймворками, а также бился с редакторами и IDE, которые как будто специально делали для замедления работы специалиста; они либо буквально мешали освоению себя, либо требовали знаний из сильно иной сферы ниши.

Зачем делать Javascript-фреймворк, который невозможно понять без глубинного знания C# и его подходов? Непонятно. JS — технология для написания фронтенда, а не контроллеров для работы с базами данных, контролем памяти и тому подобное. JS должен постигаться просто, и уж тем более — не иметь дополнительных усложнений и нужды лезть в сферы, которые фронтенд-разработчик и знать-то не хочет, ему и «войны браузеров» с головой хватит.

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

Вот, например.

Если мне нужно забить гвоздь, я использую молоток. Я беру эту штуку и тупо забиваю гвоздь. Мне не нужно изучать какую-то особую гимнастику, не нужно постигать химию и биологию, чтобы шарить в свойствах металла молотка и том, как растёт дерево, из которого сделана рукоять. Я беру молоток — и забиваю гвоздь.

Тем не менее, в среде разработчиков ПО порой становятся популярными и чертовски востребованными ужасающие, чудовищно сложные монстры, никаким образом не совместимые ни с какими нормальными инструментами.

Да-с, это как реквием по сфере, но что поделать, она так и живёт — вмёртвую.