-
Data: 2020-01-04 00:55:38
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu sobota, 4 stycznia 2020 00:33:33 UTC+1 użytkownik J-23 napisał:
> >> Nie będę się tu rozpisywał bo to raczej większość piszących powinna
> >> wiedzieć jak działają takie środowiska w językach typu .NET, Java i o
> >> takie środowiska mi chodzi. Teraz czym się różni interpreter Pythona? I
> >> tutaj zaczynają się schody :) jest to do wytłumaczenia ale jest to dość
> >> zawiłe.
> >
> > I nie ma najmniejszego znaczenia.
> >
>
> Ma bo zarówno .Net i Java są kompilowane do kodu pośredniego (i to
> właśnie jest główna różnica od języków tzw skryptowych)
No dobrze. I Python też jest kompilowany do kodu pośredniego.
Zatem według Twojej definicji nie jest skryptowy?
> > Nie. To też nie.
> > Kod źródłowy UNIXa możesz studiować z dala od jakiegokolwiek komputera. I on nie
jest skryptem, tylko złożonym systemem.
> >
> Kod napisany w czymkolwiek (moze być nawet Notatnik) bez przepuszczenia
> go przez kompilator lub Interpreter jest co najwyżej kodem złożonego
> systemu niczym więcej (Kupa znaków)
Dokładnie.
A po przepuszczeniu kodu przez kompilator zamienia się w kupę znaków będącą wynikiem
pracy kompilatora.
Dopiero uruchomienie go spowoduje wygenerowanie procesu obliczeniowego.
> > Cron nie jest skryptem.
> Cron jest aplikacją (Interpretatorem) w postaci demona i to właśnie na
> podstawie skryptu który mu się poda on działa
Znów, interpreterem :)
> > Nie. Mówię właśnie o używaniu języka.
> Nie bierzesz różnic w działaniu poszczególnych języków a to właśnie te
> różnice sprawiają że jedne nazywamy skryptowymi a te drugie kompilowanymi
Piszesz tak, jakby skryptowość była czymś przeciwnym do "bycia kompilowanym".
A tymczasem nawet artykuł na Wikipedii, który podesłałeś, tak nie twierdzi.
W pewnym sensie można mówić o opozycji "kompilowania vs. interpretacji".
Ale to jakiś szczegół techniczny, który nie ma żadnego związku z samym językiem, a
jedynie z narzędziami wykonawczymi.
Przykładowo, pierwsze implementacje JavaScriptu to były interpretery.
Teraz przeglądarki mają swoje JIT-kompilatory, które generują kod maszynowy.
Mnie z punktu widzenia użytkownika języka (albo użytkownika programu) w ogóle to nie
obchodzi.
> >> Tak pokrótce o tym czy dany język jest skryptowy czy nie decyduję kilka
> >> czynników: (skrócę do trzech bardzo ogólnych)
> >> - sposób wykonania kodu
> >
> > Skąd ten pomysł?
>
> Interpreter języków skryptowych wykona kod który mu dostarczysz i to w
> chwili wykonania programu. Ponadto kod języków skryptowych pozostaje
> pisany tekstem bez zamiany na kod maszynowy
A co jeżeli przed wykonaniem programu najpierw go skompiluje i zapisze w jakimś swoim
cache'u i wykona wersę skompilowaną?
(Tak np. robi GUILE)
> >> - sposób dostarczenia kodu
> >
> > Czyli jak przekazuję kod źrodłowy programu w C, to język C staje się skryptowy?
> >
> Jaki przekaz masz konkretnie na myśli? Wynikiem wykonania kodu w C jest
> plik binarny tyle i tylko tyle.
>
> Ten plik binarny żyje bez kodu. Jego kod jest zamieniony w postać
> binarną i jest wykonywany zupełnie w inny sposób niż kod tzw języków
> skryptowych odbywa się to w zupełnie innych warunkach
No to weźmy sobie takie coś:
https://gitlab.com/zsaleeba/picoc
To jest interpreter języka C.
I teraz, czy istnienie tego interpretera sprawia, że C staje się językiem skryptowym?
> >> - wyizolowanego środowiska uruchomieniowego uniezależnionego od
> >> systemu/sprzętu
> >
> > Czyli C# jest skryptowy?
> >
> C# jest kompilowany do kodu pośredniego. Java podobnie a to sprawia że
> wykonuje się w innych warunkach jak kod języka skryptowego i kompilatora
> pliku binarnego
>
> Są pewne podobieństwa np wyizolowane środowiska uruchomieniowe ale
> zasady działania są odmienne
>
> >>> 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".
> >>
> >> Błędne założenie ale już tu tyle napisałem że chyba da się zauważyć -
> >> wspólną cechy dla języków skryptowych (interpretowanych) - zresztą to
> >> jest do znalezienia w sieci. Wiki nie jest wyrocznią tutaj ale ma to
> >> dość obrazowo przedstawione.
> >>
> >> https://pl.wikipedia.org/wiki/J%C4%99zyk_interpretow
any
> >> https://pl.wikipedia.org/wiki/J%C4%99zyk_skryptowy
> >
> > Proszę. Już sam fakt, że istnieją dwa odrębne hasła dla "języków skryptowych" i
"języków kompilowanych" świadczy poniekąd o tym, że to nie są synonimy.
> >
> Dokładnie tak ja to twierdze od samego początku
Mnie się zdaje, że utożsamiasz ze sobą te dwie rzeczy.
Tzn. rozróżniasz na "języki skryptowe" i "języki kompilowane"
[podczas gdy nic nie stoi na przeszkodzie, żeby języki skryptowe były kompilowane]
> > Zresztą Wikipedia potwierdza to, co napisałem:
> >
> > "Teoretycznie każdy język może być kompilowany i interpretowany, dlatego
rozróżnienie to polega na najczęściej stosowanych rozwiązaniach, a nie zależy od cech
samego języka"
> >
> > Zupełnie tak jak pisałem wcześniej! "Nie jest cechą języka!"
> >
> A to nie złapałeś że autorowi całego wątku nie chodzi i samą składnie
> języka?
>
> Jemu chodzi przecież o to dlaczego Python nadaje się do "pewnych" rzeczy
> a do innych nie
Tematem naszej rozmowy jest to, co to znaczy "język skryptowy", a nie to, o co chodzi
autorowi całego wątku. W każdym razie ja się skupiłem wyłącznie na tej kwestii.
> > a w drugim artykule:
> >
> > "Języki skryptowe są to najczęściej języki interpretowane"
> >
> > Zwracam uwagę, że "najczęściej" nie oznacza "zawsze" ani "z konieczności".
> A wiesz co to znaczy język jest interpretowany?
>
> Widzę po poniższej odpowiedzi ze skrypt według ciebie jest "sposobem
> używania" niestety ale to nie jest tak
> >
> >>> 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żą).
> >>>
> >> Dobrze że dodałeś nawias bo aż się chciało napisać co oznacza - tzw.
> >> "języki systemowe" ale już mówisz o zastosowaniu języka a to zupełnie
> >> inna para butów
> >>> 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).
> >>>
> >> Mówisz o sposobie zastosowania nie zmienia to faktu że są to języki
> >> skryptowe
> >
> > Nie. "Skryptowość" nie jest cechą języka, tylko sposobu używania go.
> Nie sposobem używania a sposobem wykonania się kodu tzw skryptu przez
> zaimplementowany interpreter który go wykonuje.
>
> Nigdzie nie napisałem że jest to cecha języka jest to cecha
> interpretatora danego języka.
Tzn. skryptowość jest "cechą interpretera języka"?
Czyli czy wg Ciebie jest tak:
1. języki można podzielić na kompilowane i interpretowane
2. niektóre spośród języków interpretowanych są skryptowe, i to w jakiś sposób zależy
od interpretera języka
?
Jeżeli tak, to jakie cechy musi spełniać ten interpreter, żeby interpretowany przez
niego język był skryptowy?
Następne wpisy z tego wątku
- 04.01.20 01:23 g...@g...com
- 04.01.20 02:32 J-23
- 04.01.20 09:08 g...@g...com
- 04.01.20 09:50 g...@g...com
- 04.01.20 11:13 g...@g...com
- 04.01.20 13:39 fir
- 04.01.20 15:48 g...@g...com
- 04.01.20 16:09 fir
- 04.01.20 19:33 M.M.
- 04.01.20 22:03 J-23
- 04.01.20 22:18 J-23
- 04.01.20 23:18 g...@g...com
- 05.01.20 02:45 J-23
- 05.01.20 09:39 fir
- 05.01.20 19:18 M.M.
Najnowsze wątki z tej grupy
- 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?
- 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
Najnowsze wątki
- 2024-12-03 Tymoteusz Sz.
- 2024-12-03 Re: Prezydent ułaskawia: Prezydent USA Biden (D) ułaskawia syna własnego
- 2024-12-03 Re: Tani dodatkowy sim do smartwacha
- 2024-12-03 Wróblewo => Analityk finansowy <=
- 2024-12-03 Praktyczny test GPS...
- 2024-12-02 Tak się sprzedają elektryczne woldzwageny ;-)
- 2024-12-02 Akumulator do Hyundai
- 2024-12-02 Olsztyn => Sales Specialist <=
- 2024-12-02 Poznań => Technical Artist <=
- 2024-12-02 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-02 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-02 Białystok => Delphi Programmer <=
- 2024-12-02 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-02 Szczecin => Key Account Manager (ERP) <=