Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

GitHub Copilot доступний усім розробникам

Усі статті, обговорення, новини про AI — в одному місці. Підписуйтеся на DOU | AI!

«Помічник» програміста GitHub Copilot, як заявляють його творці, тепер доступний для всіх.

«З моменту запуску технічної попередньої перевірки GitHub Copilot минулого року стало абсолютно зрозуміло, що AI є одним із найкращих інструментів для розширення можливостей наступного покоління розробників.

ШІ вже виконує роль другого пілота в нашому повсякденному житті. Він допомагає нам писати електронні листи та есе, автоматично створювати фотоальбоми наших близьких і навіть діє як цифровий помічник, щоб допомогти нам замовляти продукти. Але досі ШІ не вдосконалював код, залишаючи процес розробки програмного забезпечення майже повністю ручним.

Зараз це змінюється. Сьогодні я радий повідомити, що ми робимо GitHub Copilot загальнодоступним для розробників», — йдеться у блозі GitHub.

Якщо хочете почати використовувати GitHub Copilot, у компанії пропонують спробувати 60-денну безкоштовну пробну версію.

«Ми спеціально розробили GitHub Copilot як розширення редактора, щоб ніщо не заважало вашій роботі. GitHub Copilot передає колективні знання світових розробників у розширення редактора, яке пропонує код у режимі реального часу, щоб допомогти вам зосередитися на найважливішому: створенні чудового програмного забезпечення.

Коли ви вводите код або коментарі, GitHub Copilot пропонує наступний рядок коду. Але це не лише одне слово чи рядок коду. GitHub Copilot може запропонувати повні методи, шаблонний код, цілі модульні тести і навіть складні алгоритми», — запевняють творці GitHub Copilot.

Якщо користувались GitHub Copilot, розкажіть про свій досвід у коментарях.

А ви користувались GitHub Copilot?

24%
10%
13%
48%
5%
328 голосів  ·  показати результати
👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Огляд GitHub Copilot на прикладах JavaScript.

Сижу как-то, пишу юнит-тесты.

Решил для прикола написать комментарий:

//я зае...

Copilot продолжил:

...бался писать тесты, поэтому проверку возвращаемых ошибок делать не буду.

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

Потом ещё был случай. Сижу пишу парсер телеграм-канала «Повітряні тривоги».

Написал регулярку для фразы «Повітряна тривога в ...» — copilot тут же предложил мне следующую регулярку: «Відбій повітряної тривоги в ...». Ну оно понятно, таких парсеров в опенсорсе, наверное, уже есть несколько штук. Но всё равно приятно.

Go, TypeScript.

Що можу сказати. Сьогодні я зрадів, що копайлот нарешті став платним. Shut up and take my money, як то кажуть.

Тому що такі потужності коштують грошей і мають окупатися.

Сидів на TabNine PRO півроку, це повна фігня. Сьогодні копайлот за мене пише половину коду.

Найпростіший приклад — обробка помилок в Go. Писати таке руками це мазохізм. Сніпетів на всі випадки життя не вистачить. Бо копайлот враховує кількість і тип повернених з функції даних. Мені просто не треба думати, достатньо написати «if err», і за мене дописується все, що я мав намір написати. Часто можна навіть «if err» не писати.

Оголошення структур, інтерфейсів, методів, конструкторів — в 95% все дописується правильно.

Взагалі, Майкрософт дуже полегшує життя розробнику. VS Code та GitHub стрімко розвиваються, з’являються нові фічі.

Недоліки Copilot.

Погано справляється з фронтендом у великому проєкті, де багато легасі, написаного випадковими людьми різними стилями. Garbage in, garbage out.

Погано пише end-to-end тести фронтенду (чого не можна сказати про unit-тести, які він пише просто суперово), тому що між кодом фронтенду і кодом його тесту доволі низький рівень кореляції. Тому і людині зазвичай боляче писати такі тести, а особливо підтримувати їх. Відчували ментальне навантаження?

Висновок такий.

Якщо пишеш добре структурований, логічний код, маючи чіткий план, копайлот незамінний.

Якщо копаєшся в корявій лапші, вириганій за роки двома десятками фрілансерів, то копайлот буде пропонувати маячню.

