Article View: pl.comp.programming
Article #216674Re: Czemu Python jest jaki jest?
From: J-23
Date: Thu, 02 Jan 2020 00:42
Date: Thu, 02 Jan 2020 00:42
97 lines
6532 bytes
6532 bytes
W dniu 20.12.2019 o 03:26, M.M. pisze: > W dzisiejszych czasach z jednej strony mamy tak zawiły, rozbudowany i zależny > od platformy język programowania jak C++, z drugiej strony mamy (chyba?) > totalne przeciwieństwo tego języka, mianowicie język Python. C++ powstał po co innego a Python po co innego. Wiem że w Pythonie da się napisać nawet aplikacje okienkową i będzie to działać tylko czy to jest dobry pomysł, albo inaczej widziałeś w Pythonie aplikację tak rozbudowaną jak w jeżykach kompilowanych? Ja nie widziałem i raczej nie zobaczę:) Język skryptowy z językiem kompilowanym takie zestawienie nie ma sensu bo one powstały zupełnie do odmiennych rzeczy i pomimo tego że tak jak wspomniałem w Pythonie da się robić nawet aplikacje okienkowe tego robić się nie powinno Tak jak teraz jest moda przenoszenia większości aplikacji do Weba to tak naprawdę żaden duży system np ERP nie będzie tak samo szybki jak ten napisany w języku kompilowanym a WEB w tych aplikacjach pozostaje dodatkiem bo posiada uboższe funkcje jak aplikacja kompilowana. Znam kilka przykładów gdzie duże aplikacje zostały przeniesione na języki skryptowe i na WEB ale chodzi to dużo wolniej niż aplikacja w języku kompilowanym Rozumiem że > było zapotrzebowanie na łatwy język programowania z przejrzystymi > bibliotekami. Zastanawia mnie tylko dlaczego nie stworzono łatwego języka > programowania, który by miał opcję ręcznego zarządzania pamięcią, Co masz na myśli pisząc "Ręczne zarządzanie pamięcią"? Rozwiń... bo jeżeli masz na myśli alokowanie i zwalnianie pamięci to m.in zrobisz w pascalu. Ma to swoje wady i zalety ale tak zwany "Garbage collection", który jest implementowany w wielu językach ma więcej zalet niż wad byłby > kompilowany do ultra-wydajnego kodu maszynowego, no i który miałby składnię > wzorowaną na C++, Javie, C# i z biblioteką standardową wzorowaną na QT? Chociaż byś napisał ultra wydajny kompilator który buduje taki kod maszynowy o jakim piszesz on w 95% albo i jeszcze więcej nie osiągnie takiego wydajnego kodu jaki ty sobie zakładasz. Powód? Człowiek on jest najsłabszym ogniwem bo to on piszę kod który jest na tyle niedoskonały by robić narzuty na wydajności. Jednocześnie ten sam kod pozwala się kompilować i działać tak jak jego twórca sobie zakładał. Ale to tylko jeden z aspektów pisania wydajnego kodu. Po drugiej stronie stoi mnogość urządzeń na którym dany kod w postaci oprogramowania ma pracować. Doskonałym przykładem tutaj jest firma Apple która przeżywa rózne momenty w swoim istnieniu ale jest znana z tego że ich oprogramowanie działa dużo wydajniej niż odpowiedniki czy pierwowzory (jak kto woli) Microsoftu. Powód? Znany chyba wszystkim ich oprogramowanie działa na wąskiej gamie sprzętu, a to pozwala je zoptymalizować pod względem wydajności. Niejednokrotnie ten sam kod ten, sam kompilator a różne platformy może się zdarzyć że będzie zachowywał się zupełnie inaczej na 2 różnych platformach > Nie wierzę, żeby pisanie w języku javo-podobnym byłoby takie trudne do > opanowania, albo proces tworzenia oprogramowania byłby wolniejszy nią w Pythonie. Szybkość pisania oprogramowania w dzisiejszych czasach w bardzo małyn stopniu zależy od samego języka programowania. (No chyba że się ktoś uczy danego języka to wtedy ma to znaczenie) Obecnie szybkość pisania danego oprogramowania zależy od ilości bibliotek które posiada dany język stąd tak popularne są dziś Java/JavaScript/Python/Ruby itd Oczywiście każdy z tych języków pod względem wydajności jest różny. By to zobrazować powrócę na chwilę do Pascala który to jest przez wielu nazywanym archaicznym językiem i pod względem liczby firm które tworzą w tym języku nowe rzeczy (Są takie :)) jest np stosunkowo mało chociaż kod maszynowy pascala jest pod względem szybkości na poziomie języka C (można znaleźć w sieci materiały to potwierdzające) Jednak C jest bardziej popularny niż Pascal i większości szybciej w nim napiszemy jakieś zaawansowane oprogramowanie szybciej niż w Pascalu bo mamy na starcie większą gamę bibliotek dostępnych do C niż do Pascala > Jak ktoś nie chce się babrać w typowanie zmiennych, to język programowania > może mieć wbudowany typ variant, a do klas dodatkowe słowo kluczowe dynamic - > klasa z takim słowem kluczowym mogłaby mieć dynamicznie dodawane pola i > metody - działałoby to też wolno, ale byłoby jako opcja, a nie przymus. Podsumowując obecnie mamy dostępnych tyle języków że jest w czym wybrać i przymusu nie ma :) by coś stosować albo nie. Moim zdaniem pisanie kolejnego języka do czegoś co już istnieje mija się z celem. Brak jest moim zdaniem dobrych środowisk programistycznych do wykonania konkretnego typu zadań. Do wielu języków znajdziemy po 2 - 3 środowiska programistyczne np tak jest do C/C++, Javy ich środowiska są bardzo dobrę ale np do większości języków tzw. skryptowych nie ma dedykowanych środowisk praktycznie wcale te co są, są w większości pluginami do danego języka skryptowego gdzie po zainstalowaniu lub po długiej konfiguracji jakaś wtyczka staje się niekompatybilna i trafia cię szlag. Pozdrawiam J-23
Technical Details
Message-ID:
<5e0d3c83$0$17350$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.roellig-ltd.de!open-news-network.org!border2.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<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!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!news.roellig-ltd.de!open-news-network.org!border2.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Czemu Python jest jaki jest? Newsgroups: pl.comp.programming References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> From: J-23 <Baczeklu@poczta.fm> Date: Thu, 2 Jan 2020 01:42:42 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> Lines: 98 Message-ID: <5e0d3c83$0$17350$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 188.146.100.11 X-Trace: 1577925763 unt-rea-a-01.news.neostrada.pl 17350 188.146.100.11:32485 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit