IDE to miejsce pracy. Źródło: https://www.flickr.com/photos/mtneer_man/5284214199

Dawno, dawno temu

W odległej historii dziejów, kiedy rozwój programowania dopiero się zaczynał, czyli jakieś 30 lat temu, programiści pisali kod w "prymitywnych" edytorach tekstu, które nie posiadały udogodnień- chociażby uzupełniania składni. O kolorach nie wspominam, bo 30 lat temu dostęp do kolorowych monitorów był ograniczony. Wtedy programowanie wyglądało inaczej- programista raczej skupiał się na jednej technologii i na konkretnym fragmencie programu. Zrobienie czegoś spoza swojej specjalizacji nie wyglądało jak teraz- przełączenie okna. Przypominało to bardziej podróż do Mordoru.

Teraz złożoność technologiczna programów jest większa i ciężko wyobrazić sobie jakikolwiek projekt programistyczny, który jest oparty tylko na jednej technologii, więc konieczność zintegrowania środowiska pracy dla programisty wydaje się być oczywista. I tak dochodzimy do sedna.

IDE (Integrated Development Environment) to nic innego jak zestaw narzędzi, zazwyczaj w obrębie jednej aplikacji, która dostarcza takie funkcjonalności, aby programista mógł wykonać swoją pracę możliwie jak najrzadziej opuszczając swoje środowisko. W skrócie: tak, aby miał wszystko pod ręką, gotowe do użycia, bez konieczności posiadania specjalnej wiedzy jak dokładnie te narzędzia działają. To pozwala skupić się na pracy, którą należy wykonać. Kiedy zaprosimy laika do ekranu komputera, na którym jest uruchomione takie oprogramowanie, usłyszymy mniej więcej "jezus-maria-nie-wiem-co-tu-się-dzieje".

phpstorm.pngWebStorm, IDE stworzone przez intelliJ

Tak, obsługi tego narzędzia trzeba się nauczyć, poznać jego możliwości a nawet zaprzyjaźnić. Po kilku/kilkunastu godzinach spędzonych w takim środowisku można dojść do wniosku, że nie da się bez niego pracować. To wyznacznik IDE.

Tej klasy oprogramowanie zazwyczaj posiada wbudowany kompilator/kompilatory albo co najmniej możliwość podłącznia narzędzi do budowania projektu (np. kompilacja do plików .exe), dlatego wiele osób myli IDE z kompilatorem, zwłaszcza, że istnieją takie kompilatory wbudowane w zintegrowane środowiska i bez nich nie jest możliwe korzystanie z kompilatora.

Skrzynka z narzędziami

IDE na pierwszy rzut oka wygląda jak edytor tekstu z bajerami: kolorki, wcięcia, jakieś linie, które nie wiadomo co oznaczają, etc. Zgadza się, edytor tekstu (kodu) to środek ciężkości każdego narzędzia dla programistów i ten jest zazwyczaj najbardziej rozbudowany o funkcjonalności takie jak:

  • kolorowanie składni,
  • auto-uzupełnianie składni (edytor automatycznie dopisuje np. nazwy zmiennych),
  • integracja z bilbiotekami (edytor podpowiada np. parametry funkcji),
  • rozbudowane skróty klawiaturowe umożliwiające np. skoki do odpowiedniej linii, duplikację linii tekstu, powielanie zaznaczonego fragmentu, etc,
  • narzędzia do wyszukiwania wzorca w tekście oraz zamiany znalezionego wzorca na inny.

Ponieważ programy składają się z wielu (setek) plików, IDE udostępnia eksplorator plików projektu (zazwyczaj w drzewiastej strukturze) oraz możliwości sprawnego wyszukiwania konkretnych zasobów.

Powyżej przedstawiłem elementy, które znajdziemy w każdym IDE. Ponieważ każdy projekt jest inny i wykorzystujący inne technologie tak też każde narzędzie dla programistów posiada specyficzny zestaw udogodnień, w zależności od tychże. I tak na przykład projekty, które mają coś wspólnego z bazą danych mogą mieć narzędzia do łączenia się i wykonywania operacji na bazach danych. Inne będą miały wbudowaną obsługę repozytorium a jeszcze inne dostęp do terminala, na którym można uruchamiać polecenia systemowe.

xcode.pngApple XCode- podstawowe IDE do tworzenia na MacOS

Złoty środek

Ponieważ różnorodność technologii jest ogromna, nie ma jednego IDE, które poradziłoby sobie ze wszystkimi potrzebami programistów. Istnieją uniwersalne IDE, które posiadają możliwość rozbudowy o wtyczki, które radzą sobie ze specyficznymi wymaganiami. Takim środowiskiem jest np. Eclipse.

