Zajebisty program, z całego serca życzę wam powodzenia z tą serią. FYI sprawdzcie sobie Adopcja (adoptować) i Adaptacja (adaptować), a przynajmniej wy jesteście jedną opcję i konsekwentnie jej używajcie ;)
Ja już zrobiłem chyba ze 4 projekty z użyciem GPT. Pierwszy był z przygodami, w Kotlinie (Android + Spring Backend), jeszcze na GPT-3.5, trzeba było bardzo dużo tłumaczyć ale generalnie bez GPT musiał bym zatrudnić 2 juniorów do pomocy żeby to napisać w tym czasie w jakim to powstało. Drugi projekt był w C, embedded. Dawałem małe zadania i wyprodukował jakieś 80 procent kodu. Rewelka. Teraz używam GPT-4 z plikami z "wiedzą" w których trzymam cały kontekst rozmowy, napisane wg. moich konwencji źródła całego projektu, oczywiście zmergowane w kilka plików skryptem powershellowym bo nie da się "wsypać" tam kilkudziesięciu plików z projektem. A co do Copilota - było fajne na początku, ale teraz prawie już nie piszę kodu i... o kurde muszę odsubskrybować bo płacę za Copilota do VS, IntelliJ i czegoś jeszcze.
Jeśli chodzi o pomoc ai, to głównie używam do niektórych komend linuxowych których nie używam na codzień. Co do samego kodu to bardziej jest dla mnie żółtą kaczuszką. Jednak po dłuższym używaniu mam podobne objawy, że czasami coś mogę zrobić szybciej czytając dokumentację, niż bawić się w inżynierię promptów. Świetny materiał, dzięki :)
A propo Rusta - z tego co zrozumiałem, to dyskutujecie na temat wprowadzenia Rust do samego jądra. Moim zdaniem to nie ma sensu - kod jest olbrzymi, tego nie da się w sensownym, czasie przepisać w całości na Rusta (powiedzmy że sensowne oznacza do 5 lat). A jak będzie hybryda, to z użycia samego Rusta w części kodu nie wynikają żadne korzyści, bo pewnie nie da się wykorzystać jego specyficznych zalet. Za to będą kłopoty - trzeba programować w więcej niż jednym języku, i w obydwu być biegłym. No i kolejny kontrargument: jak wpuścicie Rust do kernela, to zaraz będzie pielgrzymka: a czemu nie Go? albo nowoczesny C++ który też ma dobre zarządzanie pamięcią? a czemu nie jeszcze inny jakiś super-język x? I potem powstanie taki Frankenstein poskładany z wielu części. Ja słyszałem o innej wersji - żeby dopuścić w Rust pisanie sterowników. I to już ma sens - to jest niezależny kod, cały sterownik można napisać w czystym Rust, jeśli będą problemy to taki sterownik z jądra w całości się wyrzuci. No i jeszcze jedna sprawa. Ja jestem już dość stary jak na IT, i dla mnie ważne są standardy. A Rust za chińskiego bożka nie chce się standaryzować. I nie chodzi mi o standard ISO, tylko żeby społeczność rozdzieliła specyfikację od implementacji. Bez tego cały czas jest ryzyko, że twórcy kompilatora "zarajają się" jak to nazywacie, bo wymyślono jakąś nową koncepcję i wprowadzą ją do języka nie dbając o istniejący już kod. Moim zdaniem dopóki nie ma standardu, Rust nie nadaje się do krytycznych zastosowań. Pamiętacie jak to było z Perlem? Implementacja była standardem, wiele rzeczy nigdzie nie było opisanych. Jak zaczęli standaryzować, to okazało się, że nie da się tego spójnie wyspecyfikować, bo podczas procesu pisania specyfikacji znajdowano różne nieregularne konstrukcje które nie dawały się opisać. Specyfikacja powstała w końcu, ale nie była zgodna z żadną implementacją, i na długie lata nastąpił regres.
Przecież specyfikacja powstaje - patrz RFC3355 oraz projekt Ferrocene. Poza tym w takim kernelu i tak jest używane C z niestandardowymi rozszerzeniami.
Tylko że po jakiego grzyba przepisywać na inny język coś, co działa dobrze od kilkudziesięciu lat? Spowoduje to wytworzenie nowych bugów w samym procesie przepisywania i dodatkowo problemy wynikające z odmiennej natury tych języków. Poza tym Rust jest w wersji 1.x. ja bym to nazwał językiem eksperymentalnym. Autorzy i fani Rusta nie rozumieją chyba przez ile problemów, optymalizacji, ulepszeń i dostosowań (nawet pod kątem kernela) przechodził język C.
Go tym przypadku to jakas abstrakcja, rust ma akurat duzo sensu tylko ze jego skomplikowanie przy takim kodzie + czas kompilacji skutecznie to uniemzliwia
Panowie, ale z tą sprawą Rusta w kernelu to nie do końca macie rację. Czy ktoś tego gościa PROSIŁ o ten projekt? Pracował 4 lata nad rzeczą, z którą przyszedł i mu mówią, że to im nie pasuje do koncepcji ich produktu. Może należało najpierw spytać, czy jest zapotrzebowanie na jego pracę?
Troche na koncu o tym mowilismy - nikt goscia o to nie prosil ale z drugiej strony jakas tam wspolpraca na poziomie bindigow i kontraktów była. Może warto by w takiej sytuacji jak po - nie wiem - 2 latach nie zapowiada się na szersza adopcje, to może wyłożyć kawe na ławę i unaocznic kontrybutorom fakt, że "it aint gonna happen".
Linus pozwolił na wprowadzenie Rusta jako drugi język do kernela to dlaczego część maintainerów rzuca temu projektowi kłody pod nogi? Dochodzi do sytuacji, że nawet nie dzielą się wiedzą na temat działania istniejącego kodu w C, albo utrudniają wprowadzenie poprawek do kodu w C.
Nie używam copilota, jego prompty bardziej przeszkadzają niż pomagają. Jeśli już to używam chatu, (GPT) żeby zaproponował prostrze rozwiązanie w technologiach które znam słabiej niż moja główna technologia.
Trochę zabrakło konkretów dlaczego Rust jest zły i dlaczego dweweloperzy linuxowego kernela go nie chcą. A jedną z przyczyn jest to że środowisko Rusta ma w sobie coś takiego jak cargo - coś w stylu build systemu i menadżera bibliotek pakietów - który to system jest słabo zalignowany z tym jak zarządza się zależnościami w linuksie. Chcecie posłuchać o tym opowieść Leśnego Dziadka? To tutaj opowiada o tym Rene Rebe, zasłużony developer kernela z 30 letnim doświadczeniem: ruclips.net/video/OdMQwDtumJ8/видео.html
Linki z odcinka: devmentors.io/ep-8/
Zajebisty program, z całego serca życzę wam powodzenia z tą serią. FYI sprawdzcie sobie Adopcja (adoptować) i Adaptacja (adaptować), a przynajmniej wy jesteście jedną opcję i konsekwentnie jej używajcie ;)
Ja już zrobiłem chyba ze 4 projekty z użyciem GPT. Pierwszy był z przygodami, w Kotlinie (Android + Spring Backend), jeszcze na GPT-3.5, trzeba było bardzo dużo tłumaczyć ale generalnie bez GPT musiał bym zatrudnić 2 juniorów do pomocy żeby to napisać w tym czasie w jakim to powstało. Drugi projekt był w C, embedded. Dawałem małe zadania i wyprodukował jakieś 80 procent kodu. Rewelka. Teraz używam GPT-4 z plikami z "wiedzą" w których trzymam cały kontekst rozmowy, napisane wg. moich konwencji źródła całego projektu, oczywiście zmergowane w kilka plików skryptem powershellowym bo nie da się "wsypać" tam kilkudziesięciu plików z projektem. A co do Copilota - było fajne na początku, ale teraz prawie już nie piszę kodu i... o kurde muszę odsubskrybować bo płacę za Copilota do VS, IntelliJ i czegoś jeszcze.
Jeśli chodzi o pomoc ai, to głównie używam do niektórych komend linuxowych których nie używam na codzień. Co do samego kodu to bardziej jest dla mnie żółtą kaczuszką. Jednak po dłuższym używaniu mam podobne objawy, że czasami coś mogę zrobić szybciej czytając dokumentację, niż bawić się w inżynierię promptów. Świetny materiał, dzięki :)
W końcu odcinek! Tyle czkania! Jesteście najlepsi! Uprzejme dzięki!!
GPT przydaje mi się do generowania regexpów, poza tym nie jest pomocny w mojej codziennej pracy, copilot bardziej mi przeszkadzał niż pomagał
Tam jeszcze był poruszony problem, że kod kernela nigdy nie panikuje, rust już tak.
A propo Rusta - z tego co zrozumiałem, to dyskutujecie na temat wprowadzenia Rust do samego jądra. Moim zdaniem to nie ma sensu - kod jest olbrzymi, tego nie da się w sensownym, czasie przepisać w całości na Rusta (powiedzmy że sensowne oznacza do 5 lat). A jak będzie hybryda, to z użycia samego Rusta w części kodu nie wynikają żadne korzyści, bo pewnie nie da się wykorzystać jego specyficznych zalet. Za to będą kłopoty - trzeba programować w więcej niż jednym języku, i w obydwu być biegłym. No i kolejny kontrargument: jak wpuścicie Rust do kernela, to zaraz będzie pielgrzymka: a czemu nie Go? albo nowoczesny C++ który też ma dobre zarządzanie pamięcią? a czemu nie jeszcze inny jakiś super-język x? I potem powstanie taki Frankenstein poskładany z wielu części.
Ja słyszałem o innej wersji - żeby dopuścić w Rust pisanie sterowników. I to już ma sens - to jest niezależny kod, cały sterownik można napisać w czystym Rust, jeśli będą problemy to taki sterownik z jądra w całości się wyrzuci.
No i jeszcze jedna sprawa. Ja jestem już dość stary jak na IT, i dla mnie ważne są standardy. A Rust za chińskiego bożka nie chce się standaryzować. I nie chodzi mi o standard ISO, tylko żeby społeczność rozdzieliła specyfikację od implementacji. Bez tego cały czas jest ryzyko, że twórcy kompilatora "zarajają się" jak to nazywacie, bo wymyślono jakąś nową koncepcję i wprowadzą ją do języka nie dbając o istniejący już kod. Moim zdaniem dopóki nie ma standardu, Rust nie nadaje się do krytycznych zastosowań.
Pamiętacie jak to było z Perlem? Implementacja była standardem, wiele rzeczy nigdzie nie było opisanych. Jak zaczęli standaryzować, to okazało się, że nie da się tego spójnie wyspecyfikować, bo podczas procesu pisania specyfikacji znajdowano różne nieregularne konstrukcje które nie dawały się opisać. Specyfikacja powstała w końcu, ale nie była zgodna z żadną implementacją, i na długie lata nastąpił regres.
Przecież specyfikacja powstaje - patrz RFC3355 oraz projekt Ferrocene. Poza tym w takim kernelu i tak jest używane C z niestandardowymi rozszerzeniami.
Tylko że po jakiego grzyba przepisywać na inny język coś, co działa dobrze od kilkudziesięciu lat? Spowoduje to wytworzenie nowych bugów w samym procesie przepisywania i dodatkowo problemy wynikające z odmiennej natury tych języków. Poza tym Rust jest w wersji 1.x. ja bym to nazwał językiem eksperymentalnym. Autorzy i fani Rusta nie rozumieją chyba przez ile problemów, optymalizacji, ulepszeń i dostosowań (nawet pod kątem kernela) przechodził język C.
Go tym przypadku to jakas abstrakcja, rust ma akurat duzo sensu tylko ze jego skomplikowanie przy takim kodzie + czas kompilacji skutecznie to uniemzliwia
Rust jest o tyle trudniejszy, że wiele rzeczy jest abstrakcyjnych i początkowo trudnych do zrozumienia w porównaniu do c.
Komentarz dla zasięgów.
Panowie, ale z tą sprawą Rusta w kernelu to nie do końca macie rację. Czy ktoś tego gościa PROSIŁ o ten projekt? Pracował 4 lata nad rzeczą, z którą przyszedł i mu mówią, że to im nie pasuje do koncepcji ich produktu. Może należało najpierw spytać, czy jest zapotrzebowanie na jego pracę?
Troche na koncu o tym mowilismy - nikt goscia o to nie prosil ale z drugiej strony jakas tam wspolpraca na poziomie bindigow i kontraktów była. Może warto by w takiej sytuacji jak po - nie wiem - 2 latach nie zapowiada się na szersza adopcje, to może wyłożyć kawe na ławę i unaocznic kontrybutorom fakt, że "it aint gonna happen".
Linus pozwolił na wprowadzenie Rusta jako drugi język do kernela to dlaczego część maintainerów rzuca temu projektowi kłody pod nogi? Dochodzi do sytuacji, że nawet nie dzielą się wiedzą na temat działania istniejącego kodu w C, albo utrudniają wprowadzenie poprawek do kodu w C.
Spetz jest jeszcze w zespole?
Jest, ale póki co nie nagrywa na YT. Liczymy, że to się w niedalekiej przyszłości zmieni💪
Świadkowie Rusta są trochę, jak ta teściowa, która włazi Ci do domu, który sam zbudowałeś, za swoje pieniądze i zaczyna urządzać wszystko po swojemu.
nietrafione porównanie
where rozdziały
Już wleciały :)
Słynne: to się doda w dlc :p Fanny materiał, pozdro
1. Kiedy Rust z Panem Piotrem?
Hajle Silezja nie będzie zadowolony.
Nie używam copilota, jego prompty bardziej przeszkadzają niż pomagają.
Jeśli już to używam chatu, (GPT) żeby zaproponował prostrze rozwiązanie w technologiach które znam słabiej niż moja główna technologia.
Też ciekawe podejście👌 Dzięki za komentarz!
Jeszcze nie spotkalem programisty bez wyparcia i dnia bez pekajacej banki Ai...
RedBull racing
Świetne C. Rust jest be.
Trochę zabrakło konkretów dlaczego Rust jest zły i dlaczego dweweloperzy linuxowego kernela go nie chcą. A jedną z przyczyn jest to że środowisko Rusta ma w sobie coś takiego jak cargo - coś w stylu build systemu i menadżera bibliotek pakietów - który to system jest słabo zalignowany z tym jak zarządza się zależnościami w linuksie. Chcecie posłuchać o tym opowieść Leśnego Dziadka? To tutaj opowiada o tym Rene Rebe, zasłużony developer kernela z 30 letnim doświadczeniem: ruclips.net/video/OdMQwDtumJ8/видео.html
Dzieki za link 🤝
Z newsami niestety jest ten problem, ze jak cokolwiek mocniej zglebimy to sie robi z tego osobny material.
Ale popracujemy nad tym. 😉
Rust to zlo
Xd
Rust? A komu to potrzebne. :)
Stop promocji zepsucia.
Pokoleniu tiktoka, które nie może się skupić na dłużej niż 60 sekund.