Я бойкотою GitHub, як і деякі компанії по всьому світу. Чому це треба робити досить добре написав інший розробник sanctum.geek.nz/why-not-github.html
Прохання людям з розрядів «мнє нєчєва скривать» і «а какая разница» не витрачати час на коментування мого коментаря і продовжити користуватись цим сервісом.

За посиланням — скиглиння якогось лівуватого маргінала. Мені нагадало нещодавну істерику Marak-а з його Faker-ом (погугліть, хто забув). Тіки там чувак, що був автором дуже корисних бібліотек, образився на увесь open source. А тут — чувак, що є ніким і звати його ніяк, образився на GH, що той може колись видалити його репозиторій. Проте водночас Git був і залишається децентралізованою технологією, і GH одним лише фактом своєї пропрієтарності його цієї якості не позбавляє.

То ж в чому проблема? Кожен має свободу обирати те, що йому зручно і водночас (наголошую) дбати про безпеку самотужки.

А якщо порівняти це:
«GitHub is blocking users from Crimea»
і ось це:
«nothing in this essay is intended as praise or criticism specifically of social justice, advocacy for protected groups, censorship, United States foreign policy, or its effect on GitHub specifically»
, то взагалі здається, що писала людина, що суперечить самій собі.

І на останок, маленька історія про мого друга. У нього був VPS на Ovh, здається. І якось в дата-центрі сталася пожежа. Бази даних було знищено без можливості відновлення. А треба було робити бекапи. Якщо б мій друг був великою компанією, він би подав позов і/або потурбувався про бекапи. Але йому було майже пофіг на БД. А вже нам з вами, як неіснуючим користувачам його неіснуючих проектів — і поготів.

Ось так і з гітхабом.

Користь є, зберігає відчутно часу на те щоб вкодити якісь рутинні речи. Але проект треба кодити багато і послідовно, якщо ти пішов підправити декілька строк, то користі з нього нема. Нормально підказує на тестах за умови що ти ім’я тестового метода написав зрозуміло. Підказує типові прийоми при роботі з популярними лібами що може бути корисно особливо якщо ти ту лібу тільки починаєш застосовувати.
Але така цінова політика все зруйнувала. Камон, панове, мені увесь .NET toolbox від JetBrains коштує дешевше з урахуванням програми лояльності. Ще є TabNine, який мені на Black Friday також став суттєво дешевше.
C# / Typescript / T-SQL

Автодоповнення на стеройдах, платити за це 100 баксів на рік сенсу не бачу.
Іноді може щось просте зробити.

Пробував поюзати в беті, зрештою видалив. Після першого вау-ефекту помічаєш, що від нього більше проблем, ніж користі. На одну корисну підказку буде 10 невірних, які тільки відволікають.

Після першого вау-ефекту помічаєш, що від нього більше проблем, ніж користі.

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

Как по мне он не стоит 10$ в месяц. Лично я за время использования в тесте не какого преимущества от него не получил. (Android)

Приклад в write_sql.go вирішуєш sqlc

Користувався, десь протягом місяця і видалив. Був випадок, коли «вгадав», але цінності від того... Може, якщо писати щось з нуля, то допоможе, а в великому проекті він пропонує рандомну маячню. C#.

Так, щоб воно почало нормально працювати, треба покодити проект. А якщо ти поліз змінити або додати 3-4-5 строк, то імовірність отримати щось корисне близька до нуля.

А ж наче вказав, користувався місяць

А я ж наче не сперечаюся, а, навпаки, погоджуюся ;-)

Будет очень интересный кейс, когда код, предложенный AI будет частью какой-то лицензии и разгорится шкандаль!

Таким чином StackOverflow вже могла давно стати найбагатшою компанією світу.

Мене більше цікавить як будуть відноситись компанії до того що код який пише программіст будуть відправлятися хз куди на сервери якоїсь компанії. Чи copilot по-іншому працює?

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

Шлет. Подробнее в telemetry terms описано с кем он делится

Там теперь есть для этого специальный чекбокс.

Будет очень интересный кейс, когда код, предложенный AI будет частью какой-то лицензии и разгорится шкандаль!

але ж enterprise код нiхто чужий не бачить, зазвичай.

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

А ещё (самое прикольное), большинство из нас пишет нафиг никому не интересную проприетарщину, исходный код который успевает устареть раньше, чем принести заказчику прибыль.

Підписатись на коментарі