Producenci systemów operacyjnych tworzą własne IDE i przygotowują je specjalnie pod potrzeby programistów, którzy tworzą aplikacje pod te systemy. Microsoft posiada Visual Studio (kiedyś mój ulubiony, ale to dawne czasy, coś, jakby wspominać pierwszą dziewczynę), Apple dostarcza XCode, który udostępnia narzędzia do tworzenia aplikacji na MacOS i całą rodzinę iOS; Google ciągle rozbudowuje Android Studio- IDE przygotowane specjalnie do tworzenia aplikacji na Android'a.

android-studio.pngGoogle Android studio

Porządne narzędzie porządnie kosztuje

Nie ma nic za darmo. Stworzenie przyzwoitego IDE to są tysiące godzin pracy ludzi, którzy również są programistami i ktoś musi im za to zapłacić. Licencje na takie narzędzia do najtańszych nie należą ale w zasadzie... Istnieje bardzo dużo darmowych narzędzi, które trzymają poziom i dostarczają zbliżone funkcjonalności jak te płatne. Najlepsze są jednak specjalne programy, które uruchamiają producenci takiego oprogramowania. Na przykład wersje dla studentów czy wersje, nieco lżejsze, oferujące trochę mniejszą funkcjonalność.

visual-studio.pngMicrosoft Visual Studio

Jakie jest Twoje ulubione IDE? Co takiego musi mieć, abyś mógł rozważyć jego użycie? Moje upodobania ostatnio kierują się w stronę InteliJ, a Twoje?

Powiązane tematy

URL

URL

"W internecie jest wszystko." Do każdego zasobu jest tak samo daleko, wystarczy znać jego adres. Adres zasobu to ścieżka, która prowadzi dokładnie do tej rzeczy. W niej samej zakodowane jest sporo interesujących informacji. Czytaj całość

Aplikacje hybrydowe

Aplikacje hybrydowe

Problem pojawia się, gdy programista zaznajomiony z konkretną platformą staje przed zadaniem napisania "tego samego" na inną platformę. Wtedy jego wiedza może się okazać co najmniej niewystarczająca, a niekiedy nawet może przeszkadzać w poznawaniu nowego. Czytaj całość

Enkapsulacja

Enkapsulacja

Gdy przychodzi potrzeba opakowania warstwy danych w inną warstwę danych, to mamy do czynienia z enkapsulacją, o której słów kilka w poniższym artykule. Czytaj całość


Piotr Poźniak

Piotr Poźniak

Programuję od ponad 15 lat. Prowadzę software house. Angażuję i zachęcam wszystkich do programowania w ramach inicjatywy Programowanie jest łatwe.

Twoja opinia

Komentarzy: 5

Avatar użytkownika Piotr Poźniak
Piotr Poźniak · 4 lata temu

@Michał Burda mam podobne odczucia. Ogólnie InteliJ robią naprawdę świetne rzeczy warte każdego dolara. Napisałeś, że pracujesz na zdalnych serwerach- co masz na myśli? Ja korzystam z wtyczki do baz danych- jest coś jeszcze?

Avatar użytkownika Michał Burda
Michał Burda · 4 lata temu

Moje ulubione IDE to PhpStorm, ze względu na pracę z Magento na co dzień. Plusy: świetne indeksowanie/wyszukiwanie, bezbłędna obsługa zdalnych serwerów deweloperskich i to, że do tej pory nie trafiłem na coś czego by mi brakowało.

Avatar użytkownika Rouch
Rouch · 4 lata temu

@Piotr_Poźniak Bardzo ciekawe pytanie. Moim zdaniem nie warto tracić czasu na dostosowywanie np VS do javy. Słyszałem że kiedyś można było pisać w Javie w VS. Jednakże inne środowiska często oferują chociażby mapowanie klawiszy z innych IDE, wiem że IntelliJ ma taką opcje, że możesz ustawić skróty z VS. Podobają mi się właśnie dlatego narzędzia od JetBrainsów bo czuję się jakbym pisał w VS ale dla technologii nie wspieranych przez Microsoft. Z innej strony patrząc nie trzeba mieć jednej ulubionej zabawki, można dwie prawda?

Avatar użytkownika Piotr Poźniak
Piotr Poźniak · 4 lata temu

@Rouch a gdybyś nie pisał w .NET to czy VS nadal były na liście? Dlaczego nie używasz go do pozostałych rzeczy? Np. do Javy. Tj. zdaję sobie sprawę, że VS nie do tego służy ale skoro to jest ulubione narzędzie to czasami nagina się zasady :)

Avatar użytkownika Rouch
Rouch · 4 lata temu

Moje ulubione IDE w dalszym ciągu Visual Studio. Wynika to z wygody w tworzeniu aplikacji na platformę .NET. Dodatkowo bardzo lubię narzędzia od JetBrains'ów jak PyCharm czy IntelliJ IDEA (pierwsze Python, drugie Java). Są wygodne, przejrzyste, posiadają dużo narzędzi w sobie, które wykonują nudne prace za nas.

Obrazek przedstawiający nadgryzione ciasteczko