Środowisko programisty - IDE, edytor tekstowy, albo?

Eeeej Panowie, nie popadajmy w skrajnosci.
Sa osoby ktore uzywaja edytora typu Vim a inni cos a’la Eclipse.
Ja akurat naleze do tych drugich ale mnie mam nic przeciwko pierwszym.
Sam byc moze zrobie podejscie do Vima bo padlo tutaj kilka ciekawych rozwiazan, które warto sprawdzic.

Chociaz zalozmy sutuację że projekt tworzą chociażby tylko 3 osoby. Każda z nich tworzy swoja klasy, metody, opisy.
Dzisiejsze projekty mogą posiadać “na prawdę sporo” stworzonych klas/obiektów.
W takim przypadku podpowiadanie metod i parametrów jest bardzo pomocne.
Nie pisze o API samego srodowiska tylko i kodzie wspolpracownikow.
Core API i tak siedzi w głowie, wiadomo - ale reszta juz niekoniecznie.

Zaznaczam, nie neguje Vim’a i innych, tylko wyrażam swoją opinie.
@Bragi: Nie starajmy się obrażać - my na tym nie zyskamy a forum tylko się zaśmieci.

Pozdr.

+1 do wypowiedzi Bragiego.

jakieś konkrety?

ja też +1 do wypowiedzi Bragiego

consola + textmate/gedit/intype

konkrety: najsprawniej, najszybciej, nie walczysz z IDE które wie lepiej, coś się zmieniło i nie możesz odpalić 1.9 czy jakikolwiek inny dziwny przypadek - pełna kontrola

Kompletnie nie rozumiem co macie do “powaznych” IDE?
Kazdy lubi cos innego i niech tak zostanie.
Np. Eclipse - uzywam tego do Javy/C++ a RoR tez swietnie smigaja.
Jedno IDE do wszystkiego, dobrze skonfigurowane i jest ok.
Tylko teraz nie piszcie ze to chanba dla Railsowca.

Lekkie edytory tez sa ok, zalezy co kto lubi i jaki ma sprzęt.

Za Wikipedią:

Granica między edytorem tekstu a IDE jest bardzo cienka. Czy jeśli podepnę do Gedita obsługe GIT/SVN, dorzucę snippety to to będzie jeszcze dytor tekstu czy IDE?
Odpuśćmy dywagacje na temat nazw. Każdy używa nieco innego stosu i warto go przedstawić.
Jako że wiemy, że stos TextMate+konsola daje olbrzymie możliwości i elastycnzość, szukamy kandydata zastępującego owe narzędzia pod innymi systemami.
To tak jak z użytkownikami systemów operacyjnych. Jedni wolą narzędzia zintegrowane, działające out-of-box (Ubuntu, MacOS X, Windows), a inni chca dopieścić swoje środowisko pracy, pogrzebać w konfiguracji etc. (Gentoo, Slackware, czy nawet LFS).

Pozostaje pytanie, co stanie się standardem w systemach linuksowych (windowsie) dla deweloperskiego stosu RoR. Czy ktoś przygotuje jakies paczki dla VIM’a, EMACSa z gotowymi zestawami pluginów (tzw. niezbędne minimum) - podobno są, czy rozwinie się RedCar, a może ktoś ochudzi RadRAILs.

Problemem JAVY w pewnym momencie stało się to, że stos zbytnio urósł i tzw. krzywa wejścia dla nowych użytkowników okazała się zbyt stroma (Java, Spring, Hibernate, duuużo XMLa + paskudny SWING i inne cuda-niewidy).

Z pewnością to stanie się niebawem z RoR, ale warto starać się odwlekać ten moment, przygotowywać gotowe kompilacje pluginów/gemów. (Zastanawia mnie to, czemu istnieją dwa sposoby dystrybucji dodatków. Czemu taki restful_authentication nie jest w gemie?). Nie ma co popadać w skrajności, udostępniac alternatywy (ruby-toolbox).

