🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216611

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216611
From: Maciej Sobczak
Date: Sun, 15 Dec 2019 22:38
53 lines
6573 bytes
> Jeżeli idzie o Javę, to obawiam się, że korzystając z Twojej metody będziesz się musiał sam martwić o to, żeby przeportować i utrzymywać swój moduł na każdą interesującą Cię platformę.

Akurat C++ jest dużo bardziej przenośny, niż Java, więc nie martwi mnie to zbytnio.

> Czyli najważniejszą cechę Javy - przenośność pomiędzy platformami - wyrzucasz do kosza.

Mój moduł będzie przenośny nawet na te platformy, na których JVM w ogóle nie da się zrobić. Problem więc jest dokładnie odwrotny - decydując się na pisanie takiego modułu pod kątem Javy, ograniczyłbym sobie ilość docelowych platform. To brzmi głupio, ale faktycznie, wielu ludzi właśnie tak się z własnej woli ogranicza.

> Dodatkowo wołanie kodu natywnego jest na JVM kosztowne,
> i stosując je, tracisz JVMowe optymalizacje.

Akurat doświadczenie z wydajnością czegokolwiek podpowiada mi, że mój moduł będzie wtedy i tak najszybszą częścią takiego składaka. Więc znowu nie martwiłbym się tym zagadnieniem.

> C++ jest językiem, którego nie ogarniają sami jego twórcy,

Nie szkodzi. Ważne, że ogarnęli go twórcy wszystkich tych projektów, które w C++ odniosłu sukces - a które nawet sam tutaj przytoczyłeś.

> Tak. W przypadku języków programowania sukcesem jest popularność.
> I jeżeli spojrzysz na rankingi popularności, to z łatwością dostrzeżesz, że Python zaczął się na nim pojawiać w okolicach 2000-2001 roku.
> Czyli mniej więcej w czasie kiedy kierownik działu badań w Googlu napisał ten tekst: https://norvig.com/python-lisp.html

Nie wiązałbym tej popularności z tym konkretnie artykułem. Przypuszczam nawet, że jeśli ktoś nie interesował się LISPem, to na ten artykuł w ogóle nie trafił.

Guido został zatrudniony w Google'u w 2005. Python był już wtedy bardzo dobrze rozpoznawalny, w top 10 (https://www.youtube.com/watch?v=Og847HVwRSI). I raczej nie był to efekt jakiegoś artykułu napisanego dla fanów LISPa.

> Ale C++ nie jest jedynym językiem, dla którego istnieją dobre narzędzia.

Tak. Ale nie zaproponowałeś żadnego innego, który by ten warunek spełniał.

> Paul Graham swego czasu pisał dużo na temat wyboru Common Lispu do swojego start-upu. Jego zdaniem to właśnie użycie tego języka dawało im przewagę nad konkurencją, bo mogli bardzo szybko dodawać do swojego produktu nowe ficzery, tym samym prześcigając konkurencję.

Dokładnie tak samo tłumaczą swoje wybory wszyscy inni, którzy osiągnęli jakiś sukces.
Co płynnie przenosi nas do wniosku, że wybór języka może być drugorzędny:

> I podejrzewam, że Graham ma w tym przypadku rację - bo koniec końców to jego produkt. I nawet jeżeli ocena języka programowania jest subiektywna, to jeżeli ktoś na przykład czerpie frustrację z używania jakiegoś języka, to raczej trudno się spodziewać, żeby zaszedł w nim dalej od kogoś, kto używa swojego języka z przyjemnością.

To prawda. Ale ponieważ powstało wiele produktów, które osiągnęły sukces, to może być też tak, że istotnym składnikiem sukcesu nie jest wybór języka, tylko entuzjazm do jego używania.

> (I z dotychczasowych wypowiedzi wynika, że Osobliwy Nick nie był szczególnie zadowolony z C++, więc pewnie w jego przypadku warto rozejrzeć się za jakimiś alternatywami)

