Claude Code против Cursor

mr. Cooper 3 часа назад Нейросети и AI
Claude Code против Cursor

Я долго думал, что Cursor победил.

Причина простая - он удобный.

Не нужно менять привычки.

Открыл редактор, начал работать, рядом появился помощник.

По ощущениям это ближе всего к тому, как многие представляли ИИ для программистов.

Ты пишешь код, а он подхватывает.

Например, есть небольшой компонент:

function ProductCard({ product }) {
    return (
        <div>
            <h2>{product.title}</h2>
            <span>{product.price}</span>
        </div>
    );
}

Нужно добавить кнопку покупки, проверку наличия и отображение скидки.

Cursor с таким справляется спокойно.

Он видит файл.

Понимает контекст.

Предлагает изменения.

Если проект небольшой - вообще вопросов нет.

Но потом я попробовал использовать его в другом сценарии.

Не написать новый код.

А разобраться в уже существующем.

И вот тут начались странные моменты.

Есть особый вид задач, которые разработчики обычно не любят.

Не потому что они сложные.

А потому что на них уходит много времени.

Например:

"Почему после обновления профиля иногда пропадает аватар?"

Вроде простой вопрос.

Открываешь контроллер.

Вроде всё нормально.

Смотришь модель.

Тоже.

Потом находишь отдельный сервис.

Потом еще один обработчик.

Потом оказывается, что загрузка файла зависит от очереди.

И через час ты уже не исправляешь ошибку.

Ты изучаешь историю проекта.

Вот здесь я начал понимать, зачем вообще нужен Claude Code.

Не как замена Cursor.

А как другой инструмент.

Cursor хорошо отвечает на вопрос:

"Как мне написать этот кусок?"

Claude Code интереснее, когда вопрос другой:

"Почему здесь всё устроено именно так?"

Например, есть старый Laravel-проект.

В нем встречается что-то вроде:

public function store(Request $request)
{
    $user = User::create($request->all());

    Mail::send('welcome', [
        'user' => $user
    ]);

    return response()->json($user);
}

С точки зрения синтаксиса проблем нет.

Код работает.

Но если задача:

"Вынести регистрацию в отдельный сервис и не сломать текущую логику",

тут уже нужно понимать связи.

Где этот метод вызывается.

Какие данные он изменяет.

Какие события запускаются.

Какие тесты завязаны на старое поведение.

Но есть обратная сторона.

Claude Code иногда делает именно то, что от него просишь.

А иногда то, что ты просил, было не самым правильным решением.

Например, попросил его улучшить структуру.

Он может предложить красивую архитектуру.

Сервисный слой.

Отдельные классы.

Новые абстракции.

На бумаге всё выглядит отлично.

А потом вспоминаешь, что это небольшой внутренний проект, который поддерживает один человек.

И половина изменений просто не нужна.

С Cursor другая история.

Он меньше пытается "переосмыслить" проект.

Иногда это плюс.

Есть конкретная задача:

"Исправь тип".

"Добавь поле".

"Переделай функцию".

И он делает именно это.

Например:

function getUser(id: number) {
    return fetch(`/api/users/${id}`);
}

Понятная ошибка.

Нужно добавить async, обработать ответ.

Это не требует анализа всей кодовой базы.

Здесь Cursor быстрее.

Поэтому сейчас я бы не выбирал между ними по принципу:

"Этот лучше".

Так не работает.

Если я пишу новый функционал, мне чаще нужен Cursor.

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

Самое неожиданное для меня оказалось в другом.

Я думал, что ИИ в разработке будет экономить время на написании кода.

И он действительно это делает.

Но самая большая экономия появляется в другом месте.

Когда не нужно полдня искать, где именно спрятана проблема.

Возможно, через пару лет мы будем меньше спорить о том, какой ИИ лучше пишет функции.

Потому что функции - это уже не самая большая проблема.

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

И вот здесь у Cursor и Claude Code пока разные роли.

Комментарии

Пока нет комментариев. Будьте первым, кто напишет.

Чтобы оставить комментарий, войдите в аккаунт.

Похожие статьи