Zintegrowane środowisko programistyczne - Integrated development environment

Z Wikipedii, wolnej encyklopedii

Anjuta to IDE do programowania w C i C ++ w środowisku graficznym GNOME .

Zintegrowane środowisko programistyczne ( IDE ) to aplikacja , która dostarcza kompleksowe wyposażenie dla programistów do tworzenia oprogramowania . IDE zwykle składa się przynajmniej z edytora kodu źródłowego , narzędzi do automatyzacji kompilacji i debuggera . Niektóre środowiska IDE, takie jak NetBeans i Eclipse , zawierają niezbędny kompilator , interpreter lub jedno i drugie; inne, takie jak SharpDevelop i Lazarus , nie.

Granica między IDE a innymi częściami szerszego środowiska programistycznego nie jest dobrze zdefiniowana; czasami zintegrowany jest system kontroli wersji lub różne narzędzia upraszczające konstrukcję graficznego interfejsu użytkownika (GUI). Wiele nowoczesnych IDE posiada również przeglądarkę klasy , takie przeglądarkę obiektów oraz diagram hierarchii klas do użytku w rozwoju oprogramowania obiektowego .

Przegląd

Vim ze zintegrowanym autouzupełnianiem i lintingiem przez zewnętrzną wtyczkę

Zintegrowane środowiska programistyczne są zaprojektowane tak, aby zmaksymalizować produktywność programistów poprzez dostarczanie zwartych komponentów z podobnymi interfejsami użytkownika . IDE przedstawiają pojedynczy program, w którym cały proces jest wykonywany. Ten program zazwyczaj udostępnia wiele funkcji do tworzenia, modyfikowania, kompilowania, wdrażania i debugowania oprogramowania. Kontrastuje to z tworzeniem oprogramowania przy użyciu niepowiązanych narzędzi, takich jak vi , GCC czy make .

Jednym z celów IDE jest zmniejszenie konfiguracji niezbędnej do połączenia wielu narzędzi programistycznych, zamiast tego zapewnia ten sam zestaw możliwości, co jedna spójna jednostka. Skrócenie czasu konfiguracji może zwiększyć produktywność programistów, zwłaszcza w przypadkach, gdy nauka korzystania z IDE jest szybsza niż ręczna integracja i nauka wszystkich poszczególnych narzędzi. Ściślejsza integracja wszystkich zadań programistycznych może poprawić ogólną produktywność, nie tylko pomagając w zadaniach konfiguracyjnych. Na przykład kod może być w sposób ciągły analizowany podczas edycji, co zapewnia natychmiastową informację zwrotną w przypadku wystąpienia błędów składniowych, umożliwiając programistom znacznie szybsze i łatwiejsze debugowanie kodu w środowisku IDE.

Niektóre środowiska IDE są przeznaczone dla określonego języka programowania , umożliwiając zestaw funkcji, który najlepiej pasuje do paradygmatów programowania w tym języku. Istnieje jednak wiele wielojęzycznych środowisk IDE.

Podczas gdy większość współczesnych IDE to środowiska graficzne, środowiska IDE oparte na tekście, takie jak Turbo Pascal, były powszechnie używane przed udostępnieniem systemów okienkowych, takich jak Microsoft Windows i X Window System (X11). Zwykle używają klawiszy funkcyjnych lub skrótów klawiszowych do wykonywania często używanych poleceń lub makr.

Historia

GNU Emacs , rozszerzalny edytor, który jest powszechnie używany jako IDE w systemach uniksopodobnych

Środowiska IDE początkowo stały się możliwe podczas programowania za pośrednictwem konsoli lub terminala . Wczesne systemy nie mogły go obsługiwać, ponieważ programy były przygotowywane przy użyciu schematów blokowych, wprowadzając programy z perforowanymi kartami (lub taśmą papierową itp.) Przed przesłaniem ich do kompilatora . Dartmouth BASIC był pierwszym językiem stworzonym za pomocą IDE (a także pierwszym, który został zaprojektowany do użytku podczas siedzenia przed konsolą lub terminalem). Jego IDE (część Dartmouth Time Sharing System ) było oparte na poleceniach i dlatego nie wyglądało zbytnio jak oparte na menu, graficzne IDE popularne po pojawieniu się graficznego interfejsu użytkownika . Jednak zintegrował edycję, zarządzanie plikami, kompilację, debugowanie i wykonywanie w sposób zgodny z nowoczesnym IDE.

Maestro I jest produktem firmy Softlab Monachium i było pierwszym na świecie zintegrowanym środowiskiem programistycznym dla oprogramowania. Maestro I został zainstalowany dla 22 000 programistów na całym świecie. Do 1989 roku w Republice Federalnej Niemiec istniało 6000 instalacji . Maestro był prawdopodobnie światowym liderem w tej dziedzinie w latach siedemdziesiątych i osiemdziesiątych XX wieku. Dziś jednego z ostatnich Maestro I można znaleźć w Muzeum Technik Informacyjnych w Arlington w Teksasie.

Jednym z pierwszych IDE z koncepcją wtyczek był Softbench . W 1995 Computerwoche skomentował, że użycie IDE nie zostało dobrze przyjęte przez programistów, ponieważ ograniczyłoby to ich kreatywność.

Od stycznia 2021 r. Trzy środowiska IDE, których strony pobierania są najczęściej wyszukiwane, to Visual Studio , Eclipse i Android Studio .

Tematy

Podświetlanie składni

Edytor IDE zwykle zapewnia podświetlanie składni , może wyświetlać zarówno struktury, słowa kluczowe języka, jak i błędy składniowe z wizualnie różnymi kolorami i efektami czcionek.

Uzupełnianie kodu

Uzupełnianie kodu jest ważną funkcją IDE, mającą na celu przyspieszenie programowania. Nowoczesne IDE mają nawet inteligentne uzupełnianie kodu .

Refaktoryzacja

Zaawansowane środowiska IDE zapewniają obsługę automatycznej refaktoryzacji .

Kontrola wersji

Oczekuje się, że IDE zapewni zintegrowaną kontrolę wersji w celu współdziałania z repozytoriami źródłowymi.

Debugowanie

IDE są również używane do debugowania, przy użyciu zintegrowanego debuggera , z obsługą ustawiania punktów przerwania w edytorze, wizualnego renderowania kroków itp.

Wyszukiwanie kodu

IDE mogą zapewniać zaawansowaną obsługę wyszukiwania kodu: w celu znalezienia deklaracji klas i funkcji, zastosowań, odczytu / zapisu zmiennych i pól itp. IDE mogą wykorzystywać różne rodzaje interfejsów użytkownika do wyszukiwania kodu, na przykład widżety oparte na formularzach i naturalne interfejsy językowe.

Programowanie wizualne

Programowanie wizualne to scenariusz użycia, w którym na ogół wymagane jest IDE. Visual Basic umożliwia użytkownikom tworzenie nowych aplikacji poprzez przenoszenie programowania, bloków konstrukcyjnych lub węzłów kodu w celu tworzenia schematów blokowych lub diagramów struktur, które są następnie kompilowane lub interpretowane. Te schematy blokowe często są oparte na języku Unified Modeling Language .

Interfejs ten został spopularyzowany w systemie Lego Mindstorms i jest aktywnie wykorzystywany przez wiele firm, które chcą wykorzystać moc niestandardowych przeglądarek, takich jak te, które można znaleźć w Mozilli . KTechlab obsługuje kod przepływu i jest popularnym środowiskiem IDE i symulatorem typu open source do tworzenia oprogramowania dla mikrokontrolerów. Programowanie wizualne jest również odpowiedzialne za możliwości programowania rozproszonego (por. Oprogramowanie LabVIEW i EICASLAB ). Wczesny system programowania wizualnego, Max , był wzorowany na konstrukcji syntezatora analogowego i był używany do tworzenia oprogramowania do odtwarzania muzyki w czasie rzeczywistym od lat 80. Innym wczesnym przykładem był Prograph , system oparty na przepływie danych , pierwotnie opracowany dla komputerów Macintosh . Graficzne środowisko programistyczne „Grape” służy do programowania zestawów robotów qfix .

Podejście to jest również stosowane w specjalistycznym oprogramowaniu, takim jak Openlab , gdzie użytkownicy końcowi chcą elastyczności pełnego języka programowania, bez tradycyjnej krzywej uczenia się z nim związanej.

Wsparcie językowe

Niektóre IDE obsługują wiele języków, na przykład GNU Emacs oparty na C i Emacs Lisp oraz IntelliJ IDEA , Eclipse , MyEclipse lub NetBeans , wszystkie oparte na Javie lub MonoDevelop , oparte na C # lub PlayCode.