Co do IDE, za chwile spróbuję drugiego podejścia do VIM’a - RubyMine zdaje sie czasem niestabilnie zachowywać, jednak chyba zrezygnuję).

Ja korzystam z Netbeans, ale to pozostałość po programowaniu w Javie. Generalnie wsparcie dla Ruby jest bardzo słabe moim zdaniem. Jedyne co jest przydatne to kolorowanie składni, drzewko projektu no i kilka funkcji refactoringu. Podpowiadanie składni jest beznadziejne. Mam dość mocnego kompa a działa to tak jakby to był jakiś 486. W końcu to wyłączyłem. Do odpalania serwera, generatorów i gita i tak używam konsoli, a do małych zmian vima.

Może niedługo zostanę posiadaczem Maca, to się przesiądę na Textmate.

[quote=sevos]Problemem JAVY w pewnym momencie stało się to, że stos zbytnio urósł i tzw. krzywa wejścia dla nowych użytkowników okazała się zbyt stroma (Java, Spring, Hibernate, duuużo XMLa + paskudny SWING i inne cuda-niewidy).

Z pewnością to stanie się niebawem z RoR[/quote]
Spałbym spokojnie. Filozofia Railsów i wiele narzędzi weń wykorzystywanych (YAML, Capistrano) powstała w dużym stopniu jako opozycja wobec przeładowanego, przeinżynierowanego i “enterprisey” podejścia ze świata Javy EE. Plus filozofia Ruby’ego, czyli nakierowanie na przyjemność programisty.
Poza tym przegięcie wielu narzędzi javowych (wzorce: głównie fabryki, fasady i dekoratory, XML do konfiguracji i metaprogramowania itd.) jest konsekwencją ograniczeń (statyczności) samego języka Java.
Popatrz na Groovy On Grails: teoretycznie stos javowy (JVM i kontener, Spring, Hibernate), a jednak zastosowanie dynamicznego języka pozwoliło na stworzenie frameworka podzielającego “lekkie” podejście wypromowane przez Railsy.
Nie żebym jakoś zbyt mocno polecał Grailsy, bo po jednym nienajmniejszym w nich projekcie stwierdzam że jest to pewna bastardyzacja idei railsowych :wink:

Co do vima: nigdy nie należałem do kościoła jego wyznawców (ale do Zgromadzenia Emacsowców też nie), natomiast trochę mnie zainteresowały wasze wypowiedzi. Używacie vima konsolowego czy jakichś graficznych wariantów w stylu gvima?

Ja konsolowego, podejrzewam, że większość innych userów też.

Zapoznałem się z akitaonrails - faktycznie kawał dobrej roboty. Niestety wszystko co oferuje mam już w pluginach do gedita i to w bardziej wygodnej do użycia formie. Lubię Vima i jak już wspomniałem, używałem go wcześniej (i nadal używam do małych prac głównie przez ssh) ale chyba jednak wolę zaznaczać tekst kombinacją SHIFT+klawisz niż stosować magiczne zaklęcia klnąc za każdym razem gdy zapomnę klepnąć w ESC ;).

Nie musisz.
Pewnym problemem gedita jest ‘dziedziczenie’ skrótów klawiszowych po środowisku gnome. Na szczęście jest plugin pozwalający samodzielnie zdefiniować swoje własne. Nie tylko więc można łatwo skasować obecną linię, ale również ją przemieścić, powielić, skomentować, itp, itd.
Gedit dzięki systemowi pluginów ma na prawdę dużo do zaoferowania. Niestety, na starcie jest prawie zwykłym notatnikiem i zrobienie z niego narzędzia wymaga spędzenia kilku chwil nad doborem odpowiednich pluginów i konfiguracją. Dlatego też wielu porzuca go zanim zdąży poczuć jego moc;)

Nie musisz.[/quote]
Tutaj miałem raczej na myśli moje doświadczenia z innymi windowsowymi edytorami :wink:

Ja MacVim, bo w leopardowym Terminalu Vim wygląda jak kupa, a ja muszę mieć śliczne kolorki żeby się dobrze programowało :wink:

Ja kiedyś netbeansa ale teraz wyłącznie TextMate

Przesiadłem się na vima z netbeansa. Plusy:

  • szybkość działania
  • rails.vim - bardzo pomocne “:Rcontroller home” otwiera plik home_controller.rb
  • fuzzyfinder szybkie wyszukiwanie pliku
    minusy:
  • netbeans ma lepsze podpowiadanie do javascritp i html

Używacie snippetsów? Który script do vima ze snippetsami jest najlepszy?

IMHO snipmate, można w bardzo prosty sposób dodawać swoje snippety. A gdyby brakowało Ci np. snippetów do Hamla czy erba, to bez problemu znajdziesz je w Internecie.

Tym momencie programuje wylacznie w emacs (python, ruby, lua) na ubuntu.
Przesiadlem sie z netbeansow (bo nie lubie jak dlugo sie wgrywaja) i jedita(bo od czasu do czasu zawieszal sie-przy wiekszej ilosci zainstalowanych pluginow).
(ps. bardzo lubie te dwie aplikacje)

Pamietam, ze mialem okolo 4 nieudane podejscia do emacs’a.
5 podejscie zostalo przypieczetowane sukcesem.
Jak wychodzilem z pracy po 8 godzinach z emacsem to mialem palce ulozone tak - jak do jakies formy kung-fu (nie wiem, moze to styl modliszki). W ciagu tygodnia mozna opanowac skroty klawiszowe tak, zeby sprawnie dzialac przy pisaniu i modyfikacji kodu.

Do railsow jest swietny plugin: emacs-rails lub rinari. Przeskakiwanie pomiedzy widokiem, kontrolerem i modelem jest fantastyczne.
Do wstawek tekstowych (snippety) jest plugin: yasnippet.
Wyglad edytora w pelni modyfikowalny, kolory mozna ustawiac za pomoca pluginu: color-theme.
Szybkie wyszukiwanie plikow: find-file-in-project.
Obsluga gita: magit.
I wiele innych mozliwosci.
Emacs nie robi kolacji.
(aha: poniewaz w emacsie kursor na dol to: ctrl+n, wiec musialem w firefoxie usunac ten klawisz skrotu - czasami zapominalem, ze juz nie jestem pod emacsem i zamiast przegladac strony www w dol za pomoca koleczka od myszki to wciskalem po kilka - kilkanascie razy ctrl+n i wiecie co sie dzialo …)

Moja konfiguracje oparlem o emacs-starter-kit (mozna znalesc na githubie), ale nieco zmodyfikowalem (wywalilem niepotrzebne pliki). Faktycznie - sama konfiguracja zjada troche czasu - ale potem to wypas (btw: ‘przyjaznym’ odpowiednikiem emacsa jest jedit).

Emacs jest szybki, ma mnostwo mozliwosci i jest stabilny (jak podaje wiki: rozwijany od 1974 roku).

Ja jak do tej pory miałem 2 podejścia do emacsa, jak narazie nieudane. Trochę ten styl modliszki mnie odrzuca. A tak na marginesie czytałem kiedyś bloga (oczywiście już nie pamiętam jakiego), facet wysłał do 10 znanych programistów zestaw pytań. M.in. pytał o środowisko pracy, zdaję się że 7 odpisało mu, że używają emacsa. BTW na pytanie czego by chcieli się nauczyć połowa napisała ruby on rails.

Sztywny:
http://www.stifflog.com/2006/10/16/stiff-asks-great-programmers-answer/
Ale z tymi Railsami to chyba przeszarżowałeś :wink:

BTW, niech was nie zwiedzie anglojęzyczność bloga: Sztywny to swój człowiek, odpowiedzialny za zarażenie mnie Ruby i Railsami (jeszcze w dawnych joggerowych czasach) oraz programista swego czasu pracujący nad m.in. Blipem (API Blipa to dzieło Sztywnego).

Ten post jest tutaj:
http://www.stifflog.com/pl/index.php/2006/09/21/sztywny-zadaje-pytania-wielcy-programisci-odpowiadaja-2/