🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216637

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216637
From: bartekltg
Date: Wed, 08 Jan 2020 10:12
37 lines
4268 bytes
On Saturday, December 14, 2019 at 2:58:02 AM UTC+1, osobliwy nick wrote:
> > 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ć.
> 
> No własnie zniechęciłem się nieco do tego języka, z drugiej jednak strony tak jak pisał kolega, widzę, że jest on uniwersalny, dużo firm w tym programuje. Ale już na wstępie pisząc swój pierwszy program w C++ napotykam schody, bo tak jak pisałem w poprzednim wątku chcę robić przykładowo obliczenia na liczbach 128-bitowych. I już jest problem, bo C++ nie obsługuje takich liczb. Są biblioteki, ale najpierw trzeba je znaleźć, później zainstalować, po drodze pełno niuansów. Pamiętam jak próbowałem kiedyś to zrobić - i nie udało się. Pobrałem biblioteki, ale programy mi ich nie czytały.

Boost. Praktycznie wszystko, co potrzebujesz, jest w booscie. 
Nie zawsze najlepsze, np do macierzy wolę eigen niż boostowe macierze,
ale jest.

W innych językach jets tak samo. Nie masz bibliotek numerycznych w samym 
pythonie, masz numpy i scipy. Różne biblioteki cześciowo pokrywające to samo. 
Różnica jest w obsłudze tych bibliotek/pakietów. W pythonie jest to
przyjemnijesze, masz osobny manager. W c++ najcześćeij robisz to z poziomu
OSa, robias sudo apt install :)


Wracając do boosta, masz tam int128, float 128, oraz większe liczby.
Dowolna długość/prcyzja w ich iomplementacji i w wersji GMP/mpfr,
jeśli je zainstalujesz. 
 
> Ten Python mnie przekonuje. Słyszałem, że to łatwy i przystępny język. Wspiera duże liczby, tak jak napisał Godek. Jest popularny, więc pewnie łatwo znajdę materiały na jego temat. Co więcej widziałem w kilku pracach matematycznych, że był używany do obliczeń. Wówczas mnie to zdziwiło, bo sądziłem, że to taki prosty, ograniczony język, a jednak chyba nie.

Zdecydowanie nei jest ograniczony. I do obliczeń się nadaje.
Ale nie do wszystkich. Jeśli głownie odpalasz procedury z bibliotek,
jakieś numpy czy biblioteki do uczenia maszynowego, jest super 
(a to wiekszosć obliczeń naukowych). Ale pisząc algorytm od zara
na skalarach, będzie koszmarnie wolne. 
(BTW, nie to, że w C++ nalezy pisać ręcznie zamiast uzywac bibliotek. 
Skichasz się a nie napiszesz czegoś równei szybkiego jak MKL:))

Wiec jak zawsze, dobór języka zależy od potrzeb i zadania.

Do wielokrotnego odpalenia eulidesa brałbym jednak coś kompilowalengo,
jak c++.

pzdr
bartekltg
Technical Details
Message-ID: <62b150e0-7d47-4a05-bb96-2de90839ce3c@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!weretis.net!feeder7.news.weretis.net!news.mixmin.net!aioe.org!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!g89no11510887qtd.0!news-out.google.com!w29ni250qtc.0!nntp.google.com!g89no11510879qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <3f0063af-d630-412c-bfaa-aaa8ba52d818@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:10a7:: with SMTP id h7mr3437507qkk.423.1578478341678;        Wed, 08 Jan 2020 02:12:21 -0800 (PST)
X-Received: by 2002:ac8:134d:: with SMTP id f13mr2797185qtj.318.1578478341541; Wed, 08 Jan 2020 02:12:21 -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!weretis.net!feeder7.news.weretis.net!news.mixmin.net!aioe.org!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!g89no11510887qtd.0!news-out.google.com!w29ni250qtc.0!nntp.google.com!g89no11510879qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 8 Jan 2020 02:12:21 -0800 (PST)
In-Reply-To: <3f0063af-d630-412c-bfaa-aaa8ba52d818@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:a311:403b:c080:45c:a545:9b50:150e; posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
NNTP-Posting-Host: 2a02:a311:403b:c080:45c:a545:9b50:150e
References: <ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <3f0063af-d630-412c-bfaa-aaa8ba52d818@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <62b150e0-7d47-4a05-bb96-2de90839ce3c@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: bartekltg <bartekltg@gmail.com>
Injection-Date: Wed, 08 Jan 2020 10:12:21 +0000
X-Received-Bytes: 4711
X-Received-Body-CRC: 1179188937
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit