🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216719

Re:Czemu Python jest jaki jest?

#216719
From: slawek
Date: Fri, 03 Jan 2020 09:04
53 lines
2947 bytes
"M.M." <m@g.c> Wrote in message:

>Często czytałem że większe programy pisane w językach z dynamicznym typowaniem szybko stają się trudne w zarządzaniu, nawet powtarzałem tę opinię. Ale nie wiem ile w tym prawdy. Jakie jest uzasadnienie?
Dlaczego w tym języku można efektywnie tworzyć oprogramowanie pod
 warunkiem że nie przekracza  5tys linii, w tym do 100tys, a w
 jeszcze innym do milionów?

Ja szacuję to tak, że 100 tysięcy LOC to jest to robota dla np.
 10, może 30 programistów. Czyli trzeba mieć 10 programistów
 doskonale znających Pythona, trzymających jeden standard
 kodowania, zdyscyplinowanych i nie przeszkadzających sobie
 wzajemnie. Ok. Tyle że Python nie ma narzędzi zmuszających do
 zachowania porządku. Nie "pomagających" - ale właśnie
 zmuszających.

Czy na pewno nadal rozmawiamy o języku programowania czy już o
 bibliotekach? Pół miliona to 100 razy więcej niż 5tys. W C++ też
 pisze się efektywnie, ale trzeba mieć odpowiednie
 biblioteki.
W C++ też to można zrobić w 50 linijkach, kwestia bibliotek.

Owszem. Ale dla C++ nie ma PyPI - repozytorium ogólnie dostępnych
 bibliotek z sensowną licencją. Prosty przykład - w Pythonie jest
 matplotlib - a w C++ jest... No właśnie, nie ma czegoś
 takiego.

3. Siłą Pythona jest abstrakcja - patrz niżej:
def commute(a, b): return a*b - b*a

Dowcip w tym ze definicja commute jest zupełnie ogólna - mogą tam
 być zwkłe int, mogą być macierze, mogą być operatory różniczkowe.


Niby w C++ też, ale zapis jest z lekka rozwlekły:
template< class T >
void compute(T &a, T &b) { return a*b - b*a; }

Niezupełnie. Powinno być:

template<class Ta, class Tb, class T>
T compute(Ta a, Tb b) { return a*b - b*a; }

Ups, klasa T jest nieustalona

4. Python ma parę PASKUDNYCH wad.

a. Brak odporności na inżynierię odwrotną.
b. Brak sensownej wielowątkowości. Patrz GIL.
c. Ogromny rozmiar exe - dla hello world to około 30 mega.
d. Czasami 1000 wolniej działa niż to samo w C++.
e. Totalnie olane kwestie bezpieczeństwa.
f. Problematyczna implementacja niektórych operacji wbudowanych w
 sam język.
Technical Details
Message-ID: <qun02d$i3d$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: slawek <x.y@org.org>
Newsgroups: pl.comp.programming
Subject: Re:Czemu Python jest jaki jest?
Date: Fri, 3 Jan 2020 10:04:11 +0100 (GMT+01:00)
Organization: news.icm.edu.pl
Lines: 53
Message-ID: <qun02d$i3d$1@news.icm.edu.pl>
References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com>
NNTP-Posting-Host: eim157.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1578042253 18541 83.15.68.157 (3 Jan 2020 09:04:13 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Fri, 3 Jan 2020 09:04:13 +0000 (UTC)
X-Newsreader: PiaoHong.Usenet.Client.Free:1.65
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit