eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramowanie a system operacyjny › Re: Programowanie a system operacyjny
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin3!goblin.stu.neva.ru!rt.uk.eu.org!weretis.net!feeder1.news.weret
    is.net!news.solani.org!.POSTED!not-for-mail
    From: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
    Newsgroups: pl.comp.programming
    Subject: Re: Programowanie a system operacyjny
    Date: Wed, 9 Jan 2013 09:55:57 +0000 (UTC)
    Organization: solani.org
    Lines: 195
    Message-ID: <s...@j...net>
    References: <kcgt7u$4un$1@speranza.aioe.org> <o...@s...asus>
    <s...@j...net> <kci839$i6n$1@opal.futuro.pl>
    <s...@j...net> <kcidgq$u65$1@opal.futuro.pl>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: solani.org 1357725357 24291
    eJwFwYEBACAEBMCVlPcyTsj+I3RnysVy0AgbG+mnD60u4+jwWychxOS+m0Pry+PFZRXIyA8iFxE9
    (9 Jan 2013 09:55:57 GMT)
    X-Complaints-To: a...@n...solani.org
    NNTP-Posting-Date: Wed, 9 Jan 2013 09:55:57 +0000 (UTC)
    User-Agent: slrn/pre1.0.0-18 (Linux)
    X-User-ID: eJwFwYEBwCAIA7CXBG2h5zAc/59ggk1jxyF4MBg/zKq8+lqt5XsEZJf7YsjvfzFllVIwwuwBFi
    wQjA==
    Cancel-Lock: sha1:7DfYny1GxnVGH+kOxW6g0q5fkyk=
    X-NNTP-Posting-Host: eJwFwYEBwDAEBMCVGvxjnBD2H6F3UB62G0HDYuueYMQ4emVfjc2OMJLCz0VLPOWG
    2tNOWP8jHRDq
    Xref: news-archive.icm.edu.pl pl.comp.programming:201599
    [ ukryj nagłówki ]

    On 2013-01-09, Marcin Biegan <a...@u...lama.net.pl> wrote:
    > On 2013-01-09 00:43, Stachu 'Dozzie' K. wrote:
    >>> to funkcje daje IDE, żebym w ogóle rozważał jego użycie?
    >>>
    >>> http://www.jetbrains.com/idea/features/index.html (nie używam, ale mają
    >>>
    >>> Gdybym miał wybierać, to chyba głównie:
    >>> - automatyczny refactoring
    >>
    >> Chciałeś powiedzieć: "automatyczna zmiana nazw funkcji, zmiennych
    >> i typów danych". Z refaktoryzacją to ma tyle wspólnego, co sprężyna
    >> z amortyzatorem.
    >
    > http://www.jetbrains.com/idea/features/refactoring.h
    tml
    >
    > Nie, gdybym chciał napisać "automatyczna zmiana nazw", to bym tak napisał.
    > Zresztą, automatyczna zmiana nazwy przez coś, co rozumie semantykę języka to i
    > tak więcej, niż daje zwykły edytor, czy sed.

    A, czyli oprócz zmiany nazwy jeszcze przenoszenie fragmentów kodu.
    W porządku, ale nadal to tylko jeden, nie za duży, element
    refaktoryzacji. I akurat nie z tych ważniejszych/trudniejszych, przy
    których naprawdę asysta by się przydała.

    >> Nie zadziała dla wszystkich języków, których używam (sh? GNU make?
    >> LaTeX? cfengine? Template::Toolkit?), więc i tak muszę sobie radzić
    >> inaczej. Po co mi w takim razie dwie strategie zmianę identyfikatorów?
    >
    > Jak pisałem - nie do wszystkiego jest dobre IDE, ale to nie znaczy, że
    > wszystkie IDE są nic niewarte.

    Może nie zrozumiałeś co piszę. Ja zapytałem o możliwości, które mogłyby
    przeważyć niedogodności, które wprowadza u mnie użycie IDE. Ty mi na to
    podajesz jakieś fistaszki, funkcje, które i tak będę musiał
    przeprowadzać ręcznie, co da mi tylko tyle, że będę się uczyć jeszcze
    większej liczby technik (bo żadnej dotychczasowej nie *zastąpię*).

    >>> - spójne zachowanie i wygląd dla narzędzi do różnych rzeczy (od edycji kodu do
    >>> przeglądania bazy danych)
    >>
    >> Bazę danych nie tylko przeglądam, ale też filtruję (i niekoniecznie SQL
    >> jest wtedy najwygodniejszy), a potem zapisuję do pliku, który jest
    >> używany przez inne programy. Sama klikana tabelka to naprawdę kiepski
    >> argument. Lepiej mi się sprawdza klient z wiersza poleceń albo
    >> recs-fromdb z modułu App::RecordStream.
    >
    > Nie chodziło o przeglądarkę do bazy, tylko o to, że we wszystkich narzędziach
    > działają te same skróty klawiszowe, menu są w podobnych miejscach, czy można
    > używać wspólnej konfiguracji. I są one, jak nazwa wskazuje, zintegrowane ze sobą.

    Fajnie że są zintegrowane ze sobą nawzajem i fajnie że mają jednolite
    skróty klawiszowe w swoim obrębie. Co z tego, skoro do pracy z bazą
    danych -- czy z czymkolwiek innym, bo nie chodziło mi konkretnie o DBMS
    -- i tak będę potrzebował klienta wierszopoleceniowego? Do tej pory
    używałem trzech różnych narzędzi. IDE dostarcza mi czwartego, które
    rozwiązuje mi jaki problem? Trochę żaden, tyle że to czwarte narzędzie
    jest "zintegrowane" (choć nie znaczy to, że nie będę się go musiał
    nauczyć przed użyciem).

    Ja nie chcę narzędzia zintegrowanego. Ja chcę narzędzia, którego da się
    użyć w połączeniu z zewnętrznymi dla środowiska programami.

    >>> > Uzupełnianie nazw metod i pól już wypróbowałem, potrzebne mi tylko
    >>> > w przypadku, gdy absolutnie nie chcę pracować w danym języku z danym
    >>> > frameworkiem;
    >>>
    >>> Dlaczego? Przecież lepiej nie stukać w klawiaturę, jeżeli może to za Ciebie
    >>> zrobić automat...
    >>
    >> Pff. I to ma być taki killer-ficzer? Coś, co z niezłym przybliżeniem
    >> emuluję sobie powtarzaniem rozpoczętego słowa w edytorze (^P/^N w Vimie)?
    >
    > No ale przecież nie chodzi o powtarzanie słowa, tylko o to, że IDE prezentuje
    > listę poprawnych syntaktycznie i semantycznie propozycji. Dodatkowo np.
    > sortowanych po częstości używania.
    >
    > I jest to właśnie killer-feature.
    > Chcesz zobaczy listę pól w zmiennej x? Wciskasz jakąś kombinację i się
    > wyświetla.

    Jak chcę zobaczyć listę pól zmiennej x, to zaglądam do dokumentacji jej
    typu. Wyświetlanie w edytorze przyspieszyłoby mi pracę tylko w jednym
    scenariuszu: gdybym pracował nad kodem, gdzie zmiennych jest mnóstwo,
    a każda z zupełnie innej bajki (z innej biblioteki). W innych sytuacjach
    (mało zmiennych (choćby z powodu zawężenia mojej uwagi) albo większość
    jest podobna) przejście do drugiego okna to nie jest coś, co się
    zauważa.

    > Wciskasz (w eclipse) alt+t na wywołaniu metody i pokazuje się
    > hierarchia typów po kliknięciu w którą otwiera się odpowiedni plik na
    > odpowiedniej metodzie. To samo z alt+f3 - dostajesz listę funkcji w typie dla
    > zmiennej pod kursorem. ctrl+o - lista metod w aktualnym typie. Kolejne ctrl+o -
    > lista metod włącznie z tymi z klas dziedziczonych. Chcesz zobaczyć wszystkie
    > klasy dziedziczone i dziedziczące - F4 na typie.

    I w czym to jest lepsze od javadoca?

    > Chcesz złapać wyjątki z danego fragmentu kodu? Zaznaczasz, wciskasz parę
    > klawiszy i dostajesz blok try-catch (co samo w sobie nic nie daje) z catch'ami
    > do wszystkich wyjątków, rzucanych przez ten kod (czego nie osiągniesz bez
    > przeglądania/pamiętania definicji wszystkich wywoływanych metod).

    I tak często potrzebuję "łapać wszystkie wyjątki z bloku", żeby to
    uzasadniało nawykanie do niedogodności samego środowiska, odzwyczajanie
    się od możliwości dotychczasowego edytora i przyzwyczajanie się do
    przełączania między środowiskami kilka(naście? dziesiąt?) razy dziennie?

    > A jezscze jest np. wyświetlanie grafów wywołań, wyszukiwanie odwołań do
    > typu/metody, małe, automatyczne poprawki (ctrl+1 aka quick fix)...
    >
    > Tego jest masa i nie da się zastąpić takiej funkcjonalności "edytorem" który
    > nie jest zintegrowany z parserem/kompilatorem. Wymienione wyżej to tylko część
    > tego, czego używam regularnie.

    Wymienione to tylko część tego, na co i tak musiałem sobie wypracować
    metody dla wszystkich pozostałych języków poza Javą. Bo wiesz, mój świat
    nie kręci się wokół Javy (ani w ogóle wokół statycznie typowanych
    języków kompilowanych).

    Gdybym miał teraz się przyzwyczajać do IDE, to muszę się uczyć
    dodatkowych metod pracy na to, z czym już sobie dobrze radzę, ale
    starych metod w żadnym wypadku nie mogę się pozbyć. Naprawdę te nowe
    metody są tak bardzo lepsze, żeby uzasadniać ich znajomość dla tego
    jednego specjalnego, wcale nawet nie częstego (pracy w Javie, C++, C#
    albo innym mainstreamowym języku) przypadku?

    >>> Bo IDE trzeba dobierać do języka/środowiska w jakim się pracuje.
    >>
    >> Super. I mam się przełączać między ośmioma różnymi IDE z różnymi
    >> komendami, różnym układem opcji i różnymi kruczkami, do których się
    >> muszę przyzwyczajać?
    >
    > To nie jest problem IDE, może Tobie potrzebne jest jakieś I-IDE ? :)

    Cokolwiek rozumiesz pod hasłem "I-IDE".

    Ja po prostu dobieram język do zadania. Są zadania, w których lepiej się
    sprawdza Perl, są zadania, gdzie lepiej radzi sobie shell, w innych
    przypadkach to może być cfengine, make, C albo Erlang.

    Właściwy dobór języka, w którym łatwo wyrazić problem i jego
    rozwiązanie, jest znacznie ważniejszy od ewentualnych możliwości
    zautomatyzowanej edycji pliku źródłowego (bo do tego się sprowadza to,
    co nazwałeś "refaktoryzacją") i wyświetlania hierarchii klas. Od samego
    tego Java nie staje się językiem, w którym łatwiej się pisze rozproszone
    systemy czy systemy zarządzania serwerami.

    > > To masz słabą wyobraźnię. Naprawdę, oprócz debuggera (bez którego i tak
    > > nawykłem sobie radzić przy innych okolicznościach i którego interfejs
    > > i tak się nie nadaje do większych systemów z dużą liczbą wątków)
    > > i uzupełniania nazw metod (którego niezłą emulację Vim zapewnia), co
    > > takiego dodaje IDE, żeby był sens używania go w Javie?
    >
    > Wypisałem wyżej kilka przykładów - nadal nie ma sensu?

    Nadal. To są rzeczy, których wykonanie jest cholernie specyficzne dla
    języka, dla którego przewidziane jest IDE, a które są na tyle
    uniwersalnymi pojęciami, że w innych językach występuje coś podobnego
    (tylko inne operacje edycyjne są wykonywane na źródłach).

    Podsumowując, ty byś chciał mnie przekonać, że prostsze wykonanie
    jakiegoś zadania w jednym bardzo konkretnym przypadku jest warte
    przyzwyczajania się do pracy na dwóch różnych środowiskach. Przepraszam,
    ale to nie działa.

    >>> Nie wiem jak wygląda status wiodących IDE dla ruby czy perl, ale dla Javy czy
    >>> C++ to raczej jest sporo powodów "za".
    >>
    >> No to podaj, ja czekam. Na razie wymieniłeś rzeczy, bez których i tak
    >> muszę się obejść w innych okolicach, a nie są tak zajebifakenstyczne,
    >
    > Zasadniczo można się obejść bez wszystkiego, tylko to po prostu nie jest
    > wygodne. (parę ficzerów wyżej wymieniłem)

    Może i nie jest wygodne, ale są rzeczy, które są daleko bardziej
    niewygodne. Jednolite środowisko pracy dla różnych platform
    programistycznych (w tym platform, które się nie dorobiły samodzielnego
    IDE) ma

    >> żebym specjalnie dla nich się przyzwyczajał choćby do tej jednej
    >> funkcji. Ja naprawdę piszę w kilku różnych językach, niekiedy w ciągu
    >
    > Może Tobie IDE nie odpowiada z tego względu, ale nie sugeruj, że IDE są nic nie
    > warte, bo się mylisz.

    A może tak nie sugeruj, że ja sugeruję uniwersalną niezdatność IDE, co?
    Od początku podawałem, że pracuję w wielu językach (mocno różnych od
    siebie) jednocześnie i wszystkie moje argumenty się kręcą właśnie wokół
    tego. Ja cały czas piszę o takiej sytuacji i nie da się pomylić tego
    z twierdzeniami absolutnymi, więc twoje uogólnienie mojego stanowiska
    jest całkowicie nieuzasadnione i krzywdzące.

    --
    Secunia non olet.
    Stanislaw Klekot

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: