🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217831

Re: mój obfuskator - problem projektowy

#217831
From: heby
Date: Fri, 28 Oct 2022 10:32
93 lines
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-mail
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>

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