Z dotychczasowych wypowiedzi wynika, że w ogóle nie był zadowolony ze swoich osiągnięc programistycznych, więc na dzień dzisiejszy chyba każdy język startuje z równej pozycji. Ale jeżeli składnik subiektywny ma odegrać istotną rolę, to tego oczywiście nie rozstrzygniemy. Osobliwy sam musi to zrobić.

> Natomiast w tej historii to nie Graham i nie Persson poniósł koszty przepisywania, tylko - odpowiednio - Yahoo i Microsoft. Z tego co wiem, autorzy kodu byli raczej zadowoleni z transakcji, a przepisanie go na C++ było czymś, co miało sens z perspektywy nabywców (a dlaczego tak było? Bo może mieli u siebie zatrudnionych wielu doświadczonych programistów C++, w związku z czym przepisanie kodu na ten język miało dla nich sens) 

Mogło tak być. Czyli kierował nimi entuzjazm.
Ale skoro ostatecznie osiągnęli sukces, to najwyraźniej nie była to zła decyzja.

> Dlatego jeśli miałbym wybierać pomiędzy tym, czy projekt ma być zrealizowany, a tym, czy do realizacji projektu mam użyć C++, i nigdy go nie ukończyć, to raczej bym się nie zastanawiał.

Ale nie ma przesłanek do twierdzenia, że w C++ byś go nie ukończył. To raczej pachnie uprzedzeniami.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <0a1a7d8c-f88b-4d78-9594-1aae2b941c0e@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no6779290qtd.0!news-out.google.com!w29ni1545qtc.0!nntp.google.com!g89no6779279qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <f7034d01-5d38-40c6-8342-c911e426a20d@googlegroups.com> <72e58de1-0684-4e65-8e2e-9fb4edbb9172@googlegroups.com> <1796d3fc-8036-488e-8346-c5073aab2b5d@googlegroups.com> <a0f802d0-fb07-43d9-9d76-9ea33f556ed9@googlegroups.com> <d2cf63a5-4776-439f-a5a7-c028764e6b33@googlegroups.com> <47282e96-b356-43ba-89d3-ed0561bc1d30@googlegroups.com> <c31c3b18-fdc5-4948-bfbb-0a51d304bf7a@googlegroups.com> <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com> <5577b64d-f88c-4a32-80fd-2e5d5fd11cce@googlegroups.com> <58b7973f-e791-4d86-b35d-4af7fbefd650@googlegroups.com> <322a38fa-dba9-48b8-8bc5-52c2e2ff62c4@googlegroups.com> <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:acc2:: with SMTP id n2mr23756650qvc.225.1576449529072;        Sun, 15 Dec 2019 14:38:49 -0800 (PST)
X-Received: by 2002:ac8:6887:: with SMTP id m7mr22263370qtq.298.1576449528851; Sun, 15 Dec 2019 14:38:48 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no6779290qtd.0!news-out.google.com!w29ni1545qtc.0!nntp.google.com!g89no6779279qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 15 Dec 2019 14:38:48 -0800 (PST)
In-Reply-To: <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <f7034d01-5d38-40c6-8342-c911e426a20d@googlegroups.com> <72e58de1-0684-4e65-8e2e-9fb4edbb9172@googlegroups.com> <1796d3fc-8036-488e-8346-c5073aab2b5d@googlegroups.com> <a0f802d0-fb07-43d9-9d76-9ea33f556ed9@googlegroups.com> <d2cf63a5-4776-439f-a5a7-c028764e6b33@googlegroups.com> <47282e96-b356-43ba-89d3-ed0561bc1d30@googlegroups.com> <c31c3b18-fdc5-4948-bfbb-0a51d304bf7a@googlegroups.com> <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com> <5577b64d-f88c-4a32-80fd-2e5d5fd11cce@googlegroups.com> <58b7973f-e791-4d86-b35d-4af7fbefd650@googlegroups.com> <322a38fa-dba9-48b8-8bc5-52c2e2ff62c4@googlegroups.com> <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0a1a7d8c-f88b-4d78-9594-1aae2b941c0e@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Sun, 15 Dec 2019 22:38:49 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit