eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPorównanie różnych języków
Ilość wypowiedzi w tym wątku: 151

  • 71. Data: 2011-12-18 02:59:41
    Temat: Re: Porównanie różnych języków
    Od: A.L. <l...@a...com>

    On Sat, 17 Dec 2011 09:20:47 +0000, Andrzej Jarzabek
    <a...@g...com> wrote:

    >On 17/12/2011 03:07, A.L. wrote:
    >> On Sat, 17 Dec 2011 01:20:59 +0000, Andrzej Jarzabek
    >> <a...@g...com> wrote:
    >[...]
    >>> Nie. W szczególności np. w extreme programming jest wprost powiedziane,
    >>> że wymyśla to ktoś nie będący programistą. Jeśli kolega kiedyś zechce
    >>> dowiedzieć się czegoś o tym, proponuję na początek zapoznać się z
    >>> hasłami "on-site customer" (lub "customer representative") i "product
    >>> owner". Oczywiście jeśli kolega nadal woli się wypowiadać w tematach, o
    >>> których nie ma pojęcia, to będzie to niekonieczne - w takiej sytuacji
    >[...]
    >> I co?.. .Ta dokumentacja stoi na polce a programisci robia swoje? BEz
    >> cztrania dokumentacji? I programuja na podsatwie objawinia Ducha
    >> Swietego?...
    >
    >Nie potrzeba objawienia Ducha Świętego, skoro są product owner i on-site
    >customer.

    Ze co?... Jak to bedzie po polsku?...

    A.L.


  • 72. Data: 2011-12-18 10:27:56
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 18/12/2011 02:59, A.L. wrote:
    > On Sat, 17 Dec 2011 09:20:47 +0000, Andrzej Jarzabek
    > <a...@g...com> wrote:
    >
    >>> I co?.. .Ta dokumentacja stoi na polce a programisci robia swoje? BEz
    >>> cztrania dokumentacji? I programuja na podsatwie objawinia Ducha
    >>> Swietego?...
    >>
    >> Nie potrzeba objawienia Ducha Świętego, skoro są product owner i on-site
    >> customer.
    >
    > Ze co?... Jak to bedzie po polsku?...

    Nie mam pojęcia, czy istnieje jakaś terminologia po polsku. Jeśli
    koledeze te hasła nic nie mówią, to proponuję przeczytać na ten temat,
    like, cokolwiek - będziemy mogli faktycznie podyskutować o tym, czy to
    dobry, czy niedobry pomysł.


  • 73. Data: 2011-12-18 10:41:42
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 18/12/2011 02:58, A.L. wrote:
    >
    >> Jeśli chodzi o opis działania samego algorytmu, to programiści dysponują
    >> znakomitym narzędziem właśnie do tego, jakim są wysokopoziomowe języki
    >> programowania.
    >
    >
    > Dupy zawracanie. Oczywiscie, latwo bedzie odcyfrowac taka rzecz jak
    > "algorytm pivotingu" algorytmu Simplex przegladajac 150 tysiecy linii
    > C jego implemenatcji.

    Nie powiedziałbym, że C jest szczególnie dobrym przykładem języka
    wysokiego poziomu. Co do przeglądania tysięcy linii kodu, to po to w
    języku (nawet w C) są mechanizmy abstrakcji, żeby to nie było konieczne.

    > Drodzy Panowie, znow obracacie sie kolo paradygmatu "bazki danych
    > szlauchow i kaloszy" i "systemow" pisanych pzrez jednego programiste w
    > pare wieczorow. Jeszcze raz: w duzych projektach programista nei
    > rozmawia z klientem, w ogole nie widzi go na oczy, a "klient" to nie
    > pojedyncza osoba a duza na ogol organizacja.

    XP nie jest metodą tworzoną pod kątem jednego programisty piszącego dla
    jednego klienta przez kilka dni. Jest zaprojektowany pod kątem zespołu z
    6-12 programistami, tworzącego oprogramowanie dla klientów
    instytucjonalnych przy czasie trwania projektu liczonym co najmniej w
    miesiącach.

    > Bez odpowiedniej
    > formalizacji procesu projektowania i dokumentowania wymagan dla
    > programisty ow programista nei mialby zielonego pojacia co
    > programowac, a projekt skutkowalby tym samym czym skutkowala proba
    > bucowy Wiezy Babel

    Otóż jednak istnieją inne sposoby na to, żeby programista miał pojęcie.


  • 74. Data: 2011-12-18 10:50:27
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 18/12/2011 02:24, Roman W wrote:
    > On Dec 18, 1:36 am, Andrzej Jarzabek<a...@g...com>
    > wrote:
    >> On 17/12/2011 20:02, Roman W wrote:
    >>> Systemu jako calosci? Czyli jednak dokumentacja.
    >>
    >> Systemu jako całości lub danego kawałka. Wiedza to nie jest to samo, co
    >> dokumentacja.
    >
    > Dokumentacja to sformalizowana, usystematyzowana wiedza.

    Ale nie jest to jedyny sposób na sformalizowanie i usystematyzowanie
    wiedzy. Kod programu i jego testów też bardzo często można sformułować
    tak, żeby był równie dobrym, sformalizowanym i usystematyzowanym zapisem
    wiedzy. Agile mówi, że w takich przypadkach lepiej poświęcić trochę
    więcej czasu na takie zapisanie kodu, niż na tworzenie dokumentacji.

    >>> Ale to opisuje wycinek systemu.
    >>
    >> Łącznie wszystkie te opisy opisują cały system. Tak samo jak z
    >> dokumentacją wymagań zresztą: składa się zwykle z jakichś rozdziałów,
    >> które opisują wycinki systemu.
    >
    > Wiesz, rownie dobrze mozna by argumentowac, ze rozsypana na podlodze
    > kupka srubek i sprezynek to jest tak jak zegarek, bo i to i to sklada
    > sie z jakichs srubek i sprezynek. Ale jakos jedno powie mi ktora
    > godzina, a drugie nadaje sie tylko do zmiecenia szczotka.

    W XP wszystko od razu powstaje w kontekście tego, gdzie ma być użyte, bo
    masz TDD i YAGNI. To, że w ogóle ktoś się zabiera za pisanie jakiegoś
    kawałka programu wynika z tego, że wcześniej określono, że taki kawałek
    jest potrzebny, do czego jest potrzebny, co ma robić, i zapisano tę
    wiedzę w testach.

    >> Jednak nie tylko przechodzący kilka testów, bo jego forma się bierze
    >> stąd, że programista _rozumie_ co program ma robić, a nie z tego, że
    >> widział kod testów i dostaje zadanie napisania kodu je przechodzącego.
    >
    > To co widzial? mial objawienie? czy moze cos, gasp, przeczytal?

    Jeszcze raz: rozmawiał z OSCR, który mu to wytłumaczył.


  • 75. Data: 2011-12-18 11:04:17
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 18/12/2011 02:25, Roman W wrote:
    > On Dec 18, 1:46 am, Andrzej Jarzabek<a...@g...com>
    > wrote:
    >>
    >>> Otóż ja mam taki defekt[*], że jak ktoś coś do mnie mówi, to już po
    >>> kilku minutach nie pamiętam, o czym mówił na początku. Radzę sobię z
    >>> krótką listą zakupów, ale dłuższe opisy mi się urywają.
    >>
    >> Sprzedam ci niezły patent: notatki.
    >
    > Jezeli Koles A przelewa wiedze do glowy kolesia B, to czesto lepiej
    > jest, zeby forme pisemna wiedzy nadal koles A, bo on sie w tym lepiej
    > orientuje niz B. Dlatego na studiach oprocz notatek miales rowniez
    > podreczniki i konspekty.

    No to przecież w XP również kolesie A produkują formę pisemną, w postaci
    np. user stories.

    Jeśli chodzi o różnicę między wykładem na studiach a programowaniem w
    reżimie XP, to zauważ, że w drugim przypadku kontakt jest znacznie
    bardziej bezpośredni - masz np. parę programistów, którzy potrzebują
    czegoś wiedzieć, więc idą do OSCR, który im tłumaczy, rysuje, oni
    dopytują, on im coś rysuje na flipcharcie, oni rysują na flipcharcie i
    pytają czy jest tak, czy śmak i tak dalej, aż programiści nie poczują,
    że wystarrczająco rozumieją problem, żeby napisać kod. Zauważ też, że
    sam fakt, że programiści bezpośrednio po takiej sesji będą musieli
    wyprodukować kod stanowi jakiś test tego, że zrozumieli to, co było im
    tłumaczone.


  • 76. Data: 2011-12-18 11:44:50
    Temat: Re: Porównanie różnych języków
    Od: Roman W <b...@g...pl>

    On Dec 18, 11:04 am, Andrzej Jarzabek <a...@g...com>
    wrote:
    > Jeśli chodzi o różnicę między wykładem na studiach a programowaniem w
    > reżimie XP, to zauważ, że w drugim przypadku kontakt jest znacznie
    > bardziej bezpośredni - masz np. parę programistów, którzy potrzebują
    > czegoś wiedzieć, więc idą do OSCR, który im tłumaczy, rysuje, oni
    > dopytują, on im coś rysuje na flipcharcie, oni rysują na flipcharcie i
    > pytają czy jest tak, czy śmak i tak dalej, aż programiści nie poczują,
    > że wystarrczająco rozumieją problem, żeby napisać kod. Zauważ też, że
    > sam fakt, że programiści bezpośrednio po takiej sesji będą musieli
    > wyprodukować kod stanowi jakiś test tego, że zrozumieli to, co było im
    > tłumaczone.

    Ja tu widze kilka praktycznych problemow:
    - co robia programisci, kiedy OSCR jest chory/poszedl na urlop i nie
    ma zastepstwa?
    - co sie robi w sytuacji, kiedy OSCR jest, well, glabem? jezeli mam
    problem z dokumentem (jest niekompletny, niejasny, zawiera
    sprzecznosci) moge go w miare bezpiecznie skrytykowac. Jezeli moim
    biezacym zrodlem wiedzy jest czlowiek przyslany przez klienta, to
    napisanie maila "X nie rozumie o co biega w projekcie/nie umie
    wyjasnic o co biega" jest politycznie trudniejsze niz napisanie
    "dokumentacja jest niekompletna, prosze uzupelnic", bo krytykujesz
    osobe a nie rzecz.
    - bez formalnej dokumentacji jest trudniej sledzic, na jakim etapie
    kto zazyczyl sobie zmian w projekcie, kto odpowiada za dane
    rozwiazanie, itd. OSCR moze na flipczarcie narysowac programistom cos
    co mu akurat przyszlo do glowy, programisci zuzyja X roboczogodzin na
    implementacje jego fantazji, a kiedy kupka uderzy w wiatraczek, to
    OSCR sie moze wyprzec ze kiedykolwiek o tym mowil - bo przeciez nikt
    nie bedzie lazil do OSCR z dyktafonem w kieszeni, nie?

    RW


  • 77. Data: 2011-12-18 11:45:55
    Temat: Re: Porównanie różnych języków
    Od: Roman W <b...@g...pl>

    On Dec 18, 2:58 am, A.L. <l...@a...com> wrote:
    > On Sun, 18 Dec 2011 01:36:16 +0000, Andrzej Jarzabek
    > Dupy zawracanie. Oczywiscie, latwo bedzie odcyfrowac taka rzecz jak
    > "algorytm pivotingu" algorytmu Simplex przegladajac 150 tysiecy linii
    > C jego implemenatcji.

    *Ile* linii? Sa tak dlugie implementacje tego algorytmu?

    RW


  • 78. Data: 2011-12-18 11:52:26
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 17/12/2011 22:51, Maciej Sobczak wrote:
    > On Dec 17, 4:58 pm, Andrzej Jarzabek<a...@g...com>
    > wrote:
    >
    >> Tak, generalnie polega to na tym, że programista rozmawia z OSCR tak
    >> długo, żeby zrozumieć co program ma robić,
    >
    > I to jest właśnie problem tej metodologii, bo zakłada ciągłość tego
    > procesu.
    >
    > Otóż ja mam taki defekt[*], że jak ktoś coś do mnie mówi, to już po
    > kilku minutach nie pamiętam, o czym mówił na początku. Radzę sobię z
    > krótką listą zakupów, ale dłuższe opisy mi się urywają.
    >
    > [*] Z obserwacji wynika, że nie tylko ja mam ten defekt. Akurat mamy
    > weekend - stań przed jakimś kościołem i zapytaj wychodzących ludzi o
    > czym było kazanie. Pamiętaj, że wszyscy słuchali tego samego, ale
    > zapytaj kilka różnych osób.
    > Dobre, nie?
    >
    > Pytanie: jak długa jest rozmowa z tym - jak mu tam - OSCR, żeby
    > przekazać równoważnik kilkuset stron tekstu? Krócej, niż kazanie, czy
    > dłużej?

    Ale moment, ty to sobie wyobrażasz na zasadzie "kazanie" - programiści
    siadają wszyscy w sali i klient im mówi od początku do końca jak program
    ma działać, po czym bierze walizeczkę i idzie do domu?

    W takiej sytuacji mogę tylko powiedzieć, że po prostu niee zrozumiałeś,
    o co chodzi. On-site customer polega właśnie na tym, że pracuje razem z
    zespołem, siedzi razem z zespołem w godzinach pracy i jeśli programiści
    nie wiedzą jak coś konkretnie powinno działać, to idą i on im mówi. To
    może równie dobrze trwać dwie minuty.

    Ze szczegółowymi wymaganiami robi się tak, że rozbija się na małe
    kawałki, tzw "user stories". Potem te stories się planuje i konkretni
    programiści zajmujący się akurat implementacją konkretnej story
    rozmawiają z OSRC na temat tego jak program ma działać we fragmencie
    związanym z tą właśnie story.

    >> a jeśli nie jest w stanie
    >> zrozumieć czy ewentualne zachowanie jest prawidłowe, czy nie, to
    >> rozmawia z OSCR jeszcze trochę.
    >
    > No właśnie.
    > Otóż zaletą metodologii "dokumentacyjnych" jest to, że kiedyś,
    > ostatecznie, *można się rozejść*. Bo nawet jeśli się odbiorcy się
    > urwał wątek, to może sobie do niego wrócić we własnym zakresie i nie
    > potrzebuje "rozmawiać z OSCR jeszcze trochę".

    Jak "rozejść"? Jakiemu odbiorcy? Nie bardzo rozumiem, co masz na myśli.
    On-site customer representative reprezentuje twojego klienta
    (zewnętrznego, wewnętrznego lub wyobrażonego). Dopóki masz klienta, to
    możesz mieć osobę reprezentującą to, co klient chce.

    Jeśli z "rozejściem" chodziło o to, że programiści mogą się fizycznie
    oddalić od OSCR, to przecież nie chodzi o to, że oni fizycznie
    rozmawiają z nim cały czas. Rozmawiają tyle, ile potrzeba żeby się
    dowiedzieli, czego nie wiedzą, zrozumieli, czego nie rozumieją, a co
    jest im akurat potrzebne do zaimplementowania kolejnego kawałka
    funkcjonalności, zanotowali co trzeba, a potem oddalili się do
    stanowiska programistycznego i przelali to, co właśnie usłyszeli do
    postaci tesów i kodu.

    > Możliwość rozejścia się jest kluczowa dla postępu projektu. Bez tej
    > możliwości albo masz zastój (znaczy: odbiorca "rozmawia jeszcze
    > trochę" w nieskończoność), albo urwaną treść. Osobiście nie widzę
    > siebie w rozmowie na temat czegoś, co na papierze ma kilkaset stron.

    Ale jesteś w stanie przeczytać te kilkaset stron od deski do deski i
    pamiętać każdy szczegół?

    > Napisanie dokumentacji służy przekazaniu wiedzy i jest to proces,
    > który może być zarówno kompletny, jak i obustronnie potwierdzony.

    Pisanie acceptance testów też może być takim procesem.

    > Minimalizacja bugów, jeśli w ogóle występuje, jest tu procesem
    > pobocznym a nie celem samym w sobie. Celem minimalizacji bugów może
    > być np. zastosowanie metod formalnych. Albo unit testy. Albo voo-doo.
    > Albo co tam kto umie i czemu ufa, zależnie od budżetu i lokalnej
    > kultury. Jednak żadna z tych metod nie wyklucza użycia dokumentacji,
    > która służy tylko (i aż!) do skompletowania procesu przekazywania
    > wiedzy.
    > Dlatego nie ma problemu, żeby zrobić dokumentację *oraz* unit testy
    > (przykładowo).

    Problem jest taki, że masz ograniczone zasoby i musisz rozwiązać problem
    efektywnego ich wykorzystania. Jeśli ktoś pisze dokumentację, to nie
    może w tym samym czasie odpowiadać na pytania ani pisać testów. Porządne
    pisanie kodu i testów może trwać dłużej niż pisanie byle jak: do tego
    stopnie, że być może będziesz chciał np. tworzyć albo adaptować DSL-e
    i/lub frameworki do tego, żeby można było automatyczne testy wyrazić w
    sposób maksymalnie deklaratywny i przy użyciu domain concepts.

    > Problem z agile polega na tym, że przekazywanie wiedzy oparte jest na
    > machaniu rękami i jest to najsłabsze ogniwo z powodów powyżej. A
    > ponieważ to ogniwo jest na początku procesu, to dalej buduje się na
    > gównianych fundamentach i stąd te ciągłe dema i walenie klienta po

    Nie jest na początku procesu. Jest cały czas.

    Natomiast problem z pisaniem dokumentacji jest taki, że jest oparte na
    machaniu rękami, a ponieważ dokumentację pisze się na początku, to dalej
    buduje się na gównainych fundamentach i stąd te ciągłe opóźnienia i
    dostarczanie po terminie "kompletnej" funkcjonalności kompletnie nie
    odpowiadającej potrzebom klientów.

    > głowie niedokończonymi wersjami.
    > Pominięcie dokumentacji *nie jest tańsze*. Tak przynajmniej wynika z
    > moich obserwacji.

    Z moich wręcz przeciwnie.


  • 79. Data: 2011-12-18 12:14:48
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 17/12/2011 22:43, A.L. wrote:
    >
    > Nie ma sie Pan co obawiac. To jest "metodologia Agile". Ponoc jedynie
    > sluszna.
    >
    > Ciekawe jak "agilowcy" wyobrazaja sobie projekt w ktorym pracuje,
    > powiedzmy, 50 programistow, i owi programisci nigdy nie kontaktuja sie
    > z przyszlym uzytkownikiem systemu?

    Po pierwsze, nie ma czegoś takiego jak "metodologia Agile". Można
    ewnetualnie rozpatrywać konkretne metodologie jak XP czy Scrum, albo
    zastanawiać się nad ogólnym podejściem Agile do tego tematu - ale w tym
    drugim przypadku trzeba wziąć pod uwagę, że istnieją metodologie czy
    procesy, które mieszczą się nadal w ogólnym nurcie Agile, ale stosują
    pewne rozwiązania spoza tego nurtu.

    Więc po pierwsze temat kontaktów z przyszłym użytkownikiem: generalnie
    nie jest konieczny. XP zaleca, żeby w miarę możliwości "on-site
    customer" był przedstawicielem typowego użytkownika systemu, ale nie
    jest to jedyna możliwość. Podstawą jest to, żeby ludzie występujący w
    rolach "customer representative" albo "product owner" rozumieli potrzeby
    użytkownika, ewentualnie mieli możliwość szybkiego dowiedzenia się jakie
    one są w szczególnym przypadku.

    Co do problemu 50 programistów, to XP i (w mniejszym stopniu) Scrum
    skalują się na wielkość zespołu do powiedzmy 12-16 programistów. Da się
    je zastosować do większych projektów, pod warunkiem, że da się podzielić
    zespół. To nie jest takie hop-siup, które można zrobić mechanicznym
    dzieleniem, bo każdy zespół musi mieć pewną autonomię i być właścicielem
    swojego codebase: w praktyce musi tworzyć oddzielny "produkt"
    (komponent), i w takiej sytuacji jeden zespół jest "klientem" drugiego,
    albo ma się zespół zajmujący się integracją systemu i ten zespół pracuje
    z końcowym klientem i podaje wymagania zespołom wykoującym poszczególne
    komponenty. Czasem jest to niemożliwe albo niepraktyczne, i w takich
    sytuacjach po prostu nie należy stosować tych metodologii.


  • 80. Data: 2011-12-18 12:18:18
    Temat: Re: Porównanie różnych języków
    Od: Andrzej Jarzabek <a...@g...com>

    On 17/12/2011 22:27, Maciej Sobczak wrote:
    > On Dec 17, 4:30 pm, Roman W<b...@g...pl> wrote:
    >
    >> Ja bym raczej powiedzial na chlopski rozum, ze dokumentacja definiuje
    >> co jest bugiem, a co nie.
    >
    > Bingo.

    Czyli jeśli zachowując się zgodnie z dokumentacją program doprowadza do
    wybuchu elektrowni ataomowej, to nie ma buga, po prostu to właśnie miał
    zrobić?

    >> Jak programista Agile ma eliminowac bugi,
    >> kiedy nie wie, co jest prawidlowym zachowaniem budowanego systemu?
    >
    > No właśnie. Bo jeśli program działa niezgodnie z istniejącą
    > dokumentacją, to coś należy poprawić. Ale jeżeli działa niezgodnie z
    > nieistniejącą dokumentacją, to projekt jest w ciemnej d*pie. I to jest
    > właśnie ta perspektywa, której się obawiam.

    Jeżeli działa niezgodnie z nieistniejącą dokumentacją, to nie przechodzi
    testów i nie może zostać zreleasowany.

strony : 1 ... 7 . [ 8 ] . 9 ... 16


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: