Article View: pl.comp.programming
Article #217831Re: mój obfuskator - problem projektowy
From: heby
Date: Fri, 28 Oct 2022 10:32
Date: Fri, 28 Oct 2022 10:32
93 lines
6096 bytes
6096 bytes
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++".
Technical Details
Message-ID:
<tjgb3e$31ke4$3@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader01.eternal-september.org!.POSTED!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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.onet.pl> Newsgroups: pl.comp.programming Subject: Re: mój obfuskator - problem projektowy Date: Fri, 28 Oct 2022 12:32:13 +0200 Organization: A noiseless patient Spider Lines: 94 Message-ID: <tjgb3e$31ke4$3@dont-email.me> 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> MIME-Version: 1.0 Injection-Date: Fri, 28 Oct 2022 10:32:14 -0000 (UTC) Injection-Info: reader01.eternal-september.org; posting-host="758fd47d21ac65228da440c0da78f4f9"; logging-data="3199428"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19YCo1JwUBwf4OrRVriSV/v" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Cancel-Lock: sha1:Bb3MDFrQzwX1eBdDZMPDhathAeI= In-Reply-To: <90bbce43-c979-43da-aa26-9397596021c6n@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit