🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216605

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216605
From: Maciej Sobczak
Date: Thu, 12 Dec 2019 18:25
19 lines
3208 bytes
> C++ to język, na którym niestety łatwo się sparzy.

Albo odniesie sukces, podobny do wielu innych sukcesów w C++.

> A jego nieuniknioność to raczej mit.

Z tego co zrozumiałem, kolega chce zrobić jakiś algorytm. Więc zapewne będzie chciał, żeby jego implementacja była możliwa do użycia w jak największej liczbie różnych kontekstów - czy to poprzez pluginy, czy jako biblioteki do załadowania w innym języku, itp. Najpowszechniejszym formatem takich modułów są biblioteki z interfejsem w C, najlepiej bez narzucania się z obcym run-timem (np. ładowanie modułu w Javie do programu w .NET to głupi pomysł, ale moduł w C++ można załadować zarówno do Javy jak i do .NET).

Nieuniknioność C++ wynika z tego, że spełniając te warunki, jest jednocześnie dobrze znanym a w porównaniu do gołego C ma dodatkowe cechy, które sprawiają, że w takich właśnie zastosowaniach jest obiektywnie lepszy.

> Jest np. firma tradingowa Jane Street, która do swoich zastosowań wymagających duźej wydajności używa języka OCaml. A Mozilla konsekwentnie zastępuje C++a w Firefoxie Rustem

Brawo oni. Ale uwaga: nie da się tych rzeczy wykorzystać gdzie indziej, więc nie nadają się do komercjalizacji same z siebie.

Kontrprzykład: TensorFlow, chyba najpowszechniej wykorzystywany framework do machine learningu, jest napisany w C++. Dzięki tym cechom, o których napisałem powyżej, większość ludzi korzystających z tego np. w Pythonie nawet o tym nie wie. I nie musi.
I właśnie to jest źródłem sukcesu tego frameworku.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <c31c3b18-fdc5-4948-bfbb-0a51d304bf7a@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no8050883qtd.0!news-out.google.com!w29ni1141qtc.0!nntp.google.com!g89no8050874qtd.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>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:4b93:: with SMTP id y141mr9952442qka.205.1576175136885;        Thu, 12 Dec 2019 10:25:36 -0800 (PST)
X-Received: by 2002:a05:6214:5ac:: with SMTP id by12mr9472776qvb.74.1576175136661; Thu, 12 Dec 2019 10:25:36 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!g89no8050883qtd.0!news-out.google.com!w29ni1141qtc.0!nntp.google.com!g89no8050874qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 12 Dec 2019 10:25:36 -0800 (PST)
In-Reply-To: <47282e96-b356-43ba-89d3-ed0561bc1d30@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c31c3b18-fdc5-4948-bfbb-0a51d304bf7a@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Thu, 12 Dec 2019 18:25:36 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit