-
Data: 2020-01-02 21:58:33
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu czwartek, 2 stycznia 2020 20:30:52 UTC+1 użytkownik J-23 napisał:
> W dniu 02.01.2020 o 09:46, slawek pisze:
> > Jest wiele mitów:
> >
> > 1. "Python to język skryptowy" - mit - podział na języki skryptowe
> > i nie-skryptowe wymagałby zdefiniowania "skryptowości" - jak
> > dotąd nikomu nie udało się tego dobrze zrobić. Czy Lua to język
> > skryptowy? A Basic? Czym różni się semantycznie for z Javy, C++ i
> > AWK? A taki Postscript to jest jaki?!
>
> Skoro tak zadajesz pytanie to kompletnie albo nie wiesz co się dzieje w
> momencie kompilacji albo udajesz że nie wiesz - stawiam na to drugie :)
>
> https://pl.wikipedia.org/wiki/Kompilator
>
> Już prosta definicja z wiki (która jest uproszczona) pokazuje że zadanie
> pytania cytuje: "czym różni się for z javy, C++.." jest to nie właściwe
> pytanie. Bo odpowiedz jest bardzo prosta - sposobem wykonania tej
> instrukcji - efekt pozostaje taki sam w obu przypadkach ale sposób ich
> wykonania jest zupełnie różny. To właśnie dany sposób wykonania
> poszczególnych instrukcji sprawia że te instrukcje w danym języku będą
> wykonane szybciej inne wolniej... bardziej po chłopsku już się tego nie
> da chyba napisać :)
Bo i rozumowanie jest raczej "chłopskie".
> Podział na języki skryptowe i kompilowane jest raczej prosty. Bardziej
> skomplikowane jest rozróżnienie języka skryptowego i języka który działa
> na maszynie wirtualnej - tj Java .NET które są świetne ale potrzeba do
> nich środowiska uruchomieniowego.
A do których języków nie potrzeba środowiska uruchomieniowego?
"Podział" na "języki skryptowe i kompilowane" z logicznego punktu widzenia nie jest
podziałem dychotomicznym.
Kiedyś mówiło się o "językach kompilowanych i interpretowanych".
Ale to, czy dany język jest "kompilowany czy interpretowany", nie jest kwestia samego
języka, tylko narzędzi. (Np. istnieją interpretery języka C)
Określenie "język skryptowy" nie ma związku z tym, jaka jest technika implementacji.
Z definicji jest to "język służący do pisania skryptów"
(albo - bardziej pedantycznie: język, o którym myśli się jako o języku, w którym
pisze się skrypty).
I znów, to, czy język służy, czy nie służy do pisania skryptów, nie jest cechą samego
języka, tylko tego, w jaki sposób ktoś postanowi go użyć.
Prototypowe języki skryptowe to języki powłoki (np. bash albo DOSowe batche albo
skrypty w PowerShellu).
Są one "skryptowe", bo pełnią funkcję "end-user programmingu" - tzn. ich autorzy nie
muszą rozumieć szczegółów implementacji systemów, a wystarczy, że znają zasady
korzystania z tych systemów.
W dalszej kolejności mamy języki takie jak Perl czy AWK, które są uznawane za
skryptowe, bo są podobne do skryptowych.
Ponieważ zakres zastosowań Pythona pokrywa się z zakresem zastosowan Perla, a
niekiedy i języków powłoki, czasem i o nim mówi się, że jest "skryptowy".
Znam ludzi, którzy woleliby do tych samych celów użyć Haskella (który jest "mocno
kompilowany").
Swego rodzaju "opozycją" do języków skryptowych są języki systemowe - czyli takie,
które służą do pisania dużych, skomplikowanych systemów (czy raczej: o których się
myśli, że do tego służą).
Ale to nie jest twardy podział. Języki takie jak PHP czy JavaScript można w tym duchu
nazwać "webowymi", bo się ich używa do opracowywania stron (choć nic nie stoi na
przeszkodzie, by pisać w nich skrypty).
No, a PostScript jest oczywiście stosowy.
Następne wpisy z tego wątku
- 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
- 04.01.20 00:32 J-23
- 04.01.20 00:55 g...@g...com
- 04.01.20 01:23 g...@g...com
- 04.01.20 02:32 J-23
- 04.01.20 09:08 g...@g...com
Najnowsze wątki z tej grupy
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=