• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zawód programisty może zniknąć w ciągu 5 lat - co o tym sądzicie?

Object Storage Arubacloud
0 głosów
1,294 wizyt
pytanie zadane 8 lutego 2023 w Rozwój zawodowy, nauka, praca przez reaktywny Nałogowiec (41,240 p.)

Zawód programisty może zniknąć w ciągu 5 lat - co o tym sądzicie? Programiści zostaną zastąpieni przez AI?

 

https://javascript.plainenglish.io/coding-wont-exist-in-5-years-this-is-why-6da748ba676c

 

 

Moim zdaniem - tak, tylko nie wiadomo kiedy czy za 5 lat czy może "dopiero" za 10-15 lat?

 

DeepMind AlphaCode: Is AI ready to replace programmers? - Tech Monitor
https://techmonitor.ai/technology/ai-and-automation/deepmind-alphacode-ai-software-developer

Will AI replace software engineers? | LinkedIn
https://www.linkedin.com/news/story/will-ai-replace-software-engineers-6090178/

The Future of Programming: Will AI Replace Programmers? — Techslang
https://www.techslang.com/will-programmers-become-obsolete-because-of-ai/

 

2 odpowiedzi

+6 głosów
odpowiedź 8 lutego 2023 przez Gynvael Coldwind Nałogowiec (28,010 p.)
Na początek muszę zwrócić uwagę na pewną nieścisłość – temat na forum jest o "zawodzie programisty", ale pierwszy cytowany artykuł nie mówi nic o tym, że zawód programisty zniknie. Autor tam rozróżnia "kodera" i "programistę", gdzie ten pierwszy jest jedynie przysłowiowym "klepaczem kodu" (potocznie zwanym "code monkey"), a ten drugi rozwiązuje problemy związane z programowaniem.

W każdym razie nie, zawód programisty nie zniknie, ale – patrząc po wynalazkach typu copilot czy gpt-3 – zostanie trochę przyspieszony. Tj. dużo mniej czasu będzie schodzić na pisanie tzw. "boilerplate code", czyli powtarzającego się kodu, który nie ma za dużo logiki (albo ma bardzo typową logikę). Przy tego typu kodzie nie ma za dużo myślenia (do tego stopnia, że mogę słuchać sobie audiobooka jak go pisze), więc jakiś generator, który ma bazę tego typu kodu bardzo pomoże (tudzież już pomaga).

Natomiast żadne "AI" nauczone na bazie obecnej wiedzy nie pomoże przy pisaniu nietypowego kodu, a tego jest całkiem sporo. Czym bardziej złożony i mniej typowy będzie problem, tym "AI" będzie mniej przydatne.

Innym problemem jest wytłumaczenie "AI" co program ma robić. Ludzie dużo lepiej rozumieją kontekst i wymagania w jakim dany kawałek kodu ma operować. Problemem w tym wypadku będzie przekazać ten kontekst "AI" tak żeby ten mógł coś sensownego wygenerować. Może się okazać, że programowanie w przyszłości będzie po prostu pisaniem w naturalnym języku bardzo bardzo bardzo dokładnej specyfikacji, tak żeby "AI" mogło z tego wygenerować kod. Zmieni się więc po prostu język, którym się programuje ("język programowania → kompilator" przejdzie na "język naturalny → AI").

No i nadal będzie potrzeba sporo specjalistów, którzy będą mogli kontrolować AI. To co obecne modele typu copilot/gpt3 podpowiadają jest generalnie jakościowo słabe, i to jest problem, z którym twórcy będą się zmagać lata. Wynika to z starego dobrego "garbage in garbage out" – jeśli "AI" jest nauczone na bazie wiedzy zawierającej błędy, to będzie generować błędny kod. Z mojego osobistego doświadczenia gpt3 zmyśla tak mniej więcej w 50% przypadków, a czym bardziej specjalistyczne tematy się mu rzuca, tym gorzej.

Na pewno czekają nas zmiany, ale jako zawód, to się nigdzie nie wybieramy ;)
komentarz 8 lutego 2023 przez reaktywny Nałogowiec (41,240 p.)
Po pierwsze, dziękuję za optymistyczną wypowiedź, słowa otuchy i wyprowadzenie mnie z "doła" (w którego wpadam po przeczytaniu podobnych artykułów) ;) :).

Po drugie primo, to wszystko co piszesz to prawda, ale to prawda aktualna dziś. Czy tak również będzie za przykładowo 10 lat?

Obecnie AI nie rozwija się szybko, AI "zapierdziela". Pamiętam pierwsze aplikacje oparte o sieci konwolucyjne (CNN) gdzie komputer rozróżniał zdjęcia z około 30% skutecznością, a człowiek - trzy razy lepiej. Ale to były okolice 2005-2007 roku, 8-10 lat później sieci CNN zwiększyły skuteczność ponad trzy krotnie i dziś są lepsze od człowieka w klasyfikacji zdjęć. Pamiętacie pierwsze wpadki AI? Przykładowo, chyba Google (nie pamiętam dokładnie) zrobiło pokaz możliwości AI i software oparty o sztuczną inteligencję pomylił murzyna z małpą (prawdę mówiąc, ja też mam czasami problemy z rozróżnieniem). Podobnie jest z NLP. Pierwsze systemy oparte o sieci RNN, LSTM, itp. dawały średnie rezultaty. Rewolucję przyniosły transformery BERT (AlBERT, RoBERTa, HerBERT i inne). O tym, że AI zastąpi wiele zawodów mówi się od około 5-6 lat, czyli zaledwie około 10 lat od momentu gdy rozwój AI nabrał naprawdę dużego tempa (nowoczesny sprzęt, głównie GPU, ale też ogromne zasoby danych dały "kopa" tej dziedzinie).

Ja zdaję sobie sprawę, że obecne efekty np. chatGPT są jeszcze zdecydowanie za słabe by mówić o tym, że komputery mogłyby zastąpić programistów, ale to dopiero początki! Z czasem gdy wydajność sprzętu komputerowego wzrośnie (NVIDIA co cztery lata/ co dwie generacje podwaja liczbę rdzeni w GPU, a wielkość VRAM też rośnie szybko) i pojawią się nowe rewolucyjne rozwiązania AI (na miarę transformerów) to moje obawy przestają być nieuzasadnione. W mojej ocenie AI  pozbawi wiele osób pracy (nie tylko programistów), ale może nie nastąpi to tak szybko - oby!

Według mnie programiści sobie zaszkodzili (o czym pisałem już kiedyś) pisząc ogromne ilości FOSS. Teraz to się mści.

Zgadzam się z Tobą, że najpierw stracą pracę "klikacze" (specjaliści od Wordpressa, no-code / low-code), później "klepacze" ("code monkeys"), a dopiero później programiści i wreszcie na końcu "prawdziwi wyjadacze".
komentarz 9 lutego 2023 przez manjaro Nałogowiec (37,390 p.)
Zauważyłem że jak się zada kilka krzyżowych pytań to GPT3 sam sobie zaprzecza
1
komentarz 14 marca 2023 przez ccpr Nowicjusz (100 p.)
edycja 14 marca 2023 przez ccpr

@Gynvael Coldwind, właściwie to po co powstają takie trudne języki jak Rust, kto to wszystko zapamięta sztuczna inteligencja? Dlaczego te języki systemowe inne niż C mają taką trudną w odczycie składnie jak Rust, C++, Zig? Nie można było zrobić tak jak w C#, Dart, Swift? Proste łatwe i o czytelnej składni.

1
komentarz 14 marca 2023 przez Gynvael Coldwind Nałogowiec (28,010 p.)
Ee... chyba się nie zgodzę z tym co napisałeś co do składni. Tj. trudność języka C++ (jak i praktycznie wszystkich innych nie-ezoterycznych języków programowania) zdecydowanie nie leży w składni – składnia to ta prosta część tego języka. Trudność w przypadku C++ leży w tym, że trzeba zostać doktorem prawa, żeby pisać w tym języku bezbłędnie :D

