eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
    From: AK <n...@n...net>
    Newsgroups: pl.comp.programming
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    Date: Fri, 4 Jan 2019 02:00:08 +0100
    Organization: Aioe.org NNTP Server
    Lines: 73
    Message-ID: <q0mb6r$g1o$1@gioia.aioe.org>
    References: <c...@g...com>
    <f...@g...com>
    <a...@g...com>
    <7...@g...com>
    <a...@g...com>
    <6...@g...com>
    <0...@g...com>
    <a...@g...com>
    <1...@g...com>
    <e...@g...com>
    <6...@g...com>
    <1...@g...com>
    <2...@g...com>
    <5...@g...com>
    <9...@g...com>
    <q0lcv9$abq$1@gioia.aioe.org>
    <1...@g...com>
    <4...@g...com>
    NNTP-Posting-Host: MV2AClG/2c9bVI3d/hJi2Q.user.gioia.aioe.org
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 7bit
    X-Complaints-To: a...@a...org
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
    Thunderbird/60.4.0
    X-Notice: Filtered by postfilter v. 0.8.3
    Content-Language: en-GB
    Xref: news-archive.icm.edu.pl pl.comp.programming:213157
    [ ukryj nagłówki ]

    On 2019-01-03 21:51, fir wrote:
    >
    > w c taki programik nie wyglada zbyt tragicznie
    >
    >
    > int PoliczSumeParuPoczatkowychLiczbPierwszych(int ilu)
    > {
    >
    > int dodano_pierwszych =0;
    > int suma = 0;
    >
    > for(int i=0;;i++)
    > {
    > if(jest_liczba_pierwsza(i))
    > {
    > suma+=i*i;
    > dodano_pierwszych++;
    > if(dodano_pierwszych==ilu) return suma;
    > }
    > }
    > }
    >

    Jakto nie? Koszmar po prostu.

    > to ze nie wydziela on etapow na podej pierwsze, podnies do kwadratu zsumuj wynika
    raczej z tego ze
    > pisze sie to tak by dzialalo szybko.. jak ktos sie nie upiera by bylo tak szybko
    moze podzielic
    > na te fazy

    Ciezki niereformowalny betonie (zakalo tej grupy):
    Wbij sobie do twego asemblerowatego lba ze mozna i szybko i z
    eleganckim rozdzialem na etapy.
    Oczywiscie w porzdiejzych jezykach od tego syfu C/C++.
    W dodatku wcale nie funkcyjnych, bo to raczez nie stricte funkcyjnosc
    jezyka jest zrodlem sukcesu, ale cos co w C++ nie wystepuje, a zwie
    sie generateory/wyrazenia generatorowe.
    Idea znana od dziesiecioleci (ale nie Ayatollahom C/C++).

    W Pythonie wyglada ona np tak (pisane "z palca" o 15 min:):

    from itertools import count, islice

    N = 15000

    pierwsze = []
    def jest_pierwsza(liczba, pierwsze=pierwsze):
    czy_pierwsza = all(liczba % pierwsza for pierwsza in pierwsze)
    if czy_pierwsza: pierwsze.append(liczba)
    return czy_pierwsza

    pierwsze = (liczba for liczba in count(2) if jest_pierwsza(liczba))
    pierwszeN = (liczba for liczba in islice(pierwsze, N))
    kwadraty = (liczba**2 for liczba in pierwszeN)
    suma = sum(kwadraty)

    print(suma)


    No to teraz czekam palancie az usyskasz cos chocby zblizonego
    w C (w C++ jest latwiej, ale bez zewnetrzych bibliotek
    "metaprogramowania" sie nei obejdze, a i ta bedzie to potworek
    w stosunku do w/w w Pythonie.

    PS: Od lat 90tych istnieje jezyk w ktorym w/w bedzie jeszcze
    prostrze/czytelniejsze (o ktorym oczywiscie tez nie masz pojecia,
    jak kazdy"zakochany" w bitach:) i ktory wcale nie jest funkcyjny,
    ale jak najbardziej (jak i Python) imperatywny (zwal jak zwal).

    > chetnie bym zobaczyl taki kompletny progamik w tym lispie scheme czy co to tam jest

    Sam se napisz leniu i niedouku!

    AK

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: