Discussion:
Czego warto się uczyć?
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
M.M.
2020-04-21 13:26:44 UTC
Permalink
Witam

No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?

Pozdrawiam
g***@gmail.com
2020-04-21 15:15:18 UTC
Permalink
Post by M.M.
Witam
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
Odpowiedź jest, niestety, zbyt prosta:

Tego, co pomoże realizować cele, które przed sobą stawiasz.
M.M.
2020-04-21 17:18:06 UTC
Permalink
Post by g***@gmail.com
Post by M.M.
Witam
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
Tego, co pomoże realizować cele, które przed sobą stawiasz.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.

Pozdrawiam
g***@gmail.com
2020-04-21 19:16:21 UTC
Permalink
Post by M.M.
Post by g***@gmail.com
Post by M.M.
Witam
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
Tego, co pomoże realizować cele, które przed sobą stawiasz.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
To, że coś się od początku okazuje kiepskie i przereklamowane, jest raczej kwestią reklamy, a nie technologii.

Z mojego doświadczenia np. język C się nie starzeje.
(Może cały czas jest tak samo przestarzały?)
Logika się nie starzeje.

"Struktura i Interpretacja Programów Komputerowych" wydaje się, że będzie wciąż aktualna i za 100 lat.
Podobnie "Paradigms of Artificial Intelligence Programming" Norviga,
niedawno upubliczniona na githubie: https://github.com/norvig/paip-lisp

Sądzę, że niewielu współczesnych programistów byłoby w stanie zaimplementować program pokroju STUDENTa Daniela Bobrowa z lat 60.

Raczej "potrafią robić responsywne strony" z szablonów.

Kopiowanie gotowych rozwiązań jest łatwe, ale programowanie niebanalnych i oryginalnych rzeczy jest trudne.
Roman Tyczka
2020-04-21 19:39:28 UTC
Permalink
Post by M.M.
Post by g***@gmail.com
Post by M.M.
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
Tego, co pomoże realizować cele, które przed sobą stawiasz.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
Technologie i frameworki są bez znaczenia, liczy się background,
doświadczenie w rozwiązywaniu problemów, umiejętność spojrzenia z dystansu
na problem, no i wiedza podstawowa pt. "jak to działa pod spodem".
--
pozdrawiam
Roman Tyczka
Wojciech Muła
2020-04-22 19:25:50 UTC
Permalink
Post by Roman Tyczka
Technologie i frameworki są bez znaczenia, liczy się background,
doświadczenie w rozwiązywaniu problemów, umiejętność spojrzenia z dystansu
na problem, no i wiedza podstawowa pt. "jak to działa pod spodem".
Technologie i framworki mają istotne znaczenie, bo dają
narzędzia do rozwiązania problemów w sposób przewidywalny
(tzn. inny programista na podobnym poziomie zrozumie co
się tam dzieje, gdy wreszcie postanowisz rzucić to wszystko
i wyjechać w Bieszczady). Nie marnuje się czasu na
wynajdywanie koła. Np. dobra znajomość ]biblioteki standardowej ulubionego języka pozwala na ocenę, co trzeba samemu dorzeźbić,
czy jakie są ograniczenia. To jest wg mnie część doświadczenia.

w.
Roman Tyczka
2020-04-22 21:04:46 UTC
Permalink
Post by Wojciech Muła
Post by Roman Tyczka
Technologie i frameworki są bez znaczenia, liczy się background,
doświadczenie w rozwiązywaniu problemów, umiejętność spojrzenia z dystansu
na problem, no i wiedza podstawowa pt. "jak to działa pod spodem".
Technologie i framworki mają istotne znaczenie, bo dają
narzędzia do rozwiązania problemów w sposób przewidywalny
(tzn. inny programista na podobnym poziomie zrozumie co
się tam dzieje, gdy wreszcie postanowisz rzucić to wszystko
i wyjechać w Bieszczady). Nie marnuje się czasu na
wynajdywanie koła. Np. dobra znajomość ]biblioteki standardowej ulubionego języka pozwala na ocenę, co trzeba samemu dorzeźbić,
czy jakie są ograniczenia. To jest wg mnie część doświadczenia.
Biblioteka standardowa != frameworki/technologie
Miałem na myśli te wszystkie modne, trendi frejmorki typu Angulary, Reacty,
języki typu Rust, Kotlin, itd., które są na topie 5 minut, a za chwilę
ustępują kolejnym. Szczególnie to widać w front-endzie. Co z tego, że
wczoraj użyto popularnego jQuery, jak dziś uważa się go za średniowiecze i
nowy programista go nie kuma, bo mu szkoda życia na archeologię.
A wiedza o np. wzorcach czy dobrych praktykach jest uniwersalna. I tylko
tyle.
--
pozdrawiam
Roman Tyczka
Wojciech Muła
2020-04-22 19:43:33 UTC
Permalink
Post by M.M.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
To jest efekt facebooka trochę. Wszędzie słyszysz, że jacyś ludzie robią ciekawe projekty, wszystko w nowoczesnych językach i technologiach. Piszą o tym artykuły, robią prezentacje. Wow! Tak, jak na facebooku ludzie chwalą się pozytywnymi zdarzeniami i odbiorcy mają wrażenie, że tylko fajne rzeczy dzieją się w życiu znajomych. A fakty są takie, że 90% IT to ciągnięcie starych projektów i robienie naprawdę nieciekawych, nudnych rzeczy. Nawet jak masz ciekawsze rzeczy, to i tak jest to mniejszość czasu. W poprzedniej pracy byłem w dziale R&D, np. miałem opracować wydajny algorytm sortowania równoległego. Zrobiłem to, zabawa na 3-4 dni, trochę czytania o state-of-the-art, prototypowanie -- było super, naprawdę. A potem 2 tygodnie mozolnie włączałem ten algorytm w strukturę naszego produktu, robiłem testy wydajnościowe z czego powstał raport, itd. itp. Czyli skala fajności 4 na 21 (~20%). :)
Trzeba się przygotować, że przeciętnie fajność będzie na poziomie 5%
i wtedy najlepiej ocierać łzy grubym plikiem banknotów. ;)

w.
g***@gmail.com
2020-04-22 20:10:11 UTC
Permalink
Post by Wojciech Muła
Post by M.M.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
To jest efekt facebooka trochę. Wszędzie słyszysz, że jacyś ludzie robią ciekawe projekty, wszystko w nowoczesnych językach i technologiach. Piszą o tym artykuły, robią prezentacje. Wow! Tak, jak na facebooku ludzie chwalą się pozytywnymi zdarzeniami i odbiorcy mają wrażenie, że tylko fajne rzeczy dzieją się w życiu znajomych. A fakty są takie, że 90% IT to ciągnięcie starych projektów i robienie naprawdę nieciekawych, nudnych rzeczy. Nawet jak masz ciekawsze rzeczy, to i tak jest to mniejszość czasu. W poprzedniej pracy byłem w dziale R&D, np. miałem opracować wydajny algorytm sortowania równoległego. Zrobiłem to, zabawa na 3-4 dni, trochę czytania o state-of-the-art, prototypowanie -- było super, naprawdę. A potem 2 tygodnie mozolnie włączałem ten algorytm w strukturę naszego produktu, robiłem testy wydajnościowe z czego powstał raport, itd. itp. Czyli skala fajności 4 na 21 (~20%). :)
Trzeba się przygotować, że przeciętnie fajność będzie na poziomie 5%
i wtedy najlepiej ocierać łzy grubym plikiem banknotów. ;)
Gorzej jak dostajesz wynagrodzenie przelewem.



Ale można też robić fajne rzeczy poza pracą.
Tomasz Kaczanowski
2020-04-23 05:40:09 UTC
Permalink
Post by g***@gmail.com
Post by Wojciech Muła
Trzeba się przygotować, że przeciętnie fajność będzie na poziomie 5%
i wtedy najlepiej ocierać łzy grubym plikiem banknotów. ;)
Gorzej jak dostajesz wynagrodzenie przelewem.
no chyba, że będzie to duży przelew wysokoprocentowy :P
--
http://kaczus.ppa.pl
Wojciech Muła
2020-04-23 20:02:23 UTC
Permalink
Post by g***@gmail.com
Post by Wojciech Muła
Post by M.M.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
To jest efekt facebooka trochę. Wszędzie słyszysz, że jacyś ludzie robią ciekawe projekty, wszystko w nowoczesnych językach i technologiach. Piszą o tym artykuły, robią prezentacje. Wow! Tak, jak na facebooku ludzie chwalą się pozytywnymi zdarzeniami i odbiorcy mają wrażenie, że tylko fajne rzeczy dzieją się w życiu znajomych. A fakty są takie, że 90% IT to ciągnięcie starych projektów i robienie naprawdę nieciekawych, nudnych rzeczy. Nawet jak masz ciekawsze rzeczy, to i tak jest to mniejszość czasu. W poprzedniej pracy byłem w dziale R&D, np. miałem opracować wydajny algorytm sortowania równoległego. Zrobiłem to, zabawa na 3-4 dni, trochę czytania o state-of-the-art, prototypowanie -- było super, naprawdę. A potem 2 tygodnie mozolnie włączałem ten algorytm w strukturę naszego produktu, robiłem testy wydajnościowe z czego powstał raport, itd. itp. Czyli skala fajności 4 na 21 (~20%). :)
Trzeba się przygotować, że przeciętnie fajność będzie na poziomie 5%
i wtedy najlepiej ocierać łzy grubym plikiem banknotów. ;)
Gorzej jak dostajesz wynagrodzenie przelewem.
Wtedy ronisz łzy polerując Ferrari. :)
Post by g***@gmail.com
Ale można też robić fajne rzeczy poza pracą.
Teoretycznie. Czas niestety nie jest z gumy i też nierzadko
trudno wykrzesać z siebie energię po 8 godzinach w pracy.
Z wiekiem to się pogłębia, niestety.

w.
g***@gmail.com
2020-04-24 07:15:32 UTC
Permalink
Post by Wojciech Muła
Post by g***@gmail.com
Post by Wojciech Muła
Post by M.M.
Przeraża mnie tempo w jakim deaktualizuje się nabyta w trudzie
wiedza i doświadczenie, i to, jak szybko nowoczesne technologie
okazują się przestarzałe, albo nawet (okazują się) od początku
kiepskie i przereklamowane.
To jest efekt facebooka trochę. Wszędzie słyszysz, że jacyś ludzie robią ciekawe projekty, wszystko w nowoczesnych językach i technologiach. Piszą o tym artykuły, robią prezentacje. Wow! Tak, jak na facebooku ludzie chwalą się pozytywnymi zdarzeniami i odbiorcy mają wrażenie, że tylko fajne rzeczy dzieją się w życiu znajomych. A fakty są takie, że 90% IT to ciągnięcie starych projektów i robienie naprawdę nieciekawych, nudnych rzeczy. Nawet jak masz ciekawsze rzeczy, to i tak jest to mniejszość czasu. W poprzedniej pracy byłem w dziale R&D, np. miałem opracować wydajny algorytm sortowania równoległego. Zrobiłem to, zabawa na 3-4 dni, trochę czytania o state-of-the-art, prototypowanie -- było super, naprawdę. A potem 2 tygodnie mozolnie włączałem ten algorytm w strukturę naszego produktu, robiłem testy wydajnościowe z czego powstał raport, itd. itp. Czyli skala fajności 4 na 21 (~20%). :)
Trzeba się przygotować, że przeciętnie fajność będzie na poziomie 5%
i wtedy najlepiej ocierać łzy grubym plikiem banknotów. ;)
Gorzej jak dostajesz wynagrodzenie przelewem.
Wtedy ronisz łzy polerując Ferrari. :)
Post by g***@gmail.com
Ale można też robić fajne rzeczy poza pracą.
Teoretycznie. Czas niestety nie jest z gumy i też nierzadko
trudno wykrzesać z siebie energię po 8 godzinach w pracy.
Z wiekiem to się pogłębia, niestety.
Zwłaszcza jak się trwoni czas na polerowanie Ferrari ;]

Jakiś czas temu rozkminiłem, jak można pisać appki androidowe na telefonie z androidem:
https://www.quora.com/Is-it-possible-to-develop-Android-apps-using-a-tablet/answer/Panicz-Godek

Dlatego można sobie pokodzić np. na kibelku albo w drodze do/z pracy (tylko wtedy najlepiej zamienić Ferrari na Solarisa albo Pesę)
fir
2020-04-23 07:41:57 UTC
Permalink
Post by M.M.
Witam
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
na pewno nie OOP, sporej reszty mozna sie uczyc (choc tez nie wszystkiego)...

pozatym co warto robic to trudna kwestia

co do jezykow to aryzykowal bym moze taka odpowiedz (choc jest ona lekko anegdotyczna)

c++/java/c# - nie warto

c/python/js - warto
g***@gmail.com
2020-04-24 10:09:18 UTC
Permalink
Post by fir
Post by M.M.
Witam
No właśnie, chyba tak lapidarnie ujęte pytanie jak w temacie, w
zupełności wyczerpuje moje rozterki. Czego warto się uczyć? I dlaczego?
na pewno nie OOP, sporej reszty mozna sie uczyc (choc tez nie wszystkiego)...
pozatym co warto robic to trudna kwestia
co do jezykow to aryzykowal bym moze taka odpowiedz (choc jest ona lekko anegdotyczna)
c++/java/c# - nie warto
c/python/js - warto
Moje doświadczenie jest takie, że C# jest naprawdę przyzwoicie zaprojektowanym językiem - lepiej niż Python.

Jeżeli idzie o Javę, to piszę w niej na telefon (i to na telefonie), i chociaż pod wieloma względami faktycznie nie jest powalająca, są sytuacje, kiedy nie można od niej uciec (choćby właśnie jak się chce pisać na telefonie na telefon).

Więc ze względu na strukturę rynku nie można z całą pewnością powiedzieć, że "nie warto".

JS jest właściwie nieunikniony, jak się chce coś robić do przeglądarki. Tak naprawdę główna różnica między JS a Pythonem to lukier składniowy.

Tak jak pisałem na początku, to, czego warto się uczyć, zależy od celu, jaki przed sobą stawiamy.

Ale. Jest taki aforyzm Alana Perlisa:

"A language that doesn't affect the way you think about programming is not worth knowing"

I mając to na względzie, wydaje się, że jeżeli idzie o języki programowania, to te najciekawsze:

- Smalltalk/Pharo/Squeak/eToys
- Lisp/Scheme/Racket/Clojure
- Haskell/Idris
- Prolog/*Kanren/Datalog
- Forth/Joy
- APL/J/K
Maciej Sobczak
2020-04-24 21:03:07 UTC
Permalink
Post by g***@gmail.com
Jeżeli idzie o Javę, to piszę w niej na telefon (i to na telefonie), i chociaż pod wieloma względami faktycznie nie jest powalająca, są sytuacje, kiedy nie można od niej uciec (choćby właśnie jak się chce pisać na telefonie na telefon).
Więc ze względu na strukturę rynku nie można z całą pewnością powiedzieć, że "nie warto".
Sorry, ale "kodzenie na kibelku", jak to ładnie nazwałeś, nie mieści się w strukturze żadnego rynku. Jest niemal z definicji poza jakąkolwiek definicją rynku. Jeżeli to ma być powód do nauki Javy, to znaczy, że już naprawdę nie ma powodu. Nie mówiąc już o tym, że jest to podobno niezdrowe.

Java jest ważnym składnikiem programistycznego ekosystemu, ale zdecydowanie nie z powodu, który tu przedstawiłeś.
Post by g***@gmail.com
JS jest właściwie nieunikniony, jak się chce coś robić do przeglądarki.
Jeżeli JS stał się przeglądarkowym asemblerem, to za chwilę pojawią się generatory JS. A właściwie są od dawna - np. GWT, który generuje JS z kodu w... Javie. O, i mamy powód do nauki Javy.
Post by g***@gmail.com
"A language that doesn't affect the way you think about programming is not worth knowing"
To z kolei zależy od tego, co już wiemy. Dla początkującego każdy język będzie miał fundamentalny wpływ na jego postrzeganie całej dyscypliny.
--
Maciej Sobczak * http://www.inspirel.com
g***@gmail.com
2020-04-25 09:48:14 UTC
Permalink
Post by Maciej Sobczak
Post by g***@gmail.com
Jeżeli idzie o Javę, to piszę w niej na telefon (i to na telefonie), i chociaż pod wieloma względami faktycznie nie jest powalająca, są sytuacje, kiedy nie można od niej uciec (choćby właśnie jak się chce pisać na telefonie na telefon).
Więc ze względu na strukturę rynku nie można z całą pewnością powiedzieć, że "nie warto".
Sorry, ale "kodzenie na kibelku", jak to ładnie nazwałeś, nie mieści się w strukturze żadnego rynku. Jest niemal z definicji poza jakąkolwiek definicją rynku. Jeżeli to ma być powód do nauki Javy, to znaczy, że już naprawdę nie ma powodu. Nie mówiąc już o tym, że jest to podobno niezdrowe.
Java jest ważnym składnikiem programistycznego ekosystemu, ale zdecydowanie nie z powodu, który tu przedstawiłeś.

Maciej Sobczak
2020-04-26 20:44:19 UTC
Permalink
Post by g***@gmail.com
http://youtu.be/Fum2QBcJcJk
No dobra - to teraz to samo hasło, ale bardziej merytorycznie:

https://www.zdnet.com/article/programming-language-rusts-adoption-problem-developers-reveal-why-more-arent-using-it/

Być może jest to jakiś input dla pytania czego warto się uczyć - wykres na końcu artykułu jako podsumowanie czynników, które w praktyce warto wziąć pod uwagę.
--
Maciej Sobczak * http://www.inspirel.com
g***@gmail.com
2020-04-27 05:57:36 UTC
Permalink
Post by Maciej Sobczak
Post by g***@gmail.com
http://youtu.be/Fum2QBcJcJk
https://www.zdnet.com/article/programming-language-rusts-adoption-problem-developers-reveal-why-more-arent-using-it/
Być może jest to jakiś input dla pytania czego warto się uczyć - wykres na końcu artykułu jako podsumowanie czynników, które w praktyce warto wziąć pod uwagę.
Dla mnie ten artykuł wygląda jak próba wyciągania nie wiadomo jakich wniosków z zachowań stadnych.

Z prezentacji, jakie w ostatnim czasie zrobiły na mnie największe wrażenie, obie dotyczyły Smalltalka/Pharo:



Maciej Sobczak
2020-04-27 21:10:07 UTC
Permalink
Post by g***@gmail.com
Dla mnie ten artykuł wygląda jak próba wyciągania nie wiadomo jakich wniosków z zachowań stadnych.
Ależ bardzo dobrze wiadomo, jakich wniosków - dlaczego ludzie nie używają języka programowania, o którym jednocześnie wielu ludzi mówi, że chcieliby go używać.
Post by g***@gmail.com
Z prezentacji, jakie w ostatnim czasie zrobiły na mnie największe wrażenie,
I tu jest chyba źródło nieporozumienia. Bo pytacz pytał, czego warto się uczyć a nie co na kim robi wrażenie. Da się tą różnicę wyrazić analogiami z innych dziedzin życia.

Tak czy inaczej, przypadek Rusta jest o tyle ciekawy, że w odróżnieniu od proponowanych przez Ciebie języków, Rust nawet dawał nadzieje na wyjście z niszy. Oczywiście to nie koniec jego historii i jeszcze wszystko jest możliwe, ale problemy zasygnalizowane w artykule są jak najbardziej realne.
--
Maciej Sobczak * http://www.inspirel.com
g***@gmail.com
2020-04-28 07:21:34 UTC
Permalink
Post by Maciej Sobczak
Post by g***@gmail.com
Dla mnie ten artykuł wygląda jak próba wyciągania nie wiadomo jakich wniosków z zachowań stadnych.
Ależ bardzo dobrze wiadomo, jakich wniosków - dlaczego ludzie nie używają języka programowania, o którym jednocześnie wielu ludzi mówi, że chcieliby go używać.
Otóż to. Dlaczego ludzie mówią jedno, a robią drugie.
Ludzie od wieków mówią jedno, a robią drugie.
Sprawa jest prosta: ludzie mówią to, co mówią, bo taka akurat jest moda.
A ludzie robią to, co robią, bo taka jest konieczność.
Czasem ludzie próbują robić to, co mówią, i to się zazwyczaj kończy albo tragicznie (jak im się to udaje), albo komicznie (jak im się to nie udaje).
Post by Maciej Sobczak
Post by g***@gmail.com
Z prezentacji, jakie w ostatnim czasie zrobiły na mnie największe wrażenie,
I tu jest chyba źródło nieporozumienia. Bo pytacz pytał, czego warto się uczyć a nie co na kim robi wrażenie.
Tak samo mógłbym powiedzieć, że "pytacz pytał, czego warto się uczyć, a nie - o jakich językach ludzie mówią, że chcieliby ich używać, a nie używają".

Nie ma żadnego "nieporozumienia". Po prostu toczy się rozmowa.
g***@gmail.com
2020-04-30 12:55:17 UTC
Permalink
Jak by to kogoś interesowało, to w Internetach pojawiła się wczoraj taka szopka programistyczna:

https://devupgrade.online/

Abstrahując od wartości merytorycznej, nawet dobrze się to ogląda.
(W każdym razie wydaje się dość ciekawe od strony formalnej)

Kontynuuj czytanie narkive:
Loading...