W każdym razie pamiętaj, że historycznie patrząc każdy z tych języków jest de facto uproszczeniem tego co było wcześniej w jakimś sensie, lub przynajmniej usprawnieniem. Np. w C – mimo jego dziwnej składni związanej z rzutowaniami i wskaźnikami – pisze się dużo wygodniej i przyjemniej niż w assemblerze. W C++ pisze się dużo wygodniej i przyjemniej niż w C, bo nie trzeba kombinować na około z obiektowością + pisać po 30 razy tego samego dla różnych typów (szablony). Podobnie, Rust jest usprawnieniem C++ pod względem zarządzania pamięcią, zachowując mniej więcej podobny poziom kontroli niskopoziomowej nad tym co się dzieje.

Z drugiej strony w Dart, Swift, czy JavaScript nie ma żadnej kontroli niskopoziomowej, co jednocześnie pozwala bardzo uprościć te języki. Jednocześnie z uwagi na luźne podejście do typów w JS w zasadzie nie ma potrzeby posiadania szablonów, etc.

Ostatecznie jednak... składania to nie jest problem w tych językach i ostatecznie wcale nie jest trudna. Wymaga trochę zapoznawania się ofc i wprawy, ale... jest dużo bardziej skomplikowanych rzeczy w programowaniu :)
komentarz 14 marca 2023 przez ccpr Nowicjusz (100 p.)
Ale można było te języki systemowe trochę ładniej zaprojektować, tu masz przykład nowoczesnych języków systemowych z ręcznym zarządzaniem pamięcią.

https://haxe.org/

https://vale.dev/

https://www.val-lang.dev/

https://odin-lang.org/

https://vlang.io/

https://www.beeflang.org/
komentarz 14 marca 2023 przez Gynvael Coldwind Nałogowiec (28,010 p.)
Widzę po Twoich wiadomościach, że starasz się te języki wcisnąć w każdy temat na forum jaki znajdziesz :D
komentarz 14 marca 2023 przez ccpr Nowicjusz (100 p.)
Co w tym złego? Są bezpieczne i można w nich stworzyć bezpieczne systemy operacyjne, bez tych backdoorów które umieszczają w kodzie C nawet w systemach open source jak OpenBSD. Ale szacunek dla twórcy tego systemu Theo de Raadt, że to ujawnił.
komentarz 14 marca 2023 przez tkz Nałogowiec (42,020 p.)

Ile z tych języków jest ustandaryzowana? Ile są na rynku? Od kiedy wychodzi się z założenia, że język=bezpieczeństwo? Backdoory zależą od języka? W <rzuca kością> vlang nie da się zaprojektować obejścia? Co kryje się pod "języki systemowe"? Rust jest memory-management-friendly z założenia. C++ od wersji 11 właściwie też. 

W C++ pisze się dużo wygodniej i przyjemniej niż w C, bo nie trzeba kombinować na około z obiektowością + pisać po 30 razy tego samego dla różnych typów (szablony)

void* i jazda!

 

komentarz 14 marca 2023 przez Gynvael Coldwind Nałogowiec (28,010 p.)

@ccpr

Co w tym złego? Są bezpieczne i można w nich stworzyć bezpieczne systemy operacyjne,

Jedną rzecz trochę źle interpretujesz. Te języki generalnie nie są "bezpieczne" w rozumieniu "każdy kod napisany w nich jest bezpieczny". One są "bezpieczne" w rozumieniu "eliminują jedną klasę błędów – tj. błędy związane z niskopoziomowym dostępem do pamięci". Wszystkie lub większość pozostałych klas błędów, w szczególności błędy bezpieczeństwa w logice biznesowej, pozostają bez zmian. Więc tak, fajnie, że te języki utrudniają trochę strzelenie sobie w stopę, ale zdecydowanie nie należy ich przereklamowywać jako "bezpiecznych". To wprowadza tzw. "false sense of security" (fałszywe poczucie bezpieczeństwa).

Podobnie, w C i C++ również można stworzyć bezpieczne OSy, po prostu jest to trochę trudniejsze z uwagi na ich niektóre inherentne cechy (te same zresztą, które czynią te języki szybszymi niż konkurencja w ostatecznym rozrachunku).

 bez tych backdoorów które umieszczają w kodzie C nawet w systemach open source jak OpenBSD

"Backdoory" można umieścić w dowolnym języku. Podobnie jak można popełnić błędy bezpieczeństwa w dowolnym języku.

Co do "nawet w systemach open source" – pamiętaj, że system open source nie są bardziej bezpieczne niż systemy z zamkniętym źródłem. Zarówno software open-source jak i nie-open-source ma tyle samo problemów z bezpieczeństwem.

@tkz

void* i jazda!

laugh

 

+2 głosów
odpowiedź 8 lutego 2023 przez Benek Szeryf (91,210 p.)
Trudno powiedzieć. Jak się przyjrzeć bliżej jak AI działa pod spodem, to wciąż brakuje tego komponentu inteligencji. Siłą np. ChatGPT jest to, że potrafi gromadzić informacje, budować pewne modele i testować optymalne rozwiązania na podstawie zgromadzonych danych.

Wciąż jednak z matematycznego punktu widzenia nie dostrzegam tej kreatywności, czyli tego, że taki program sam potrafi coś wymyślić. AI potrafi powiązać pewne modele za pomocą korelacji, a mając duże zasoby obliczeniowe może sobie zbudować całą taką siatkę powiązań, a więc się nauczyć. Z drugiej strony mniej więcej tak wygląda proces uczenia się człowieka. Zbiera on informacje z różnych obszarów i je ze sobą łączy. Jest to niewątpliwie intrygujące, potencjalnie niebezpieczne, ale i otwiera nowe możliwości.

Natomiast z tym zastąpieniem programisty, to na razie bym się nie obawiał. Przecież powstały np. kreatory stron internetowych typu drag & drop, a i tak zatrudnia się frontendowców. Rozwiązania chmurowe są uproszczone do maksimum i takiego AWS-a się przeklikuje, a i tak trzeba zatrudnić programistę, który to ogarnie, a nie jakiegoś bota.
komentarz 8 lutego 2023 przez reaktywny Nałogowiec (41,240 p.)
Masz rację Benek, że sztucznej inteligencji brakuje....inteligencji i kreatywności. Ale tak jak napisałem w komentarzu wyżej, AI się rozwija w niesamowitym tempie i za jakiś czas może to być tempo wykładnicze. Już powoli AI zaczyna rozwijać AI, co przyniesie jeszcze szybszy wzrost sztucznej inteligencji, liczby rozwiązań i zastosowań.
komentarz 8 lutego 2023 przez Benek Szeryf (91,210 p.)
Tylko czy to jest powód do tego, by siąść i się umartwiać? Nic z tym nie możemy zrobić, jest jak jest. Póki co programiści mają w miarę stabilną pracę. Patrząc na pandemie i wojnę tuż za rogiem, to chyba nikt się trzy lata temu nie zastanawiał, że tak się świat zmieni na przestrzeni kilkunastu miesięcy.
komentarz 8 lutego 2023 przez reaktywny Nałogowiec (41,240 p.)
edycja 8 lutego 2023 przez reaktywny

Masz rację - zarówno z zawodem programisty, jak i sytuacją w naszym regionie. Sprawdzają się powoli rzeczy, o których mówiono kilka lat temu, ale wtedy wrzucono je do worka "teorii spiskowych" (niedawno oglądałem świetny film, z Panem Sławomirem Mentzen, który poruszył ten temat),

Żeby nie odchodzić od tematu.... Nie ma co się zamartwiać, ale nie można też bagatelizować wszystkich problemów. Tak jak pisze Gynvael Coldwind, trzeba wejść na (znacznie) wyższy poziom jeśli chodzi o umiejętności programistyczne (piszę teraz o sobie), nie można być cały czas "code monkey" :).

komentarz 8 lutego 2023 przez Benek Szeryf (91,210 p.)
Zawsze warto się rozwijać, to poszerza bardzo mocno horyzonty i rozwija jako człowiek w ogóle :)

Podobne pytania

0 głosów
5 odpowiedzi 629 wizyt
0 głosów
2 odpowiedzi 826 wizyt
0 głosów
3 odpowiedzi 479 wizyt

92,753 zapytań

141,672 odpowiedzi

320,390 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...