🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216614

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216614
From: godek.maciek
Date: Mon, 16 Dec 2019 20:53
70 lines
6649 bytes
W dniu poniedziałek, 16 grudnia 2019 20:02:06 UTC+1 użytkownik Maciej Sobczak napisał:
> > > Akurat C++ jest dużo bardziej przenośny, niż Java, więc nie martwi mnie to zbytnio.
> > 
> > Jeżeli Twoim targetem (np. biznesowym) jest Java, to powinno.
> 
> Nie, bo Java będzie tylko podzbiorem targetów mojego modułu.

O, ciekawe.
Ile razy w życiu napisałeś moduł w C++ który miał być wołany z Javy?

> > Język Ć jest zaś jeszcze bardziej przenośny, niż C++.
> 
> Nie. Bo jeżeli zaczynasz traktować język jako źródło do translacji, to C++ też tak można wykorzystać (nota bene, pierwszy "kompilator" C++ to był translator do innego języka). Rozsądny podzbiór C++ da się translować na dowolny inny język imperatywny, zapewne również na język Ć.
> 
> Oznacza to, że zarówno C++ jak i Ć można translować na coś innego, ale C++ można jeszcze kompilować na dowolną platformę bezpośrednio (i można robić to tak dobrze, że nie ma już motywacji do translowania C++ na inny język). Z tego wynika, że zakres zastosowań C++ jest większy, niż Ć.

Jakoś nie podążam za argumentem. Ć można użyć wszędzie tam, gdzie można użyć C++, ale także tam, gdzie nie można, czyli np. na host-agnostic JVM. I z tego wynika, że zakres zastosowań C++ jest większy, niż Ć?

> [Python]
> > W takim razie z czym byś tę popularność wiązał?
> 
> Potrzebny był nowy Perl. Python wypełnił tą niszę proponując świeższą składnię, w szczególności bardziej atrakcyjną dla początkujących.

Rzeczywiscie, konkret. "Potrzebujemy nowego Perla". "Ale co jest nie tak ze starym Perlem? Ma przepastne repozytorium modułów CPAN"

> > Sądzę, że wątpię. Python pojawił się na wykresie w roku 2001, tak więc niedługo po tym, jak Norvig zaczął go promować.
> 
> Jeżeli objawem tej promocji był wspomniany przez Ciebie artykuł napisany dla dotychczasowych fanów LISPa, to ta promocja nie miała wpływu dokładnie na nic.

Skąd wiesz?

> Z Quory (bo akurat tam mi wyskoczyło):
> 
> https://www.quora.com/Why-is-Python-so-popular-despite-being-so-slow
> 
> Na tej stronie słowa LISP i AI nie występują ani razu, więc chyba nikt z dyskutantów nie dostrzega związków Pythona z tymi dwoma.
> Jest natomiast wzmianka o zastosowaniach, które wcześniej były domeną właśnie Perla.

Wśród natłoku domorosłych teorii jedna odpowiedź się wydaje dość interesująca:

"I've been using Python since 2000, and my first contact was probably in 1998.

At that time Python was already a popular language in some circles. It was starting to see serious use as a language for system automation tasks. Some notable applications written in Python at that time included:
- The original version of the Google crawler. [...]"

> [o dostępności dobrych narzędzi]
> > Tak konkretnie to zaproponowałem dwa: Racketa i Haskella.
> 
> To jaki dobry generator kodu z UMLa polecasz, albo generatory serializatorów dla różnych standardów komunikacyjnych, albo porządny debugger (również zdalny), albo chociaż coś do automatycznej generacji dokumentacji z kodu (z diagramami)? Albo jakieś niezależne analizatory statyczne?

Jeżeli idzie o dokumentację kodu, to Racket ma Scribble i całą potężną bibliotekę do generowania grafiki - wszystko w pakiecie. Z Haskellem jest podobnie - obsługuje funkcjonalność "literate programming" prosto z pudełka, a do tego można użyć bardzo eleganckiej biblioteki do tworzenia diagramów o nazwie Diagrams.
Jeżeli idzie o statyczną analizę, to Haskell sam w sobie jest przepotężnym narzędziem do analizy statycznej, natomiast w Rackecie masz Typed/Racket oraz system kontraktów, jak również język Redex do tworzenia systemów typów.

Jeżeli idze o generowanie kodu z UMLa, to raczej stronię od UMLa i wydaje mi się to raczej umierającym wymysłem.

Jeżeli idzie o "generatory serializatorów dla różnych standardów komunikacyjnych", to nie bardzo wiem, o czym mówisz, ale w jakieś 3 sekundy znalazłem to:
https://docs.racket-lang.org/generator/index.html
i to:
https://hackage.haskell.org/package/protocol-buffers

> > można go łatwo zainstalować wraz z prostym w obsłudze IDE na najważniejszych platformach (tj. Windows, OS X i Linux)
> 
> iOS, Android? Jakiś RTOS? Bare-metal?

Nawet widziałem na Commodore 64

> A jakbym chciał dla odmiany jakieś *trudne* w obsłudze IDE, to da radę?
> Bo czasem mogę chcieć.

Oczywiście, jest wtyczka do Emacsa.
Technical Details
Message-ID: <1841b7f7-67d8-48a1-be8c-8f48c1841715@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!g89no9672628qtd.0!news-out.google.com!o19ni1095qtr.1!nntp.google.com!g89no9672623qtd.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> <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com> <5577b64d-f88c-4a32-80fd-2e5d5fd11cce@googlegroups.com> <58b7973f-e791-4d86-b35d-4af7fbefd650@googlegroups.com> <322a38fa-dba9-48b8-8bc5-52c2e2ff62c4@googlegroups.com> <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com> <0a1a7d8c-f88b-4d78-9594-1aae2b941c0e@googlegroups.com> <620e7e19-4c6c-4352-808b-b5b8a5917f2c@googlegroups.com> <650eb48f-7b9b-480f-a4c3-198431ca8a7f@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ad4:4182:: with SMTP id e2mr1323568qvp.187.1576529594071;        Mon, 16 Dec 2019 12:53:14 -0800 (PST)
X-Received: by 2002:a37:648c:: with SMTP id y134mr1384216qkb.175.1576529593875; Mon, 16 Dec 2019 12:53:13 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.ru!g89no9672628qtd.0!news-out.google.com!o19ni1095qtr.1!nntp.google.com!g89no9672623qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 16 Dec 2019 12:53:13 -0800 (PST)
In-Reply-To: <650eb48f-7b9b-480f-a4c3-198431ca8a7f@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> <9f3bbc44-70af-4f1b-a99d-c4d46908b5a8@googlegroups.com> <5577b64d-f88c-4a32-80fd-2e5d5fd11cce@googlegroups.com> <58b7973f-e791-4d86-b35d-4af7fbefd650@googlegroups.com> <322a38fa-dba9-48b8-8bc5-52c2e2ff62c4@googlegroups.com> <57af27de-5b38-4db3-888e-4a3e196a22e1@googlegroups.com> <0a1a7d8c-f88b-4d78-9594-1aae2b941c0e@googlegroups.com> <620e7e19-4c6c-4352-808b-b5b8a5917f2c@googlegroups.com> <650eb48f-7b9b-480f-a4c3-198431ca8a7f@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1841b7f7-67d8-48a1-be8c-8f48c1841715@googlegroups.com>
Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: godek.maciek@gmail.com
Injection-Date: Mon, 16 Dec 2019 20:53:14 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit