eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzemu Python jest jaki jest? › Re: Czemu Python jest jaki jest?
  • X-Received: by 2002:a05:620a:16c6:: with SMTP id a6mr82052463qkn.140.1578268762210;
    Sun, 05 Jan 2020 15:59:22 -0800 (PST)
    X-Received: by 2002:a05:620a:16c6:: with SMTP id a6mr82052463qkn.140.1578268762210;
    Sun, 05 Jan 2020 15:59:22 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
    !2.eu.feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!g
    89no4171558qtd.0!news-out.google.com!w29ni893qtc.0!nntp.google.com!g89no4171547
    qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 5 Jan 2020 15:59:21 -0800 (PST)
    In-Reply-To: <5e113fb3$0$17364$65785112@news.neostrada.pl>
    Complaints-To: g...@g...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: <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>
    <5e0feb24$0$501$65785112@news.neostrada.pl>
    <b...@g...com>
    <5e10fdc1$0$17354$65785112@news.neostrada.pl>
    <8...@g...com>
    <5e113fb3$0$17364$65785112@news.neostrada.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <1...@g...com>
    Subject: Re: Czemu Python jest jaki jest?
    From: g...@g...com
    Injection-Date: Sun, 05 Jan 2020 23:59:22 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:214665
    [ ukryj nagłówki ]

    W dniu niedziela, 5 stycznia 2020 02:45:25 UTC+1 użytkownik J-23 napisał:

    > Moim zdaniem nie ze względu na przeznaczenie języki programowania są
    > dzielone na skryptowe i kompilowane.
    >
    > Czym jest skrypt a czym języki kompilowane i ty usiłujesz powiedzieć że
    > skrypty to zestaw instrukcji wykonywanych jeden po drugim i to jest -
    > prawda, ale ciężko ci pojąć dlaczego języki są tzw. językami skryptowymi.
    >
    > Ty twierdzisz "bo ich przeznaczeniem jest pisanie skryptów"
    >
    > Ustaliliśmy że skrypty są ciągiem instrukcji potwierdza to WIKIPEDIA
    >
    > a jak nazwę naszą rozmowę skryptem to będzie błąd? Nie.

    Tak. Nasza rozmowa to wymiana opinii, a nie ciąg instrukcji do wykonania.
    (ewentualnie można ją nazwać "logiem")

    > A jak instrukcje
    > obsługi gdzie mam napisane krok po kroku co mam wykonać - nazwę skryptem
    > według definicji WIKIPEDII nazwę skryptem będzie błąd? Nie
    >
    > bo przypominam z WIKIPEDII "Skrypty - programy napisane w językach
    > skryptowych, przeznaczone do wykonywania w specjalnych środowiskach
    > uruchomieniowych automatyzujących wykonywanie zadań [1], które
    > alternatywnie mogą być wykonywane jedno po drugim przez użytkownika."
    >
    > Jak widać z opisu programy napisane w językach skryptowych i co do tego
    > co jest skryptem się zgadzamy nie zgadzamy się tylko co do definicji
    > języka skryptowego. Ja jak mantrę powtarzam brak kodu binarnego i
    > wyizolowane środowisko. Są to według mnie dwa najbardziej trafne ale nie
    > jedyne. (Ograniczam się do dwóch by nie komplikować sprawy)

    Dokładnie tak. Według Ciebie.
    Miałem w liceum kolegę, który na określenie precedensu użył słowa "ewenement".
    Jednak nie zmieniło to znaczenia słowa "ewenement". Po prostu błędnie użył słowa.

    > > OK, to teraz jeszcze raz odnoszę się do zdania
    > > "to nic nie zmieni, bo nadal będzie działać w odizolowanym środowisku".
    > >
    > > To, o czym piszesz "odizolowane środowisko" albo jego brak, nazywa się
    "środowiskiem natywnym". Na przykład C++ i C to języki, które typowo są kompilowane
    do kodu natywnego. Natomiast C# i Java typowo nie są kompilowane do kodu natywnego,
    tylko do kodu bajtowego.
    > >
    > Srodowiskiem odizolowanym będzie wtedy kiedy dany "skrypt" czytaj zestaw
    > instrukcji (nie myl z językami skryptowymi) działał po za systemem
    > operacyjnym. Czyli przydzielaniem pamięci i innymi sprawami do wykonania
    > "skryptu" zajmuje się tzw "Maszyna Wirtualna" i znowu tu nie pomyl np z
    > niVirtualBoxem bo to inna para butów

    To bez różnicy.
    I to wiadomo już od 1935 roku.
    Możesz sobie zbudować fizyczną maszynę realizującą API JVM.
    Możesz też na JVM odpalić interpreter kodu maszynowego.
    Program z założenia nie może wiedzieć "w czym działa".
    Tworcy gier na Nintendo myśleli, że robią gry na Nintendo, a ja je sobie teraz
    chamsko odpalam w emulatorze na moim telefonie.

    > > I to nie ma absolutnie żadnego związku z "byciem językiem skryptowym"
    > >>> No to załóżmy, że tworzy wyizolowane środowisko. To co wtedy?
    > >>>
    > >> No to i tak dla mnie pozostanie to próbą stworzenia najprawdopodobniej
    > >> języka skryptowego bazującego na C
    > >
    > > No nie. Interpreter implementuje język C w 100% zgodny ze specyfikacją.
    > > Więc to jest język C.
    > >
    > A jesteś absolutnie pewny że zrobisz w nim to samo co w C?

    Jeżeli ma w 100% kompatybilną semantykę, to tak.

    > >>> Nie zauważam.
    > >>> Zauważam, że języki skryptowe służą do pisania skryptów.
    > >>
    > >> To ja zadam pytanie teraz co według ciebie jest skryptem/a co zwykłym
    > >> tekstem napisanym.
    > >
    > > Na Wikipedii było, już raz tutaj wklejone:
    > >
    > > "Skrypty - programy napisane w językach skryptowych, przeznaczone do wykonywania
    w specjalnych środowiskach uruchomieniowych automatyzujących wykonywanie zadań [1],
    które alternatywnie mogą być wykonywane jedno po drugim przez użytkownika."
    > >
    > > Czyli są to ciągi instrukcji w rodzaju:
    > >
    > > zrób to
    > > zrób tamto
    > > zrób siamto
    > > zrób owamto
    > >
    > > (i ktokolwiek kiedykolwiek używał instrukcji sterujących w bashu, wie, jak bardzo
    się ten język stara tego nie ułatwiać)
    > >
    > > Ewentualnie można powiedzieć, że skryptem jest to, co pisał np. Szekspir.
    > > Że się Poloniusz chowa za zasłonę żeby podsłuchać Hamleta, Hamlet go zabija i
    Ofiela płacze.
    > >
    > > Natomiast "zwykły tekst" w ogólności nie jest ciągiem instrukcji.
    > A to ciekawe :) ale nie będę się czepiał zostawie to że to nie jest ciąg
    > instrukcji.
    > >
    > >>> 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.
    > >>
    > >> Podkreślam i powtarzam ciężko jest odróżnić sposób wykonywania kodu
    > >> pośredniego tak jak to ma np Java, .NET od języka interpretowanego
    > >> zwanych zazwyczaj skryptowymi idąc nazewnictwem z WIKIPEDII
    > >
    > > Nie "zwanych zazwyczaj". Mylisz pojęcia. Są dwa osobne artykuły.
    > > To, że języki skryptowe są zazwyczaj implementowane w postaci interpreterów nie
    sprawia, że Javę czy C# łatwo jest pomylić z bashem.
    > > Wikipedia nigdzie nie twierdzi tego, że "skryptowość" języka ma jakikolwiek
    związek ze sposobem jego implementacji. A jeżeli twierdzi, to pokaż mi proszę cytat.
    > >
    > To że wikipedia tego nie napisała to nie znaczy że tak nie ma.

    Tzn. po prostu coś sobie twierdzisz.

    > >> Różnica między nami jest taka że ty uważasz że wystarczy użyć narzędzia
    > >> typu JIT kompilator i to będzie tak samo działało jak tradycyjne języki
    > >> kompilowane - bo od nich zaczęliśmy dyskusje.
    > >
    > > Nie. Nie uważam tak. Uważam, że jeżeli użyjemy narzędzia typu JIT, to programy,
    względem których tego narzędzia użyjemy, będą kompilowane. Bo faktycznie będą. Bo JIT
    to jest kompilator, czyli coś co kompiluje. A "kompilowany" to imiesłów
    przymiotnikowy bierny, pochodzący od słowa "kompilować". Zatem jeżeli będziesz
    kompilował X, X będzie kompilowane.
    > >
    > > Używa się tego inaczej, niż "tradycyjnych języków kompilowanych", bo w ich
    przypadku to programista musi wywołać kompilator.
    > >
    > > Ale to, czy język jest, czy nie jest kompilowany, nie ma żadnego związku z jego
    "skryptowością".
    >
    > A znajdź cytat gdzie napisałem że to ma związek, nie ma. Języki
    > kompilowane poprostu inaczej funkcjonują. Pokaż mi język uznawany za
    > skryptowy obojętnie jak potraktowanny JIT który będzie miał dostęp do
    > systemu bez swojego środowiska uruchomieniowego

    Pokaż mi jakikolwiek język który będzie miał dostęp do systemu bez swojego środowiska
    uruchomieniowego.

    > >> Potem jak już zrozumiałeś mój punkt widzenia że rozdzielam pojęcia
    > >> języki skryptowe a kompilowane proszę o to cytat "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]
    > >>
    > >> Odpisałem ci na to:
    > >> "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"
    > >>
    > >> Gdze pisząc JTL miałem na myśli JIT na co słusznie zwróciłeś uwagę.
    > >>
    > >> Więc jeśli znów zapytasz mnie czy według mnie Java czy .NET można uznać
    > >> za skryptowe odpowiem po raz kolejny - nie - a wynika to z różnic ich
    > >> implementacji.
    > >
    > > Tak, ale nie powiesz, jakie to różnice, tylko powiesz, że to ciężkie do
    wyjaśnienia.
    > >
    > > A tymczasem to jest bardzo łatwe do wyjaśnienia. I nie ma żadnego związku z
    implementacją.
    > >
    >
    > No to czekam na to wyjaśnienie :)

    Język skryptowy to język, którego przeznaczeniem jest pisanie skryptów
    (czyli czegoś, co automatyzuje interakcje użytkownika z systemem)
    Można w nim pisać duże, złożone programy, ale to raczej mija się z celem.
    C# i Java to języki, których przeznaczeniem jest tworzenie aplikacji.
    Są pod tym kątem zoptymalizowane. I tyle. Nie ma żadnej tajemnicy.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: