-
X-Received: by 2002:aed:37c6:: with SMTP id j64mr19342152qtb.364.1575754739873; Sat,
07 Dec 2019 13:38:59 -0800 (PST)
X-Received: by 2002:aed:37c6:: with SMTP id j64mr19342152qtb.364.1575754739873; Sat,
07 Dec 2019 13:38:59 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.
stu.neva.ru!g89no4187500qtd.0!news-out.google.com!w29ni454qtc.0!nntp.google.com
!g89no4187488qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-f
or-mail
Newsgroups: pl.comp.programming
Date: Sat, 7 Dec 2019 13:38:59 -0800 (PST)
In-Reply-To: <a...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.25.234.133;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.25.234.133
References: <e...@g...com>
<f...@g...com>
<a...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1...@g...com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: g...@g...com
Injection-Date: Sat, 07 Dec 2019 21:39:00 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:214519
[ ukryj nagłówki ]W dniu sobota, 7 grudnia 2019 21:44:27 UTC+1 użytkownik osobliwy nick napisał:
> W dniu sobota, 7 grudnia 2019 20:58:32 UTC+1 użytkownik g...@g...com napisał:
> > W dniu piątek, 6 grudnia 2019 23:25:56 UTC+1 użytkownik osobliwy nick napisał:
> > > Chcę rozwiązywać równania typu:
> > >
> > > a*2^(x+y)+b*g^y = 1
> > >
> > > rozszerzonym algorytmem euklidesa dla losowych x+y=128, będących liczbami
naturalnymi z zerem. Czy ktoś ma pomysł jak ustalić ile to może średnio zająć
komputerowi dla całkowitego "g" wynoszącego powiedzmy
> > > 5?
> >
> > Tak. Napisać program i to zmierzyć.
> >
> > (Jeżeli dziedzina jest mała, to można sobie stabelaryzować wynik, i wówczas
"wyliczenie" zajmie tyle, ile wydobycie danych z tablicy.)
> >
> > > Dodam tylko, że nie umiem programować, więc nie jestem w stanie napisać sobie
żadnych testów (dopiero rozważam zlecenie napisania komuś programu).
> >
> > A dlaczego nie rozważysz "nauczenia się programowania"?
> > Brzmi to dość górnolotnie, ale nauczenie się jakiegoś języka w stopniu
umożliwiającym Ci realizację rzeczy, o które pytasz, raczej nie zajmie Ci więcej
czasu, niż napisanie takiego posta.
>
> Chodzi to za mną od dawna, ale to osobny temat. Miałem podstawy C na studiach, ale
zapomniałem właściwie wszystkiego, nie byłem też szczególnie zdolnym studentem,
jednocześnie nie miałem też szczególnie zdolnych prowadzących zajęcia (a to wiem od
kolegów przybyłych do nas z Politechniki, studiujących jednocześnie inne kierunki,
którzy krytykowali sposób nauczania na moim kierunku). W ostatnich latach zaś każdą
wolną chwilę poświęcałem na naukę czegoś zupełnie innego - rynków finansowych i
tradingu. I tak odkładałem to programowanie przez lata. Jednocześnie już na etapie
analizy i testowania strategii tradingowych potrzebowałem... tak - umieć programować.
Zleciłem wówczas dosyć szerokie testy i napisanie różnych programów pewnemu
programiście. Ostatecznie zderzyliśmy się z teorią chaosu i efektem motyla - bo
wykresy kursów łudząco przypominają błądzenie losowe (proces Wienera) i jest masa
naukowych teorii i modeli traktująca o efektywności rynków finansowych i zachowaniu
się kursu. Naiwni wtedy byliśmy, ale przynajmniej zyskałem fajnego znajomego.
>
> Wracając do tematu. Może to jest ten moment. Na pewno masz rację, że powinienem to
zrobić. Zwłaszcza, że poznałem z czym to się je i jakieś tam programy kilka lat temu
nawet pisałem (na studiach i po nich). A już nie pierwszy raz zlecam komuś pisanie
jakiegoś programu. Kiedyś zleciłem napisanie programu, który będzie poszukiwał liczb
Crandalla, które nie będą liczbami Wieferich (problem z zakresu matematyki
teoretycznej). Potrafiłem zostawić komputer odpalony na tydzień czasu, bo wzór, który
to liczył przebiegał po ogromnej liczbie wariacji wielu zmiennych. Niczego niestety
nie znalazłem.
>
> Dzisiaj jednak mam inne już nieco dalej idące plany. Docelowo chcę założyć firmę,
startup, która ma stworzyć program szyfrujący (na podstawie zaproponowanego przez
mnie algorytmu) i opatentować to rozwiązanie, czy to w postaci implementacji, czy
ogólnie algorytmu. Nie sądzę, że będę w stanie zrealizować ten plan samodzielnie,
jako początkujący programista. Tutaj potrzeba ludzi, którzy robią to od lat, a
najlepiej takich z doświadczeniem w kryptografii. I wobec konieczności zlecenia
napisania takiego programu (a na początek testów), czy stworzenia całego
oprogramowania, uczenie się programowania samodzielnie jest trochę jak zakładanie
własnego zespołu kolarskiego i jednoczesne uczenie się jazdy na rowerze. Wiadomo, że
prezes, czy sponsor zespołu sam nigdy na takiej kolarzówce nie będzie się tam ścigał
razem z zawodnikami, jak bardzo by się nie starał.
Jest taka książka, "Od dobrego do wielkiego", w której pojawia się koncepcja
"przywódcy 5 poziomu". Dziwne nazwy na bok, chodzi o to, że autor przeanalizował
wiele firm, które odniosło spektakularny sukces, i mu wyszło, że najlepsi przywódcy
byli ekspertami w dziedzinie, w której działała firma.
(Może brzmi to trywialnie, ale wiele firm zatrudnia jako liderów "etatowych
menadżerów", którzy "znają się tylko na zarządzaniu" i mają bardzo niewielką wiedzę
dziedzinową).
W moim odczuciu programowanie dobrze uczy trzeźwości w odfiltrowywaniu magicznego
myślenia od tego, co jest rzeczywiście możliwe do wykonania.
Zwłaszcza te pytania, które zadajesz, po prostu się proszą o to, żebyś to sprawdził
samodzielnie. To dobry pretekst, żeby przysiąść i odświeżyć sobie wiedzę ze studiów.
To jest naprawdę na wyciągnięcie ręki.
Co do "niezbyt zdolnych prowadzących zajęcia", to nie jest to dobra wymówka.
Ja większości zajęć z polibudy też nie wspominam jakoś rewelacyjnie - na
uniwersytecie studiowało mi się dużo przyjemniej (zwłaszcza filozofię, ale nawet na
infie nie było tak źle).
Ale to na polibudzie mieliśmy jednego profesora, który w kółko mówił, że "albo ktoś
jest samoukiem, albo nieukiem". Nikt Cię niczego nie nauczy. Sam musisz się nauczyć.
Dobry nauczyciel może tylko stworzyć okazję do zainteresowania się przedmiotem.
Dlatego - jasne - dobrze by było, żebyś znalazł sobie jakiegoś magika od
optymalizacji programu pod konkretny sprzęt, bo tutaj jest dużo szczególików, których
nie powinieneś musieć poznawać. Ale napisanie programu w C czy chociaż Pythonie
powinieneś mieć w małym palcu, bo to są proste rzeczy.
Python nawet wspiera duże liczby, więc w przeciwieństwie do C nie jesteś ograniczony
rozmiarem rejestrów.
Następne wpisy z tego wątku
- 08.12.19 20:24 Maciej Sobczak
- 11.12.19 04:24 osobliwy nick
- 11.12.19 04:40 osobliwy nick
- 11.12.19 12:53 g...@g...com
- 11.12.19 20:46 Maciej Sobczak
- 11.12.19 21:47 g...@g...com
- 12.12.19 09:59 Roman Tyczka
- 12.12.19 19:25 Maciej Sobczak
- 12.12.19 23:04 g...@g...com
- 13.12.19 21:06 Maciej Sobczak
- 13.12.19 22:37 g...@g...com
- 14.12.19 02:44 osobliwy nick
- 14.12.19 02:58 osobliwy nick
- 14.12.19 09:01 Mateusz Viste
- 14.12.19 11:10 g...@g...com
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-02 Fotowoltaika - inwerter - jakie ficzery?
- 2024-05-01 1902 Clement Gerrard
- 2024-05-01 Białystok => Inżynier DevOps (Kubernetes, AWS) <=
- 2024-05-01 Berlin => IT Network Engineer <=
- 2024-05-01 Poznań => Java Developer <=
- 2024-05-01 Wrocław => AI Specialist <=
- 2024-05-01 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-01 Kraków => Senior Rust Software Engineer <=
- 2024-05-01 Gdańsk => Senior PHP Developer (Symfony) <=
- 2024-05-01 Trzecia płeć 2
- 2024-05-01 Lublin => Java Full Stack Developer (AI area projects) <=
- 2024-05-01 Lublin => Java Full Stack Developer (projekty w obszarze AI) <=
- 2024-05-01 twardy dysk stuka
- 2024-04-30 Oclenie alkalicznych akumulatorów
- 2024-04-30 Zniknął dźwięk na tylnym panelu