Article View: pl.comp.programming
Article #216678Re: Czemu Python jest jaki jest?
From: M.M.
Date: Fri, 03 Jan 2020 03:40
Date: Fri, 03 Jan 2020 03:40
63 lines
3979 bytes
3979 bytes
On Friday, January 3, 2020 at 1:18:08 AM UTC+1, slawek wrote:
> "M.M." <m@g.c> Wrote in message:
> > Podobno główną zaletą Pythona jestto, że po zaledwie małym kursie można szybko pisać duże aplikacje. W C++bez solidnego kursu i praktyki programować się zdecydowanie nie da. Czasami tu iówdzie można przeczytać, że Python...
>
>
> 1. IMO Python jest niezbyt dobry dla programów mających ponad
> 100000 LOC (nie licząc bibliotek i cudzych modułów).
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?
> Idealnie
> program w Pythonie to jakieś 2000 do 5000 LOC robiące to do czego
> w C++ potrzeba byłoby jakiegoś giganta na pół miliona linii kodu.
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.
> Oczywiście całkiem konkretne rzeczy da się zrobić w np. 50
> linijkach lub mniej. Przykładowo: zassać dane z bazy, zrobić
> obliczenia i narysować publish-ready wykresy.
W C++ też to można zrobić w 50 linijkach, kwestia bibliotek.
> 2. W C++ da się programować na poziomie C. Tak m.i. programują
> mikrokontrolery elektronicy - udając że nie ma OOP, STL, new i
> nawet const.
Osobiście programowałem w C++ na mikrokontrolery. Dzięki szablonom
miałem prawie od kopa 3 wersje swojej biblioteki, wielkość kodu w
zależności od wersji biblioteki różniła się wielokrotnie, mogłem
wybrać najmniejszy kod. W C bym musiał nieźle się nagimnastykować żeby
uzyskać taki efekt.
> 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; }
> W C++ też dałoby się to /jakoś/ zrobić. Tyle że w Pythonie taki
> poziom abstrakcji jest czymś zupełnie normalnym.
Hmmmm to prawda.
> 4. Python ma parę PASKUDNYCH wad.
Ja nie wiem.
Pozdrawiam
Technical Details
Message-ID:
<46ee752c-74fb-45a1-ae3f-60ba7a92f7e2@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g89no7523202qtd.0!news-out.google.com!w29ni547qtc.0!nntp.google.com!g89no7523197qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> <qukale$3o1$1@news.icm.edu.pl> <f2052965-09a7-41a1-bc49-e806997cc2c9@googlegroups.com> <qum17u$f6j$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:2751:: with SMTP id n78mr71654116qkn.177.1578022834258; Thu, 02 Jan 2020 19:40:34 -0800 (PST) X-Received: by 2002:ac8:134d:: with SMTP id f13mr60562932qtj.318.1578022834071; Thu, 02 Jan 2020 19:40:34 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g89no7523202qtd.0!news-out.google.com!w29ni547qtc.0!nntp.google.com!g89no7523197qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Thu, 2 Jan 2020 19:40:33 -0800 (PST) In-Reply-To: <qum17u$f6j$1@news.icm.edu.pl> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=159.205.34.176; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 159.205.34.176 References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> <qukale$3o1$1@news.icm.edu.pl> <f2052965-09a7-41a1-bc49-e806997cc2c9@googlegroups.com> <qum17u$f6j$1@news.icm.edu.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <46ee752c-74fb-45a1-ae3f-60ba7a92f7e2@googlegroups.com> Subject: Re: Czemu Python jest jaki jest? From: "M.M." <mmarszik@gmail.com> Injection-Date: Fri, 03 Jan 2020 03:40:34 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit