eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzym jest programowanie?Re: Czym jest programowanie?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Czym jest programowanie?
    Date: Fri, 15 Jun 2012 00:41:40 +0200
    Organization: Netia S.A.
    Lines: 74
    Message-ID: <jrdph6$38r$1@mx1.internetia.pl>
    References: <4fce791d$0$26684$65785112@news.neostrada.pl>
    <jqn67e$339$1@inews.gazeta.pl>
    <4fcf21e7$0$1308$65785112@news.neostrada.pl>
    <jqn7ut$eur$1@inews.gazeta.pl> <jqnla2$9un$1@inews.gazeta.pl>
    <y2ia1qc4thf8$.hnbv89yzd18u$.dlg@40tude.net>
    <jqnnmi$mcn$1@inews.gazeta.pl> <jqsj08$tgo$1@mx1.internetia.pl>
    <jqurbn$34$1@inews.gazeta.pl>
    <7...@g...com>
    <g...@s...invalid> <jr51r9$9oi$1@inews.gazeta.pl>
    <f...@v...googlegroups.com>
    <jr57bu$9g7$1@inews.gazeta.pl>
    <e...@g...com>
    <f...@g...com>
    <jr6ur2$lo2$1@inews.gazeta.pl>
    <c...@g...com>
    <a...@g...com>
    <jrb8hh$rkf$1@mx1.internetia.pl>
    <0...@g...com>
    <jrddju$t7n$1@mx1.internetia.pl>
    <a...@g...com>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1339713894 3355 83.238.197.12 (14 Jun 2012 22:44:54 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Thu, 14 Jun 2012 22:44:54 +0000 (UTC)
    In-Reply-To: <a...@g...com>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
    Icedove/8.0
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.comp.programming:197931
    [ ukryj nagłówki ]

    On 14.06.2012 21:49, Wojciech Muła wrote:
    > W dniu czwartek, 14 czerwca 2012 21:18:20 UTC+2 użytkownik Michoo napisał:
    >> On 14.06.2012 12:31, Wojciech Mu�a wrote:
    >>> W dniu czwartek, 14 czerwca 2012 01:39:27 UTC+2 u�ytkownik Michoo napisa�:
    >>> A to co, jak nie podanie explicite zakresu dost�pu.
    >> Sposobu dost�pu - warto�� czy referencja (czy brak).
    >
    > Ale po co? Gdy wprowadzasz nowy zakres (np. ifem) to nie
    > musisz pisać jaki będzie sposób dostępu do zmiennych
    > z zewnętrznych zakresów.
    Ale tego ifa nie możesz wyekspediować w inne miejsce. To znaczy właśnie
    w formie lambdy możesz, więc musisz powiedzieć jaki ma bagaż ze sobą zabrać.

    [] - kompilator zapewni, że nie weźmie lokalnego kontekstu
    [=] - skopiuje użyte zmienne
    [&] - weźmie przez referencję

    W ten sposób problem:
    utwórz funktory, które "wiedzą" w której iteracji je wywołano i
    jednocześnie współdzielą kontekst można zapisać jako
    {
    zmiene współdzielone;
    for(int i=0;i<max_it;i++){
    ...
    [&,iteration](){...};
    ...
    }
    wywoływanie lambd

    >
    >>> O tym pisa�em, �e programista *musi* przy definicji
    >>> ustali�, do czego funkcja ma dost�p.
    >> Zarzucasz, �e je�yk daje za du�e mo�liwo�ci programi�cie zamiast
    >> ograniczy� si� do jedynej s�usznej wersji? No bez jaj...
    >
    > Sorry, ale to klepanie 3 znaków bez sensu. :)
    No nie bez sensu. Dzięki tym trzem znakom to programista a nie twórcy
    języka decydują jak się dana lambda zachowa.

    W javie masz na przykład możliwość przekazania tylko zmiennej final,
    więc żeby np przekazać do "lambdy" [1] stringa, który może zostać
    zmodyfikowany pomiędzy utworzeniem obiektu a jego użyciem musisz tego
    stringa zapakować w klasę - tam to dopiero jest pisania (albo
    programiści, którym się nie chce robić dodatkowej klasy robią numery
    pokroju:
    list<String> l1 = new ArrayList<String>();
    l1.add("some string");
    final list<String> l2 = l1;
    new clas ...
    l2.get(0);
    ...
    l2.set(0,"other string");

    a to dopiero zaciemnia zapis.
    )

    [1] Czyli klasy/implementacji interface inline.
    >
    >>> BTW funkcje anonimowe s� og�lnie przereklamowane.
    >> Uwa�am, �e s� wygodne:
    >> [...]
    >
    > Nie twierdzę, że niewygodne, jednak sama idea mnie nie
    > porywa, nawet w ukochanym pythonie nie używam dla onlinerów.
    >
    > BTW jestem ciekaw, jak wygląda debuggowanie takich
    > anonimowych cudaków.
    Na gcc generuje symbole postaci:
    _ZNSt8functionIFivEEC2IZ3foovEUlvE_EET_NSt9enable_if
    IXntsrSt11is_integralIS4_E5valueENS1_8_UselessEE4typ
    eE


    --
    Pozdrawiam
    Michoo

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: