-
Data: 2020-01-02 01:42:42
Temat: Re: Czemu Python jest jaki jest?
Od: J-23 <B...@p...fm> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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
Następne wpisy z tego wątku
- 02.01.20 13:15 Roman Tyczka
- 02.01.20 20:30 J-23
- 02.01.20 20:45 J-23
- 02.01.20 21:51 M.M.
- 02.01.20 21:58 g...@g...com
- 03.01.20 02:02 J-23
- 03.01.20 04:40 M.M.
- 03.01.20 09:15 Roman Tyczka
- 03.01.20 13:04 g...@g...com
- 03.01.20 18:32 g...@g...com
- 03.01.20 20:32 g...@g...com
- 03.01.20 20:47 J-23
- 03.01.20 20:56 J-23
- 03.01.20 21:27 g...@g...com
- 03.01.20 21:39 g...@g...com
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-03-28 A gdyby to był elektryk?
- 2025-03-28 Współczesny falomierz
- 2025-03-28 Rzeszów => WEBCON Developer <=
- 2025-03-28 Szczecin => Specjalista ds. public relations <=
- 2025-03-28 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-03-28 Warszawa => MENA New Business Manager <=
- 2025-03-28 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-03-28 Białystok => Generative AI Engineer <=
- 2025-03-28 China-Kraków => Key Account Manager IT <=
- 2025-03-28 Warszawa => SQL Developer <=
- 2025-03-28 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-28 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-28 Warszawa => International Freight Forwarder <=
- 2025-03-28 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-03-28 Częstochowa => Manager ds. produktu <=