Monday 7 May 2012

Notepad++ vs Eclipse

Niecały rok temu, podczas jednego z technicznych szkoleń, spotkałem pewnego Niemca, ponoć programistę, obecnie Project Managera. W szkoleniu uczestniczył tak jak wszyscy inni. Charakteryzowało go to, że jako jedyny olał uprzednio przygotowanego na VMie Eclipsa, który miał podlinkowane wszelkie potrzebne jary i skonfigurowane wtyczki (m.in. FileSync), które naprawdę były bardzo pomocne. Gość postanowił używać Vi, a klaski kompilować z konsoli, bawiąc się javac. Brawa dla niego, prawdziwy hardkorowiec, był tylko jeden problem... w tym jego wspaniałym Vi udało mu się zrobić mniej więcej nic. A wszyscy radzili, "użyj Eclipsa, to nie boli".

Faktycznie, nie boli, ale co sprawia, że siadając do Eclipsa (lub Netbeansa, czy innego intelija) jesteśmy bardziej produktywni od Niemca, który go po raz pierwszy widzi na oczy? Czemu nasz IDE to coś więcej niż Notepad++ z wbudowanym kompilatorem, który tu i tam potrafi pokolorować nam kod na żółto bądź na czerwono?

Dziwią mnie osoby, które przesiadają się z Eclipsa na Netbeansa, lub odwrotnie, machając przy tym ręką i mówiąc, że to bez znaczenia w czym będą pisać. To wskazuje na to, że nie korzystają z tego co ich środowisko ma im do zaoferowania, degradują IDE do roli notatnika. Faktem jest, że praca programisty to w 80% czytanie kodu (w tym oczywiście własnego - więc piszmy tak, aby się na jego późniejszy widok nie porzygać...) a tylko 20% to pisanie. W te 20% można pewnie jeszcze wliczyć myślenie, planowanie i inne czynności, które same w sobie nie przekładają się na klepanie w klawiaturę. Ale kiedy już siadamy do pisania, to na Boga, róbmy to możliwie najbardziej ergonomicznie, korzystajmy z tego, co ma nam do zaoferowania środowisko programistyczne!

Często w ogłoszeniach o pracę pojawia się wzmianka "znajomość: (...) Eclipse (/Netbeans)", co wcale nie znaczy, że wiemy, że istnieje. Nie znaczy to też, że umiemy tam stworzyć projekt "Hello World!", lub napisać projekt na uczelnie. Nie, nie, i jeszcze raz nie. To znaczy, że nasza praca pod Eclipsem będzie sprawna i efektywna, czyli w praktyce, że potrafimy zmusić Eclipsa, aby pisał za nas kod (i aby czynił to szybko:)). Dla przykładu prosty JavaBean:
package com.blogspot.pmjavnie;

public class Person {

    private String name;

    private String surname;

    private long personalId;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSurname() {
        return surname;
    }

    public void setSurname(String surname) {
        this.surname = surname;
    }

    public long getPersonalId() {
        return personalId;
    }

    public void setPersonalId(long personalId) {
        this.personalId = personalId;
    }

}
Licząc tabulacje jako 4 spacje, powyższa klasa ma ~630 znaków. Napisanie jej zajęło mi mniej niż 30 sekund, a moje stukanie w klawiaturę to w większości albo ctrl i/lub spacja i/lub enter. Nie uwierzę, że jest na świecie taki mistrz pisania dziesięcioma palcami, który dokona tego szybciej, bez korzystania z żadnego z uroków IDE, nawet on:



Nie ważne co w życiu robisz i tak znajdzie się jakiś Chińczyk (może to Koreańczyk?), który jest w tym lepszy... daj mu jeszcze Razer BlackWidow Ultimate keyboard i już w ogóle pozamiata... heh, ale nie tym razem :)


Każde IDE ma swój urok i nieważne którego używasz, musisz czuć się w nim jak ryba w wodzie. Ja oczywiście skupię się na tym, którego sam używam, Eclipsie.


Jeżeli w Twoim zespole używa się różnych IDE, a Ty jesteś jego liderem, koniecznie naucz się korzystać z każdego z nich, chociaż w takim stopniu, aby znać podstawę obsługi - niejednoktronie szybciej jest podjeść i napisać komuś kawałek kodu, niż tłumaczyć to mażąc po tablicy, lub dyktując komuś co ma pisać. Jeśli nie jesteś liderem, też spróbuj, wbrew pozorom jest to praktyczna wiedza, która szybko nie uleci.



Do rzeczy... Co odróżnia Eclipsa od notatniczka?
  1. skróty klawiszowe
  2. szablony (Templates) kodu 
  3. odrobina magii, która czyni życie jeszcze (znacznie!) piękniejszym.

 CDN. - warto chociaż parę słów napisać o wyższej wyliczance. Pierwsze dwa punkty mówią same za siebie, ostatni to lombok - genialna rzecz! :)

2 comments:

  1. ja ja napisze w netbeansie w 5 sekund ;)

    ReplyDelete
  2. Ja liczyłem czas potrzebny także na stworzenie klaski na nadanie jej nazwy ;) Tak czy inaczej, Adasiu, gratuluję zostania posiadaczem pierwszego komentarza na mym zacnym blogu ;]

    ReplyDelete