Wsparcie dla alternatywnych języków jest często zapewniane przez wtyczki , co pozwala na ich instalację w tym samym IDE w tym samym czasie. Na przykład Flycheck jest nowoczesnym rozszerzeniem do sprawdzania składni w locie dla GNU Emacs 24 z obsługą 39 języków. Eclipse i Netbeans mają wtyczki dla C / C ++ , Ada , GNAT (na przykład AdaGIDE ), Perl , Python , Ruby i PHP , które są wybierane automatycznie na podstawie rozszerzenia pliku, środowiska lub ustawień projektu.

Postawy na różnych platformach komputerowych

Programiści uniksowi mogą łączyć narzędzia POSIX wiersza poleceń w kompletne środowisko programistyczne, zdolne do tworzenia dużych programów, takich jak jądro Linuksa i jego środowisko. W tym sensie cały system Unix funkcjonuje jako IDE. Wolne narzędzia oprogramowania GNU ( kolekcja kompilatorów GNU (GCC), Debugger GNU (GDB) i marka GNU ) są dostępne na wielu platformach, w tym w systemie Windows. Wszechobecna filozofia Uniksa „wszystko jest strumieniem tekstowym” umożliwia programistom preferującym narzędzia zorientowane na linię poleceń używanie edytorów obsługujących wiele standardowych narzędzi do budowania systemów Unix i GNU, budując IDE za pomocą programów takich jak Emacs czy Vim . Data Display Debugger ma być zaawansowanym graficznym front-endem dla wielu standardowych narzędzi debugera tekstowych . Niektórzy programiści wolą zarządzać plikami makefile i ich pochodnymi od podobnych narzędzi do budowania kodu zawartych w pełnym IDE. Na przykład większość współautorów bazy danych PostgreSQL używa make i GDB bezpośrednio do tworzenia nowych funkcji. Nawet podczas budowania PostgreSQL dla Microsoft Windows przy użyciu Visual C ++ , skrypty Perla są używane jako zamiennik make, zamiast polegać na jakichkolwiek funkcjach IDE. Niektóre środowiska IDE Linuksa, takie jak Geany, próbują zapewnić graficzny interfejs dla tradycyjnych operacji kompilacji.

Na różnych platformach Microsoft Windows narzędzia wiersza poleceń do programowania są rzadko używane. W związku z tym istnieje wiele produktów komercyjnych i niekomercyjnych. Jednak każdy ma inny projekt, co często powoduje niezgodności. Większość głównych dostawców kompilatorów dla systemu Windows nadal udostępnia bezpłatne kopie swoich narzędzi wiersza polecenia, w tym Microsoft ( Visual C ++ , Platform SDK , .NET Framework SDK, narzędzie nmake ).

IDE zawsze były popularne w klasycznym Mac OS i macOS Apple Macintosh , sięgając do środowisk Macintosh Programmer's Workshop , Turbo Pascal , THINK Pascal i THINK C z połowy lat 80. Obecnie programiści macOS mogą wybierać między natywnymi IDE, takimi jak Xcode, a narzędziami open source, takimi jak Eclipse i Netbeans . ActiveState Komodo to opatentowane wielojęzyczne środowisko IDE obsługiwane w systemie macOS.

Sztuczna inteligencja

Niektóre funkcje IDE mogą skorzystać na postępach w sztucznej inteligencji. W szczególności można zbierać informacje z działań IDE między programistami w celu rozszerzenia funkcji IDE. Na przykład podejście do uzupełniania kodu oparte na danych skutkuje inteligentnym uzupełnianiem kodu .

Zintegrowane internetowe środowisko programistyczne

Zintegrowany Web Development Environment (IDE Web), znany również jako IDE Online lub chmura IDE, jest przeglądarka IDE oparte, która pozwala na rozwój oprogramowania i tworzenie stron internetowych. Dostęp do internetowego środowiska IDE można uzyskać z poziomu przeglądarki internetowej, co zapewnia przenośne środowisko pracy. Internetowe środowisko IDE zwykle nie zawiera wszystkich tych samych funkcji, co tradycyjne lub stacjonarne środowisko IDE, chociaż zazwyczaj występują wszystkie podstawowe funkcje środowiska IDE, takie jak podświetlanie składni.

Zobacz też

Bibliografia