eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › sortowanie
Ilość wypowiedzi w tym wątku: 567

  • 291. Data: 2012-10-17 20:00:29
    Temat: Re: sortowanie
    Od: PK <P...@n...com>

    On 2012-10-16, slawek <h...@s...pl> wrote:
    > Lubisz grać w gry które cię nie bawią? Może jakieś historie z dzieciństwa
    > nam opowiesz?

    Chodzi o to, że w gry się nie tylko gra. "Gra" nie oznacza tylko formy
    rozrywki. Tak jak "Chińczyk" nie oznacza tylko pewnej gry. Matematycy
    nazywają "grami" pewne problemy/modele - głównie dlatego, że te modele
    wywodzą się od "gier" rozumianych jako rozrywka.

    Nie każda gra musi być rozrywką. Np. profesjonalny poker to po prostu
    praca, ale nadal jest grą. Rosyjska ruletka też jest grą :).

    pozdrawiam,
    PK


  • 292. Data: 2012-10-17 20:20:18
    Temat: Re: sortowanie
    Od: PK <P...@n...com>

    On 2012-10-16, slawek <h...@s...pl> wrote:
    > Kod MS Windows BYŁ dość ładny. Ale jaki jest teraz? Pewnie też względnie
    > przyzwoity. Podobnie /dobre/ programy dla Linuksa itd.

    Ja nie wiem jaki ten kod BYŁ i jaki JEST, bo nie jestem pracownikiem MS.
    Chodzi wyłącznie o to, że w przypadku kodu pisanego przez
    profesjonalistów istnieją jakieś teoretyczne podstawy sugerujące, że
    najpewniej jest dobrej jakości. W przypadku programów pisanych przez
    amatorów trzeba po prostu mieć nadzieję, że zrobili to dobrze.

    > Tym bardziej dziwi, że newbie myślą iż przez syfiaste pisanie byle czego
    > załapią się na światową czołówkę.

    Ja nie wiem co sobie myślą "newbie". Ludzie po prostu coś piszą
    i publikują. Robią to tak jak potrafią najlepiej. Niestety czasem
    człowiek potrzebuje jakiegoś programu i jest skazany na takie niepewne
    źródło.

    > Nie łapię twojej logiki. Ale cóż, nie każdego trolla da się zrozumieć.

    No to wyjaśnię. Jest sobie jakiś w miarę duży program. Nowe wersje
    pojawiają się co kilkanaście dni. I pewnego dnia jedna aktualizacja
    wychodzi powiedzmy o 10:42, a druga o 16:21. Umiesz mi podać jakiś powód
    tej sytuacji poza tym, że kod nie był przetestowany (i albo jest to
    cofnięcie do poprzedniej wersji albo wrzucenie "poprawnego")?

    > (BTW, MS wszystko testuje i co? Średnio co 2 dni jest nowy "niezbędny" patch
    > per system.)

    Windows jest dużym systemem i dużo robi (bo jest zunifikowany, czyli
    zapewne nikt nie wykorzystuje wszystkich funkcji). Jeśli uzbroisz sobie
    dowolny inny OS (oczywiście aktywnie rozwijany) do takiego poziomu, to
    też będziesz miał poprawki co 2 dni.

    Ja mam dość skromnego Arch'a (naprawdę mało programów - okroiłem ile
    się dało). Ale jest to system z "rolling release", do tego z bardzo
    aktywną grupą developerów. W efekcie jakieś poprawki pojawiają mi się
    każdego dnia. Jak przez weekend nie odpalam kompa, to w poniedziałek
    mam do ściągnięcia z 500MB :).
    Ale te poprawki oczywiście nie są obowiązkowe - tak jak patche od MS
    nie są niezbędne. Jak masz ochotę, to możesz na Windows XP bez
    ServicePacków siedzieć i nikt Cię za to nie napadnie w zaułku :).

    pozdrawiam,
    PK


  • 293. Data: 2012-10-17 20:22:15
    Temat: Re: sortowanie
    Od: PK <P...@n...com>

    On 2012-10-16, slawek <h...@s...pl> wrote:
    > Komu jest potrzebny szybki zły generator?

    Komuś kto generuje bardzo dużo liczb i nie przeszkadzają mu
    wady prostych rozwiązań.

    > Pytanie nie wymaga odpowiedzi, podobnie jak: "kto lubi zegarki Pobieda?"

    Ale dobra odpowiedź istnieje, więc została zaprezentowana.

    pozdrawiam,
    PK


  • 294. Data: 2012-10-17 20:26:35
    Temat: Re: sortowanie
    Od: PK <P...@n...com>

    On 2012-10-16, slawek <h...@s...pl> wrote:
    > Ale rozumiesz różnicę pomiędzy cytowaniem a plagiatem?

    Jeśli autor wkleja treść i zamieszcza informację o źródle, to nazywamy
    to cytowaniem.

    Jeśli informacja o źródle się nie pojawia, to jest to plagiat.

    O ile dobrze widzę, to dyskusja rozpoczęła się od jakiegoś uczestnika,
    który napisał "korzystam z biblioteki Marka Cygana". Czyli zacytował
    lub przytoczył.

    > Studenci rżną wszystko co nie jest przybite gwoździkami. Niektórym to nawet
    > gwoździki nie przeszkadzają.

    Masz takie pojęcie o studentach jak o interpunkcji w języku polskim :).

    pozdrawiam,
    PK


  • 295. Data: 2012-10-17 20:43:29
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-16 22:30, PK pisze:
    > On 2012-10-16, bartekltg <b...@g...com> wrote:
    >> http://www.cplusplus.com/reference/std/random/
    >>
    >> Bardzo się z tego cieszę;)
    >
    > No ja też, ale bez przesady. Przez te 10 lat zdążyłem napisać
    > lub znaleźć biblioteki robiące to samo, ale fajnie, że się wreszcie
    > ogarnęli. Nie skróci mi to czasu kodowania, ale skróci tłumaczenie innym
    > / pisanie dokumentacji.

    Jest też sansza, że taki generator zostanie dopieszczony
    i będzie ciut szybszy.


    >> A co do szybkości rand - nieraz do 'pierdółek'
    >> przydałby się szybszy:)
    >
    > Jak Ci zależy na szybkości, to zrób to, co ludzie robią od dziesiątek
    > (no... setek) lat. Przygotuj sobie randomy wcześniej :).

    W tym wątku to by się właśnie nie sprawdziło.
    Robiłem testy iluś tam sortowań dla różnych
    parametrów i długości tablicy.

    Oczywiście, 40e6 intów zostało wygenerowane na dzień dobry,
    a potem tylko kopiowane do drugiej tablicy i ta testowana.
    Jednak zajmowało to swoje sekundy. Jak widać, porządne
    własności nie są tu potrzebne zypełnie.

    Pewnie jakby mi bardzo zależało, wygenerowałbym
    ciągi długości, powiedzmy 3491 i 3499 i brał
    z nich cykliczną sumę (modulo zakres).



    > Kiedyś trzeba było je kupić i przesyłać (początkowo w kopercie ;P).

    A ci od kopert wytwarzali je kostkami do gry;)

    > Teraz wystarczy puścić na kilka godzin jakiś bardzo dobry generator
    > (albo zły, ale odpowiadający Twoim potrzebom) i masz spokój.
    > Do testów i jakichś prostych zastosowań ideał, bo zazwyczaj i tak używa
    > się stałego seed'a, a wszystko przyspiesza kilkukrotnie.

    > Jeśli Twoje programy robią jakieś skomplikowane obliczenia między
    > losowaniami, to można puścić oddzielny proces z RNG (i np. bufor
    > na RAMdisk'u). Wtedy to randomy czekają na program, a nie odwrotnie :).

    Jak leci jakieś MC i obliczana funkcja jest ciężka obliczeniowo,
    koszt radoma jest proporcjonalnie mały. Ale pomysł wart zapamiętania.

    > Poza tym sprzętowe generatory są już na tyle tanie i małe, że pewnie
    > niedługo po prostu trafią do kompów jako kolejny "ficzer" na płycie
    > głównej albo doklejone do CPU/GPU.


    O ile będą odpowiednio wydajne. W sensie ciągłej
    produkcji, a nie zbuforowania megabajta losowych danych.

    pzdr
    bartekltg






  • 296. Data: 2012-10-17 22:28:30
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 17.10.2012 Edek Pienkowski <e...@g...com> napisał/a:
    >> Nie mam pojęcia co przyświecało "geniuszowi" który postanowił
    >> zaoszczędzić na pamięci rejestrów, przecież gdyby to były fizycznie
    >> osobne komórki pamięci w procesorze, to nie byłoby żadnych problemów z
    >> tym związanych.
    >
    > Rejestr to nie jest komórka pamięci. To znaczy może masz generalnie
    > rację, ale to nie jest takie proste. Na wszystkim większym od jakiegoś
    > małego Atomka istnieje "register rename", "retire unit", i pozostałe
    > elementy pipeline, a z tego wynika, że rejestr o ile w ogóle
    > istnieje jako komórka pamięci (jedna lub w ogóle) to łączy się z całą
    > architekturą wokoło. Być może MMX/FPU są prościej zaimplementowane,
    > być może też jest to historyczna naleciałość - nawet nie wiedziałem.

    Z technicznego punktu widzenia rejestr to taka sama pamięć jak RAM czy
    cache, a że nie jest podpięty do szyny adresowej i że jego
    szyna danych jest podpięta pod inne komponenty, to już inna
    bajka, tak po prostu jest w przypadku x86, ale już na przykład w
    niektórych procesorach RISC (choćby takie małe Atmegi z rdzeniem AVR)
    rejestry są jak najbardziej adresowalne. Takie pierdoły jak "register
    rename" wynikają z prostego faktu, że nawet tanie mikrokontrolery za
    20zł mają 32 ortogonalne rejestry (nawet Amiga 30 lat temu miała
    16 rejestrów 32-bitowych, choć nie w pełni ortogonalnych) a Intel robi
    "wielką rewolucję" że w 64-bitowej maszynie raptem dodaje 8
    dodatkowych rejestrów do 4 już istniejących (reszta to indeksowe i
    segmentowe) i tylko dlatego, że AMD to zrobiło wcześniej, więc trzeba
    było "dogonić" konkurencję :D

    Pipeline? W 1996 roku na studiach programowałem procesor
    SparcUltra, który (pomijając że w pełni 64-bitowy) wykonywał dwie
    instrukcje w jednym cyklu zegara i trzeba było uważać jak się pisało
    programy w assemblerze, bo jak się po CALL _adres nie dało instrukcji
    NOP, to drugi potok mógł zdążyć wykonać instrukcję za "CALL" zanim się
    skok wykonał :D Nie daj się złapać na Intelowski marketing, tam po
    prostu wewnętrznie siedzi "normalny" RISC na którym chodzi
    "interpreter" x86 tylko po to, żeby że tak powiem API procesora było
    zgodne w dół (zresztą Intel sam oficjalnie twierdzi, że nie jest to
    procesor hardwired, tylko działa na zasadzie mikrokodu :D).

    Programowałem w swoim życiu w assemblerze na kilkanaście różnych
    architektur, od małych mikrokontrolerów, które nie miały nawet pamięci
    RAM (jedyną pamięcią było 16 rejestrów, nawet stosu nie było,
    architektura harvardzka, program w pamięci EPROM), do
    wieloprocesorowych maszyn SunMicrosystems (EP10000 z 32 dwurdzeniowymi
    64-bitowymi, wielopotokowymi procesorami na pokładzie :D) i przyznam
    szczerze, że moim zdaniem dwa najgorzej zaprojektowane procesory z
    jakimi miałem do czynienia, to rodzina Zilog Z80 i rodzina Intel
    x86 (no i mój własnego projektu 6-bitowy procesor zbudowany na
    układach TTL, ale to inna bajka, po pół roku pracy cieszyłem się, że w
    ogóle ruszył, a zainspirował mnie projekt www.homebrewcpu.com :D)

    Podejrzewam (to tylko hipoteza), że w momencie gdy AMD zaczęło
    stanowić poważną konkurencję dla Intela (na samych początkach Intel
    współpracował z AMD i nawet zlecał im niektóre projekty :D), to trzeba
    było wymyśleć jakiś chwyt marketingowy i wymyślili MMX,
    zaimplementowali te instrukcje w mikrokodzie i wykorzystali rejestry
    FPU aby nie trzeba było hardware modyfikować :D No a potem zgodnie z
    filozofią pełnej zgodności wstecz, ta niedoróbka ciągnie się do
    dzisiaj (AMD miało odwagę zrezygnować z 3DNow! :D).

    > W każdym razie takie eax na pewno istnieje w asm i jako zapisany
    > przed context switchem stan (czy w core), ale istnienia fizycznego
    > dawno nikt nie udowodnił. Asm definiuje maszynę a procesor ją
    > implementuje, ale ma wolną rękę jak to robi.

    Definiuje to specyfikacja a nie assembler, assemblerów na dany
    procesor może być bardzo wiele i nie mam tu na myśli samych programów
    assemblujących czy mnemoniki rozkazów tylko kod maszynowy. Na
    przykład w procesorach zrealizowanych na bazie układów FPGA można w
    trakcie pracy zmieniać ich architekturę (nie poprzez podmianę
    mikrokodu, tylko fizycznie zmienić konfigurację bramek logicznych!).

    "Nikt nie widział eax" bo pewnie nikt do środka nie zaglądał :D A tak
    na serio, to Intele nie są procesorami tzw. hardwired (takie są na
    przykład ARM-y, AVR-y itd.) tylko mają prosty rdzeń i mikrokodem
    załatwiają resztę :D W sumie mogliby udostępnić możliwość ładowania
    własnego mikrokodu, wtedy każdy mógłby stworzyć swój assembler (choć
    od takich rzeczy, to akurat układy FPGA są lepsze :D).


  • 297. Data: 2012-10-18 01:33:43
    Temat: Re: sortowanie
    Od: Andrzej Jarzabek <a...@g...com>

    On 17/10/2012 19:20, PK wrote:
    >
    > Chodzi wyłącznie o to, że w przypadku kodu pisanego przez
    > profesjonalistów istnieją jakieś teoretyczne podstawy sugerujące, że
    > najpewniej jest dobrej jakości.

    Jakie?!?


  • 298. Data: 2012-10-18 02:30:54
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 17.10.2012 PK <P...@n...com> napisał/a:
    > On 2012-10-16, slawek <h...@s...pl> wrote:
    >> Kod MS Windows BYŁ dość ładny. Ale jaki jest teraz? Pewnie też względnie
    >> przyzwoity. Podobnie /dobre/ programy dla Linuksa itd.
    >
    > Ja nie wiem jaki ten kod BYŁ i jaki JEST, bo nie jestem pracownikiem MS.

    Kod Win95 jest tu: http://jola.comm.pl/wst_g/ekstra.htm :D


    > Chodzi wyłącznie o to, że w przypadku kodu pisanego przez
    > profesjonalistów istnieją jakieś teoretyczne podstawy sugerujące, że
    > najpewniej jest dobrej jakości. W przypadku programów pisanych przez
    > amatorów trzeba po prostu mieć nadzieję, że zrobili to dobrze.

    Profesjonalista od amatora różni się tym, że profesjonalista bierze
    kasę za to, co amator robi dla samej pasji. Poza tym moim zdaniem nie
    ma innej różnicy, są "profesjonaliści" piszący beznadziejny kod i są
    "amatorzy" piszący bardzo dobry kod. Czy istnieje jakaś statystyka
    tego nie wiem. Sam zaczynałem jako "amator" w wieku kilkunastu lat
    pisząc proste gierki i intra na Commodore C64, a kilka lat później
    były studia informatyczne, zarówno jedno jak i drugie dało mi bardzo
    wiele :D

    >
    >> Tym bardziej dziwi, że newbie myślą iż przez syfiaste pisanie byle czego
    >> załapią się na światową czołówkę.
    >
    > Ja nie wiem co sobie myślą "newbie". Ludzie po prostu coś piszą
    > i publikują. Robią to tak jak potrafią najlepiej. Niestety czasem
    > człowiek potrzebuje jakiegoś programu i jest skazany na takie niepewne
    > źródło.

    Jeśli dla ciebie "gwarancją" jest fakt, że jakiś produkt powstał w
    komercyjnej firmie, to niestety ale jedyny przypadek udzielania
    gwarancji przez producenta jaki znam, to system TeX autorstwa Donalda
    Knutha - jakby nie patrzeć, to produkt amatorski (w tym sensie, że
    napisany na własne potrzeby i nie w celach zarobkowych, choć autor to
    fachowiec z górnej półki), reszta producentów wręcz zastrzega w
    licencjach, że "nie odpowiadają za żadne szkody wynikłe z użytkowania
    programu" :D Już widzę, jak na przykład Microsoft uwzględnia
    roszczenia gwarancyjne z powodu działania systemu niezgodnie ze
    specyfikacją :D

    Między teorią i praktyką potrzebny jest balans. Newbie czasem myślą,
    że studiowanie teorii to "marnowanie czasu na akademickie pierdoły" a
    spotkałem też teoretyków, którzy wykładają na uniwerkach inżynierię
    oprogramowania a sami nie napisali nigdy kodu dłuższego niż 1000 linii
    :D


    >> Nie łapię twojej logiki. Ale cóż, nie każdego trolla da się zrozumieć.
    >
    > No to wyjaśnię. Jest sobie jakiś w miarę duży program. Nowe wersje
    > pojawiają się co kilkanaście dni. I pewnego dnia jedna aktualizacja
    > wychodzi powiedzmy o 10:42, a druga o 16:21. Umiesz mi podać jakiś powód
    > tej sytuacji poza tym, że kod nie był przetestowany (i albo jest to
    > cofnięcie do poprzedniej wersji albo wrzucenie "poprawnego")?

    Czasem autor nie jest w stanie przetestować wszystkiego (chociażby na
    różnorodność sprzętową komputerów), wypuszcza coś, ktoś zgłasza błąd,
    że "w takiej to a takiej sytuacji na takim to i takim
    komputerze/systemie itd. pojawia się błąd X", jeśli to prosta do
    usunięcia usterka, to autor poprawia błąd i wypuszcza poprawioną
    wersję jeszcze tego samego dnia (a czasem błędy są typu nieprawidłowe
    ustawienie zależności w samym pakiecie czy literówka w komunikatach
    wyświetlanych przez program), nie rozumiem co w tym złego, że autor
    programu/pakietu poprawia to na bieżąco i od razu udostępnia.


    >> (BTW, MS wszystko testuje i co? Średnio co 2 dni jest nowy "niezbędny" patch
    >> per system.)
    >
    > Windows jest dużym systemem i dużo robi (bo jest zunifikowany, czyli
    > zapewne nikt nie wykorzystuje wszystkich funkcji). Jeśli uzbroisz sobie
    > dowolny inny OS (oczywiście aktywnie rozwijany) do takiego poziomu, to
    > też będziesz miał poprawki co 2 dni.

    A czasem jest tak, że znana powszechnie "dziura" w Windowsach zostaje
    załatana dopiero po kilku miesiącach :D Zarówno amatorzy jak i
    profesjonaliści (czy wielkie firmy) popełniają błędy, różnica polega
    na tym, że o kolejnych wersjach w przypadku projektów amatorskich
    decydują programiści, a w przypadku produktów komercyjnych często
    decydują "księgowi" (na zasadzie "rynek się nasycił, sprzedaż spada,
    czas wypuścić kolejną wersję Windowsa" :D).


    > Ja mam dość skromnego Arch'a (naprawdę mało programów - okroiłem ile
    > się dało). Ale jest to system z "rolling release", do tego z bardzo
    > aktywną grupą developerów. W efekcie jakieś poprawki pojawiają mi się
    > każdego dnia. Jak przez weekend nie odpalam kompa, to w poniedziałek
    > mam do ściągnięcia z 500MB :).

    Uczepiłeś się Arch'a, a czemu na przykład nie poruszysz przykładu typu
    kernel linuxa, GCC, PostgreSQL i nie porównasz tego z kernelem
    Windowsa, Internet Explorerem, MS SQL Serverem itd. :) A jeśli nie
    podoba Ci się Arch, to wypróbuj Git-a :D


    > Ale te poprawki oczywiście nie są obowiązkowe - tak jak patche od MS
    > nie są niezbędne. Jak masz ochotę, to możesz na Windows XP bez
    > ServicePacków siedzieć i nikt Cię za to nie napadnie w zaułku :).

    Mam znajomych, którzy administrują serwerami z bazami MS SQL Server,
    zawsze jak się pojawia poprawka, to "ciągną zapałki" kto pierwszy łatę
    zainstaluje i przetestuje, czy się system nie wyłoży :D To jest
    niestety urząd, minister rozpisał przetarg, wygrało rozwiązanie oparte
    na produktach Microsoftu i wszystkie urzędy marszałkowskie mają
    obowiązek tego używać (nazwy firmy nie wymienię, powiem tylko, że ich
    systemy chodzą też w PKO BP :D)


  • 299. Data: 2012-10-18 11:07:55
    Temat: Re: sortowanie
    Od: "slawek" <h...@s...pl>

    Użytkownik "PK" napisał w wiadomości grup
    dyskusyjnych:s...@n...notb-home.
    ..

    >Jeśli autor wkleja treść i zamieszcza informację o źródle, to nazywamy
    >to cytowaniem.

    Jeżeli np. wkleisz treść biblioteki IMSL do swojego programu i zamieścisz
    informację o źródle, to nie będzie to cytowanie, ale po pierwsze akt
    piractwa komputerowego, a po drugie akt beznadziejnej głupoty (zakładając,
    że nie masz wykupionej licencji).

    Aby uznać coś za cytat muszą być spełnione rozmaite warunki - samo podanie
    źródeł nie wystarcza. W przypadku zwykłych utworów (poezja, proza, muzyka,
    film) ważne jest m.i. jak długi jest fragment i jak się ma on do dzieła w
    którym był zacytowany. W przypadku programów komputerowych - o, to ciekawe,
    bo są jeszcze potężne różnice prawne UE/USA itd. Normalnie niezbyt mnie to
    obchodzi (kto komu nadepnął na patentowy odcisk), ale w przypadku konkursu
    mającego być wcieleniem zasady fair play... no cóż, budzi poważne
    wątpliwości.

    >O ile dobrze widzę, to dyskusja rozpoczęła się od jakiegoś uczestnika,
    >który napisał "korzystam z biblioteki Marka Cygana". Czyli zacytował
    >lub przytoczył.

    Problem leży w tym, że dwóch uczestników (nazwijmy ich A i B) użyło jako
    rozwiązania tego co zrobił trzeci z uczestników (nazwijmy go C) TEGO SAMEGO
    KONKURSU.

    Czyli de facto jeżeli dostali wysokie noty - to po części za umiejętność
    copy-paste z tego co zrobił lider.


  • 300. Data: 2012-10-18 11:28:36
    Temat: Re: sortowanie
    Od: "slawek" <h...@s...pl>

    Użytkownik "PK" napisał w wiadomości grup
    dyskusyjnych:s...@n...notb-home.
    ..

    >i publikują. Robią to tak jak potrafią najlepiej. Niestety czasem
    >człowiek potrzebuje jakiegoś programu i jest skazany na takie niepewne
    >źródło.

    To trochę jak z piciem alkoholu z Czech lub zajadaniem się grzybami
    niewiadomego pochodzenia.

    Niektórzy tak robią i żyją. Inni tak zrobili i nie żyją.

    >No to wyjaśnię. Jest sobie jakiś w miarę duży program. Nowe wersje
    >pojawiają się co kilkanaście dni. I pewnego dnia jedna aktualizacja
    >wychodzi powiedzmy o 10:42, a druga o 16:21. Umiesz mi podać jakiś powód
    >tej sytuacji poza tym, że kod nie był przetestowany (i albo jest to

    Jednym z uzasadnień mogłoby być usuwanie równolegle dwóch błędów - gdy
    usunięto jeden z nich pojawił się patch z 10:42, gdy usunięto drugi ten z
    16:21. Niekoniecznie musi być tak, że nad programem siedzi jeden PK i sam
    wszystko robi, każdą łatę "tymi ryncami".


strony : 1 ... 20 ... 29 . [ 30 ] . 31 ... 40 ... 57


Szukaj w grupach

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: