Wpis z mikrobloga

@groman43: Python i zresztą JS ma taki problem, że to są języki które szybko dają poczucie, że się umie programować bo są tak łatwe. Problem jest taki, że python się nie skaluje - bardzo łatwo jest napisać w pythonie jakiś gównoprogram albo gownoskrypt który będzie działał ale bardzo trudno jest napisać skomplikowaną aplikację i trzymać to w sensownych ryzach. I w tę pułapkę wpadają nawet twórcy frameworku - takie Django to
powinni zacząć od Go, Rusta czy Haskela i pokazać że można pisać funkcyjnie


@nad__czlowiek: Haskel tak, bo programowanie funkcyjne. Nie zgadzam się co do Go i Rust. Moim zdaniem C (nie C++) jest idealnym językiem od którego powinno zaczynać się wyższą edukację informatyczną. Python w liceum jest spoko.
@janciopan: IMO Python myślę że na sam start to właśnie bardzo dobry język przez relatywnie niską barierę wejścia co pozwoli zrozumieć core concepty. Wielu początkujących złożoność i verbosity takiej Javy czy w ogóle C/C++ przytłoczy (been there done that). Klucz to nie wpaść w ignorancję i rozumieć ograniczenia Pythona i że to jest język interpretowalny.

Przy czym ja akurat zawodowo nigdy nie musiałem grzebać w czymś bardziej niskopoziomowym od Pythona, więc
@ElMatadore: w praktyce nie zdarza się żeby ludzie z łatwiejszej technologii przechodzili na trudniejszą. Jak ktoś zaczyna w Pythonie to później wszystko pisze w pythonie. Tak samo jest z JS.

Dlatego kiedyś odtwarzacz muzyczny zjadał 20 MB i działał jak rakieta a teraz odtwarzacz zjada 1.5 GB i działa jak gówno? Bo jakiś kuc stwierdził że wszystko pisze w jsie bo w niczym innym nie umie.
@janciopan: Może i tak, ja robię w data engineeringu i tutaj i tak Python to lingua franca, ale z moich obserwacji na programistyczne pozycje to w Pythonie/JS jest też największy ścisk i warto rozważyć w takiej sytuacji jednak naukę czegoś innego, trudniejszego jak już się wyrobiło podstawy w Pythonie
@ElMatadore: No ale nikt tego nie robi. Tendencja jest wręcz odwrotna. Kiedyś pracowałem w firmie z prawdziwymi mikroserwisami napisanymi w różnych językach. Python/Java/C/C# a nawet Go. Dyrektor techniczny stwierdził, że taniej będzie wszystko przepisać na pythona bo python jest łatwy i i przez to zamiast zatrudniać charpowców i pythonistów lepiej zatrudniać samych pythonowców (którzy też są gorzej opłacani - senior pythona i javy to jest od 5-10k różnicy) bo będzie można
@janciopan: a to "u mnie" jest podobnie, Java/Scala są generalnie lepsze, ale znacznie łatwiej ogarnąć team znający tylko Pythona/SQLa niż ludzi od Scali, a i tak prawie wszystkie frameworki do data processingu mają wystawione API choć wszystko stoi na JVM przy których różnica w performance jest właściwie niezauważalna
@ElMatadore: I dlatego też jakość oprogramowania spada i to jest fakt. Miał o tym wykład zresztą Blow. Mamy super szybkie komputery ale co z tego jak moc jest zjadana przez gówniane oprogramowanie. Co chwilę coś się wywala, są blędy. Wszyscy jesteśmy do tego przyzwyczajeni ale to jest porażka.

Nawet na wykop wystarczy popatrzeć - tu nie działaja podstawowe rzeczy. Starszy wykop może był brzydszy ale funkcjonalnie lepiej działał.
@ElMatadore: Nawet po procesach widać - odpalasz aplikację, a tam w tle chodzi przeglądarka bo okazuje się, że to jest napisane w elektronopodobnym oprogramowaniu, do chodzi jakiś dziwny deamon/notifier który jest kolejnym programem który nie za dobrze integruje się z systemem. Aplikacja sama w sobie zużywa 200 mb ramu, ale środowisko w którym ta aplikacja musi działać zjada 1 gb ramu.

Ktoś powie ale to przecież przez to , że można
@janciopan: True. Iście zadziwiający był to pomysł, aby napisać edytor programistyczny (w zasadzie pełnoprawne IDE) w JavaScript - VSCode. Choć uczciwie trzeba przyznać, że wydajność VSCode nie jest taka zła na tle innych IDE napisanych w Javie czy C++ (IntelliJ, Visual Studio)
@janciopan: Zabawne jest to, że piszesz o kucach z pogardą będąc właśnie definicją takiego typowego kuca z tej sekty IT, który przepierdział zaledwie 5 lat w zawodzie i już pozjadał wszelkie rozumy. Potem trafia się na takiego fanatyka prawdziwego programowania i człowiekowi odechciewa się pracy z takimi dzikusami.
vscode to żółw w porównaniu do IntelliJ idea, a do tego ma fatalną ergonomię.


@Krolik: Ergonomia to subiektywna kwestia. Z mojego doświadczenia wydajność obu tych IDE jest zbliżona w projektach do, powiedzmy, średniej wielkości (VSCode C++, Intellij Java). Natomiast wydajność IntelliJ w bardzo dużym projekcie Java jest... co najwyżej akceptowalna, pod warunkiem że masz co najmniej 16 wątkowy procesor.
@gacek_w: I tak i nie bo VSCode bardziej jest jednak edytorem niż IDE bez pluginów juk sublime a IntelliJ i podobne to jednak straszne kobyły z milionem funkcji. No ale też prawda, że programy w javie napisane też nigdy wydajnością nie grzeszyły.

Zasada jest prosta. Im masz wydajniejszy sprzęt tym oprogramowanie będzie mniej wydajne bo może być. Bo taniej jest napisać coś szybko niż napisać szybki i dobry soft.

Tak samo
I zgadzam się z Blowem też że jeśli ludzie nie będą znali fundamentów (nie mówię tylko IT) a uczyli się głównie abstrakcji to może dojść do takiej sytuacji, że ludzie zapomną jak coś się robiło i po prostu zaliczymy regresję. Będziemy musieli odkrywać rzeczy na nowo.