Środowisko programisty - IDE, edytor tekstowy, albo?

@Tomash

W jEdit odrzuciło mnie… podświetlanie składni. Wiem, wiem, jeśli chodzi o jakość kodu/szybkość pracy jest to sprawa o marginalnym znaczeniu, ale dla mnie dobry edytor po prostu musi dobrze podświetlać składnię :wink:

Możliwe, że można je jakoś usprawnić, ja tego nie próbowałem, skorzystałem z gotowej paczki.

A pod Vimem domyślnie mam ustawiony colorscheme na darkspectrum, kiedy się ściemnia - wklepuję :colorscheme zenburn i oczy mniej się męczą :wink:

Też na początku byłem przerażony, jak można cokolwiek w Vimie pisać, nie mówiąc o całym projekcie. Teraz w vimie pracuję zazwyczaj mając około 20-30 otwartych plików i przełączam się między nimi dużo szybciej niż w Netbeans. Moje IDE nie ma chyba tylko podpowiadania składni, czego zresztą nie potrzebuję. W Vimie pod railsami uwielbiam automatyczne dopisywanie migracji down.

Chociaż i tak nie jestem true, bo przecież prawdziwi programiści piszą tylko w notatniku. :slight_smile:

netbeans - jak się już włączy i wszystko zindeksuje, to pracuje się łatwo, szybko i przyjemnie

[quote=tjeden]Też na początku byłem przerażony, jak można cokolwiek w Vimie pisać, nie mówiąc o całym projekcie. Teraz w vimie pracuję zazwyczaj mając około 20-30 otwartych plików i przełączam się między nimi dużo szybciej niż w Netbeans. Moje IDE nie ma chyba tylko podpowiadania składni, czego zresztą nie potrzebuję. W Vimie pod railsami uwielbiam automatyczne dopisywanie migracji down.

Chociaż i tak nie jestem true, bo przecież prawdziwi programiści piszą tylko w notatniku. :)[/quote]
Dla mnie podpowiadanie skladni to jedna z kluczowych funkcji dobrego IDE.

A dobry programista, to taki, który zna na pamięć wszystkie skróty w Eclipse. ;>
Cytat autentyczny - z rozmowy dwóch javowców z pewnej firmy na R, której właścicielem jest pan od telewizji na P.

Ja najchętniej zabroniłbym używania jakiegokolwiek IDE osobie uczącej się programować.

Poziom skomplikowania dzisiejszych serwisów jest na tyle duży że podpowiadanie składni, klas i ich obiektów do wręcz obowiązek.
Po co sobie utrudniać życie. Mamy 21 wiek i nie musimy używać “notatnika”.
Jak projekt ma naprawdę dużo klas to miło mieć pomocne IDE.

IMHO podpowiadanie klas i metod nie zwiększa tak produktywności jak całkowite porzucenie myszki podczas pisania.

Ale znacznie przyjemniej sie pracuje.

Co kto lubi :slight_smile:

Ja Netbeansy odpalam tylko do Javy, do Railsów wolę vima.

Co kto lubi :slight_smile:

Ja Netbeansy odpalam tylko do Javy, do Railsów wolę vima.[/quote]
Dokladnie, co kto lubi tego uzywa.

drogus jakie dokładnie wtyczki do vima używasz? Ja jadę na netbeans z wtyczką jvi, i powiem, że nawet daje rade.

cucumber, rails, feature, haml, schemat kolorów z railscastów, fuzzyfinder, surround i pewnie kilku innych mniej ważnych.

Mniej więcej raz na rok próbuję zamienić ten beznadziejny edytor jakim jest Gedit na coś lepszego. Wątki takie jak ten z reguły są zalążkiem takich szalonych pomysłów, przez które tracę kilkanascie godzin życia, robiąc przegląd aktualnych wersji dostępnych cudów techniki;)

Netbeans, dla przykładu, robi piorunujące pierwsze wrażenie, jednak pomimo wszystkich udogodnień jakie oferuje (i być może właśnie dzięki nim), pisze mi się w nim znacznie wolniej niż w Gedit. Dodatkowo przeszkadza mi ociężałość całej platformy - reakcja edytora/IDE na zdarzenie dłuższa niż 3-4 sek i zdarzająca się zbyt często, po prostu wyprowadza mnie z równowagi.

Bardzo ciekawą alternatywą jest dla mnie Vim, którego kiedyś na studiach używałem do C. Edytor ten to praktycznie nieograniczone możliwości dostosowania narzędzia do własnych potrzeb. Mistrz szybkości. Doskonałe narzędzie dla osób zaznajomionych z systemami unixowymi. Świetne pluginy do Railsów. Wymaga jednak poświęcenia wielu godzin na jego poznanie, konfigurację i zdobycie biegłości w użytkowaniu, a na to nie mam z reguły czasu.

Próbuję jeszcze kilka innych nowości ale i tak zawsze wracam do prymitywnego notatnika Gnome - Gedit.
Instalując kilka pluginów otrzymujemy wszystko czego potrzeba do pracy z Railsami. I jeśli nie przeładujemy go nadmierną ilością wodotrysków będzie się nawet uruchamiał szybciej od NB;)
W Gedit mamy między innymi możliwość pracy w obrębie wybranego katalogu. Możem szybko znaleźć i otworzyć plik podając jego nazwe i/lub ścieżkę (lub ich fragmenty). W obrębie projektu możemy również poszukiwać/podmieniać określony ciąg znaków(równiez za pomocą wyrażeń regularnych).
Osadzony (multi)terminal pozwala na wygodne obcowania z konsolą, która jest niezastąpionym narzędziem przy tworzeniu aplikacji w Railsach.
“External Tools”, przykładowo pozwala ‘zintegorwać’ graficzne narzędzia kontroli wersji takie jak Meld. Możemy też wywołać dokumentację dla podświetlonego akurat ciągu znaków, uruchomić testy, podpiąć sobie Tidy, Firefoxa i cokolwiek jeszcze nam się zapragnie.
Podpowiadanie i uzupełnianie składni, możliwość importowania/definiowania własnych snippetsów oraz inne narzędzia manipulacji tekstem znacznie przyspieszają pracę z kodem.
Na koniec jeszcze wspomnę o możliwości tworzenia własnych pluginów do Gedita w Pythonie.
To tyle - dziękuję za uwagę:)

Mnie brakowało w Gedicie obsługi subversion oraz git.
Z pozostałych spostrzeżeń, RubyMine jednak nie jest tak błyskawiczny jak myślałem. Zdarza się też zniknąc kursorowi i trzeba otwierać ponownie plik.

A czy któraś z tych wtyczek podpowiada składnie dla klas w projekcie railsowym?
Tego bym najbardziej poszukiwał.

cucumber, rails, feature, haml, schemat kolorów z railscastów, fuzzyfinder, surround i pewnie kilku innych mniej ważnych.[/quote]
A co to za wtyczki cucumber i feature, bo jakoś nie mogłem ich znaleźć?

http://github.com/tpope/vim-cucumber/tree/master - wtyczka do cucumbera

A feature to do formatowania i podświetlania plików feature, chyba nawet wrzuca się automatycznie przy instalacji cucumbera.

Heh, też mi na początku tak się wydawało. Owszem, trudno nagle zmienić edytor w czasie pisania już jakiegoś projektu, ale jeśli nie masz nic do roboty, to odpalasz vim tutor, stosujesz się do zaleceń, ściągasz gotowy config od Akity + kilka innych pluginów i już jesteś w domu. Pracuje się o wiele wygodniej niż z edytorem, w którym żeby skasować obecną linię musisz wykonać akrobację w stylu CTRL + SHIFT + K.

[quote=RazorJack]Na Mac OS X: TextMate. Bajka.
Na Linuksie: Emacs.[/quote]
Jakie rozszerzenia do emacsa używasz?

[quote=gregorz]Poziom skomplikowania dzisiejszych serwisów jest na tyle duży że podpowiadanie składni, klas i ich obiektów do wręcz obowiązek.
Po co sobie utrudniać życie. Mamy 21 wiek i nie musimy używać “notatnika”.
Jak projekt ma naprawdę dużo klas to miło mieć pomocne IDE.[/quote]
Jeśli IDE lepiej wie od programisty co się dzieje w projekcie to trzeba zwolnić programistę i zatrudnić IDE.

Nie podobają mi się Twoje wypowiedzi - są bardzo kategoryczne a jednocześnie wynikają z niepełnych przesłanek. Jak widzisz po wypowiedziach wśród doświadczonych programistów królują edytory tekstowe.

Nie neguję przy tym użyteczności podpowiadania API gdy się uczysz nowego języka. Sam chętnie używam Xcode do nauki Objective-C.

Jest jednak pewien próg umiejętności i wiedzy o języku i jego API po przekroczeniu którego nie potrzebujesz podpowiedzi. Wtedy okazjonalne spojrzenie w dokumentację wystarcza. Na takim poziomie edytor, który przyspiesza pracę z tekstem jest o wiele bardziej wart niż taki, który stara się robić za Ciebie wszystko. Textmate, Emacs czy Vim w rękach doświadczonych osób są niezastąpione.

Mam do Ciebie prośbę, gregorz. Poruszasz się po nowym dla siebie terytorium. Myślę, że więcej wiedzy zdobędziesz zadając pytania wprost i obserwując. Zrezygnuj na razie z (błędnych) kategorycznych wypowiedzi, które później trzeba prostować. Twoja reputacja na nich cierpi.