-
21. Data: 2020-01-03 20:47:34
Temat: Re: Czemu Python jest jaki jest?
Od: J-23 <B...@p...fm>
W dniu 02.01.2020 o 21:58, g...@g...com pisze:
> A do których języków nie potrzeba środowiska uruchomieniowego?
Chyba inaczej rozumiemy środowiska uruchomieniowe.
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. Natomiast odróżnienie teraz kodu skompilowanego od języka
skryptowego moim zdaniem nie jest problemem. O tym za chwile niżej.
>
> "Podział" na "języki skryptowe i kompilowane" z logicznego punktu widzenia nie jest
podziałem dychotomicznym.
Tak i nie :)
> 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)
Jeżeli bierzesz sam kod pod uwagę "bez próby jego wykonania" To owszem
masz 100% racji i nawet wtedy pokuszę się o powiedzenie ze 100% kodu -
niezależnie w jakim języku jest napisane będzie niczym więcej jak tylko
"skryptem"
Ale jeżeli o tym rozmawiamy to nie ma sensu też wtrącać różnic między
językami typu szybkość wykonania czy wydajność pod względem np użycia
ilości pamięci
> 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).
Mylisz trochę pojęcia tzn. masz racje ale mylisz skrypt który wykonuje
pewne zadania np w systemie jak np. cron który ma za zadanie
w "uproszczeniu" uruchomić określone programy by wykonać określone zadanie
> 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ć.
I znowu mówisz o języku jak o "suchym tekście" który można by zapisać na
kartce papieru i zamknąć w zeszycie.
>
> Prototypowe języki skryptowe to języki powłoki (np. bash albo DOSowe batche albo
skrypty w PowerShellu).
To prawda ale z jedną uwagą bash czy PowerShell są interpretatorami tego
co zostanie im dostarczone w postaci skryptu i to co napisałeś poniżej
ma sens tylko "połowicznie"
>
> 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.
>
"Połowicznie" jest to prawda. Bo o ile do napisania "skryptu" nie jest
potrzebna wiedza o implementacji jakiegoś elementu systemu. To nie to
decyduje o "skryptowości" danego języka.
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
- sposób dostarczenia kodu
- wyizolowanego środowiska uruchomieniowego uniezależnionego od
systemu/sprzętu
Potraktowanie skryptu JTL czy innymi konwerterami nie zmieni cechy
języka co najwyżej przygotuje duży program wynikowy połączony z tym
skryptem co pozwoli na jego uruchomienie jak skompilowanego programu
> W dalszej kolejności mamy języki takie jak Perl czy AWK, które są uznawane za
skryptowe, bo są podobne do skryptowych.
Nie są podobne tylko są skryptowe :)
> 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
>
> Znam ludzi, którzy woleliby do tych samych celów użyć Haskella (który jest "mocno
kompilowany").
Tego nie znam więc się nie wypowiem
>
> 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
> No, a PostScript jest oczywiście stosowy.
Szczerze powiem:) nie wiem nigdy nie miałem potrzeby tego używać :)
Pozdrawiam
J-23
-
22. Data: 2020-01-03 20:56:40
Temat: Re: Czemu Python jest jaki jest?
Od: J-23 <B...@p...fm>
W dniu 03.01.2020 o 10:04, slawek pisze:
> "M.M." <...@...c> Wrote in message:
>
>> 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?
>
> Ja szacuję to tak, że 100 tysięcy LOC to jest to robota dla np.
> 10, może 30 programistów.
Jaki czas zakładasz na napisanie tej ilości kodu? Bo bez ram czasowych
raczej ciężko wyliczyć ilość programistów.
Pytam z czystej ciekawości
Pozdrawiam
-
23. Data: 2020-01-03 21:27:21
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
W dniu piątek, 3 stycznia 2020 20:48:15 UTC+1 użytkownik J-23 napisał:
> > A do których języków nie potrzeba środowiska uruchomieniowego?
> Chyba inaczej rozumiemy środowiska uruchomieniowe.
Ja rozumiem dosłownie. Jako kontekst, w którym program jest wykonywany, oraz zasoby,
które ma do dyspozycji w momencie działania.
> 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.
> > 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)
>
> Jeżeli bierzesz sam kod pod uwagę "bez próby jego wykonania" To owszem
> masz 100% racji i nawet wtedy pokuszę się o powiedzenie ze 100% kodu -
> niezależnie w jakim języku jest napisane będzie niczym więcej jak tylko
> "skryptem"
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.
> Ale jeżeli o tym rozmawiamy to nie ma sensu też wtrącać różnic między
> językami typu szybkość wykonania czy wydajność pod względem np użycia
> ilości pamięci
No bo nie ma sensu.
Ma sens mówić o różnicach w wydajności pomiędzy implementacjami różnych języków.
Kiedy mówi się, że C jest szybsze od Pythona, ma się na myśli, że powszechnie
dostępne implementacje C są szybsze od powszechnie dostępnych implementacji Pythona.
> > 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).
> Mylisz trochę pojęcia tzn. masz racje ale mylisz skrypt który wykonuje
> pewne zadania np w systemie jak np. cron który ma za zadanie
> w "uproszczeniu" uruchomić określone programy by wykonać określone zadanie
Cron nie jest skryptem. Jest
<grzmoty i pioruny>
demonem.
> > 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ć.
>
> I znowu mówisz o języku jak o "suchym tekście" który można by zapisać na
> kartce papieru i zamknąć w zeszycie.
Nie. Mówię właśnie o używaniu języka.
> >
> > Prototypowe języki skryptowe to języki powłoki (np. bash albo DOSowe batche albo
skrypty w PowerShellu).
> To prawda ale z jedną uwagą bash czy PowerShell są interpretatorami tego
> co zostanie im dostarczone w postaci skryptu i to co napisałeś poniżej
> ma sens tylko "połowicznie"
Nie rozumiem.
(Ale - gwoli ścisłości - interpreterami. Interpretator to osoba.)
> > 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.
> >
>
> "Połowicznie" jest to prawda. Bo o ile do napisania "skryptu" nie jest
> potrzebna wiedza o implementacji jakiegoś elementu systemu. To nie to
> decyduje o "skryptowości" danego języka.
>
> 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ł?
> - sposób dostarczenia kodu
Czyli jak przekazuję kod źrodłowy programu w C, to język C staje się skryptowy?
> - wyizolowanego środowiska uruchomieniowego uniezależnionego od
> systemu/sprzętu
Czyli C# jest skryptowy?
> > 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.
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 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".
> > 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.
To nie one są "skryptowe", tylko my, używając tej nazwy, przemycamy informację o tym,
w jaki sposób zazwyczaj z nich korzystamy.
Podobnie gdy mówimy np. że jakaś dziewczyna jest piękna, to tak naprawdę nic nie
mówimy o tej dziewczynie, tylko o naszych gustach. Albo gdy mówimy, że jakiś czyn
jest haniebny, to nie mówimy o tym czynie, tylko o naszym systemie wartości.
> > No, a PostScript jest oczywiście stosowy.
>
> Szczerze powiem:) nie wiem nigdy nie miałem potrzeby tego używać :)
Pewnie używałeś nawet o tym nie wiedząc, np. otwierając dokument PDF.
-
24. Data: 2020-01-03 21:39:46
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
W dniu piątek, 3 stycznia 2020 21:22:40 UTC+1 użytkownik slawek napisał:
> > Masz w tej kwestii jakieś doświadczenia, którymi chciałbyś się tutaj podzielić?
>
>
> A widzisz, misiaczku, mam. Żyję już dostatecznie długo, aby z
> daleka rozpoznać osobniki nadęte, głupie i bez fantazji.
16 lat to nie tak znowu długo. Najwidoczniej dla niektórych zbyt mało żeby nauczyć
się odróżniać rzeczywistość od swoich urojeń.
> Anyway, przekonałeś nas wszystkich że twoim największym
> osiągnięciem było zdanie matury. Czyli czego? Jakiś język
> ojczysty, język obcy... być może matematyka (ale to akurat
> niepewne)... Wic w tym że nie informatyka. Czyli ta twoja rzekoma
> matura nijak się ma do tego jak oceniać cię jako programistę.
Jeżeli jest to istotne, to moją pracę magisterską z informatyki można sobie sciągnąć
i przeczytać:
https://github.com/panicz/master-thesis/
Może nie jest to nic wielkiego, ale, jak to mówią,
zawsze coś.
Trzymam kciuki za egzamin maturalny.
-
25. Data: 2020-01-04 00:32:43
Temat: Re: Czemu Python jest jaki jest?
Od: J-23 <B...@p...fm>
W dniu 03.01.2020 o 21:27, g...@g...com pisze:
> W dniu piątek, 3 stycznia 2020 20:48:15 UTC+1 użytkownik J-23 napisał:
>
>>> A do których języków nie potrzeba środowiska uruchomieniowego?
>> Chyba inaczej rozumiemy środowiska uruchomieniowe.
>
> Ja rozumiem dosłownie. Jako kontekst, w którym program jest wykonywany, oraz
zasoby, które ma do dyspozycji w momencie działania.
I to jest tylko połowa prawdy. Druga połowa jet taka że programy
odpalane w tzw. środowiskach uruchomieniowych nie mają dostępu np do
sprzętu wszystko odbywa się w izolowanym środowisku zwanym właśnie
środowiskiem uruchomieniowym
>
>> 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)
>>> 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)
>>
>> Jeżeli bierzesz sam kod pod uwagę "bez próby jego wykonania" To owszem
>> masz 100% racji i nawet wtedy pokuszę się o powiedzenie ze 100% kodu -
>> niezależnie w jakim języku jest napisane będzie niczym więcej jak tylko
>> "skryptem"
>
> 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)
>> Ale jeżeli o tym rozmawiamy to nie ma sensu też wtrącać różnic między
>> językami typu szybkość wykonania czy wydajność pod względem np użycia
>> ilości pamięci
>
> No bo nie ma sensu.
> Ma sens mówić o różnicach w wydajności pomiędzy implementacjami różnych języków.
>
> Kiedy mówi się, że C jest szybsze od Pythona, ma się na myśli, że powszechnie
dostępne implementacje C są szybsze od powszechnie dostępnych implementacji Pythona.
>
Tutaj pełna zgoda
>>> 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).
>> Mylisz trochę pojęcia tzn. masz racje ale mylisz skrypt który wykonuje
>> pewne zadania np w systemie jak np. cron który ma za zadanie
>> w "uproszczeniu" uruchomić określone programy by wykonać określone zadanie
>
> 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
Jest
> <grzmoty i pioruny>
> demonem.
>
>>> 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ć.
>>
>> I znowu mówisz o języku jak o "suchym tekście" który można by zapisać na
>> kartce papieru i zamknąć w zeszycie.
>
> 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
>
>>>
>>> Prototypowe języki skryptowe to języki powłoki (np. bash albo DOSowe batche albo
skrypty w PowerShellu).
>> To prawda ale z jedną uwagą bash czy PowerShell są interpretatorami tego
>> co zostanie im dostarczone w postaci skryptu i to co napisałeś poniżej
>> ma sens tylko "połowicznie"
Ogólnie zasada działania jest ta sama jak w cron czyli działa na
podstawie dostarczonego skryptu (Kodu) inaczej nie działa
>
> Nie rozumiem.
> (Ale - gwoli ścisłości - interpreterami. Interpretator to osoba.)
Zgadza się mój błąd rozpędziłem się :)
>
>>> 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.
>>>
>>
>> "Połowicznie" jest to prawda. Bo o ile do napisania "skryptu" nie jest
>> potrzebna wiedza o implementacji jakiegoś elementu systemu. To nie to
>> decyduje o "skryptowości" danego języka.
>>
>> 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
>
>> - 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
>> - 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
> 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
> 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.
> To nie one są "skryptowe", tylko my, używając tej nazwy, przemycamy informację o
tym, w jaki sposób zazwyczaj z nich korzystamy.
> Podobnie gdy mówimy np. że jakaś dziewczyna jest piękna, to tak naprawdę nic nie
mówimy o tej dziewczynie, tylko o naszych gustach. Albo gdy mówimy, że jakiś czyn
jest haniebny, to nie mówimy o tym czynie, tylko o naszym systemie wartości.
>
>>> No, a PostScript jest oczywiście stosowy.
>>
>> Szczerze powiem:) nie wiem nigdy nie miałem potrzeby tego używać :)
>
> Pewnie używałeś nawet o tym nie wiedząc, np. otwierając dokument PDF.
>
Tak ale nigdy bezpośrednio nic nie skrobałem w PostScript
Pozdrawiam
-
26. Data: 2020-01-04 00:55:38
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
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?
-
27. Data: 2020-01-04 01:23:43
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
W dniu sobota, 4 stycznia 2020 01:15:44 UTC+1 użytkownik slawek napisał:
> > Jeżeli jest to istotne, to moją pracę magisterską z informatyki można sobie
sciągnąć i przeczytać:https://github.com/panicz/master-thesis/M
oże nie jest to nic wielkiego, ale, jak to mówią,zawsze coś.Trzymam kciuki za egzamin
maturalny.
>
>
> magisterka zrobiona dwa lata temu na prowincjonalnym UG
> stawia cię na pozycji młodego, nieopierzonego, leszczyka.
?
Może najpierw pójdź na studia wyższe, a dopiero potem się wypowiadaj.
> A, co przykro stwierdzić, matura sprzed 7 lat nie ma wartości - już się
> jej nie kupowało na Stadionie X Lecia
?
> I nie żebym miał jakieś uprzedzenia do ludzi z
> Tczewa.
?
> Dzięki za numer indeksu, zobaczymy oceny przy jakiejś okazji.
Mam się bać?
-
28. Data: 2020-01-04 02:32:19
Temat: Re: Czemu Python jest jaki jest?
Od: J-23 <B...@p...fm>
W dniu 04.01.2020 o 00:55, g...@g...com pisze:
> 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?
Gdzie ty znalazłeś taką informację że jest kompilowany do kodu
pośredniego? Mam na myśli czystego Pythona. Chętnie poznam jakiś przykład
>
>>> 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 :)
>
Fakt :)
>>> 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.
>
Bo działą to odmiennie nawet sam przyznałeś cytuje "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."
> 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.
No tych szczegółów jest kilka (Wymienie dwa ręsztę doczytaj)
- Wyizolowane środowiska pracy
- Brak kodu binarnego wynikającego bezpośrednio z twojego skryptu
>
> Przykładowo, pierwsze implementacje JavaScriptu to były interpretery.
> Teraz przeglądarki mają swoje JIT-kompilatory, które generują kod maszynowy.
Widziałeś kiedyś taki kod maszynowy? Zakładając że twój skrypt będzie
wynosił 1% wielkości wynikowego pliku binarnego to 99% będzie się
powtarzać bo jest tam mówiąc w uproszczeniu środowisko uruchomieniowe.
Niech jako przykład posłuży .nodejs od JavaScriptu z Pythonem jest
prawie że identycznie.
> Mnie z punktu widzenia użytkownika języka (albo użytkownika programu) w ogóle to
nie obchodzi.
Z punktu widzenia użytkownika programu zgoda ale z punktu użytkownika
języka (programisty) obchodzi bardzo bo musi być zgodność co do użytych
bibliotek i wersji pythona
>
>>>> 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)
>
Nie używałem tego nie wiem. Ale jak to działa jak JTL to to nic nie
zmieni, bo nadal będzie działać w odizolowanym środowisku. Rozumiem że
sugerujesz że to działa inaczej?
>>>> - 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?
>
Nie używałem ale już z opisu widać z tego co się domyśliłem, bo jak to
działa to bym musiał sprawdzić że działa to bezpośrednio na sprzęcie
więc domyślam się że nie tworzy żadnego izolowanego środowiska - w tej
chwili gdybam bo tak jak mowie tego nie używałem.
Swoją drogą obejmuje to któryś pełny standard C?
Bardziej bym to nazwał "próbą" stworzenia języka skryptowego opartego na C.
>>>> - 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]
>
Masz racje nie stoi nic na przeszkodzie. Fakt jednak jest taki że obecne
rozwiązania takie jak JTL czy NodeJS czy inne podobne rozwiązania nie
kompilują tego skryptu a jedynie dają możliwość jego uruchomienia po za
natywnym środowiskiem a to jest różnica
>>> 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
> ?
A nie zauważasz takiej prostej zasady że języki nazywane "skryptowymi"
nie mają np kodu maszynowego i kod zawarty w skrypcie jest przetwarzany
na bieżąco po uruchomieniu prosto z "pliku" gdzie zawarty jest skrypt?
To tylko jedna z cech zresztą do znalezienia w internecie bez problemy
>
> Jeżeli tak, to jakie cechy musi spełniać ten interpreter, żeby interpretowany przez
niego język był skryptowy?
>
masz wyżej :)
-
29. Data: 2020-01-04 09:08:32
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
W dniu sobota, 4 stycznia 2020 02:35:03 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?
> Gdzie ty znalazłeś taką informację że jest kompilowany do kodu
> pośredniego? Mam na myśli czystego Pythona. Chętnie poznam jakiś przykład
Na przykład tutaj:
https://docs.python.org/3/glossary.html#term-bytecod
e
"Python source code is compiled into bytecode, the internal representation of a
Python program in the CPython interpreter"
> >>> 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.
> >
> Bo działą to odmiennie nawet sam przyznałeś cytuje "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."
Błędnie napisałem. Miałem na myśli "języków skryptowych" i "języków interpretowanych"
(bo to było w kontekście tych haseł do Wikipedii)
> > 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.
> No tych szczegółów jest kilka (Wymienie dwa ręsztę doczytaj)
> - Wyizolowane środowiska pracy
Jak uruchamiasz program w C w maszynie wirtualnej, to też izolujesz środowisko pracy.
> - Brak kodu binarnego wynikającego bezpośrednio z twojego skryptu
No to Python jest tutaj kontrprzykładem.
> > Przykładowo, pierwsze implementacje JavaScriptu to były interpretery.
> > Teraz przeglądarki mają swoje JIT-kompilatory, które generują kod maszynowy.
> Widziałeś kiedyś taki kod maszynowy? Zakładając że twój skrypt będzie
> wynosił 1% wielkości wynikowego pliku binarnego to 99% będzie się
> powtarzać bo jest tam mówiąc w uproszczeniu środowisko uruchomieniowe.
> Niech jako przykład posłuży .nodejs od JavaScriptu z Pythonem jest
> prawie że identycznie.
> > Mnie z punktu widzenia użytkownika języka (albo użytkownika programu) w ogóle to
nie obchodzi.
> Z punktu widzenia użytkownika programu zgoda ale z punktu użytkownika
> języka (programisty) obchodzi bardzo bo musi być zgodność co do użytych
> bibliotek i wersji pythona
Zgodność musi być, ale jeżeli narzędzia to załatwiają, ja się nie mam czym martwić.
> > 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)
> >
> Nie używałem tego nie wiem. Ale jak to działa jak JTL to to nic nie
> zmieni, bo nadal będzie działać w odizolowanym środowisku. Rozumiem że
> sugerujesz że to działa inaczej?
Co to jest JTL?
> > 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?
> >
> Nie używałem ale już z opisu widać z tego co się domyśliłem, bo jak to
> działa to bym musiał sprawdzić że działa to bezpośrednio na sprzęcie
> więc domyślam się że nie tworzy żadnego izolowanego środowiska - w tej
> chwili gdybam bo tak jak mowie tego nie używałem.
No to załóżmy, że tworzy wyizolowane środowisko. To co wtedy?
> Swoją drogą obejmuje to któryś pełny standard C?
Załóżmy że tak.
(Podejrzewam, że tak, bo C nie jest jakimś kosmicznym monstrum)
> > 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
> > ?
> A nie zauważasz takiej prostej zasady że języki nazywane "skryptowymi"
> nie mają np kodu maszynowego i kod zawarty w skrypcie jest przetwarzany
> na bieżąco po uruchomieniu prosto z "pliku" gdzie zawarty jest skrypt?
Nie zauważam.
Zauważam, że języki skryptowe służą do pisania skryptów.
A to, czy te skrypty są przed uruchomieniem kompilowane przez środowisko, czy
interpretowane, jest szczegółem, który jest dla mnie niewidoczny, i który bynajmniej
mnie nie obchodzi.
-
30. Data: 2020-01-04 09:50:07
Temat: Re: Czemu Python jest jaki jest?
Od: g...@g...com
W dniu sobota, 4 stycznia 2020 09:26:24 UTC+1 użytkownik slawek napisał:
> > Może najpierw pójdź na studia wyższe, a dopiero potem się wypowiadaj.
>
> No cóż - wypowiadam się.
Trudno nie zauważyć.
Podobnie jak to, że nie masz pojęcia o tematach, na które się wypowiadasz.
> Misiaczku
"Misiaczku" to możesz mówić do kolesi, którym ssiesz pałki na dobranoc.
> dyplom kałamarza czy magistra to ma około 21% obywateli
> RP. A tu - na forum - bezpieczniej można założyć że
> każdy.
Może zdaj maturę i wtedy porozmawiamy.