Programozáshoz szerintem a .... a jobb AI-segítőtárs.

Copilot, szerinted programozáshoz a Copilot vagy a ChatGPT a jobb AI-segítőtárs?

Copilot: Összefoglalva, ha kifejezetten kódírási támogatásra van szükséged, a Copilot lehet a jobb választás. Ha viszont szélesebb körű programozási támogatást keresel, beleértve a magyarázatokat és a nyelvi feldolgozást, akkor a ChatGPT lehet az ideálisabb.


ChatGPT, szerinted programozáshoz a Copilot vagy a ChatGPT a jobb AI-segítőtárs?

ChatGPT: Összefoglalva:

  • Copilot az aktuális kódírás közbeni segítség és gyors kiegészítések terén remek.
  • ChatGPT jobban segíthet tanulásban, magyarázatokban, nagyobb léptékű problémamegoldásban és a programozás mélyebb megértésében.

Ha mindkettőhöz hozzáférsz, a kettő kombinációja egy igen hatékony eszközkészletet adhat a programozói feladataidhoz.

Választások

Hozzászólások

Az, amikor ki sem kell jönni az IDE-ből és megvan az összes szükséges AI csatorna. Nem is értem az ilyen megkülönböztetést a két eszköz közt

Szerkesztve: 2024. 11. 12., k – 14:11

Claude Sonnet.

Főleg Cursor-ral.

Van már olyan model amelyik megelőzte Claude-ot kódolási képességekben?

Én is Claude-ot használok. Néha Opust, néha Sonnet-et.

Előfizetésem nincs, https://console.anthropic.com/ -on keresztül és IDE-be integrált plugin + kulcs, valamint https://chatboxai.app/en UI van hozzá.

Képfelismerésben amúgy picit jobb a ChatGPT, precízebb.

Programozásban IMHO verhetetlen az Anthropic birodalma :)

itt a Copilot a GitHub Copilotra vonatkozik, vagy ami a Windowsokban is van? mert az előbbit használom, az utóbbit nem ismerem

4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.

A GitHub Copilot, es a Microsoft Copilot az ugyanaz? de ha mar itt tartunk, az Azure Copilot is ugyanaz?

Szerkesztve: 2024. 11. 12., k – 17:17

Leginkább Copilot, mert az elég jól képes a projekt metaadataiból és az előzményekből akár több tíz soros code-completition segítséget adni. Ezen túl van még a JetBrains AI Assistant, ami beépül az IDE-be és ugyanígy ad egy csomó segítséget, aztán ha ezek egyike se fedi le jól a dolgot, akkor ChatGPT. Ha százalékot kell mondanom, akkor 75-20-5 százalék, az előbb leírtak sorrendjében.

A kolléga segíteni akart, a problémát megdumálta a ChatGP-vel, de az nem tud assemblerül. :-D

Can you write a Hello World in x86 assembly?

Ezt a kérdést feltéve nekem dobott valamit:

section .data
    hello_msg db "Hello, World!", 0xA  ; The string to print, with a newline at the end
    msg_len equ $ - hello_msg          ; Calculate the length of the string

section .text
    global _start                      ; Entry point for the program

_start:
    ; sys_write system call
    mov eax, 4                         ; syscall number for sys_write
    mov ebx, 1                         ; file descriptor 1 = standard output
    mov ecx, hello_msg                 ; pointer to the message
    mov edx, msg_len                   ; length of the message
    int 0x80                           ; call kernel

    ; sys_exit system call
    mov eax, 1                         ; syscall number for sys_exit
    xor ebx, ebx                       ; exit code 0
    int 0x80                           ; call kernel

Aszondja  a ChatGPT:

CPFSEQ WREG, 0    ; Összehasonlítja a W regisztert 0-val, ha egyenlő, folytatja a következő utasítással

Csak ott a hiba, hogy az a 0 nem 0, hanem az ún. ACCESS (a) bit. Az utasítás így néz ki:

CPFSEQ    f {,a}  Compare f with W, skip if f = W -> 0110.001a.ffff.ffff, ahol az f a file register (bájt) címének alsó fele, a=0 -> ACCESS (0..5f -> RAM, 60..ff -> SFR a 15. bankban), a=1 BSR (bank select register)

Tehát a WREG (ami nem más mint a W munkaregiszter) címe fe8, az opcode 62e8.

Naszóval az a 0 nem 0, hanem az utasításban egy címzési módot jelentő bit. A végeredmény:WREG  mindig == W, azaz mindig skip. Magyarul ez az utasítás TRUE.

A kérdés az volt: Hogyan kell megvizsgálni a W értékét, hogy 0-e?

Mentségére legyen mondva, három megoldást adott és abból kettő jó volt. ;)

Az én mentségemre pedig az szól: Csak egy ciklikus indexet vizsgáltam nullára, ami soha nem akart nullulni. A program egyébként jól működött, az index pörgött redesen. Aztán találtam egy hiányos utasítást, ahol nem volt megadva a destination (az eredmény vagy a load helyben maradjon vagy töltse a W-be) és access bit. Az access hiánya miatt mindig 8 érték került a W-be, mert a default BSR-rel címezve éppen az volt abban a bájtban. És ez ki is derülhetett volna, ha a fordító az ASSUME direktíva ellenére nem siklik át a hiányos utasításon - kiegészítve a defaultokkal. Aszerint meg hibát kellett volna dobnia, mert a 0. lapon található változót megcímeztem a 4. lapra mutató BSR-t használva.

Nagy bajt ezen nem látok, inkább csak hiányos az infó. Eleve a hexa 80-as megszakításra csak a *nix kernelek reagálnak, Windowson meg bare metal várhatsz a világvégéig. DOS-nak, OS/2-nek, CP/M-nek is más-más volt erre a módszere. DOS alatt pl. hexa 21-es megszakítás, AH=2 meghívásával látja el ezt a funkciót, de szokás volt ehelyett közvetlenül a videómemóriába írni, mert az gyorsabb, és bare metal is megy, külön OS nélkül.

Nekem egyébként nincs bajom azzal, ha valaki AI-t használ fejlesztés közben, csak ne azzal akarjon programozni megtanulni, meg ne arra bízza 100%-ban a projektet, mert csalódás lesz a vége. Segédeszköznek, ötletelésre, kényelemre (pl. boilerplate kód generálása, meg nyelvi szavak, függvény, metódusnevek kiegészítésére, stb.). Nem árt tisztában lenni a korlátaival.

Persze az AI védelmére legyen mondva, hogy *nix kernelekhez felesleges ezt ASM-ben írni, erre való shell + cat, vagy egy röpke C-s program, azok eleve nem fognak architektúrától függeni. Értelmetlen újrafeltalálása a keréknek.

The world runs on Excel spreadsheets. (Dylan Beattie)

microsoft copilot vagy github copilot?

I have your source code, should I open it?