W tym Data Science siedzą ludzie, którzy nie są stricte programistami (w sensie nie drążą tego tematu jakoś specjalnie), a raczej analitykami czy matematykami. Preferują prosty język programowania, który nie wymaga umiejętności projektowania architektury kodu. W korpo-kobyłach o (czasami trochę niepotrzebnie) skomplikowanej architekturze (mnóstwo ściśle powiązanych ze sobą funkcjonalności) królują i nadal będą królować Java i C#.
Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.
Każdy język ma swoją niszę, znam takich co siedzą 25 lat w programowaniu i nie słyszeli o Pythonie (naprawdę ), oraz takich którzy nie widzieli C++ na oczy i też żyją. Co do prostoty języka to jest ona bardzo ułudna, proste przykłady wyglądają prosto bowiem brak jest boilerplate, potem zaczynają się schody jak w każdym poważniejszym i większym projekcie. A wypieranie następuje ale zazwyczaj w obrębie niszy danego języka np. Python wypiera Perla.
Ale z tym wypieraniem to też nie jest tak, jak się wydaje. Po prostu pewne języki jak Perl zostały stworzone do konkretnych zastosowań i są tam nadal używane, po prostu większości z nich się nie zauważa. Zaś tzw. big data jest teraz modne, więc nie tylko programiści sięgają po pewne rozwiązania i z konieczności zapoznają się z językami stosowanymi przy owym big data.
Poza tym pisanie o popularności języka w kontekście ilości projektów na Githubie jest mocno mylące, dopóki nie spojrzymy pod płaszczyk tych projektów i nie dowiemy się, że większość z nich to proste programiki, a dużych projektów w Pythonie nie jest aż tak wiele.
W Pythonie dla mnie jest jedna nie fajna rzecz.
Struktura programu wynika ze stosowania wcięć.
Popularność powoduje, że prawie wszystko ma bindingi do Pythona i można łaczyć ze sobą najróżniejsze projekty i rozwiązania.
Normalnie nie czepiam się błędów językowych, ale ilość błędów gramatycznych, interpunkcyjnych , składniowych i stylistycznych w tym 'felietonie' jest tak duża, że po prostu ciężko się go czyta. Nie potrafię skupić się na treści, bo niemal co zdanie zastanawiam się: 'Co autor miał na myśli'. Poprawcie to proszę.
niezłym szokiem jest przeczytać najpierw zen of python a później spojrzeć w kod, jego składnia jest dokładnym zaprzeczeniem manifestu
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
W tym Data Science siedzą ludzie, którzy nie są stricte programistami (w sensie nie drążą tego tematu jakoś specjalnie), a raczej analitykami czy matematykami. Preferują prosty język programowania, który nie wymaga umiejętności projektowania architektury kodu. W korpo-kobyłach o (czasami trochę niepotrzebnie) skomplikowanej architekturze (mnóstwo ściśle powiązanych ze sobą funkcjonalności) królują i nadal będą królować Java i C#.
Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.
no py jest tak nieprzyjazny że w żadnym razie bym go nie polecił nikomu, kto chce po prostu zrobić swoje i zapomnieć
niezłym szokiem jest przeczytać najpierw zen of python a później spojrzeć w kod, jego składnia jest dokładnym zaprzeczeniem manifestu
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
niezłym szokiem jest przeczytać najpierw zen of python a później spojrzeć w kod, jego składnia jest dokładnym zaprzeczeniem manifestu
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
taith @ 2020.03.02 16:35
zakius @ 2020.02.29 14:39
niezłym szokiem jest przeczytać najpierw zen of python a później spojrzeć w kod, jego składnia jest dokładnym zaprzeczeniem manifestu
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
taith @ 2020.03.02 16:35
(...)
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
jak składnia jest tak idiotyczna jak w py to ile byś się nie starał nadal wyjdzie syf, to po prostu nie jest język do zastosowań praktycznych a ezoteryczna zabawka
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
jak składnia jest tak idiotyczna jak w py to ile byś się nie starał nadal wyjdzie syf, to po prostu nie jest język do zastosowań praktycznych a ezoteryczna zabawka
W składni Pythona3 nie ma nic idiotycznego XD. Dobrze rozplanowany i napisany kod daje się rozczytać nawet w kiepskich językach.
Ale z tym wypieraniem to też nie jest tak, jak się wydaje. Po prostu pewne języki jak Perl zostały stworzone do konkretnych zastosowań i są tam nadal używane, po prostu większości z nich się nie zauważa. Zaś tzw. big data jest teraz modne, więc nie tylko programiści sięgają po pewne rozwiązania i z konieczności zapoznają się z językami stosowanymi przy owym big data.
Poza tym pisanie o popularności języka w kontekście ilości projektów na Githubie jest mocno mylące, dopóki nie spojrzymy pod płaszczyk tych projektów i nie dowiemy się, że większość z nich to proste programiki, a dużych projektów w Pythonie nie jest aż tak wiele.
To że python jest starym językiem, polemizowałbym. Zgodzę się jedynie z tym, że python nie jest językiem raczkującym. Czy python jest jedynym wyjątkiem że został stworzony samodzielnie? Otóż nie. Wcześniejszym takim przypadkiem jest właśnie Perl, ale też nie zapominajmy o języku Pascal stworzonym w celach edukacyjnych przez Wirth-a co nie przeszkodziło, aby Borland stworzył najpierw implementację Turbo Pascal, a późnej Borland Pascal, obydwie bardzo udane, pozbawione wad pierwotnej wersji. Bardzo zbliżony składniowo jest język Modula / Modula2, szczególnie ze wsparciem dla wielowątkowości. Po prostu mega, i też stworzony w zasadzie jednoosobowo.
Co do Perla czy Pythona, obydwa zostały stworzone do konkretnych celów. Perl by łatwo programować przetwarzanie tekstów, bez mozolnego mieszania sh/bash/csh i tak dalej z grep awk tr i nie wiem czego jeszcze ale ten język wyewoluował do grupy języków ogólnego przeznaczenia. jednak jego składnia jest dosyć zaskakująca. Dlatego też powstał Python, aby na początek skryptowanie stało się o wiele łatwiejsze. Programuje w obydwu.
Mało kto pamięta, ale swego czasu powstał projekt Phoenix, który miał połączyć łatwość programowania w Python, z bogactwem bibliotek Perl. Jednak z czasem projekt upadł. Python doczekał się wersji 3 sporo korzystając z Phoenixa, za to Perl na bazie Phoenixa doczekał się wersji 6 która od wieków jest w fazie ..... beta. Tutaj chodziło o to aby dla maszyny wirtualnej był produkowany wspólny kod przez perl i python. Zresztą podobna sytuacja jest w Java i Jython, dwa języki jedna maszynka wirtualna
Zasadniczo warto przejść ze skryptowania w shellach i w perlu na pythona. daje o wiele większe możliwości, i jest rozwijany. jednocześnie nie jest pełen pułapek jak to co w tym akapicie wymieniłem.
Na tym zakończę i pozdrawiam wszystkich którzy się mierzą nie tylko ideologicznie ale i praktycznie z pythonem
python potrafi mieć momentami bardzo karykaturalną składnie
ale jego siła polega na łatwości jego nauki i produktywności (nie mylić z wydajnością)
paradoksem pythona jest fakt że by osiągnąć wysoką wydajność trzeba używać bibliotek napisanych w jeżykach natywnych jak C/C++ czy FORTRAN ...
np. w chemii obliczeniowej python jest fenomenalnym hitem ...
Python jest to język easy to learn, hard to master. Natomiast jego wydajność pozostawia wiele do życzenia - u mnie w firmie zdecydowano się przepisać pewne rzeczy do golanga
python potrafi mieć momentami bardzo karykaturalną składnie
ale jego siła polega na łatwości jego nauki i produktywności (nie mylić z wydajnością)
paradoksem pythona jest fakt że by osiągnąć wysoką wydajność trzeba używać bibliotek napisanych w jeżykach natywnych jak C/C++ czy FORTRAN ...
np. w chemii obliczeniowej python jest fenomenalnym hitem ...
no właśnie. pythona należy bardziej traktować jako klej do bibliotek, jako coś co czymś prostym dla programisty spaja wydajne biblioteki, coś co jednocześnie izoluje kod bibliotek od reszty, aby programista biblioteki zajął się jedynie samą biblioteką, bez zbytniego wnikania w interakcje z resztą otoczenia.
gdyby jednak ktoś polegał na pythonie jako takim, to jest przecież ..... jython, do zastosowania pod pewnymi rygorami. działa to wtedy pod JVM (tak tak, pod maszynką wirtualną javy)
Nie programuję bo to nie moja bajka, ale pythona miałem na studiach. Do prostych rzeczy faktycznie jest ok i mi się podobał, ale jak trzeba było zrobić większy projekt to była lipa. Ciężko to było ogarnąć, wsparcia jakiegokolwiek brak, jedynie społeczność, a ta... ehh, jak zawsze zresztą skrajnie bezużyteczna i kogoś kto się uczy od razu mieszają z błotem. Tacy trochę Linuxiarze bo oni identycznie reagują na jakiekolwiek pytanie: Nie wiesz to wypi****j na wingroze bo nie ogarniesz.
Poradników i przykładów również za wiele nie było.
Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.
Perla.
Ale z tym wypieraniem to też nie jest tak, jak się wydaje. Po prostu pewne języki jak Perl zostały stworzone do konkretnych zastosowań i są tam nadal używane, po prostu większości z nich się nie zauważa. Zaś tzw. big data jest teraz modne, więc nie tylko programiści sięgają po pewne rozwiązania i z konieczności zapoznają się z językami stosowanymi przy owym big data.
Poza tym pisanie o popularności języka w kontekście ilości projektów na Githubie jest mocno mylące, dopóki nie spojrzymy pod płaszczyk tych projektów i nie dowiemy się, że większość z nich to proste programiki, a dużych projektów w Pythonie nie jest aż tak wiele.
Struktura programu wynika ze stosowania wcięć.
Popularność powoduje, że prawie wszystko ma bindingi do Pythona i można łaczyć ze sobą najróżniejsze projekty i rozwiązania.
Kiedyś można było usłyszeć 'C to przestarzały język, ucz się Symbiana'
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
Z tym wypieraniem jednych języków przez drugie to trochę tak jakby powiedzieć, że skoro liczba rowerzystów wzrasta to dni samochodów są już policzone i niedługo samochodami będą jeździć tylko dziadki.
no py jest tak nieprzyjazny że w żadnym razie bym go nie polecił nikomu, kto chce po prostu zrobić swoje i zapomnieć
afaik najszybszy interpreter pythona jest napisany w pythonie (ale ostatecznie jego trzeba odpalić w wariancie na c)
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
ale najgorsze, że sporo niezłego softu w nim powstaje
ale że tylko niezłego to można by jeszcze go poprawić, ale paskudny język to uniemożliwia
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
To jest język do wykonania roboty, szybko i bez finezji.
Jeśli potrzeba 100x więcej mocy obliczeniowej co z tego jak całkowity czas od potrzeby do wyniku jest zdecydowanie krótszy niż bieganie do specjalisty co zjadł zęby w C++ I instruowanie go co autor miał na myśli.
A tak skleja się na potrzebę parę skryptów, dopisuje swoje kilka linii i wio, wraca z przerwy śniadaniowej, ma wyniki i leci dalej, a jednorazowy skrypt ląduje w koszu.
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
jak składnia jest tak idiotyczna jak w py to ile byś się nie starał nadal wyjdzie syf, to po prostu nie jest język do zastosowań praktycznych a ezoteryczna zabawka
Brzydki kod to wina programisty. Jak ktoś nie ma styłu głowy zasad tworzenia oprogramowania, umiejętności dobierania odpowiednich wzorców projektowych do problemu to w każdym języku kod będzie paskudny.
Druga sprawa że, dobrze pisany kod nie tylko zwiększa czytelność ale i produktywność.
jak składnia jest tak idiotyczna jak w py to ile byś się nie starał nadal wyjdzie syf, to po prostu nie jest język do zastosowań praktycznych a ezoteryczna zabawka
W składni Pythona3 nie ma nic idiotycznego XD. Dobrze rozplanowany i napisany kod daje się rozczytać nawet w kiepskich językach.
Perla.
Ale z tym wypieraniem to też nie jest tak, jak się wydaje. Po prostu pewne języki jak Perl zostały stworzone do konkretnych zastosowań i są tam nadal używane, po prostu większości z nich się nie zauważa. Zaś tzw. big data jest teraz modne, więc nie tylko programiści sięgają po pewne rozwiązania i z konieczności zapoznają się z językami stosowanymi przy owym big data.
Poza tym pisanie o popularności języka w kontekście ilości projektów na Githubie jest mocno mylące, dopóki nie spojrzymy pod płaszczyk tych projektów i nie dowiemy się, że większość z nich to proste programiki, a dużych projektów w Pythonie nie jest aż tak wiele.
To że python jest starym językiem, polemizowałbym. Zgodzę się jedynie z tym, że python nie jest językiem raczkującym. Czy python jest jedynym wyjątkiem że został stworzony samodzielnie? Otóż nie. Wcześniejszym takim przypadkiem jest właśnie Perl, ale też nie zapominajmy o języku Pascal stworzonym w celach edukacyjnych przez Wirth-a co nie przeszkodziło, aby Borland stworzył najpierw implementację Turbo Pascal, a późnej Borland Pascal, obydwie bardzo udane, pozbawione wad pierwotnej wersji. Bardzo zbliżony składniowo jest język Modula / Modula2, szczególnie ze wsparciem dla wielowątkowości. Po prostu mega, i też stworzony w zasadzie jednoosobowo.
Co do Perla czy Pythona, obydwa zostały stworzone do konkretnych celów. Perl by łatwo programować przetwarzanie tekstów, bez mozolnego mieszania sh/bash/csh i tak dalej z grep awk tr i nie wiem czego jeszcze
Mało kto pamięta, ale swego czasu powstał projekt Phoenix, który miał połączyć łatwość programowania w Python, z bogactwem bibliotek Perl. Jednak z czasem projekt upadł. Python doczekał się wersji 3 sporo korzystając z Phoenixa, za to Perl na bazie Phoenixa doczekał się wersji 6 która od wieków jest w fazie ..... beta. Tutaj chodziło o to aby dla maszyny wirtualnej był produkowany wspólny kod przez perl i python. Zresztą podobna sytuacja jest w Java i Jython, dwa języki jedna maszynka wirtualna
Zasadniczo warto przejść ze skryptowania w shellach i w perlu na pythona. daje o wiele większe możliwości, i jest rozwijany. jednocześnie nie jest pełen pułapek jak to co w tym akapicie wymieniłem.
Na tym zakończę i pozdrawiam wszystkich którzy się mierzą nie tylko ideologicznie ale i praktycznie z pythonem
ale jego siła polega na łatwości jego nauki i produktywności (nie mylić z wydajnością)
paradoksem pythona jest fakt że by osiągnąć wysoką wydajność trzeba używać bibliotek napisanych w jeżykach natywnych jak C/C++ czy FORTRAN ...
np. w chemii obliczeniowej python jest fenomenalnym hitem ...
ale jego siła polega na łatwości jego nauki i produktywności (nie mylić z wydajnością)
paradoksem pythona jest fakt że by osiągnąć wysoką wydajność trzeba używać bibliotek napisanych w jeżykach natywnych jak C/C++ czy FORTRAN ...
np. w chemii obliczeniowej python jest fenomenalnym hitem ...
no właśnie. pythona należy bardziej traktować jako klej do bibliotek, jako coś co czymś prostym dla programisty spaja wydajne biblioteki, coś co jednocześnie izoluje kod bibliotek od reszty, aby programista biblioteki zajął się jedynie samą biblioteką, bez zbytniego wnikania w interakcje z resztą otoczenia.
gdyby jednak ktoś polegał na pythonie jako takim, to jest przecież ..... jython, do zastosowania pod pewnymi rygorami. działa to wtedy pod JVM (tak tak, pod maszynką wirtualną javy)
Poradników i przykładów również za wiele nie było.