Информация об изменениях

Сообщение Re[12]: У престарелых скуфных кнопкодавов реально дофига оби от 10.10.2025 12:50

Изменено 10.10.2025 13:02 bnk

Re[12]: У престарелых скуфных кнопкодавов реально дофига оби
Здравствуйте, rg45, Вы писали:

R>Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?


GitHub Copilot — это обертка (UI), она использует выбранную модель как бэкэнд.
Пробовал выбрать нормальную модель, типа Клода? Мои отзывы строятся на этом, т.е. использую именно последний Клод (4.5 сейчас). Пробовал с GPT — прямо заметно тупее (IMHO).
По тестам для программирования самый умный: https://www.anthropic.com/news/claude-sonnet-4-5

  Вот его вывод
#include <iostream>

// Функция проверяет пересечение диапазонов [a, b) и [c, d)
// Диапазоны полуоткрытые: включают начало, исключают конец
bool rangesIntersect(int a, int b, int c, int d) {
    // Два диапазона пересекаются, если:
    // начало первого < конец второго И начало второго < конец первого
    return (a < d) && (c < b);
}

// Альтернативный вариант - проверка через условие НЕ пересечения
// (может быть более интуитивным)
bool rangesIntersect_v2(int a, int b, int c, int d) {
    // Диапазоны НЕ пересекаются, если:
    // один диапазон полностью левее другого
    if (b <= c || d <= a) {
        return false;  // не пересекаются
    }
    return true;  // пересекаются
}

int main() {
    // Тестовые примеры
    
    // [1, 5) и [3, 7) - пересекаются в [3, 5)
    int res1 = rangesIntersect(1, 5, 3, 7);
    std::cout << "[1, 5) и [3, 7): " << (res1 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 3) и [3, 5) - не пересекаются (смежные диапазоны)
    int res2 = rangesIntersect(1, 3, 3, 5);
    std::cout << "[1, 3) и [3, 5): " << (res2 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 5) и [1, 5) - пересекаются (совпадают полностью)
    int res3 = rangesIntersect(1, 5, 1, 5);
    std::cout << "[1, 5) и [1, 5): " << (res3 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 5) и [6, 10) - не пересекаются (отдельные диапазоны)
    int res4 = rangesIntersect(1, 5, 6, 10);
    std::cout << "[1, 5) и [6, 10): " << (res4 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [3, 8) и [2, 4) - пересекаются в [3, 4)
    int res5 = rangesIntersect(3, 8, 2, 4);
    std::cout << "[3, 8) и [2, 4): " << (res5 ? "пересекаются" : "не пересекаются") << std::endl;
    
    return 0;
}

  выбирать модель в Copilot тут


Еще, я на С++ что-то писал последний раз лет 15 назад если не больше
Пробовал использовать с .NET — тоже получалось не очень, к сожалению.
Re[12]: У престарелых скуфных кнопкодавов реально дофига оби
Здравствуйте, rg45, Вы писали:

R>Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?


GitHub Copilot — это обертка (UI), она использует выбранную модель как бэкэнд.
Пробовал выбрать нормальную модель, типа Клода? Мои отзывы строятся на этом, т.е. использую именно последний Клод (4.5 сейчас). Пробовал с GPT — прямо заметно тупее (IMHO).
По тестам для программирования Клод самый толковый: https://www.anthropic.com/news/claude-sonnet-4-5

  Вот его вывод
#include <iostream>

// Функция проверяет пересечение диапазонов [a, b) и [c, d)
// Диапазоны полуоткрытые: включают начало, исключают конец
bool rangesIntersect(int a, int b, int c, int d) {
    // Два диапазона пересекаются, если:
    // начало первого < конец второго И начало второго < конец первого
    return (a < d) && (c < b);
}

// Альтернативный вариант - проверка через условие НЕ пересечения
// (может быть более интуитивным)
bool rangesIntersect_v2(int a, int b, int c, int d) {
    // Диапазоны НЕ пересекаются, если:
    // один диапазон полностью левее другого
    if (b <= c || d <= a) {
        return false;  // не пересекаются
    }
    return true;  // пересекаются
}

int main() {
    // Тестовые примеры
    
    // [1, 5) и [3, 7) - пересекаются в [3, 5)
    int res1 = rangesIntersect(1, 5, 3, 7);
    std::cout << "[1, 5) и [3, 7): " << (res1 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 3) и [3, 5) - не пересекаются (смежные диапазоны)
    int res2 = rangesIntersect(1, 3, 3, 5);
    std::cout << "[1, 3) и [3, 5): " << (res2 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 5) и [1, 5) - пересекаются (совпадают полностью)
    int res3 = rangesIntersect(1, 5, 1, 5);
    std::cout << "[1, 5) и [1, 5): " << (res3 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [1, 5) и [6, 10) - не пересекаются (отдельные диапазоны)
    int res4 = rangesIntersect(1, 5, 6, 10);
    std::cout << "[1, 5) и [6, 10): " << (res4 ? "пересекаются" : "не пересекаются") << std::endl;
    
    // [3, 8) и [2, 4) - пересекаются в [3, 4)
    int res5 = rangesIntersect(3, 8, 2, 4);
    std::cout << "[3, 8) и [2, 4): " << (res5 ? "пересекаются" : "не пересекаются") << std::endl;
    
    return 0;
}

  выбирать модель в Copilot тут


Еще, я на С++ что-то писал последний раз лет 15 назад если не больше
Пробовал использовать с .NET — тоже получалось не очень, к сожалению.