🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216606

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216606
From: godek.maciek
Date: Thu, 12 Dec 2019 22:04
32 lines
4693 bytes
W dniu czwartek, 12 grudnia 2019 19:25:38 UTC+1 użytkownik Maciej Sobczak napisał:
> > 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).

Mam kolegę, który tworzy język programowania Ć:
https://github.com/pfusik/cito
Programy nim napisane można tłumaczyć do C, C++, C#, Javy, JavaScriptu, i zdaje się że nawet D i Perla.
Można użyć.

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

Być może. Nie zmienia to jednak faktu, że C++ jest językiem bardzo złożonym, i że jego złożoność w dużej mierze wynika z zaszłości historycznych, które osobę nastawioną na konkretne cele nie będą szczególnie interesować, a mogą łatwo zniechęcić.

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

Źródło sukcesu TensorFlow jest takie samo, jak źródło sukcesu Pythona, mianowicie to, że oba projekty zostały mocno doinwestowane przez firmę Google.

Zresztą to dość typowe zjawisko. Podobnie źródłem sukcesu IBM PC było to, że stała za nim firma IBM (i że ten projekt zaniedbała), a nie to, że był jakimś technicznym majstersztykiem. Podobnie C++ został mocno doinwestowany przez korporacje.

Ja znam jeszcze dwie inne historie: Viaweb Paula Grahama i Minecraft Markusa Perssona. Obie zostały napisane w różnych językach (odpowiednio: Common Lispie i Javie), a następnie wykupione za duże pieniądze przez wielkie korporacje (odpowiednio: Yahoo i Microsoft) i przepisane na C++.

Ta droga jest ważna, bo pokazuje, że C++ jest raczej językiem do 'zacementowywania' istniejących projektów, niż do dostarczania innowacji. 
Technical Details
Message-ID: <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no8590208qtd.0!news-out.google.com!w29ni1150qtc.0!nntp.google.com!g89no8590204qtd.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>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:c24f:: with SMTP id w15mr10774742qvh.66.1576188273958;        Thu, 12 Dec 2019 14:04:33 -0800 (PST)
X-Received: by 2002:ac8:745a:: with SMTP id h26mr9427353qtr.318.1576188273807; Thu, 12 Dec 2019 14:04:33 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no8590208qtd.0!news-out.google.com!w29ni1150qtc.0!nntp.google.com!g89no8590204qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 12 Dec 2019 14:04:33 -0800 (PST)
In-Reply-To: <c31c3b18-fdc5-4948-bfbb-0a51d304bf7a@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: godek.maciek@gmail.com
Injection-Date: Thu, 12 Dec 2019 22:04:33 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit