Article View: pl.comp.programming
Article #217834Re: mój obfuskator - problem projektowy
From: Maciek Godek
Date: Fri, 28 Oct 2022 12:11
Date: Fri, 28 Oct 2022 12:11
174 lines
9627 bytes
9627 bytes
piątek, 28 października 2022 o 13:37:43 UTC+2 heby napisał(a): > On 28/10/2022 12:59, Maciek Godek wrote: > >> Oczywiście. Wszak w C++ można używać np. garbage collectorow. Co czyni > >> go podobnym do Javy. Prawda? > > Java pod wieloma innymi względami jest podobna do C++. > Dokładnie tak jak PHP jest podobny do C++. Nie, zupełnie inaczej. > Algol też się chyba złapie. Ma if-y. Algol jest pradziadkiem prawie wszystkich języków programowania, więc trudno żeby się nie załapał. > >>> Składnia pętli for jest praktycznie identyczna. > >> Serio? W C++, który ma być ponoć podobny, jest: > >> for( auto x : container) [...] > > No widzisz. > > W PHP też jest for_each, który się różni od tego co masz w C > > (i jest - uwaga uwaga - bardziej podobny do tego co masz w C++) > "bardziej podobny" do daleko posunięty otymizm. Ma inną składnię. > > Napisałeś "jest praktycznie identyczna". Nie jest. Składnia foreach w > PHP wygląda inaczej. Napisałem o składni "for". W C piszesz for (i = 0; i < N; ++i) a w PHP for ($i = 0; $i < N; ++$i) Jedyna różnica pomiędzy powyższymi zapisami jest natury finansowej. > Wiele języków ma iteracje po kontenerach. Czy czyni je składniowo > podobnymi do siebie? Nie. Ale czyni je to podobnymi do siebie pod względem posiadania składni na iterowanie po kontenerach. > A może to najzwyczajniej podstawowa jednostka każdego języka imperatywnego? Na pewno nie każdego. > >>> Podobnie jak pozostałe > >>> instrukcje sterujące (if, while, switch, do while). > >> A wies,z że są prawi identyczne równiez w JS, Javie i wielu innych? > > Tak. Jak również to, że są języki, w których ich nie ma. > > Bo - uwaga uwaga - JS i Java też są składniowo podobne do C. > Znowu masz szeroko pojęte "podobieństwo" które na koniec sprowadza się > do "bo też ma klamry i ify". I for, i do while, i switch case, i ... > > (Natomiast mniej podobne składniowo są np. Lua, Ruby czy Python) > Zauważyłes, że auto wątku na początku nic nie mówił o jakieś "składni" a > jedynie że "lubi języki podobne do C++"? Dopiero po wymęczeniu go > pytaniam okazało się, że chodzi o klamry. Nie. Napisał, że chodzi o składnię. Ale tak naprawdę nietrudno się domyślić o co chodzi. Chodzi o to, że przechodząc od jednego języka do drugiego, nie musisz radykalnie zmieniać nawyków. Na przykład, przechodząc z C do Fortha, trzeba nawyki zmienić dość mocno. Zresztą to jest istatota słowa "lubić". Po angielsku masz "like" -- "I like something" -- "lubę coś", tzn. "coś PODOBA mi się" (jak w "PODOBIEŃSTWIE"). > >> Zaryzykujesz, że Java i C++ to jezyki "podobne" bo mają te same > >> instrukcje co prawie każdy jezyki imperatywny? > > Java i C++ to języki podobne, bo Java celowo była tak projektowana, > > żeby była podobna do C++. (I nie nazwałbym tego stwierdzenia ryzykownym) > Mówisz o wskaźnikach, szablonach i wielodziedziczeniu? Czy o klamrach, > znowu? Mówię o klasach oraz modyfikatorach "private", "public" i "protected". Wskaźniki, szablony i wielodziedziczenie to różnice, a więc nie podobieństwa. > >> W takich oparach absurdu będzie cieżko znaleźc język "niepodobny". No > >> chyba, że brainfuck. > > Również Forth jest dość mocno niepodobny. > > Tzn. ok, jest podobny pod tym względem, że można w nim używać słów. > Idziesz w dobrą stronę. Jeszcze tylko jeden krok: jesli język używa > bajtów, to jest podobny do innych języków używających bajtów. Nie łapie > się tylko BCPL, ale to żadna strata, a wręcz zaleta. > > W ten sposób dostajemy niezwykle użyteczne pojęcie "język podobny" a > dzięki uproszczeniu rzeczy trudnych i istotnych, możemy zredukować to > pojęcie do jednej instancji, Języka Uniwersalnego, który używa bajtów, > więc każdy się łapie (poza BCPL). Jeżeli widzisz w tym jakąś użyteczność, to ok. > > Natomiast są takie języki, jak np. unlambda czy whitespace, > > które są pod tym względem podobne do brainfucka, że > > - są ezoteryczne > > - nie można w nich używać słów > Spacja to nie słowo? Tabulator to nie słowo? Nie przesadzasz czasem? Oczywiście, chciałem napisać "definiować słów". > >> Nie, to dwa różne języki o wspólnej inspiracji. *Ważnych* detali je > >> różniących jest zdecydowanie za dużo, aby była mowa o tym że są podobne, > >> bo "klamry". > > Ale te "klamry" to Ty powiedziałeś. > Te klamry to poprawny termin określający cały zbiór róznych języków > programowania. Spytaj google. Pewnie nawet zbiór różnych języków programowania w jakiś sposób do siebie podobnych. > >> "Kolega pisze na komputerze a ja długopisem. Dlatego właśnie można > >> powiedzieć, że robimy to bardzo podobnie, bo oboje piszemy". > > I pewnie nawet obaj używamy alfabetu łacińskiego. > Tak, to tez podobieństwo, dlatego nie widzę sensu nauki innych języków. Nie rozumiem argumentu. > Nauka alfabetu załatwia mówienie we wszystkich jezykach które ich > używają, a hiszpański i angielski są w zasadzie identyczne, jak PHP i > C++. Nie załatwia, i nikt tu do tej pory nie twierdził, że załatwia. > >> Jesteś pewny, że rozumiesz słowo "podobieństwo" tak samo jak reszta > >> ludzkości? > > Podobieństwo dwóch przedmiotów rozumiem w taki sposób, > > że istnieją w tych przedmiotach pewne cechy, które są identyczne. > I ktoś się z tym spiera? No, najwyraźniej Ty. > Jak na razie nie udało się znaleźc nic innego, podobnego, między C++ i > PHP. Tylko klamry. Udało się, tylko Ty twierdzisz, że się nie udało. > Zaznaczam, że strcmp itd są dostępne przez abi z > dowolnego języka, wiec cięzko mówić, że to cecha specyficzna dla C++. Jak wywołujesz w PHP substr, to nie wywołujesz funkcji w C, tylko funkcję w PHP, którą ktoś tak nazwał. Bo PHP po prostu zmałpował wiele nazw funkcji z biblioteki standardowej C. > >> Nie ma, ale tu usenet a ja ciągle nie wiem gdzie PHP jest podobny do > >> C++. > > Nie wiesz, bo nie pytasz po to, żeby się dowiedzieć, tylko po to, > > żeby się dowartościować i pokazać swoją wyższość nad rozmówcą. > "Interesująca teza o tym podobieństwie do C++. Możesz rozwinąc jakie > cechy PHP są podobne do C++ i Ci się spodobały?" > > Napisałem to na początku tej dyskusji. No, i OP również odpisał na początku dyskusji. > Ja kiedyś usilnie uzywalem PHP do zagadnień niewebowych. Naprawdę, > uważałem go za przydatny język do zarządzania serwerm. Taki bash, tylko > nie pisany przez durniów, choć niewątpliwe bardzo lepiej nie było. Nie wiem, czy bash był pisany przez durniów. Nie wiem, czy PHP nie był. Wszystkie te rzeczy powstawały w jakimś tam swoim kontekście, nie czuję się w pozycji oceniania kompetencji ich twórców. Ale pod względem jakości projektu oba są siebie warte. > Jednak po wielu wpadkach z nim, które są charakterystyczne dla języków > projektowanych na kolanie, nie sięgnąłem po niego ponownie. Jest popsuty > po wieloma względami, niebezpieczny, głupi. Jest. Ale to samo można powiedzieć o C++. (i mamy kolejne podobieństwo!)
Technical Details
Message-ID:
<ea6b4629-c1e4-4fbe-b902-720a2213c2e8n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<tj64ne$36qsg$3@portraits.wsisiz.edu.pl> <tj64rj$1mmv4$1@dont-email.me> <tj8epv$3afh$1@portraits.wsisiz.edu.pl> <tj8vg4$21ll8$2@dont-email.me> <tjabcs$t53e$2@portraits.wsisiz.edu.pl> <tjan0p$2drd6$1@dont-email.me> <tjb0ft$10mf6$1@portraits.wsisiz.edu.pl> <tjb0up$2eot6$1@dont-email.me> <tjb1g2$10mnn$2@portraits.wsisiz.edu.pl> <tjb2ee$2ep64$1@dont-email.me> <tjg379$2q700$1@portraits.wsisiz.edu.pl> <tjg38l$314k8$2@dont-email.me> <tjg3ua$2qa65$1@portraits.wsisiz.edu.pl> <tjg46f$314k8$3@dont-email.me> <e896216c-e3ca-4ec9-9903-8a33d43fcc00n@googlegroups.com> <tjg6o5$31ke4$1@dont-email.me> <6a159c97-995c-4408-9cf8-d14faee45dd9n@googlegroups.com> <tjg8j5$31ke4$2@dont-email.me> <90bbce43-c979-43da-aa26-9397596021c6n@googlegroups.com> <tjgb3e$31ke4$3@dont-email.me> <6f90c461-2fa9-435c-a120-31cae1a9b3a4n@googlegroups.com> <tjgeu5$32t15$2@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:6214:4109:b0:4b2:9961:9037 with SMTP id kc9-20020a056214410900b004b299619037mr43722918qvb.13.1666959116463; Fri, 28 Oct 2022 05:11:56 -0700 (PDT) X-Received: by 2002:a81:9244:0:b0:367:ece5:225f with SMTP id j65-20020a819244000000b00367ece5225fmr40773070ywg.228.1666959116120; Fri, 28 Oct 2022 05:11:56 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Fri, 28 Oct 2022 05:11:55 -0700 (PDT) In-Reply-To: <tjgeu5$32t15$2@dont-email.me> Injection-Info: google-groups.googlegroups.com; posting-host=85.14.70.66; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 85.14.70.66 References: <tj64ne$36qsg$3@portraits.wsisiz.edu.pl> <tj64rj$1mmv4$1@dont-email.me> <tj8epv$3afh$1@portraits.wsisiz.edu.pl> <tj8vg4$21ll8$2@dont-email.me> <tjabcs$t53e$2@portraits.wsisiz.edu.pl> <tjan0p$2drd6$1@dont-email.me> <tjb0ft$10mf6$1@portraits.wsisiz.edu.pl> <tjb0up$2eot6$1@dont-email.me> <tjb1g2$10mnn$2@portraits.wsisiz.edu.pl> <tjb2ee$2ep64$1@dont-email.me> <tjg379$2q700$1@portraits.wsisiz.edu.pl> <tjg38l$314k8$2@dont-email.me> <tjg3ua$2qa65$1@portraits.wsisiz.edu.pl> <tjg46f$314k8$3@dont-email.me> <e896216c-e3ca-4ec9-9903-8a33d43fcc00n@googlegroups.com> <tjg6o5$31ke4$1@dont-email.me> <6a159c97-995c-4408-9cf8-d14faee45dd9n@googlegroups.com> <tjg8j5$31ke4$2@dont-email.me> <90bbce43-c979-43da-aa26-9397596021c6n@googlegroups.com> <tjgb3e$31ke4$3@dont-email.me> <6f90c461-2fa9-435c-a120-31cae1a9b3a4n@googlegroups.com> <tjgeu5$32t15$2@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <ea6b4629-c1e4-4fbe-b902-720a2213c2e8n@googlegroups.com> Subject: Re: mój obfuskator - problem projektowy From: Maciek Godek <godek.maciek@gmail.com> Injection-Date: Fri, 28 Oct 2022 12:11:56 +0000 X-Received-Bytes: 11205 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit