eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › mój obfuskator - problem projektowy
Ilość wypowiedzi w tym wątku: 66

  • 51. Data: 2022-10-28 12:08:00
    Temat: Re: mój obfuskator - problem projektowy
    Od: Maciek Godek <g...@g...com>

    piątek, 28 października 2022 o 11:49:28 UTC+2 heby napisał(a):

    > >> Czy ktoś tutaj napisał, że C/C++ ma lepsze/gorsze zarządzanie pamięcią?
    > >> Ma *INNE* od PHP. Podobieństwa praktycznie nie istnieją.
    > > Jasne. Na tym polega podobieństwo: że pod jakimiś względami jest taki sam,
    > > a pod innymi względami jest inny.
    > Pod jakimi względami zarządzanie pamięcą w PHP jest podobne do C++?

    To zależy jak zarządzasz pamięcią.
    Np jeżeli programujesz w C tylko wywołując malloc i nigdy nie wywołując free,
    to podejrzewam, że taka strategia może być identyczna ze strategią zarządzaniem
    pamięcią we wczesnych wersjach PHP (czyli: cała pamięć jest zwalniana przez
    system operacyjny po zakończeniu procesu).

    Co do współczesnych wersji PHP, to jeżeli np. używasz funkcji shmop_*,
    to zarządzanie taką pamięcią niewiele się różni od tego, co byś pisał w C.

    > Pozwól że ja zacznę: PHP ma prymitywny RAII.
    > > Gdyby pod każdym względem był taki sam, to nie byłby podobny, tylko identyczny.
    > Rzecz w tym "podobny". Czy kangur jest podobny do fotela? Tak: oba
    > obiekty składają się z fermionów.
    > > Pod względem składni PHP i C są do siebie podobne.
    > Niewątpliwie należy mocno naciągnąć tą "cechę" aby uzasadnić takie
    > twierdzenia.

    Nieprawda.
    Składnia pętli for jest praktycznie identyczna. Podobnie jak pozostałe
    instrukcje sterujące (if, while, switch, do while).
    Nazwy wielu funkcji operujących na stringach są żywcem wzięte
    z biblioteki standardowej języka C.
    W PHP jest nawet funkcja "define", która została tak "zaprojektowana",
    żeby przypominać preprocesor języka C (którego wielu programistów
    używało do definiowania stałych w programie)

    > > Jak weźmiesz np. Lamborghini Diablo, i resoraka Lamborghini Diablo, to też będą
    do siebie podobne,
    > > chociaż jeden z nich będzie dużo mniejszy i nie będzie nawet miał silnika.
    > Jak by to było takie podobieństwo, to bym nie protestował.

    To jest dokładnie takie podobieństwo.
    Jedno i drugie to zabawka, tylko jedna bardziej niebezpieczna.
    Choć nawet i to jest dość pozorne, bo choć mogłoby się wydawać,
    że nikt nie będzie próbował jeździć resorakiem po prawdziwych drogach,
    programiści oczywiście zaczęli to robić, i w efekcie trudno powiedzieć,
    co jest bardziej niebezpieczne.

    > W PHP są tylko "klamry" podobne do C++. Pozostałe cechy są skrajnie
    > różne. Oba imperatywne, ale to akurat 95% języków na rynku ma tą cechę.
    > PHP to zupełnie inny język, ze składnią kradzioną nie tylko z C++ ale
    > również z wysypiska śmieci, chorych urojeń i przypadkowych pomysłów.

    Czyli z dokładnie tych samych źródeł, co C++. Kolejne podobieństwo.

    > Niewątpliwie znajdzie się tam też podobieństwo do JS, Moduli i COBOLa.
    > Wystarczy mieć odpowiednio elastyczną definicję, że jak dodawanie to "+"
    > to już podobne. Z czym nie ma problemu, wszak elastycznośc definicji
    > jest najzwyczajniej opinią.


    Dokładnie.
    Dlatego spieranie się, że coś jest "zupełnie niepodobne do czegoś innego",
    nie ma większego sensu.


  • 52. Data: 2022-10-28 12:09:13
    Temat: Re: mój obfuskator - problem projektowy
    Od: Tomasz Kaczanowski <kaczus@_wiadomo_.onet.pl>

    W dniu 28.10.2022 o 12:01, Jivanmukta napisał:
    > W dniu 28.10.2022 o 11:17, heby pisze:
    > Podobieństwa praktycznie nie istnieją.
    >>
    > Dla mnie takie cechy jak imperatywność i obiektowość to niebanalne
    > własności obu języków. Z tymi klamerkami przesadzasz.
    >

    Ale obiektowość możesz uzyskać w wielu innych językach. Jest kwestia
    tego jak jest wspierana i jak zaimplementowana.

    Inna rzecz, ze samo podobieństwo - to kwestia indywidualnej optyki. Nam
    się wydaje na przykład, że większość azjatów się od siebie nie różni, bo
    patrzymy na pewne szczególne punkty przy ocenie. Azjaci patrzą na inne i
    oni bez problemu się rozróżniają.

    --
    http://kaczus.ppa.pl


  • 53. Data: 2022-10-28 12:32:13
    Temat: Re: mój obfuskator - problem projektowy
    Od: heby <h...@p...onet.pl>

    On 28/10/2022 12:08, Maciek Godek wrote:
    > To zależy jak zarządzasz pamięcią.

    Oczywiście. Wszak w C++ można używać np. garbage collectorow. Co czyni
    go podobnym do Javy. Prawda?

    W tym tępie dojdziemy za chwilę do wniosku, że wszystkie języki
    programowania są identyczne. W końcu każdy jest turing-complete, wiec
    można emulować w każdym co tylko sobie chcesz.

    > Np jeżeli programujesz w C tylko wywołując malloc i nigdy nie wywołując free,
    > to podejrzewam, że taka strategia może być identyczna ze strategią zarządzaniem
    > pamięcią we wczesnych wersjach PHP (czyli: cała pamięć jest zwalniana przez
    > system operacyjny po zakończeniu procesu).

    Oooo właśnie. Gdyby na przykład do koparki przymocowasz szpadel zamiast
    lemiesza, to taka strategia może być bardzo podobna do Kazika z łopatą.
    Co czyni Kazika i koparkę podobnymi.

    > Co do współczesnych wersji PHP, to jeżeli np. używasz funkcji shmop_*,
    > to zarządzanie taką pamięcią niewiele się różni od tego, co byś pisał w C.

    A używasz i/lub znasz kogoś kto używa? I wiesz, że nie są do tego samego
    co malloc/new?


    >> Niewątpliwie należy mocno naciągnąć tą "cechę" aby uzasadnić takie
    >> twierdzenia.
    > Nieprawda.
    > Składnia pętli for jest praktycznie identyczna.

    Serio? W C++, który ma być ponoć podobny, jest:

    for( auto x : container) [...]

    > 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?
    Zaryzykujesz, że Java i C++ to jezyki "podobne" bo mają te same
    instrukcje co prawie każdy jezyki imperatywny?

    W takich oparach absurdu będzie cieżko znaleźc język "niepodobny". No
    chyba, że brainfuck.

    > Nazwy wielu funkcji operujących na stringach są żywcem wzięte
    > z biblioteki standardowej języka C.

    I trylion innych, niepodobnych, do obsługi stringów, z czego te podobne
    do C w zasadzie mogą być używane przez bylekogo - kwestia abi do glibc
    lub nazwania funkcji.

    > W PHP jest nawet funkcja "define", która została tak "zaprojektowana",
    > żeby przypominać preprocesor języka C (którego wielu programistów
    > używało do definiowania stałych w programie)

    Do robienia prymitywnych substytutów. #define w C jest o wiele bardziej
    skomplikowana, co nie jest, zaznaczam, ani trochę zaletą.

    >>> Jak weźmiesz np. Lamborghini Diablo, i resoraka Lamborghini Diablo, to też będą
    do siebie podobne,
    >>> chociaż jeden z nich będzie dużo mniejszy i nie będzie nawet miał silnika.
    >> Jak by to było takie podobieństwo, to bym nie protestował.
    > To jest dokładnie takie podobieństwo.

    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".

    >> W PHP są tylko "klamry" podobne do C++. Pozostałe cechy są skrajnie
    >> różne. Oba imperatywne, ale to akurat 95% języków na rynku ma tą cechę.
    >> PHP to zupełnie inny język, ze składnią kradzioną nie tylko z C++ ale
    >> również z wysypiska śmieci, chorych urojeń i przypadkowych pomysłów.
    > Czyli z dokładnie tych samych źródeł, co C++. Kolejne podobieństwo.

    "Kolega pisze na komputerze a ja długopisem. Dlatego właśnie można
    powiedzieć, że robimy to bardzo podobnie, bo oboje piszemy".

    Jesteś pewny, że rozumiesz słowo "podobieństwo" tak samo jak reszta
    ludzkości?

    >> Niewątpliwie znajdzie się tam też podobieństwo do JS, Moduli i COBOLa.
    >> Wystarczy mieć odpowiednio elastyczną definicję, że jak dodawanie to "+"
    >> to już podobne. Z czym nie ma problemu, wszak elastycznośc definicji
    >> jest najzwyczajniej opinią.
    > Dokładnie.
    > Dlatego spieranie się, że coś jest "zupełnie niepodobne do czegoś innego",
    > nie ma większego sensu.

    Nie ma, ale tu usenet a ja ciągle nie wiem gdzie PHP jest podobny do
    C++. Miałem szczerą nadzieję, że w świecie PHP, z którym zerwałem
    kontakt 20 lat temu, coś ciekawego się wydarzyło. A tu dalej "klamry,
    jak w C++". Nawet w dokumentacji takie informacje. Aż strach pomyśleć,
    jak ktoś w to uwierzy, że to "prawie jak w C++".


  • 54. Data: 2022-10-28 12:48:34
    Temat: Re: mój obfuskator - problem projektowy
    Od: heby <h...@p...onet.pl>

    On 28/10/2022 12:32, heby wrote:
    > W tym tępie

    tempie.


  • 55. Data: 2022-10-28 12:59:57
    Temat: Re: mój obfuskator - problem projektowy
    Od: Maciek Godek <g...@g...com>

    piątek, 28 października 2022 o 12:32:17 UTC+2 heby napisał(a):
    > On 28/10/2022 12:08, Maciek Godek wrote:
    > > To zależy jak zarządzasz pamięcią.
    > 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++.

    > W tym tępie dojdziemy za chwilę do wniosku, że wszystkie języki
    > programowania są identyczne.

    Raczej nie dojdziemy do tego, że są identyczne,
    w każdym razie nie bez poważnych błędów w rozumowaniu.

    > > Co do współczesnych wersji PHP, to jeżeli np. używasz funkcji shmop_*,
    > > to zarządzanie taką pamięcią niewiele się różni od tego, co byś pisał w C.
    > A używasz i/lub znasz kogoś kto używa?

    Zdarzyło mi się.

    > >> Niewątpliwie należy mocno naciągnąć tą "cechę" aby uzasadnić takie
    > >> twierdzenia.
    > > Nieprawda.
    > > 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++)

    > > 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.

    (Natomiast mniej podobne składniowo są np. Lua, Ruby czy Python)

    > 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)

    > 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.

    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

    > > W PHP jest nawet funkcja "define", która została tak "zaprojektowana",
    > > żeby przypominać preprocesor języka C (którego wielu programistów
    > > używało do definiowania stałych w programie)
    > Do robienia prymitywnych substytutów. #define w C jest o wiele bardziej
    > skomplikowana, co nie jest, zaznaczam, ani trochę zaletą.

    Owszem.

    > >>> Jak weźmiesz np. Lamborghini Diablo, i resoraka Lamborghini Diablo, to też będą
    do siebie podobne,
    > >>> chociaż jeden z nich będzie dużo mniejszy i nie będzie nawet miał silnika.
    > >> Jak by to było takie podobieństwo, to bym nie protestował.
    > > To jest dokładnie takie podobieństwo.
    > 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ś.

    > >> W PHP są tylko "klamry" podobne do C++. Pozostałe cechy są skrajnie
    > >> różne. Oba imperatywne, ale to akurat 95% języków na rynku ma tą cechę.
    > >> PHP to zupełnie inny język, ze składnią kradzioną nie tylko z C++ ale
    > >> również z wysypiska śmieci, chorych urojeń i przypadkowych pomysłów.
    > > Czyli z dokładnie tych samych źródeł, co C++. Kolejne podobieństwo.
    > "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.

    > 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.

    A Ty jak rozumiesz? (I jak rozumiesz, że reszta ludzkości rozumie?)


    > 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ą.

    > Miałem szczerą nadzieję, że w świecie PHP, z którym zerwałem
    > kontakt 20 lat temu, coś ciekawego się wydarzyło.

    Wydarzyło. W PHP5.2 wprowadzono domknięcia, w PHP7 uproszczono składnię,
    w PHP8 zdaje się usprawniono wydajność.

    > Aż strach pomyśleć, jak ktoś w to uwierzy, że to "prawie jak w C++".

    Bo co się wtedy stanie?


  • 56. Data: 2022-10-28 13:01:25
    Temat: Re: mój obfuskator - problem projektowy
    Od: Maciek Godek <g...@g...com>

    piątek, 28 października 2022 o 12:48:38 UTC+2 heby napisał(a):
    > On 28/10/2022 12:32, heby wrote:
    > > W tym tępie
    >
    > tempie.

    Tępię.


  • 57. Data: 2022-10-28 13:37:40
    Temat: Re: mój obfuskator - problem projektowy
    Od: heby <h...@p...onet.pl>

    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++.

    Algol też się chyba złapie. Ma if-y.

    >>> 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.

    Wiele języków ma iteracje po kontenerach. Czy czyni je składniowo
    podobnymi do siebie?

    A może to najzwyczajniej podstawowa jednostka każdego języka imperatywnego?

    >>> 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".

    > (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. Ku mojemu zasmuceniu, bo
    miałem nadzieję, że komisja z 7C wraz z trójką klasową, dokonali jakichś
    istotnych zmian w tym języku, co uzasadnia to twierdzenie. A tu
    "klamry". Czyli jak zwykle. Doceniam genryki w Javie, to było coś, co
    uznałbym za rewolucję, gdyby pojawiło się w PHP.

    Nie wiem, czy wiesz, aje hasło "klamry" nie wymyśliłem ja. To poprawny
    termin, oreślający cała rodzinę języków, o zupełnie różnych
    paradygmatach, budowie, zastosowaniu, których jedyną cechą wspólną jest
    {}. No i może if/for, choć nie zawsze.

    >> 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?

    >> 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).

    > 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?

    Nagle spacja "to nie słowo" ale już zarządzanie pamięcią to "prawie to
    samo co w C++". Raczysz żartować?

    >> 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.

    >> "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.
    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++. I tu i tu słowa, niektóre nawet podobne. Pikuś. To to samo.

    >> 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? Bo ja widzę podobieństwo "klamry" od samego
    początku tej dysputy. Co powoduje zamęt, no bo jak tak można? Wszak sa
    jeszcze if'y!

    > A Ty jak rozumiesz? (I jak rozumiesz, że reszta ludzkości rozumie?)

    Reszta ludzkości rozumie, że aby dysputować należy poznać stanowisko
    drugiej strony. Moje stanowisko jest takie, że poza "klamrami" nie ma w
    PHP nic podobnego do C++. Napisane bodaj w 3 poście.

    Jak na razie nie udało się znaleźc nic innego, podobnego, między C++ i
    PHP. Tylko klamry. Zaznaczam, że strcmp itd są dostępne przez abi z
    dowolnego języka, wiec cięzko mówić, że to cecha specyficzna dla 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.

    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.

    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.

    Mam do niego pewien sentyment. I liczę na to, że coś poprawili. Nie. Nie
    poprawili. Mieszają herbatę i mówią, że coraz słodsza.

    >> Miałem szczerą nadzieję, że w świecie PHP, z którym zerwałem
    >> kontakt 20 lat temu, coś ciekawego się wydarzyło.
    > Wydarzyło. W PHP5.2 wprowadzono domknięcia, w PHP7 uproszczono składnię,
    > w PHP8 zdaje się usprawniono wydajność.

    Ale to są rewolucje, poprawki na błedy czy ewolucja?

    >> Aż strach pomyśleć, jak ktoś w to uwierzy, że to "prawie jak w C++".
    > Bo co się wtedy stanie?

    Napisze w tym system bankowy, jak już w wątku padło. W końcu
    programatora PHP łatwiej trafić niż hackera od COBOLa, wiec cel
    biznesowy zasadny.


  • 58. Data: 2022-10-28 13:49:30
    Temat: Re: mój obfuskator - problem projektowy
    Od: Mateusz Viste <m...@x...invalid>

    2022-10-28 o 03:59 -0700, Maciek Godek napisał:
    > 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++)

    Niezaczepnie poprawię: foreach()
    Bardzo przyjemna sprawa swoją szosą.

    Od C++ trzymam się jak najdalej, ale coby domieszać swoje 3 gr. wtrącę
    tylko, że regularnie piszę w PHP. Prymitywnie, bo nie jestem żadnym
    web programistą, ale jednak. Jedna z cech, która bardzo mi się podoba w
    PHP to jego podobieństwo do C. W sensie, że po programowaniu w dzień w
    C mogę przesiąść się wieczorem na chwilę żeby poskrobać coś w PHP i
    czuję się "prawie jak w domu". Przy czym uściślę, że nie używam żadnego
    OOP, moje amatorskie PHP jest wyłącznie proceduralne.

    Druga fajna cecha to łatwość obsługi zapytań http w tym języku.
    Kilkanaście lat temu pisałem trochę w CGI, via C. W porównaniu do tego,
    PHP jest niesamowicie przyjaznym środowiskiem.

    Trzecia fajna cecha to fakt, że PHP jest wszędzie. I to chyba
    zamyka listę PHP-owych fajności.


    Mateusz


  • 59. Data: 2022-10-28 14:11:55
    Temat: Re: mój obfuskator - problem projektowy
    Od: Maciek Godek <g...@g...com>

    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!)


  • 60. Data: 2022-10-28 14:57:34
    Temat: Re: mój obfuskator - problem projektowy
    Od: heby <h...@p...onet.pl>

    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.

strony : 1 ... 5 . [ 6 ] . 7


Szukaj w grupach

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: