🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216703

Re: Czemu Python jest jaki jest?

#216703
From: godek.maciek
Date: Fri, 03 Jan 2020 20:27
126 lines
7907 bytes
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_interpretowany
> 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.
Technical Details
Message-ID: <66517b9b-d8a5-41fb-b9d0-b289e9dfba64@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no9626016qtd.0!news-out.google.com!w29ni638qtc.0!nntp.google.com!g89no9626010qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> <qukale$3o1$1@news.icm.edu.pl> <5e0e44da$0$525$65785112@news.neostrada.pl> <0d4a791d-c777-4c44-9541-88b51c7b8467@googlegroups.com> <5e0f9a57$0$17364$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ae9:e907:: with SMTP id x7mr73773830qkf.298.1578083242129;        Fri, 03 Jan 2020 12:27:22 -0800 (PST)
X-Received: by 2002:ac8:2e6a:: with SMTP id s39mr66572079qta.349.1578083241951; Fri, 03 Jan 2020 12:27:21 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no9626016qtd.0!news-out.google.com!w29ni638qtc.0!nntp.google.com!g89no9626010qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 3 Jan 2020 12:27:21 -0800 (PST)
In-Reply-To: <5e0f9a57$0$17364$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=83.25.229.148; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.25.229.148
References: <913ee55b-6577-46ef-8ef2-92c748a43610@googlegroups.com> <qukale$3o1$1@news.icm.edu.pl> <5e0e44da$0$525$65785112@news.neostrada.pl> <0d4a791d-c777-4c44-9541-88b51c7b8467@googlegroups.com> <5e0f9a57$0$17364$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <66517b9b-d8a5-41fb-b9d0-b289e9dfba64@googlegroups.com>
Subject: Re: Czemu Python jest jaki jest?
From: godek.maciek@gmail.com
Injection-Date: Fri, 03 Jan 2020 20:27:22 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit