Documentatia oficiala:
Cateva exemple:
Documentatia oficiala:
Cateva exemple:
Anul 2033: “hire a human to supervise your copilots”
E valabil 60 zile in free trial pentru toata lumea si in mai multe IDE.
Dupa o prima vedere nu am fost impresionat.
Nu am sters plugin-ul si am uitat de el.
Spre surprinderea mea a facut niste super-sugestii.
A redus durata scrierii unui cod de la vreo 60 de secunde la 5 secunde – pentru ca a trebuit sa verific daca e corect.
Si posibilul bug de la 1 ora la cateva zile sau mai mult
Asta in rarele situatii in care chiar propune ceva bun si nu o tampenie.
Caz in care pierzi timp suplimentar ca sa-ti dai seama ca tampenia propusa e tampenie.
There is no silver bullet.
Folosesc Tabnine de vreo 6 luni si mai da rateuri, dar per ansamblu are plus valoare.
Copilot face unele lucruri diferite si cred ca are potential.
Update.
M-am decis să ii fac un review, aici.
Folosesc GitHub Copilot ca plugin in Jetbrain WebStorm, pentru următoarele limbaje/tehnologii/frameworks:
Update 1:
(TypeScript) intuiește când vreau să șterg un element dintr-o mulțime si imi sugerează codul.
Exemplu:
users = [];
removeFromUsers(user){
if
}
După if
, Copilot sugerează:
if(this.users.includes(user){
this.users.splice(this.users.indexOf(user), 1);
}
Bănuiesc că semantica variabilelor cântărește mult.
Ma joc cu el si java
La proiect personal, merge, dar la munca zic pas. Sau pentru a scrie ceva intr-un limbaj semi necunoscut. Plus ca daca dai tot tab, nu mai treci prin filtrul gandirii linia de cod. Pana si aia pe care o iei cu copy paste de pe StackOverflow.
Sigur, in viitor o sa vedem imbunatatiri.
Cod scris de AI
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class Main {
record User (String name, Long id) {}
List<User> users = List.of(
new User("John", 1L),
new User("Jane", 2L),
new User("Jack", 3L),
new User("Jill", 4L));
public static void main(String[] args) {
System.out.println("Hello World!");
}
/**
* Dear John,
* Sincerely, Computer Science
* Java is a programming language.
* I have a lot of experience with Java.
* I am a Java developer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* I am a Java programmer.
* PHP is a programming language.
* I have a lot of experience with PHP.
* I am a PHP developer.
* I am a PHP programmer.
* I am a PHP programmer.
* @param user
*/
public void removeUser(User user) {
users.remove(user);
}
public Date calculateDate(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
return cal.getTime();
}
public boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
public boolean isOdd(int number) {
return number % 2 != 0;
}
public boolean isEven(int number) {
return number % 2 == 0;
}
public int getNumberOfDaysInMonth(int year, int month) {
if (month == 2) {
if (isLeapYear(year)) {
return 29;
} else {
return 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
} else {
return 31;
}
}
}
Mie nu imi e clar cu liceenta pt munca, daca e safe
Acolo nu ma bag cu el.
Cod propietar, licenta, etc
N-am inteles concluzia.
Mie mi se pare super util. Il folosesc cu PhpStorm si chiar ma ajuta.
Nu stiu insa daca o sa dau 10$ pe luna din august incolo
Si eu il evaluez pana atunci.
Mai am si Tabnine, plus sugestiile default din WebStorm.
E posibil ca Copilot sa isi imbunatateasca functionalitatea pe masura ce e folosit.
Mai vedem.
Mda. eu nu am continuat…ma enerva la un moment dat ca nu mai puteam sa scap de sugestiile lui
Am renunțat la copilot când a expirat trial-ul.
Mi-am facut abonament vreo 2 luni mai târziu.
Astăzi a reusit să scrie vreo 100 de linii de cod in 5 minute, ceea ce mie îmi lua cam 30 de minute - pentru codul respectiv.
Sunt foarte încântat.
Am descoperit si tehnici pe care eu nu le folosesc in mod curent.
Merită fiecare bănuț.
Cred că eficiența lui depinde de semantică in mare măsură. Astfel că face predicții pe bandă rulantă dacă variabilele au denumiri regăsite in dicționare.
mie mi s-au parut suggestiile distracting, si mai mare efortul de a fi atent ca nu sugereaza un bug decat sa scriu eu, plus ca nu pot sa il folosesc la munca, licensing / privacy etc.
Problema aia cu sugerat code under license, nu a fost pt ca scanau ei repositori-ul fara permisiune, ci pt ca altii au luat algoritmul-ul fara permisiune si copilot a scanat repo-urile alea, github nu isi asuma nimic.