🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216610

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216610
From: godek.maciek
Date: Sun, 15 Dec 2019 10:54
53 lines
7132 bytes
W dniu sobota, 14 grudnia 2019 20:02:41 UTC+1 użytkownik Maciej Sobczak napisał:
> > > W sensie - jaka jest wartość dodana tego języka Ć?
> > 
> > Sam chwilę temu pisałeś o problemach z wołaniem Javy z C# albo na odwrót.
> 
> Sam chwilę temu pisałem, że moduł napisany w C++ mogę załadować do Javy i .NETa.
> Więc jeśli celem jest napisanie takiego modułu, to wiem, jak to zrobić bez konieczności sięgania po nowe (niedopracowane?) narzędzia.
> Więc pytam, jaka jest wartość dodana, skoro bez tego narzedzia nie mam problemu z osiąganiem swoich celów.

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ę. Czyli najważniejszą cechę Javy - przenośność pomiędzy platformami - wyrzucasz do kosza.
Dodatkowo wołanie kodu natywnego jest na JVM kosztowne, i stosując je, tracisz JVMowe optymalizacje.
Więc chociażby taka.

> > > To używaj wybranego podzbioru. Wtedy taki (pod)język będzie mniej złożony.
> > 
> > Tylko skąd będę wiedział, który podzbiór jest tym właściwym?
> 
> Zapytasz na grupie dyskusyjnej? Podpatrzysz implementację innego produktu z tej samej lub zbliżonej dziedziny?
> A może przy takich poszukiwaniach niechcący nauczysz się całego języka i wtedy sam będziesz mógł taki podzbiór wybrać?

Się uśmiałem.
C++ jest językiem, którego nie ogarniają sami jego twórcy, więc nie sądzę, żeby osobie łażącej po grupach dyskusyjnych było dane nauczyć się "całego" języka.

> > Jaki konkretnie sukces osiągnął Python przed zainteresowaniem się nim przez Google?
> 
> A co w ogóle jest miarą sukcesu języka programowania? Bo skoro twierdzisz, że Python osiągnął ten sukces po inwestycji ze strony Googla, to chyba masz jakiś pogląd na to, czym ten sukces jest?

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

> > Sukces C++ wyniknął stąd, że znalazły się podmioty, które zrobiły dla niego dobre narzędzia.
> 
> Super! Dobre narzędzia to kolejny powód, żeby się tym językiem zainteresować.
> Po co tracić czas na języki, do których nie ma dobrych narzedzi?

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

> > W każdym razie clou jest takie, że rozwijanie projektu jest czymś innym, niż utrzymanie produktu.
> 
> Nie dostrzegam tego clou. Nie widzę sensu rozwijania produktu w jakimś języku, który nie będzie się nadawał do dalszego utrzymania tego produktu - chociażby dlatego, że skazałbym się na koszt przepisywania tego produktu. 

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ę. Innymi słowy, zdaniem Grahama, jeśli by wybrali inny język, to produkt albo nigdy by nie powstał, albo by przegrał. 
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ą. (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)

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) 

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

> Praktyka pokazuje, że rozwiązania tymczasowe mają zdumiewającą zdolność przetrwania, więc najlepiej ich z góry uniknąć i od razu zrobić dobrze (o ile w ogóle mamy długofalową wizję co to ma oznaczać - ale jeżeli plan jest komercyjny, to jakaś wizja najwyraźniej jest).

Jasne, że lepiej robić dobrze, niż źle, ale problem jest taki, że o tym, co w danym przypadku znaczy "dobrze", a co "źle", dowiadujemy się dopiero po fakcie.
Technical Details
Message-ID: <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com>
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!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!g89no5171260qtd.0!news-out.google.com!w29ni1501qtc.0!nntp.google.com!g89no5171253qtd.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>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:b06:: with SMTP id t6mr22994677qkg.373.1576407249330; Sun, 15 Dec 2019 02:54:09 -0800 (PST)
X-Received: by 2002:a37:274a:: with SMTP id n71mr19893674qkn.302.1576407249142; Sun, 15 Dec 2019 02:54:09 -0800 (PST)
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!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!g89no5171260qtd.0!news-out.google.com!w29ni1501qtc.0!nntp.google.com!g89no5171253qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 15 Dec 2019 02:54:08 -0800 (PST)
In-Reply-To: <322a38fa-dba9-48b8-8bc5-52c2e2ff62c4@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=83.25.234.133; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.25.234.133
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: godek.maciek@gmail.com
Injection-Date: Sun, 15 Dec 2019 10:54:09 +0000
Lines: 118
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit