Article View: pl.comp.programming
Article #216637Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: bartekltg
Date: Wed, 08 Jan 2020 10:12
Date: Wed, 08 Jan 2020 10:12
37 lines
4268 bytes
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-mailReferences:
<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