-
Data: 2022-10-28 14:57:34
Temat: Re: mój obfuskator - problem projektowy
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 28/10/2022 14:11, Maciek Godek wrote:
>>> Java pod wieloma innymi względami jest podobna do C++.
>> Dokładnie tak jak PHP jest podobny do C++.
> Nie, zupełnie inaczej.
Tak, podobieństwa są inne, ale istota podobieństwa taka sama. Zapis ma
kilka cech wspólnych, w większości kompletnie nieistotnych.
>> 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ł.
Czyli Algol podobny do C++, Javy i PHP? To jest teza, czy to już przegięcie?
> 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.
No a z for(auto x: my_fancy_container) to jak będzie?
>> 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.
To niestety oznacza całkiem spory zbiór języków programowania. Zgaduje
że wszystkie współczesne są "podobne". Troche bida. Mają takie kryteria
szybko dojdziesz do Jedynego Języka.
>> A może to najzwyczajniej podstawowa jednostka każdego języka imperatywnego?
> Na pewno nie każdego.
Tak, brainfuck się nie łapie.
>> 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 ...
Tak, to dużo zmienia. W zasadzie mogę wyjąć dowolny język programowania
i mam spore szanse na takie "podobieństwa".
Może języki mało co się do siebie róznią w tej kwestii, a prawdziwe i
ważne róznice są kompletnie gdzie indziej?
> 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.
Hmmm jak mogę łatwo przejśc z std::shared_ptr<std::optional<Foo> > na
PHP bez zmiany nawyków?
> Na przykład, przechodząc z C do Fortha, trzeba nawyki zmienić dość mocno.
Z tym się nikt nie spiera.
Ja się spieram ze spłycenia PHP i C++ do kilku klamr i ifów.
>>> 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.
Czyli "klamry". Znowu mamy podobieństwo na poziomie Kazika z łopatą i
koparki. Oba podobne. Kwestia jakości gumki w pojęciu "podobny".
>> 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.
Nie widzę ani śladu. Do głowy by mi nie przyszło mowić, że PHP i C++ to
"podobne" języki, a co dopiero uważać że używanie bajtów to jakiś argument.
>>> 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".
W języku maszynowym też nie można. Ale ma ify, tylko napisane np. jako
np. beq. Czy to czyni z niego jezyk podobny do C++? Różnica między PHP i
C++ to podobno tylko $. Tutaj niewiele wiecej: ot tylko inne słowo.
Przeciez to prawie to samo. A że nie ma klarm? W C++ nie ma $ i nie
przeszkadza to dostrzegać podobieństwo.
>> 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.
Tak, klamrami. I tyle.
Troche jak twierdzić, że wszystkie obrazy malarzy holenderskich są
podobne, bo płaskie.
>>>> "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.
Ja też go nie rozumiem. Na tym polega żart.
>> 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.
Jak to nie, przecież PHP i C++ są podobne. Ba, są nawet nieśmiałe próby
kilka akapitów wyżej, że "łatwo się między nimi przenosić". Zgadza się,
jesli zagadnieniem jest "policz sumę wszystkich liczb od 0 do 10" to
nawet można to zrobić sed'em, jak ktoś lubi sado maso.
>>> 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.
Trochę spieram się o szerkość słwoa "podobny" a nie o jego użycie. Ktoś
nieopacznie przeczyta że PHP to prawie to samo co C++ i nastepny startup
niewypali. Trzeba ostrożnie z takimi bzdurami.
>> 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.
Nie. Tylko klamry. Do tej pory padł tylko jeden argument, który okazał
się być zbiorem nazw z bibliteki standardowej. Wszystko inne jest inne,
a jeśli "podobne" to na poziomie klamrowym.
>> 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ł.
I która działa dokładnie tak samo?
https://www.php.net/manual/en/security.filesystem.nu
llbytes.php
No patrz, podobieństwo, jak zwykle, klamrowe.
> Bo PHP po prostu zmałpował wiele nazw funkcji z biblioteki standardowej C.
Żeby tylko. One działaja inaczej, bo zapomniał zmałpować całej reszty.
Innymi słowy: ktoś projektuje jezyk, ale tak strasznie stara się go
zmałpować z innego, że wychodzi coś bez większego sensu.
>> 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.
Myślę, że tak. Oczywiscie z poziomu świata dzisiaj. Wtedy mógł być
objawieniem, szczególnie przy Forth czy BCPL. Dzisiaj większośc
konstrukcji w bashu jest zaprojektowana błędnie, upierdliwie,
dziecinnie, bez śladu sensownego projektu, planu, koncepcji. Ludzie
lubią takie języki. Stąd popularnośc Perla, Basha, PHP i kilku innych.
Nie rozumiem fenomenu, ale akceptuje.
Pisanie w bashu czegokolwiek większego niż kilkanascie linijek boli co
prawda mniej, niż w Perlu, ale dalej stanowi niebezpieczeństwo wylewu
bądź detonacji istoty szarej.
Świadomośc podobnych problemów w PHP pozwoliła by nie doprowadzić do
upadku niejeden bank, choć nie mam pewności, czy autor zlinkowanego
kilka postów temu tekstu miał pojęcie co pisze. Ale zakładajmy, że miał
i PHP jest ważny w bankach.
> Nie wiem, czy PHP nie był.
Pierwsze wersja PHP były przefajne. Pamiętam nawet wykład jakiegoś
lokalnego doktoranta pokazującego na bazie PHP jak *NIE* wolno
projektować języków. Wybacz, po tylu latach wyleciało mi nazwisko z
głowy. Z resztą umierałem wtedy ze śmiechu, to jestem usprawidliwiony.
> Wszystkie te rzeczy powstawały w jakimś tam swoim kontekście,
> nie czuję się w pozycji oceniania kompetencji ich twórców.
Zgadza się. Ale wszystko podobne do C++ bo mają ify. Czy wiesz, że bash
ma klamry? Ojej! To prawie to samo.
>> 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!)
Jak już wspomniałem, mamy inną definicję "podobieństa".
To, że słoń wygląda trochę jak kura to nie znacza, że to to samo
podobieństwo co krzesła i balkonu. To różne podobieństwa.
Następne wpisy z tego wątku
- 28.10.22 15:29 Mateusz Viste
- 28.10.22 16:11 Jivanmukta
- 02.11.22 05:34 Jivanmukta
- 02.11.22 13:37 Jivanmukta
- 02.11.22 14:05 Tomasz Kaczanowski
- 02.11.22 16:00 Jivanmukta
Najnowsze wątki z tej grupy
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=
- 2024-11-08 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-11-08 zbrojone wężyki hamulcowe
- 2024-11-07 Pytanie o transformator do dzwonka
- 2024-11-07 Warszawa => Infrastructure Automation Engineer <=