-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.neostrada.pl!unt-exc-01.news.n
eostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mai
l
Subject: Re: Czemu Python jest jaki jest?
Newsgroups: pl.comp.programming
References: <9...@g...com>
<qukale$3o1$1@news.icm.edu.pl>
<5e0e44da$0$525$65785112@news.neostrada.pl>
<0...@g...com>
<5e0f9a57$0$17364$65785112@news.neostrada.pl>
<6...@g...com>
<5e0fcf1c$0$553$65785112@news.neostrada.pl>
<b...@g...com>
From: J-23 <B...@p...fm>
Date: Sat, 4 Jan 2020 02:32:19 +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: <b...@g...com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 197
Message-ID: <5e0feb24$0$501$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 188.146.100.11
X-Trace: 1578101540 unt-rea-b-01.news.neostrada.pl 501 188.146.100.11:32307
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:214640
[ ukryj nagłówki ]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 :)
Następne wpisy z tego wątku
- 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.
- 05.01.20 19:33 M.M.
- 05.01.20 23:15 J-23
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-31 Kraków => IT Expert (Network Systems area) <=
- 2025-03-31 Białystok => NMS System Administrator <=
- 2025-03-31 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-03-31 Sąd/Sędzia odrzuca wniosek o 30d aresztu Ziobry i jedzie po PO-Komisji Sroki [i Ziobrze w GW wersji]
- 2025-03-31 Warszawa => Sales Executive / KAM <=
- 2025-03-31 Warszawa => International Freight Forwarder <=
- 2025-03-31 Re: Państewko prawka Rumunia czyli pokaz UE leworządności - lider unieważnionych wyborów niedopuszczony do powtórki
- 2025-03-31 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Wrocław => Senior Backend Developer <=
- 2025-03-31 Białystok => Generative AI Engineer <=
- 2025-03-31 China-Kraków => Key Account Manager IT <=
- 2025-03-31 Prawne ciekawostki: Ksiądz KRK wygrał ze swoim biskupem sprawę o "naruszenie dóbr osobistych" [SN oddalił kasacje]
- 2025-03-31 Podatek od "konta wspólnego"