-
Data: 2013-01-09 10:55:57
Temat: Re: Programowanie a system operacyjny
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 09.01.13 16:39 R.e.m.e.K
- 09.01.13 17:30 Stachu 'Dozzie' K.
- 09.01.13 18:06 R.e.m.e.K
- 09.01.13 19:18 Stachu 'Dozzie' K.
- 09.01.13 22:07 Marcin Biegan
- 09.01.13 22:10 Przemek O
- 09.01.13 22:10 Stachu 'Dozzie' K.
- 09.01.13 22:17 Stachu 'Dozzie' K.
- 09.01.13 22:50 Edek Pienkowski
- 09.01.13 23:07 Marcin Biegan
- 09.01.13 23:13 PK
- 09.01.13 23:26 PK
- 09.01.13 23:58 Stachu 'Dozzie' K.
- 10.01.13 00:13 Stachu 'Dozzie' K.
- 10.01.13 00:41 Tomek Kańka
Najnowsze wątki z tej grupy
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
Najnowsze wątki
- 2025-04-29 Kombinacja znaków A11 i B33?
- 2025-04-29 Na jakim etapie jest sprawa karna "gaśnicowego" Brauna z grudnia 2023?
- 2025-04-29 TSUE jest "przeciw a nawet za" neosędziami :-)
- 2025-04-29 Wrocław => Konsultant wdrożeniowy (systemy kontrolingowe) <=
- 2025-04-29 China => Production Coordinator / Representant Product Dev <=
- 2025-04-29 Warszawa => Specjalista rekrutacji IT <=
- 2025-04-28 Hiszpania bez pradu
- 2025-04-28 chinska stal
- 2025-04-28 QR kody
- 2025-04-28 Dojarki
- 2025-04-28 Hiszpania bez pradu
- 2025-04-28 Kiedy posiedzenia sejmu zgodne ze standardem Konklave ?
- 2025-04-28 Warszawa => Sales Executive / KAM <=
- 2025-04-28 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-04-28 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=