-
1. Data: 2013-01-08 11:43:33
Temat: Programowanie a system operacyjny
Od: Dsue <d...@n...pl>
Od razu napiszę że nie mam zamiaru uprawiać trollingu stosowanego, naprawdę
chciałbym wiedzieć :)
Ostatnio byłem chwilowo zmuszony przenieść się z pracami na windows 7 i
czułem się jak zagubione dziecko - jak Wy radzicie sobie z organizacją pracy
pod tym systemem? Pod osX i Linuksem mam wszystko dopięte - Komodo Edit, git
+ inne + jak czegoś potrzebuję to apt-get albo port install. A tutaj się
gubiłem w
katalogach nawet :)
Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
Visual Studio daje pełen komfort + poczucie kompletnego środowiska. Teraz
jestem mocno osadzony w Django i przeżyłem lekki szok.
Pozdr
Dsue
-
2. Data: 2013-01-08 14:24:12
Temat: Re: Programowanie a system operacyjny
Od: Andrzej Jarzabek <a...@g...com>
On Jan 8, 10:43 am, Dsue <d...@n...pl> wrote:
> Od razu napiszę że nie mam zamiaru uprawiać trollingu stosowanego, naprawdę
> chciałbym wiedzieć :)
>
> Ostatnio byłem chwilowo zmuszony przenieść się z pracami na windows 7 i
> czułem się jak zagubione dziecko - jak Wy radzicie sobie z organizacją pracy
> pod tym systemem? Pod osX i Linuksem mam wszystko dopięte - Komodo Edit, git
[...]
> Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
No więc radzimy sobie korzystając z IDE.
Poza tym jak czegos brakuje, to pod Windows też można instalować
dodatkowe programy, pomimo braku apt-get i czego tam jeszcze.
-
3. Data: 2013-01-08 15:15:12
Temat: Re: Programowanie a system operacyjny
Od: boryspower <b...@g...com>
W dniu wtorek, 8 stycznia 2013 11:43:33 UTC+1 użytkownik Dsue napisał:
> jak Wy radzicie sobie z organizacją pracy
>
> pod tym systemem?
http://www.andlinux.org/
- Wchodzisz
- pobierasz
- instalujesz
- odnajdujesz się w Windowsie :)
--
Przemek
-
4. Data: 2013-01-08 16:49:57
Temat: Re: Programowanie a system operacyjny
Od: "Wojciech \"Spook\" Sura" <s...@s...op.pl>
W dniu 08.01.2013 o 11:43 Dsue <d...@n...pl> pisze:
> Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
> Visual Studio daje pełen komfort + poczucie kompletnego środowiska. Teraz
> jestem mocno osadzony w Django i przeżyłem lekki szok.
Czemu nie chcesz skorzystać z całego IDE?
> Pozdr
> Dsue
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
-
5. Data: 2013-01-08 17:45:51
Temat: Re: Programowanie a system operacyjny
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
On 2013-01-08, Wojciech "Spook" Sura <s...@s...op.pl> wrote:
> W dniu 08.01.2013 o 11:43 Dsue <d...@n...pl> pisze:
>> Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
>> Visual Studio daje pełen komfort + poczucie kompletnego środowiska. Teraz
>> jestem mocno osadzony w Django i przeżyłem lekki szok.
>
> Czemu nie chcesz skorzystać z całego IDE?
W moim przypadku zysk z IDE jest znikomy (nikt mi jeszcze nie pokazał
żadnej killer-funkcji, która by mi rzeczywiście była potrzebna) i nijak
nie rekompensuje niedogodności:
* brak podświetlania przynajmniej części używanych przeze mnie języków
(w tym: języków serializacji danych i formatowania tekstu)
* brak funkcji edytora, których używam dość często; przykładowo
* zwijanie kodu w dowolnych blokach (a nie tylko wyznaczonych przez
reguły środowiska)
* skakanie do podanego z _klawiatury_ (z uzupełnianiem tabem)
dowolnego pliku w filesystemie
* oprogramowywanie funkcji pod klawiszami (czasem się to nazywa
makrami)
* definiowanie podświetlania składni (zdarza mi się opracować własny
format plików)
* współpraca z poleceniami uruchamianymi z command line (np.
wczytanie outputu albo przetworzenie zawartości bieżącego pliku)
* wbudowane interpretery Perla i Pythona
* długi czas uruchamiania (miewam po kilka instancji edytora otwartych
na różnych pulpitach, używam też edytora jako dodatkowego schowka
z edycją albo do prostej obróbki sporej ilości danych)
* brak możliwości sensownej pracy na zdalnych maszynach
* konieczność żmudnego uczenia się mnóstwa skrótów klawiszowych tylko
po to, żeby poruszać się w nowym środowisku choćby w połowie tak
sprawnie jak w obecnym
Jakież to funkcje daje IDE, żebym w ogóle rozważał jego użycie?
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; integracja z systemem kontroli wersji nie pozwala na część
operacji, które względnie często wykonuję, więc bym się musiał dodatkowo
przełączać między konsolą i IDE do pracy z kopią roboczą; debugger nie
zawsze daje się użyć przy danej aplikacji i nie zawsze w ogóle jest
dostępny dla danego języka.
Podejrzewam, że OP ma podobne powody, żeby trzymać się z dala od IDE.
--
Secunia non olet.
Stanislaw Klekot
-
6. Data: 2013-01-08 23:54:36
Temat: Re: Programowanie a system operacyjny
Od: Marcin Biegan <a...@u...lama.net.pl>
On 2013-01-08 17:45, Stachu 'Dozzie' K. wrote:> On 2013-01-08, Wojciech "Spook"
Sura <s...@s...op.pl> wrote:
>> W dniu 08.01.2013 o 11:43 Dsue <d...@n...pl> pisze:
>>> Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
>>> Visual Studio daje pełen komfort + poczucie kompletnego środowiska. Teraz
>>> jestem mocno osadzony w Django i przeżyłem lekki szok.
>>
>> Czemu nie chcesz skorzystać z całego IDE?
> Jakież 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
- context-aware http://en.wikipedia.org/wiki/Content_assist
- spójne zachowanie i wygląd dla narzędzi do różnych rzeczy (od edycji kodu do
przeglądania bazy danych)
> 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...
> debugger nie
> zawsze daje się użyć przy danej aplikacji i nie zawsze w ogóle jest
> dostępny dla danego języka.
Bo IDE trzeba dobierać do języka/środowiska w jakim się pracuje. Nie twierdzę,
że każdy język ma IDE warte używania, ale nie wyobrażam sobie pisania w Javie w
vimie (chociaż ucząc się języka używałem właśnie vima).
> Podejrzewam, że OP ma podobne powody, żeby trzymać się z dala od IDE.
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".
--
Pozdrawiam
Marcin Biegan
-
7. Data: 2013-01-09 00:43:04
Temat: Re: Programowanie a system operacyjny
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
On 2013-01-08, Marcin Biegan <a...@u...lama.net.pl> wrote:
> On 2013-01-08 17:45, Stachu 'Dozzie' K. wrote:> On 2013-01-08, Wojciech "Spook"
> Sura <s...@s...op.pl> wrote:
> >> W dniu 08.01.2013 o 11:43 Dsue <d...@n...pl> pisze:
> >>> Chodzi mi o sytuacje gdy nie korzysta się z całego IDE, rozumiem że np.
> >>> Visual Studio daje pełen komfort + poczucie kompletnego środowiska. Teraz
> >>> jestem mocno osadzony w Django i przeżyłem lekki szok.
> >>
> >> Czemu nie chcesz skorzystać z całego IDE?
> > Jakież 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.
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?
> - context-aware http://en.wikipedia.org/wiki/Content_assist
Czyli uzupełnianie nazw funkcji/metod i zmiennych/pól. Super.
Rzeczywiście mi się to przydaje tylko na zajęciach z wyklikiwania
webaplikacji pod ASP.NET, a i to tylko do tego, żebym się jak najdalej
trzymał od .NET.
> - 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.
> > 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)?
> > debugger nie
> > zawsze daje się użyć przy danej aplikacji i nie zawsze w ogóle jest
> > dostępny dla danego języka.
>
> 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ć?
A jak w ogóle nie ma IDE do danego języka (np. cfengine czy Puppet)?
> Nie twierdzę,
> że każdy język ma IDE warte używania, ale nie wyobrażam sobie pisania w Javie w
> vimie (chociaż ucząc się języka używałem właśnie vima).
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?
A próbowałeś kiedyś ustawiać system budowania tak, żeby u kolegi z innym
IDE (czy choćby innym układem katalogów) pracował w taki sam sposób,
żeby nie trzeba było utrzymywać konfiguracji dwóch różnych systemów
budowania?
> > Podejrzewam, że OP ma podobne powody, żeby trzymać się z dala od IDE.
>
> 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,
ż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
jednej godziny. To nie jest taki wymysł.
--
Secunia non olet.
Stanislaw Klekot
-
8. Data: 2013-01-09 01:27:10
Temat: Re: Programowanie a system operacyjny
Od: Marcin Biegan <a...@u...lama.net.pl>
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.
> 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.
>> - context-aware http://en.wikipedia.org/wiki/Content_assist
>
> Czyli uzupełnianie nazw funkcji/metod i zmiennych/pól. Super.
> Rzeczywiście mi się to przydaje tylko na zajęciach z wyklikiwania
> webaplikacji pod ASP.NET, a i to tylko do tego, żebym się jak najdalej
> trzymał od .NET.
>
>> - 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ą.
>> > 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. 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.
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).
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.
>> 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 ? :)
> 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?
> A próbowałeś kiedyś ustawiać system budowania tak, żeby u kolegi z innym
> IDE (czy choćby innym układem katalogów) pracował w taki sam sposób,
> żeby nie trzeba było utrzymywać konfiguracji dwóch różnych systemów
> budowania?
Probówałem, nie polecam. Teraz w projekcie używamy Idei i Eclipse i nie ma
problemów (maven).
>> 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)
> ż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.
--
Pozdrawiam
Marcin Biegan
-
9. Data: 2013-01-09 10:55:57
Temat: Re: Programowanie a system operacyjny
Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
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
-
10. Data: 2013-01-09 16:39:27
Temat: Re: Programowanie a system operacyjny
Od: "R.e.m.e.K" <g...@d...null>
Dnia Tue, 8 Jan 2013 23:43:04 +0000 (UTC), Stachu 'Dozzie' K. napisał(a):
>> 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.
Nie znam jetbrainsa, ale refactoring automatyczny uzywam dosc czesto. I to w
srodowisku i jezyku uwazanym przez swiat za bubla i zabawke, chodzi o
Delphi. Poza narzedziami i refactoringiem "fabrycznym" w IDE Delphi mozna
jeszcze doinstalowac experty:
- Castalia: http://www.twodesk.com/castalia/
- CodeExplorer: http://www.modelmakertools.com/code-explorer/index.h
tml
Szczegolnie CodeExplorer to potezne narzedzie. Poogladaj filmiki i powiedz,
ze pisanie w samym edytorze byloby wygodniejsze.
Nie wyobrazam sobie szybkiej i wygodnej pracy bez tego IDE.
--
pozdro
R.e.m.e.K