Wprowadzenie

Skuteczne środowisko programistyczne jest niezbędne dla optymalizacji procesu tworzenia kodu i zarządzania projektami. Właściwe narzędzia i konfiguracje mogą znacznie zwiększyć produktywność, poprawić jakość kodu oraz uprościć codzienne zadania programistyczne. Poradnik „Środowisko Programowania” ma na celu dostarczenie kompleksowego przewodnika po instalacji i konfiguracji środowisk programistycznych na najpopularniejszych systemach operacyjnych: Windows, GNU/Linux oraz macOS.

Poradnik został podzielony na kilka kluczowych rozdziałów, które szczegółowo omawiają:

  1. Instalacja podstawowych języków: Rozdział przedstawia szczegółowe instrukcje dotyczące instalacji i konfiguracji tych języków na trzech popularnych systemach operacyjnych: Windows, GNU/Linux i macOS. Każda sekcja zawiera krok po kroku przewodnik, który pomoże Ci zainstalować odpowiednie kompilatory, interpretery oraz narzędzia wspierające.

  2. Instalacja zintegrowanego środowiska programistycznego IDE (ang. integrated development environment): Rozdział ten przedstawia podstawowe narzędzia IDE i edytory kodu, które są powszechnie używane w codziennej pracy programistycznej. Zawiera szczegółowe instrukcje dotyczące instalacji oraz konfiguracji takich narzędzi jak Visual Studio Code, Xcode, Neovim, oraz inne popularne edytory, dostosowane do różnych systemów operacyjnych.

  3. System kontroli wersji: Kontrola wersji odgrywa kluczową rolę w procesie tworzenia oprogramowania, umożliwiając śledzenie zmian w kodzie, ułatwiając współpracę zespołową oraz pozwalając na przywracanie wcześniejszych wersji projektu. Jest to szczególnie przydatne w przypadku błędów lub konieczności zmiany założeń projektu. W rozdziale omówimy popularne systemy kontroli wersji, takie jak SVN i Git.

  4. Wykorzystanie sztucznej inteligencji: W tym rozdziale testujemy nowoczesne narzędzia oparte na sztucznej inteligencji, takie jak GitHub Copilot i modele językowe, takie jak ChatGPT. Omówimy, jak te technologie mogą wspierać programistów w codziennej pracy, przyspieszając pisanie kodu, automatyzując rutynowe zadania oraz dostarczając wsparcia w zakresie nauki i rozwoju umiejętności programistycznych.

Poradnik „Środowisko Programowania” ma na celu nie tylko zapewnienie szczegółowych instrukcji dotyczących instalacji i konfiguracji narzędzi, ale także pomóc w optymalizacji Twojego środowiska pracy, aby sprostać współczesnym wymaganiom i wyzwaniom w zakresie tworzenia oprogramowania.

Instalacja podstawowych języków programowania

W dzisiejszym świecie umiejętność pracy z różnymi językami programowania jest kluczowa dla rozwoju i wszechstronności programisty. W tym rozdziale skoncentrujemy się na instalacji podstawowych języków programowania: C, Python oraz Ada. Każdy z tych języków ma swoje unikalne zastosowania i jest szeroko używany w różnych dziedzinach informatyki.

  • Język C jest fundamentem wielu nowoczesnych języków programowania i znajduje zastosowanie w systemach operacyjnych, oprogramowaniu systemowym, oraz aplikacjach wymagających wysokiej wydajności.

  • Python to jeden z najpopularniejszych języków programowania, ceniony za swoją prostotę i wszechstronność. Jest szeroko stosowany w analizie danych, tworzeniu aplikacji internetowych, automatyzacji i sztucznej inteligencji. Instalacja Pythona oraz konfiguracja środowiska jest niezbędna dla wielu współczesnych aplikacji i projektów.

  • Ada to język programowania, który zdobył uznanie w systemach wymagających wysokiej niezawodności i bezpieczeństwa, takich jak systemy wbudowane, lotnictwo oraz obronność. Instalacja kompilatora Ada jest ważna dla projektów, które wymagają precyzyjnego zarządzania zasobami i spełniania rygorystycznych standardów jakości.

W tym rozdziale przeprowadzimy Cię przez kroki niezbędne do zainstalowania i skonfigurowania tych języków na trzech różnych systemach operacyjnych: Windows, GNU/Linux (Ubuntu) i macOS.

  • Na systemie Windows omówimy, jak zainstalować narzędzia programistyczne za pomocą WSL (Windows Subsystem for Linux) dla bardziej zintegrowanego środowiska.

  • Na systemie GNU/Linux przedstawimy szczegółowe instrukcje instalacji kompilatorów i interpreterów dla każdego z języków, dostosowane do popularnej dystrybucji Ubuntu.

  • Na systemie macOS pokażemy, jak zainstalować i skonfigurować odpowiednie narzędzia dla każdego języka, korzystając z wbudowanych funkcji systemu oraz narzędzi takich jak Homebrew.

Ten rozdział zapewni Ci kompleksowe informacje potrzebne do skutecznej instalacji i konfiguracji środowiska dla języków C, Python i Ada, co jest fundamentem dla dalszej pracy nad projektami programistycznymi.

Instalacja języków programowania dla systemu Windows WSL oraz VM VirtualBox Ubuntu

Podrozdział ten zawiera szczegółowe instrukcje dotyczące instalacji języków programowania na systemie Windows. Skupimy się na instalacji przy użyciu Windows Subsystem for Linux (WSL), co pozwala na uruchamianie środowiska GNU/Linux w systemie Windows, umożliwiając łatwą instalację i zarządzanie wieloma językami programowania. Zauważmy, że programując w WSL (Windows Subsystem for Linux), pracujemy w środowisku wirtualnym, które działa w formie warstwy kompatybilności, pozwalającej uruchamiać linuksowe narzędzia bez pełnej wirtualizacji systemu. Choć jest to rozwiązanie wydajne i wygodne, może być ograniczone w porównaniu z pełną instalacją systemu operacyjnego. Dlatego, jeśli posiadamy wystarczającą ilość miejsca na dysku twardym, warto rozważyć pełną instalację Ubuntu w maszynie wirtualnej, ponieważ zapewnia to pełne środowisko systemu GNU/Linux, z dostępem do jego wszystkich funkcji, bez konieczności korzystania z rozwiązań pośrednich. Instalacja środowisk też znacząco się upraszcza.

Wprowadzenie do WSL

WSL (Windows Subsystem for Linux) umożliwia uruchamianie natywnych narzędzi linuksowych oraz aplikacji na systemie Windows bez potrzeby korzystania z maszyny wirtualnej. Dostępne są dwie wersje WSL1 i WSL2 które różnią się istotnie pod względem architektury i sposobu działania. Oto kluczowe różnice między WSL1 a WSL2:

1. Architektura

  • WSL1: Działa jako warstwa kompatybilności tłumacząca wywołania jądra Linuksa na wywołania jądra Windows (NT). Oznacza to, że nie korzysta z rzeczywistego jądra Linuksa, ale emuluje środowisko poprzez tłumaczenie wywołań systemowych.
  • WSL2: WSL2 używa pełnego jądra Linuksa działającego w lekkiej maszynie wirtualnej (Hyper-V). Jest to bardziej tradycyjny Linux, ponieważ działa na rzeczywistym jądrze Linuksa.

2. Zgodność

  • WSL1: Nie oferuje pełnej zgodności z Linuksem, szczególnie w przypadku niektórych systemowych wywołań i funkcji, np. docker, który wymagają wsparcia wirtualizacji.
  • WSL2: Dzięki natywnemu jądru Linuksa ma pełną zgodność, co pozwala uruchamiać takie narzędzia jak docker, które wymagają niskopoziomowego wsparcia systemu.

3. Zużycie zasobów

  • WSL1: Działa jako warstwa tłumacząca wywołania systemowe, więc nie wymaga zasobów maszyny wirtualnej. Wpływa to na niższe zużycie pamięci i zasobów CPU.
  • WSL2: Używa maszyny wirtualnej (Hyper-V), co oznacza większe zużycie zasobów, zwłaszcza pamięci RAM i CPU, ale daje większe możliwości.

4. Wsparcie dla aplikacji sieciowych

  • WSL1: Używa sieci Windows, więc aplikacje GNU/Linux uruchamiane w WSL1 mogą mieć różne problemy z siecią, takie jak niemożność łatwego uzyskania adresu IP z sieci hosta.
  • WSL2: Działa w wirtualnej sieci, co oznacza, że aplikacje Linuksa mają własny adres IP. To daje większą elastyczność w pracy z aplikacjami sieciowymi, choć może to wymagać konfiguracji przy komunikacji z systemem Windows.

Podsumowanie

  • WSL1: Jest lepszy, jeśli potrzebujesz szybkiego dostępu do plików Windows, minimalnego zużycia zasobów oraz gdy nie potrzebujesz pełnej zgodności z systemem Linux.
  • WSL2: Oferuje pełną zgodność z Linuksem, wyższą wydajność w operacjach wewnątrz systemu Linux, ale wymaga więcej zasobów i wirtualizacji.

Obie wersje mają swoje zalety w zależności od potrzeb użytkownika i rodzaju wykonywanych zadań. Wiele osób wybiera WSL2 ze względu na lepszą kompatybilność z narzędziami typowymi dla GNU/Linuksa, takimi jak debugger, ale WSL1 może być nadal preferowany do szybkich, lekkich zadań integrujących Windows z GNU/Linuksem.

Poniżej znajdziesz instrukcje instalacji WSL, które są wymagane przed przystąpieniem do instalacji języków C, Python i Ada.

Instalacja WSL

  1. Instalacja WSL:

    • Otwieramy panel Ustawienia i przechodzimy do sekcji Aplikacje.
    • W Aplikacje i funkcje w sekcji Powiązane ustawienia klikamy Programy i funkcje.
    • Teraz klikamy odsyłacz Włącz lub wyłącz funkcje systemu Windows znajdujący się w menu po lewej stronie.
    • Na liście odnajdujemy Podsystem Windows dla systemu Linux i, jeśli nie jest zaznaczony, zaznaczamy go.
    • Można też włączyć Hyper V jeśli nie został jeszcze włączony jest potrzebny dla WSL2
    • Zatwierdzamy przyciskiem OK.
    • Instalacja wykona się automatycznie i potrwa od kilku sekund do minuty. By ją ukończyć, konieczny będzie restart systemu. W okienku, które się pojawi, klikamy Uruchom ponownie teraz.
  2. Instalacja WSL z terminala (alternatywna instalacja z terminala):

    • Otwórz PowerShell jako administrator i uruchom następujące polecenie:
      wsl --install -d Ubuntu
      
    • Po zakończeniu instalacji uruchom ponownie komputer.
    • Dodatkowa konfiguracja środowiska jest opisana tutaj.
  3. Wersja WSL

    • Po instalacji można też sprawdzić która wersję WSL została zainstalowana. Otwórz PowerShell jako administrator i wpisz polecenie:
      wsl -l -v
      
    • Zmiana wersji WSL np. WSL1 na WSL2
      wsl --set-version Ubuntu 2
      
  4. Wybierz dystrybucję GNU/Linux:

    • Po restarcie systemu, WSL automatycznie zainstaluje domyślną dystrybucję GNU/Linux (np. Ubuntu). Jeśli nie uruchomi się automatyczna instalacja lub chcemy zainstalować inną dystrybucję np. inną wersję Ubuntu, wtedy można ją wybrać z Microsoft Store.
  5. Zaktualizuj system GNU/Linux:

    • Po pierwszym uruchomieniu WSL, zaktualizuj system GNU/Linux, wpisując w terminalu:
      sudo apt update && sudo apt upgrade
      

Instalacja Ubuntu w wirtualnej maszynie VM

Podstawowa instalacja Ubuntu zajmuje około 8-10 GB miejsca na dysku, jednak zalecana przestrzeń dyskowa to przynajmniej 25 GB. Daje to zapas na aktualizacje, dodatkowe aplikacje i dane użytkownika. Aby pracować w komfortowych warunkach, dobrze jest przeznaczyć na instalację Ubuntu około 30-40 GB, zwłaszcza jeśli planujemy instalować dodatkowe oprogramowanie lub tworzyć bardziej rozbudowane projekty.

Oto krótka instrukcja instalacji Ubuntu na systemie Windows przy użyciu VirtualBox:

1. Pobierz VirtualBox:

  • Wejdź na stronę VirtualBox i pobierz najnowszą wersję programu dla systemu Windows.
  • Zainstaluj VirtualBox, postępując zgodnie z instrukcjami instalatora.

2. Pobierz obraz Ubuntu:

  • Przejdź na stronę Ubuntu i pobierz plik ISO najnowszej wersji systemu (wersja desktop).

3. Stwórz nową maszynę wirtualną:

  1. Otwórz VirtualBox i kliknij „Nowa”.
  2. Wprowadź nazwę maszyny (np. „Ubuntu”).
  3. Wybierz typ systemu: Linux.
  4. Wybierz wersję: Ubuntu (64-bit).
  5. Kliknij „Dalej”.

4. Ustaw zasoby dla maszyny wirtualnej:

  1. Pamięć RAM: Wybierz odpowiednią ilość pamięci RAM (np. 4096 MB, czyli 4 GB) im więcej możemy przeznaczyć tym lepiej.
  2. Dysk twardy: Wybierz opcję „Stwórz nowy dysk wirtualny”, a następnie ustaw rozmiar (np. 20 GB). Zostaw domyślny format VDI i tryb dynamicznie przydzielanego miejsca.

5. Wybierz obraz ISO Ubuntu:

  1. Kliknij na swoją nową maszynę wirtualną i wybierz „Ustawienia”.
  2. W zakładce „Pamięć” kliknij na ikonę CD/DVD obok „Puste”.
  3. W sekcji „Atrybuty” kliknij ikonę CD po prawej stronie i wybierz „Wybierz plik dysku”.
  4. Wskaż pobrany plik ISO Ubuntu.

6. Uruchom instalację Ubuntu:

  1. Kliknij „Uruchom” na VirtualBox.
  2. Maszyna wirtualna powinna uruchomić się z obrazu Ubuntu. Postępuj zgodnie z instrukcjami na ekranie, aby zainstalować system na wirtualnym dysku.

Na dalszą instalacje oprogramowania proszę patrzyć na sekcje GNU/Linux.

Instalacja języka C dla systemu Windows WSL

Aby zainstalować kompilator języka C w WSL, wykonaj poniższe kroki:

  1. Zainstaluj kompilator GCC:

    • W terminalu WSL wpisz:
      sudo apt install build-essential gdb
      
    • To polecenie zainstaluje GCC (kompilator C) oraz inne narzędzia potrzebne do kompilacji programów w języku C.
  2. Sprawdź instalację:

    • Upewnij się, że instalacja zakończyła się sukcesem, sprawdzając wersję GCC:
      gcc --version
      

Instalacja języka Python dla systemu Windows WSL

Instalacja języka Python w WSL jest również prosta i polega na wykonaniu poniższych kroków:

  1. Zainstaluj Python:

    • W terminalu WSL wpisz:
      sudo apt install python3
      
    • To polecenie zainstaluje najnowszą wersję Pythona.
  2. Zainstaluj pip:

    • Dla zarządzania pakietami Pythona, zainstaluj pip:
      sudo apt install python3-pip
      
  3. Sprawdź instalację:

    • Upewnij się, że Python został poprawnie zainstalowany, sprawdzając jego wersję:
      python3 --version
      

Instalacja języka Ada dla systemu Windows WSL

Aby zainstalować kompilator języka Ada w WSL, wykonaj następujące kroki:

  1. Zainstaluj GNAT:

    • GNAT to kompilator języka Ada, który jest częścią pakietu GCC. Zainstaluj go, wpisując w terminalu WSL:
      sudo apt install gnat
      
  2. Sprawdź instalację:

    • Upewnij się, że GNAT został poprawnie zainstalowany, sprawdzając jego wersję:
      gnat --version
      

Instalacja języków programowania dla systemu GNU/Linux

W tym rozdziale znajdziesz instrukcje dotyczące instalacji języków programowania C, Python oraz Ada na systemie GNU/Linux, korzystając z dystrybucji Ubuntu. Poniżej przedstawione są kroki, które pozwolą na łatwe zainstalowanie każdego z tych języków i skonfigurowanie środowiska programistycznego.

Instalacja języka C dla systemu GNU/Linux

Aby zainstalować kompilator języka C w systemie Ubuntu, wykonaj następujące kroki:

  1. Zaktualizuj listę pakietów:

    • Otwórz terminal i uruchom następujące polecenie, aby upewnić się, że masz najnowsze informacje o dostępnych pakietach:
      sudo apt update
      
  2. Zainstaluj kompilator GCC:

    • Aby zainstalować kompilator GCC oraz inne narzędzia potrzebne do kompilacji programów w języku C, wpisz:
      sudo apt install build-essential gdb
      
    • Pakiet build-essential zawiera GCC, G++, make oraz inne narzędzia niezbędne do kompilacji.
  3. Sprawdź instalację:

    • Upewnij się, że instalacja zakończyła się sukcesem, sprawdzając wersję GCC:
      gcc --version
      

Instalacja języka Python dla systemu GNU/Linux

Instalacja języka Python na Ubuntu jest prostym procesem, który można zrealizować w kilku krokach:

  1. Zaktualizuj listę pakietów:

    • Upewnij się, że lista pakietów jest zaktualizowana, uruchamiając:
      sudo apt update
      
  2. Zainstaluj Python:

    • Aby zainstalować najnowszą wersję Pythona, wpisz w terminalu:
      sudo apt install python3
      
  3. Zainstaluj pip:

    • Pip jest menedżerem pakietów dla Pythona, który pozwala na instalowanie dodatkowych bibliotek i narzędzi. Zainstaluj go, wpisując:
      sudo apt install python3-pip
      
  4. Sprawdź instalację:

    • Upewnij się, że Python został poprawnie zainstalowany, sprawdzając jego wersję:
      python3 --version
      

Instalacja języka Ada dla systemu GNU/Linux

Aby zainstalować kompilator języka Ada na Ubuntu, wykonaj poniższe kroki:

  1. Zaktualizuj listę pakietów:

    • Jak w przypadku poprzednich języków, najpierw zaktualizuj listę dostępnych pakietów:
      sudo apt update
      
  2. Zainstaluj GNAT:

    • GNAT to kompilator języka Ada, który jest częścią pakietu GCC. Zainstaluj go, wpisując w terminalu:
      sudo apt install gnat
      
  3. Sprawdź instalację:

    • Upewnij się, że GNAT został poprawnie zainstalowany, sprawdzając jego wersję:
      gnat --version
      

Instalacja języków programowania dla systemu macOS

W tym rozdziale znajdziesz instrukcje dotyczące instalacji języków programowania C, Python oraz Ada na systemie macOS. Instrukcje te pomogą Ci w prosty sposób zainstalować i skonfigurować potrzebne narzędzia na Twoim Macu.

Wykorzystamy narzędzie Homebrew, które jest popularnym menedżerem pakietów dla macOS, ułatwiającym instalację oprogramowania.

  1. Zainstaluj Homebrew:

    • Otwórz terminal i uruchom poniższe polecenie, aby zainstalować Homebrew:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
    • Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zakończyć instalację.
  2. Zaktualizuj Homebrew:

    • Po instalacji, zaktualizuj Homebrew, wpisując:
      brew update
      

Instalacja języka C dla systemu macOS

Aby zainstalować kompilator języka C na macOS, wykonaj następujące kroki:

1. Instalacja Xcode

  1. Pobierz i zainstaluj Xcode z Mac App Store:

    • Otwórz Mac App Store, wyszukaj "Xcode" i kliknij "Pobierz" (lub "Zainstaluj", jeśli już kiedyś pobrałeś Xcode).
    • Instalacja Xcode może zająć trochę czasu, ponieważ IDE jest dość duże.
  2. Zainstaluj dodatkowe narzędzia wiersza poleceń:

    • Kompilator clang jest dostępny w pakiecie Xcode Command Line Tools. Po zainstalowaniu Xcode, otwórz Terminal i wpisz następujące polecenie, aby zainstalować narzędzia wiersza poleceń:
      xcode-select --install
      
    • Postępuj zgodnie z instrukcjami, aby zakończyć instalację.

Instalacja języka Python dla systemu macOS

System macOS ma już zainstalowany interpreter języka Python.

Instalacja języka Python na macOS można również wykonać z użyciem Homebrew:

  1. Sprawdź czy masz zainstalowanego Pythona

    • Aby sprawdzić czy jest zainstalowany Python wydaj polecenie:

      python3 --version
      
    • Jeśli nie jest zainstalowany, to przejdź do kolejnych kroków.

  2. Zainstaluj Python przez Homebrew:

    • Aby zainstalować najnowszą wersję Pythona, wpisz w terminalu:
      brew install python
      
  3. Sprawdź instalację:

    • Upewnij się, że Python został poprawnie zainstalowany, sprawdzając jego wersję:
      python3 --version
      
  4. Zarządzanie pakietami:

    • Homebrew automatycznie instaluje pip3, menedżer pakietów dla Pythona. Możesz go używać do instalowania dodatkowych bibliotek:
      pip3 install <package-name>
      

Instalacja języka Ada dla systemu macOS

Najlepiej zainstalować program Alire, który służy do obsługi pakietów w językach Ada i SPARK. Będzie można skorzystać z niego jeszcze na kursach Programowania współbieżnego i Niezawodnych systemach informatycznych.

Po wejściu na stronę https://alire.ada.dev/ należy kliknąć na przycisku Download Alire for macOS. Zostanie ściągnięte spakowane archiwum. Przeglądarka rozpakuje je i umieści w katalogu Pobrane rzeczy podkatalog alr-2. Znajduje się w nim katalog bin. Należy przenieść z niego wykonywalny plik alr do katalogu /usr/local/bin wykonując na terminalu polecenie:

$ cp ~/Downloads/alr-2/bin/alr /usr/local/bin

Instalacja środowiska IDE

Zintegrowane środowisko programistyczne (IDE) stanowi kluczowy element w pracy programisty, oferując kompleksowe narzędzia do tworzenia, testowania i debugowania kodu. Wybór odpowiedniego IDE może znacząco wpłynąć na produktywność i komfort pracy. W tym rozdziale skupimy się na instalacji i konfiguracji popularnych środowisk IDE, dostosowanych do różnych systemów operacyjnych oraz języków programowania.

Omówimy proces instalacji IDE takich jak Visual Studio Code, Xcode, oraz konfigurację środowisk opartych na terminalu, takich jak Neovim oraz Nano. Każde z tych narzędzi oferuje unikalne funkcjonalności i integracje, które mogą usprawnić codzienne zadania programistyczne. Zaczniemy od instalacji i konfiguracji dla systemów Windows, GNU/Linux (Ubuntu) oraz macOS, uwzględniając przy tym specyfikę każdego z nich.

W dalszej części rozdziału, dokładnie przeanalizujemy kroki potrzebne do uruchomienia środowisk IDE, konfiguracji podstawowych narzędzi programistycznych oraz integracji z popularnymi wtyczkami i dodatkami. Niezależnie od tego, czy jesteś początkującym czy doświadczonym programistą, ten przewodnik pomoże Ci w skonfigurowaniu środowiska, które będzie wspierało Twoje projekty i rozwój umiejętności programistycznych.

Visual Studio Code

Visual Studio Code (VS Code) jest lekki, ale potężny edytor, który łączy w sobie funkcjonalność zaawansowanego IDE z elastycznością, jaką oferuje edytor tekstu. Dzięki wsparciu dla licznych języków programowania, rozbudowanym możliwościom dostosowywania oraz ogromnej bibliotece rozszerzeń, VS Code stał się narzędziem z wyboru dla wielu programistów. W tej części rozdziału omówimy, jak zainstalować i skonfigurować Visual Studio Code na systemie Windows, oraz jak zintegrować go z innymi narzędziami i językami programowania.

Przygotuj się na krok po kroku przewodnik, który pomoże Ci skonfigurować środowisko IDE w systemie Windows WSL lub GNU/Linux albo macOS.

Instalacja Visual Studio Code

Instalacja VS jest prosta i dostępna na różnych platformach, w tym na Windows (zarówno bezpośrednio, jak i przez WSL), GNU/Linux oraz macOS. W tym przewodniku przeprowadzimy Cię krok po kroku przez proces instalacji Visual Studio Code na każdej z tych platform, zwracając uwagę na kluczowe różnice i wymagania. Dzięki temu będziesz mógł szybko rozpocząć pracę w wygodnym, nowoczesnym środowisku programistycznym, niezależnie od systemu operacyjnego, na którym pracujesz.

Instalacja i konfiguracja Visual Studio Code na systemie Windows WSL

W tym rozdziale znajdziesz instrukcje dotyczące instalacji Visual Studio Code (VS Code) na systemie Windows, wraz z konfiguracją tego edytora do pracy z językami C, Python oraz Ada, które zostały zainstalowane za pomocą Windows Subsystem for Linux (WSL).

1. Instalacja Visual Studio Code

  1. Pobierz Visual Studio Code:

  2. Zainstaluj Visual Studio Code:

    • Uruchom pobrany instalator i postępuj zgodnie z instrukcjami, aby zainstalować VS Code na swoim komputerze.

2. Instalacja rozszerzeń WSL dla Visual Studio Code

Aby VS Code mógł współpracować z WSL, należy zainstalować odpowiednie rozszerzenia.

  1. Otwórz Visual Studio Code:

    • Po zakończeniu instalacji uruchom Visual Studio Code.
  2. Zainstaluj rozszerzenie WSL:

    • Kliknij ikonę rozszerzeń (puzzle) po lewej stronie okna VS Code.
    • W polu wyszukiwania wpisz "WSL" i wybierz rozszerzenie "WSL" od Microsoft.
    • Kliknij Install, aby zainstalować rozszerzenie.

3. Konfiguracja Visual Studio Code z WSL

  1. Otwórz projekt w WSL:
    • W Visual Studio Code, kliknij ikonę WSL (znak ><) na dole okna lub użyj polecenia "WSL: Connect New Window" z palety poleceń (Ctrl+Shift+P).
    • Wybierz dystrybucję GNU/Linux, którą zainstalowałeś w WSL.
    • Otwórz katalog z projektem lub utwórz nowy projekt bezpośrednio w środowisku WSL.

Uwaga

  • Aby uruchomić Debug C/C++ w Visual Studio Code zalecane jest WSL2! - zależy od wersji gdb, starsze wersje działają z WSL1 można też wykorzystywać nowsze gdb z WSL1, ale w terminalu.

Instalacja i konfiguracja Visual Studio Code na systemie GNU/Linux (Ubuntu)

W tym rozdziale znajdziesz instrukcje dotyczące instalacji Visual Studio Code (VS Code) na systemie GNU/Linux, korzystając z dystrybucji Ubuntu. Instrukcje obejmują również konfigurację VS Code do pracy z językami C, Python oraz Ada.

1. Instalacja Visual Studio Code

Instalacja z Centrum programów (AppCenter)

  • W Ubuntu uruchom Centrum programów (App Center) wyszukujemy code i po po prostu instalujemy Visual Studio Code. Można też z terminala
    sudo snap install code --classic
    

Instalacja z APT

  • Jeśli mamy starszą wersję albo nie chemy korzystać z snap to można zainstalować Visual Studio Code na Ubuntu zgodnie z poniższymi krokami:
    1. Zaktualizuj listę pakietów:

      • Otwórz terminal i zaktualizuj listę pakietów, wpisując:
        sudo apt update
        
    2. Zainstaluj niezbędne zależności:

      • Przed instalacją VS Code, upewnij się, że masz zainstalowane wymagane zależności:
        sudo apt install software-properties-common apt-transport-https wget
        
    3. Dodaj klucz GPG dla Microsoft:

      • Pobierz i zainstaluj klucz GPG dla repozytorium Microsoft:
        wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
        
    4. Dodaj repozytorium Visual Studio Code:

      • Dodaj repozytorium VS Code do listy źródeł oprogramowania:
        sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
        
    5. Zaktualizuj listę pakietów i zainstaluj Visual Studio Code:

      • Zaktualizuj listę pakietów i zainstaluj VS Code:
        sudo apt update
        sudo apt install code
        
    6. Uruchom Visual Studio Code:

      • Po zakończeniu instalacji, możesz uruchomić VS Code z terminala, wpisując:
        code
        
    7. Dodatkowa konfiguracja:

      • Visual Studio Code napisane jest z wykorzystaniem frameworku Electron w innych dystrybucjach Linuksa może wymagać dodatkowej konfiguracji np. dodanie flagi które bardziej dostosuję VS do aktualnego środowiska np. wykorzystanie Wayland zamiast domyślnego X11 itp.
        • aby wykorzystać z Wayland, można w pliku ~/.config/code-flags.conf dodać --ozone-platform=wayland (w niektórych dystrybucjach domyślne).

Instalacja i konfiguracja Visual Studio Code na systemie macOS

W tym rozdziale znajdziesz instrukcje dotyczące instalacji Visual Studio Code (VS Code) na systemie macOS oraz konfiguracji go do pracy z językami C, Python oraz Ada.

1. Instalacja Visual Studio Code

  1. Pobierz Visual Studio Code:

  2. Zainstaluj Visual Studio Code:

    • Po pobraniu, przeciągnij plik Visual Studio Code.app do folderu Aplikacje, aby zainstalować edytor na swoim komputerze.
  3. Uruchom Visual Studio Code:

    • Przejdź do folderu Aplikacje i uruchom Visual Studio Code, klikając jego ikonę.

Rozszerzenia Visual Studio Code

Rozszerzenia w Visual Studio Code to potężne narzędzie, które pozwala dostosować środowisko pracy do indywidualnych potrzeb programisty. Dzięki nim możemy znacznie usprawnić proces tworzenia i debugowania kodu, a także zapewnić wsparcie dla różnych języków programowania. W przypadku języków takich jak C, Python oraz Ada, odpowiednie rozszerzenia mogą ułatwić zarządzanie projektem, podświetlanie składni, automatyczne formatowanie kodu, a także integrację z narzędziami kompilacji i testowania. W niniejszym przewodniku omówimy rozszerzenia dedykowane tym trzem językom oraz pokażemy, jak wykorzystać Visual Studio Code w codziennej pracy programisty.

Rozszerzenie Visual Studio Code do języka C

Instalacja rozszerzeń dla Visual Studio Code

Aby skonfigurować VS Code do pracy z językem C, musisz zainstalować odpowiednie rozszerzenia.

  1. Otwórz Visual Studio Code:

    • Uruchom VS Code i kliknij ikonę rozszerzeń (puzzle) po lewej stronie okna.
  2. Zainstaluj rozszerzenie dla języka C:

Uwaga: Niektórzy wolą korzystać z otwartej wersji VS - Code OSS i która jako Marketplace wykorzystuje np. Open VSX. Jeśli nie chcemy instalować "proprietary Microsoft-branded release" dla jednego rozszerzenia to można wtedy skorzystać z powyższych linków oraz wybrać ze strony "Download extenstion" następnie zainstalować ręcznie w VS (Ctrl+Shift+P oraz "Install from VSIX").

Aby mieć pewność, że kompilator jest zainstalowany i poprawnie skonfigurowany, utwórzmy program Hello World C.

Utwórz plik C

Uruchom terminal i utwórz pusty folder o nazwie projects, w którym możesz umieścić wszystkie swoje projekty VS Code. Następne polecenia tworzą i przekierowują do podfolderu o nazwie helloworld. Stamtąd otwierasz helloworld bezpośrednio w VS Code za pomocą polecenia code. Uruchom terminal i wpisz

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

Polecenie code . otwiera VS Code w bieżącym folderze roboczym, który staje się Twoim „obszarem roboczym”. Zaakceptuj okno dialogowe Zaufanie obszaru roboczego, wybierając opcję Tak, ufam autorom, ponieważ jest to folder utworzony przez Ciebie.

Teraz utwórz nowy plik o nazwie helloworld.c za pomocą przycisku Nowy plik w Eksploratorze plików lub polecenia Plik > Nowy plik. Wklej następujący kod źródłowy:

#include <stdio.h>

int main(int argc, char *argv[])
{
  printf("Hello, World!\n");
}

Teraz naciśnij Ctrl+S, aby zapisać plik. Możesz również włączyć AutoSave, aby automatycznie zapisywać zmiany w pliku, zaznaczając Auto Save w menu głównym Plik.

Uruchom helloworld.c

  • Upewnij się, że masz otwarty plik helloworld.c, aby był aktywnym plikiem w edytorze.
  • Naciśnij przycisk odtwarzania (play) w prawym górnym rogu edytora.
  • Wybierz plik C/C++: gcc build and debug active z listy wykrytych kompilatorów w systemie.
  • Poproszony o wybranie kompilatora zostaniesz poproszony tylko przy pierwszym uruchomieniu pliku helloworld.c. Ten kompilator stanie się „domyślnym” kompilatorem ustawionym w pliku .vscode/tasks.json.

Uruchom helloworld.c z VS terminala

  • Uruchom terminal Ctrl+`
  • Kompilacja gcc -o helloword helloword.c
  • Uruchomienie ./helloworld
  • Uruchomienie debugera gdb ./helloword

Rozszerzenie Visual Studio Code do języka Python

Instalacja rozszerzeń dla Visual Studio Code

Aby skonfigurować VS Code do pracy z językiem Python, musisz zainstalować odpowiednie rozszerzenia.

  1. Otwórz Visual Studio Code:

    • Uruchom VS Code i kliknij ikonę rozszerzeń (puzzle) po lewej stronie okna.
  2. Zainstaluj rozszerzenia dla języków:

1. Przygotowanie środowiska dla projektu Python

  1. Utwórz nowy folder na swoim komputerze, gdzie będzie znajdował się projekt w Pythonie.
  2. Otwórz folder w Visual Studio Code wybierając z menu: File -> Open Folder.

2. Stworzenie pliku Python

  1. W folderze projektu utwórz nowy plik, np. main.py.
  2. W pliku main.py wpisz poniższy przykładowy kod:
def greet(name):
    return f"Hello, {name}!"

if __name__ == "__main__":
    print(greet("World"))

3. Konfiguracja interpretera Python

  1. W Visual Studio Code otwórz paletę poleceń (Ctrl+Shift+P).
  2. Wpisz: Python: Select Interpreter i wybierz odpowiednią wersję Pythona zainstalowaną na twoim komputerze.

4. Uruchamianie i debugowanie kodu Python

  1. Aby uruchomić kod, możesz użyć terminala wbudowanego w VS Code:
    • Otwórz terminal (Ctrl+`).
    • W terminalu wpisz:
      python main.py
      
  2. Aby uruchomić kod, można też nacisnąć przycisk odtwarzania (play) w prawym górnym rogu edytora
  3. Aby debugować kod, kliknij ikonę debugowania po lewej stronie ekranu (lub użyj Ctrl+Shift+D).
    • Kliknij przycisk Run and Debug i wybierz Python File.
    • Kod zostanie uruchomiony w trybie debugowania, a ty będziesz mógł ustawiać punkty przerwań, śledzić zmienne itd.
    • Uwaga: czasem niestety jest problem z tym rozszerzeniem, zawsze można sprawdzić błąd w Help > Toggle Developer Tools np. problem z 'ms-python.python' CANNOT use API proposal: testObserver. można rozwiązać przez Ctrl+Shift+P > "Configure Runtime Arguments" i dodanie "enable-proposed-api": ["ms-python.python"] do pliku json.
  4. Aby debugować kod w terminalu:
    python -m pdb main.py
    
    Wpisz ? aby uzyskać pomoc np. n - następna linia kodu itp.

5. Linting i sprawdzanie błędów

  1. Możesz skonfigurować linting za pomocą pylint lub flake8, które pomogą w wykrywaniu błędów w kodzie.
  2. Aby zainstalować pylint, wpisz w terminalu:
    pip install pylint
    
  3. VS Code automatycznie wykryje pylint i zacznie sprawdzać kod.

Rozszerzenie Visual Studio Code do języka Ada

Aby uruchomić prosty program w języku Ada w Visual Studio Code, musisz skonfigurować środowisko pracy. Poniżej przedstawiam kroki, jak to zrobić i uruchomić program "Hello, World" w Ada.

Instalacja rozszerzeń dla Visual Studio Code

Aby skonfigurować VS Code do pracy z językami C, Python oraz Ada, musisz zainstalować odpowiednie rozszerzenia.

  1. Otwórz Visual Studio Code:

    • Uruchom VS Code i kliknij ikonę rozszerzeń (puzzle) po lewej stronie okna.
  2. Zainstaluj rozszerzenia dla języków:

    • Ada: Wyszukaj "Ada" i zainstaluj rozszerzenie "Ada & SPARK" adacore.ada lub inne dostępne rozszerzenie dla języka Ada, które spełnia Twoje wymagania.

Stworzenie pliku Ada

  1. Wykonaj polecenie:
$ alr init --bin hello

Plik źródłowy hello.adb powstał w katalogu hello/src

  1. W programie Visual Studio Code wyedytuj plik hello/src/hello.adb tak by wyglądał następująco:
with Ada.Text_IO; use Ada.Text_IO;

procedure Hello is
begin
   Put_Line ("Hello, World!");
end Hello;

Kompilacja programu

  1. Otwórz terminal w Visual Studio Code

  2. Na terminalu przejdź do katalogu hello, który został utworzony poleceniem alr

  3. Wykonaj polecenie:

$ alr build
  1. Jeśli to pierwsza kompilacja w programie Alire, to zostaniesz poproszony o wybór narzędzi.

Uruchomienie programu

  1. Po skompilowaniu programu wykonaj polecenie:
$ alr run

Instalacja i konfiguracja Neovim z Kickstart na systemie Windows WSL, GNU/Linux (Ubuntu) oraz macOS

W tym rozdziale znajdziesz instrukcje dotyczące instalacji Neovim na systemie, korzystając z dystrybucji Ubuntu (Windows WSL oraz GNU/Linux) i macOS, oraz konfiguracji go do pracy z językami C, Python oraz Ada z wykorzystaniem Kickstart.nvim – nowoczesnego szablonu konfiguracji Neovim. Nauka skrótów klawiszowych wybiega poza zakres tego poradnika, ale można znaleźć bardzo dużo różnych materiałów i samouczków. Podsumowując choć "krzywa uczenia" jest na początku duża to nauka tych skrótów pozwala na bardzo szybką i wygodną prace. Możemy te skróty wykorzystać też w VS Code przez instalacje odpowiedniego rozszerzenia, które pozwala na korzystanie z Vim w VS Code!

1. Instalacja Neovim

1. Aby zainstalować Neovim na Ubuntu

  1. Otwórz Centrum programów (App Center)

  2. Wyszukaj 'neovim' wybierz i upewnij się że jest to wersja co najmniej >=0.8.0

  3. Zainstaluj

2. Aby zainstalować Neovim na Ubuntu (Windows WSL i GNU/Linux), wykonaj następujące kroki:

  1. Otwórz Terminal.

  2. Zaktualizuj listę pakietów:

    sudo apt update
    
  3. Zainstaluj neovim:

    • Aby zainstalować najnowszą wersję Neovim, wpisz:
      sudo apt install neovim
      
    • Zainstalowana wersja powinna być co najmniej >=0.8.0
      nvim --version
      
    • W przypadku kiedy dostępna wersja jest niższa zainstaluj Neovim bezpośrednio z repozytorium:
      sudo add-apt-repository ppa:neovim-ppa/unstable
      sudo apt update
      sudo apt install neovim
      
    • Można też zainstalować ostatnią stabilną wersje ze strony neovim stable

3. Aby zainstalować Neovim na macOS za pomocą Homebrew, wykonaj następujące kroki:

  1. Otwórz Terminal.

  2. Zaktualizuj Homebrew:

    Zanim zainstalujesz nowe oprogramowanie, upewnij się, że Homebrew jest zaktualizowany:

    brew update
    
  3. Zainstaluj Neovim:

    • Aby zainstalować Neovim, wpisz poniższą komendę (wersja >=0.8.0):
    brew install neovim
    
    • Można też zainstalować ostatnią stabilną wersje ze strony neovim stable

3. Sprawdź instalację

Po zakończeniu instalacji sprawdź, czy Neovim działa, uruchamiając go w terminalu:

nvim

Wyjście z Neovim :q.

2. Instalacja menedżera wtyczek

Aby rozpocząć, musisz najpierw skonfigurować odpowiednie środowisko:

  1. Zainstaluj (jeśli nie masz go zainstalowanego):
    • Git jest wymagany do pobierania wtyczek:
      sudo apt install git
      
    • Unzip jest wymagany do instalacji wtyczek:
      sudo apt install unzip
      

3. Konfiguracja kickstart.nvim

Kickstart.nvim to gotowy szablon konfiguracji, który pozwala szybko zacząć pracę z Neovim.

  1. Pobierz Kickstart.nvim:

    • Sklonuj repozytorium Kickstart.nvim do swojego katalogu konfiguracyjnego Neovim. Wpisz w terminalu:
      git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
      
  2. Uruchom neovim:

    • Po pierwszym uruchomieniu Neovim automatycznie zainstaluje wtyczki. Wpisz w terminalu:
      nvim
      
    • Poczekaj, aż wszystkie wtyczki zostaną pobrane i zainstalowane.

4. Konfiguracja środowiska dla C, Python oraz Ada

Neovim z Kickstart.nvim jest już gotowy do pracy, ale warto dodać kilka specyficznych ustawień dla poszczególnych języków.

  1. Konfiguracja dla języka C:

    • Kickstart.nvim ma wbudowaną obsługę dla języków C/C++. Po uruchomieniu Neovim wpisz :Mason znajdź clangd i zainstaluj naciskając klawisz i.
    • Neovim automatycznie wykryje pliki C/C++ i uruchomi serwer LSP, dostarczając funkcje takie jak autouzupełnianie i linting.
  2. Konfiguracja dla języka Python:

    • Po uruchomieniu Neovim wpisz :Mason znajdź python-lsp-server i zainstaluj naciskając klawisz i.
    • Kickstart.nvim automatycznie skonfiguruje LSP dla Pythona po otwarciu pliku .py.
  3. Konfiguracja dla języka Ada:

    • Możesz zainstalować ada-language-server w neovim wpisz :Mason, aby uzyskać wsparcie LSP:
    • Neovim automatycznie uruchomi ada_language_server dla plików Ady.

Dzięki powyższym krokom, Neovim będzie w pełni skonfigurowany do pracy z językami C, Python oraz Ada, korzystając z Kickstart.nvim jako bazy konfiguracyjnej.

Korzystanie z Edytora Nano jako Mini IDE

Edytor Nano, pomimo swojej prostoty, może być wykorzystany jako efektywne narzędzie do programowania, szczególnie w przypadku pracy na serwerach, maszynach zdalnych lub w środowiskach, gdzie bardziej zaawansowane IDE są niedostępne. Dzięki kilku prostym konfiguracjom i technikom, Nano może stać się funkcjonalnym mini IDE, które umożliwia pisanie, edytowanie i debugowanie kodu.

Instalacja Nano w Terminalu

Nano jest zazwyczaj preinstalowany w systemie Ubuntu. Jeśli jednak Nano nie jest dostępny, można go łatwo zainstalować za pomocą menedżera pakietów apt. Aby zainstalować Nano, wystarczy wykonać następujące kroki:

  1. Otwórz terminal.

  2. Zaktualizuj listę pakietów:

    sudo apt update
    
  3. Zainstaluj Nano:

    sudo apt install nano
    
  4. Sprawdź instalację: Aby upewnić się, że Nano został poprawnie zainstalowany, możesz uruchomić edytor:

    nano --version
    

    Powinno to wyświetlić numer wersji Nano.

Nano jest teraz gotowy do użycia, a jego konfigurację można dostosować, edytując plik .nanorc w katalogu domowym użytkownika (~/.nanorc).

1. Podstawowa konfiguracja nano

Aby zwiększyć funkcjonalność Nano jako edytora kodu, warto wprowadzić kilka zmian w jego konfiguracji. Plik konfiguracyjny Nano, zwykle znajduje się w katalogu domowym użytkownika i nosi nazwę .nanorc. Możesz edytować ten plik, aby dostosować Nano do swoich potrzeb.

1.1 Włączanie kolorowania składni

Kolorowanie składni w Nano ułatwia odczytywanie i pisanie kodu. W pliku .nanorc możesz włączyć kolorowanie składni dla różnych języków programowania.

Przykład wpisów dla kilku popularnych języków:

include /usr/share/nano/python.nanorc
include /usr/share/nano/c.nanorc
include /usr/share/nano/sh.nanorc

Pliki .nanorc dla różnych języków znajdują się zazwyczaj w /usr/share/nano/. Dodanie powyższych linii do pliku .nanorc włączy kolorowanie składni dla języków Python, C oraz skryptów powłoki.

1.2 Włączanie automatycznego wcięcia

Aby Nano automatycznie wstawiał odpowiednie wcięcia w kodzie, dodaj do swojego pliku .nanorc następującą linię:

set autoindent

To ustawienie ułatwia pracę z kodem, szczególnie w przypadku języków takich jak Python, gdzie wcięcia są kluczowe.

1.3 Numerowanie linii

Numerowanie linii jest przydatne, szczególnie podczas debugowania kodu. Aby włączyć numerowanie linii, dodaj do .nanorc:

set linenumbers

Numery linii pojawią się na marginesie edytora, co ułatwia nawigację po kodzie.

2. Podstawowe funkcje nano dla programistów

Nano, choć prosty, oferuje kilka funkcji, które mogą być przydatne podczas programowania.

2.1 Wyszukiwanie i zastępowanie

Możesz szybko wyszukiwać i zastępować tekst w pliku, używając skrótu klawiszowego Ctrl + \. To pozwala na efektywną modyfikację kodu bez potrzeby ręcznego przeszukiwania dokumentu.

2.2 Zapis do pliku i kompilacja

Podczas pracy w Nano, możesz łatwo zapisać plik, używając Ctrl + O, a następnie skompilować kod bez wychodzenia z edytora. W tym celu, wystarczy wprowadzić polecenie kompilacji w terminalu otwartym obok edytora.

Przykład:

gcc -o program program.c

Po skompilowaniu możesz uruchomić program z poziomu terminala.

2.3 Kopiowanie i wklejanie

Nano umożliwia kopiowanie i wklejanie tekstu bez potrzeby korzystania z myszy, co jest szczególnie przydatne w środowiskach terminalowych. Użyj Ctrl + ^ (aby zaznaczyć tekst), a następnie Ctrl + K (aby wyciąć) lub Ctrl + U (aby wkleić).

3. Zaawansowane funkcje i integracje

Nano może być rozszerzony o kilka funkcji, które sprawiają, że jest bardziej użyteczny jako mini IDE.

3.1 Kompilacja i uruchamianie kodów bezpośrednio z nano

Nano pozwala na wywołanie poleceń systemowych bezpośrednio z edytora, co oznacza, że możesz kompilować i uruchamiać programy bez opuszczania sesji edycji. Wystarczy użyć skrótu Ctrl + ^ (znacznik do zaznaczenia bloku kodu), a następnie Ctrl + | (wywołanie polecenia). Wprowadź polecenie, np. kompilację C:

gcc -o program program.c

3.2 Makra i skrypty

Chociaż Nano nie obsługuje makr w tradycyjnym tego słowa znaczeniu, możesz zintegrować go ze skryptami powłoki, które automatyzują określone zadania. Przykładowo, skrypt może automatycznie kompilować kod po jego zapisaniu.

Przykład skryptu:

#!/bin/bash
gcc -o program program.c
./program

Możesz wywoływać taki skrypt bezpośrednio z Nano, co jest szczególnie przydatne przy pracy nad mniejszymi projektami.

3.3 Integracja z Git

Chociaż Nano nie posiada wbudowanej obsługi Gita, możesz łatwo zarządzać repozytorium bezpośrednio z terminala, w którym używasz Nano. Używaj poleceń git add, git commit, i git push w osobnym oknie terminala, aby zarządzać wersjami swojego kodu.

4. Optymalizacja workflow

Korzystając z Nano jako mini IDE, warto opracować efektywny workflow, który pozwoli na szybką edycję, kompilację i testowanie kodu.

4.1 Podzielony ekran

Jeśli Twój terminal wspiera podzielony ekran lub jeśli używasz terminala z wieloma zakładkami, możesz jednocześnie edytować kod w Nano i korzystać z dodatkowych narzędzi, takich jak kompilatory, interpretery czy debugery w osobnych zakładkach lub panelach.

4.2 Alias i skróty

Warto skonfigurować aliasy i skróty w powłoce, które automatyzują uruchamianie Nano z często używanymi opcjami lub otwieranie plików projektowych. Przykładowo:

alias edit='nano -c -i'

Ten alias uruchomi Nano z włączonym numerowaniem linii i automatycznym wcięciem.

Podsumowanie

Nano, mimo swojej prostoty, może być używany jako mini IDE, które jest szybkie, lekkie i funkcjonalne, szczególnie w środowiskach terminalowych. Dzięki konfiguracji pliku .nanorc, korzystaniu z wbudowanych funkcji oraz integracji z narzędziami terminalowymi, Nano może spełniać wymagania wielu programistów, oferując zaskakująco bogaty zestaw narzędzi do edycji i zarządzania kodem. Choć nie zastąpi pełnoprawnych środowisk IDE w bardziej złożonych projektach, doskonale sprawdza się jako szybkie, dostępne wszędzie narzędzie do programowania.

Instalacja Xcode na systemie macOS

Konfiguracja środowiska Xcode na systemie macOS

Xcode to zintegrowane środowisko programistyczne (IDE) firmy Apple, które jest powszechnie używane do tworzenia aplikacji na macOS, iOS, watchOS oraz tvOS. W tym rozdziale znajdziesz instrukcje dotyczące instalacji Xcode oraz konfiguracji go do pracy z językami C, Python oraz Ada.

1. Instalacja Xcode

  1. Pobierz i zainstaluj Xcode z Mac App Store:

    • Otwórz Mac App Store, wyszukaj "Xcode" i kliknij "Pobierz" (lub "Zainstaluj", jeśli już kiedyś pobrałeś Xcode).
    • Instalacja Xcode może zająć trochę czasu, ponieważ IDE jest dość duże.
  2. Zainstaluj dodatkowe narzędzia wiersza poleceń:

    • Po zainstalowaniu Xcode, otwórz Terminal i wpisz następujące polecenie, aby zainstalować narzędzia wiersza poleceń:
      xcode-select --install
      
    • Upewnij się, że akceptujesz warunki licencji, jeśli zostaniesz o to poproszony.

2. Konfiguracja środowiska dla języka C/C++

Xcode natywnie obsługuje języki C i C++, co czyni go potężnym narzędziem dla programistów używających tych języków.

  1. Tworzenie nowego projektu C/C++ w Xcode:

    • Otwórz Xcode, a następnie wybierz File > New > Project.
    • Wybierz macOS > Command Line Tool, a następnie kliknij "Dalej".
    • Nazwij swój projekt i wybierz C lub C++ jako język.
    • Po utworzeniu projektu, Xcode automatycznie wygeneruje plik główny (main.c lub main.cpp).
  2. Kompilacja i uruchamianie programu:

    • Kliknij przycisk Run (trójkąt) w lewym górnym rogu okna Xcode, aby skompilować i uruchomić program.
    • Wynik programu zostanie wyświetlony w konsoli w dolnej części ekranu.

3. Konfiguracja środowiska dla Pythona

Chociaż Xcode nie jest natywnie przeznaczony do pracy z Pythonem, możesz skonfigurować środowisko, które ułatwi pracę z tym językiem.

  1. Konfiguracja Xcode do pracy z Pythonem:

    • W Xcode, możesz stworzyć nowy projekt typu "External Build System" do uruchamiania skryptów Pythona.
    • Wybierz File > New > Project, a następnie Other > External Build System.
    • Nazwij projekt, a jako "Build Tool" wskaż ścieżkę do interpretera Pythona (zazwyczaj /usr/local/bin/python3).
  2. Uruchamianie skryptów Pythona w Xcode:

    • Dodaj swoje skrypty Pythona do projektu, a następnie skonfiguruj polecenia kompilacji, aby uruchamiać je za pomocą Pythona.
    • Kliknij Run, aby uruchomić skrypt w konsoli Xcode.

4. Konfiguracja środowiska dla Ady

Praca z językiem Ada w Xcode wymaga nieco więcej konfiguracji, ponieważ Ada nie jest natywnie wspierana przez Xcode.

  1. Tworzenie projektu w Xcode dla Ady:

    • Chociaż Xcode nie obsługuje Ady bezpośrednio, możesz utworzyć projekt typu "External Build System", aby uruchamiać kompilator GNAT.
    • Wybierz File > New > Project, a następnie Other > External Build System.
    • Nazwij projekt, a jako "Build Tool" wskaż ścieżkę do kompilatora GNAT (zazwyczaj /usr/local/bin/gcc).
  2. Kompilacja i uruchamianie programów w Adzie:

    • Dodaj pliki źródłowe Ady do projektu, a następnie skonfiguruj zadania budowania, aby uruchamiać GNAT z odpowiednimi flagami kompilacji.
    • Możesz ręcznie zdefiniować polecenia kompilacji i uruchamiania w ustawieniach projektu.

5. Debugowanie i inne funkcje

Xcode oferuje potężne narzędzia do debugowania, profilowania i analizy kodu, które mogą być używane z projektami w językach C/C++, a w ograniczonym stopniu również z projektami w Pythonie i Adzie.

  • Debugowanie kodu C/C++:

    • Xcode oferuje zaawansowane narzędzia do debugowania z wizualizacją stosu wywołań, inspekcją zmiennych oraz możliwością ustawiania punktów przerwań (breakpoints).
    • Uruchom aplikację w trybie debugowania, aby korzystać z tych funkcji.
  • Debugowanie Pythona i Ady:

    • Debugowanie w Pythonie lub Adzie może być wykonane w terminalu, ale wymaga to dodatkowej konfiguracji i korzystania z zewnętrznych narzędzi (np. GDB dla Ady).

Dzięki powyższym krokom, Xcode będzie w pełni skonfigurowany do pracy z językami C, Python oraz Ada na systemie macOS.

System kontroli wersji

Tworzenie kodu, tekstu i tym podobnych na komputerze jest często procesem iteracyjnym, w wyniku którego pojawiają się kolejne wersje ostatecznego dzieła. Nierzadko też trzeba wrócić do pewnego momentu w czasie i zacząć pracę w innym kierunku (np. żeby przetestować inny wariant rozwiązania w kodzie). A potem można chcieć kontynuować prace tam, gdzie się je porzuciło.

Takie poruszanie się w przód i w tył w historii danego produktu jest znacząco ułatwione właśnie dzięki systemom kontroli wersji (RCS - Revision Control Systems). Będzie to jakiś rodzaj bazy danych (o różnym stopniu skomplikowania, w zależności od potrzeb), w której przechowywane będą wszystkie zmiany wprowadzone w cyklu tworzenia produktu. Oprócz samych zmian, przechowywane są również metadane dotyczące czasu ich wprowadzenia, lokalizacji w tekście, ewentualnie komentarze.

Typowe użycie

Typowym schematem korzystania z systemu kontroli wersji może być ten:

  1. Stworzenie projektu objętego systemem kontroli wersji (utworzenie głównych rekordów w RCS)

  2. Praca nad wersją

    2.1. checkout: pobranie odpowiedniej wersji do lokalnego systemu

    2.2. edytowanie wersji dokumentu (bezpośrednia praca na wersji lokalnej, RCS nie bierze udziału)

    2.3. commit: zatwierdzanie bieżącej wersji (zapisanie stanu do RCS)

    2.4 push: (w przypadku systemów ze zdalnym repozytorium) przesłanie aktualnej wersji wraz z metadanymi na serwer globalny

Czynności opisane w kroku 2. mogą dotyczyć zawsze bieżącej (najświeższej) wersji dokumentu, ale możliwe jest też odtworzenie wersji poprzedniej (revert), utworzenie chwilowej kopii do drobnych prac (branch), czy stworzenie zupełnie innej linii rozwojowej (fork).

W miarę zagłębiania się w projekt może się okazać, że pewne wersje stają się głównymi, jeszcze inne nabierają osobnych funkcjonalności tak, że stają się odrębnym produktem. W przypadku pracy wielu programistów, każdemu z nich mogą być przypisane indywidalne wersje kodu, które następnie zostaną złączone w jeden, działajacy program.

Np. coś ala tutaj

Lokalizacja i współdziałanie

Patrząc na systemy kontroli wersji pod kątem miejsca, gdzie są ulokowane, można mówić o trzech wariantach.

Lokalne systemy kontroli wersji działają w jednym systemie komputerowym i śledzą zmiany w plikach, zapisując je w sposób przyrostowy (czyli tylko różnice). Dzięki temu możliwe jest odtworzenie stanu każdego śledzonego pliku. Awaria systemu wersjonowania (bazy danych) typowo kończy się utratą wszystkich informacji historycznych. Wykorzystanie tego mechanizmu nie daje możliwości współpracy wielu programistów, o ile nie są wykorzystywane inne środki, nie zintegrowane z samym systemem RCS.

Scentralizowane systemy kontroli wersji realizują typową architekturę klient-serwer, gdzie serwer przechowuje bazę danych o wersjonowanych plikach, a klienci odpytują tę bazę i pobierają żądaną wersję projektu. Po skończonej pracy klienci oddają swoją wersję na serwer, który aktualizuje odpowiednie zapisy w bazie danych. Jako że w tym modelu może działać wielu klientów, widać, że tego typu system kontroli wersji musi rozwiązywać m.in. takie problemy jak ustalanie, która wersja jest najnowsza (gdy kilku klientów oddaje swoje wersje jednocześnie), a także jaką wersję przyjąć w przypadku konfliktu (gdy klienci edytowali ten sam element projektu i ich rezultaty się różnią). Jako że serwer przechowuje wszystkie dane dotyczące wersji, w przypadku jego awarii tracone są wszystkie elementy projektu poza tymi wyeksportowanymi do klientów. Z drugiej strony, wykorzystanie architektury klient-serwer umóżliwia współpracę wielu osób nad jednym projetem.

Rozproszone systemy kontroli wersji charakteryzują się dodatkowym stopniem złożoności systemu: repozytorium nie jest przechowywane na jedym serwerze, lecz jest kopiowane na inne. Serwery między sobą synchronizują bieżący stan projektu, co umożliwia skuteczną pracę nad nim wielu osobom, a samo rozproszenie informacji ułatwia przywrócenie pełnej wersji projektu w przypadku awarii jednego serwera.

Interfejsy do RCS

github, gitlab ... (?)

Subversion (SVN)

Krótki opis

Subversion jest przykładem scentralizowanego systemu kontroli wersji. Metadane i pliki przechowywane są na serwerze, a klienci mogą pobierać wybraną wersję dokumentu. Mimo że istnieje możliwość uruchomienia serwera na lokalnej maszynie, typowym działaniem w SVN będzie łączenie się ze zdalnym serwerem. URI repozytoriów SVN mają format svn://[user@]adres_repozytorium lub svn+ssh://[user@]adres_repozytorium. Możliwy jest też dostęp przez protokół http (https://[user@]adres_repozytorium). Jeśli pole user nie zostanie wyszczególnione, to przy pierwszym pobraniu (checkout, co) zostanie użyta nazwa systemowa aktualnego użytkownika. Przy kolejnych operacjach zostanie użyta nazwa wykorzystania przy ostatniej udanej próbie łączności z serwerem. Dla adresów svn+ssh:// połączenie z serwerem jest realizowane przez automatycznie tworzony tunel SSH i przy wykorzystaniu poświadczeń typowych dla tego rodzaju sesji, w szczególności możliwe jest korzystanie z kluczy SSH zamiast podawania haseł, czy konfigurowanie dodatkowych parametrów połączenia (w pliku ~/.subversion/config).

Zasoby w sieci

Kolejne rozdziały tego przewodnika pokażą podstawy korzystania z SVN. Wszelkie dalsze informacje, a także historię powstania, przykłady użycia i inne znajdziesz tu: SVN Book

Instalacja subversion (SVN)

Ponieważ to jest krótki przewodnik po podstawach, poniżej opisujemy wyłącznie proces instalacji klienta SVN. Uruchamianie i korzystanie z serwera opisane jest w podręczniku.

Instalacja na linuksie

  1. Otwórz terminal.

  2. Zaktualizuj listę pakietów:

    sudo apt update
    
  3. Zainstaluj klienta SVN: (zwróć uwagę na nazwę tego pakietu!)

    sudo apt install subversion
    
  4. Sprawdź instalację: wprowadzenie polecenia

    svn --version
    

    powinno wyświetlić numer wersji svn i inne detale zainstalowanej wersji.

  5. Integracja ze środowiskami graficznymi

    5.1 Jeśli używasz KDE, możesz zainstalować pakiet integracyjny z klientem:

    sudo apt install kdesvn
    

    5.2 Jeśli używasz Nautilusa do nawigowania w systemie plików:

    sudo apt install nautilus-script-collection-svn
    

    udostępni skrypty do realizacji podstawowych działań na plikach/katalogach przy pomocy menu (prawy przycisk myszy)

    5.3 Alternatywnie, użyj RabbitVCS. Najpierw dodaj repozytorium:

    sudo add-apt-repository ppa:rabbitvcs/ppa
    sudo apt-get update
    

    Następnie możesz zainstalować następujące paczki: rabbitvcs-nautilus, rabbitvcs-nautilus3, rabbitvcs-thunar, rabbitvcs-gedit, rabbitvcs-cli, w zależności od programu, z którym chcesz zintegrować klienta SVN (ostatnia paczka to wyłącznie klient linii poleceń):

    sudo apt install _nazwa_paczki_
    

Instalacja na Windows

Użycie

Git

Git Pro

Instalacja Linux/Win

Użycie

Wykorzystanie sztucznej inteligencji w pracy programisty

Sztuczna inteligencja (SI) staje się coraz bardziej integralną częścią codziennej pracy programistycznej, wprowadzając innowacje, które zmieniają sposób, w jaki tworzymy, testujemy i optymalizujemy kod. W tym rozdziale przyjrzymy się, jak sztuczna inteligencja może wspierać programistów poprzez narzędzia takie jak GitHub Copilot oraz modele językowe, takie jak ChatGPT.

GitHub Copilot to zaawansowana wtyczka oparta na sztucznej inteligencji, która integruje się z popularnymi edytorami kodu, takimi jak Visual Studio Code. Działa jako asystent kodowania, oferując sugestie w czasie rzeczywistym, które pomagają przyspieszyć pisanie kodu, automatyzować rutynowe zadania oraz inspirować nowe podejścia do rozwiązywania problemów. Copilot analizuje kontekst kodu, który piszesz, i generuje fragmenty kodu oraz całe funkcje, które mogą pomóc w szybkim tworzeniu efektywnego i poprawnego kodu.

Modele językowe, takie jak ChatGPT, oferują szeroką gamę możliwości wspierania procesu programowania. Dzięki zaawansowanej zdolności rozumienia i generowania języka naturalnego, ChatGPT może pomóc w tworzeniu dokumentacji, udzielać odpowiedzi na pytania dotyczące kodu, wyjaśniać złożone koncepcje programistyczne oraz generować fragmenty kodu na podstawie opisu problemu. Model ten może również służyć jako narzędzie do nauki i doskonalenia umiejętności programistycznych, oferując wsparcie w nauce nowych technologii oraz technik.

W tym rozdziale omówimy, jak skutecznie wykorzystać te narzędzia, aby maksymalizować swoją produktywność i efektywność jako programista. Przyjrzymy się szczegółowym instrukcjom, jak zainstalować i skonfigurować GitHub Copilot, oraz jak najlepiej wykorzystać modele językowe do wsparcia w codziennej pracy programistycznej. Zrozumienie możliwości, jakie oferuje sztuczna inteligencja, pozwoli Ci lepiej zintegrować te innowacyjne narzędzia z Twoim workflow i zoptymalizować proces tworzenia oprogramowania.

Wtyczka GitHub Copilot: Krótkie wprowadzenie i generowanie kodu

GitHub Copilot to wtyczka oparta na sztucznej inteligencji, która pomaga programistom generować kod, dostarczając sugestie i automatycznie uzupełniając fragmenty kodu. Poniżej znajdziesz krótką instrukcję, jak zainstalować i korzystać z GitHub Copilot, oraz jak generować kod z jego pomocą.

1. Instalacja wtyczki GitHub Copilot

  1. Otwórz Visual Studio Code (VS Code):

    • Uruchom VS Code na swoim komputerze.
  2. Zainstaluj wtyczkę GitHub Copilot:

    • Kliknij ikonę rozszerzeń (puzzle) w bocznym pasku narzędzi po lewej stronie okna VS Code.
    • Wyszukaj "GitHub Copilot" w polu wyszukiwania.
    • Kliknij "Zainstaluj" obok wtyczki GitHub Copilot opracowanej przez GitHub.
  3. Zaloguj się do GitHub:

    • Po zainstalowaniu wtyczki, VS Code poprosi o zalogowanie się do GitHub w celu aktywacji GitHub Copilot.
    • Postępuj zgodnie z instrukcjami, aby połączyć VS Code z Twoim kontem GitHub.

2. Korzystanie z GitHub Copilot

  1. Tworzenie nowego pliku lub otwieranie istniejącego:

    • Otwórz plik w VS Code, w którym chcesz pisać kod, lub utwórz nowy plik w wybranym języku programowania.
  2. Pisanie kodów i używanie sugestii:

    • Rozpocznij pisanie kodu w swoim pliku. GitHub Copilot będzie analizował wprowadzone przez Ciebie fragmenty kodu oraz kontekst i oferował sugestie kodu w postaci "podpowiedzi".
    • Sugestie pojawią się jako szare teksty, które możesz zaakceptować, naciskając klawisz Tab. Jeśli chcesz wybrać inną sugestię, użyj klawiszy Strzałka w górę lub Strzałka w dół, aby przełączać się między różnymi opcjami.
  3. Używanie komentarzy do generowania kodów:

    • GitHub Copilot może generować kod na podstawie komentarzy, które dodajesz do swojego pliku. Na przykład, jeśli wpiszesz komentarz opisujący, co chcesz zrobić, Copilot może spróbować wygenerować odpowiedni kod.
    • Przykład komentarza:
      # Funkcja, która zwraca sumę dwóch liczb
      
    • Po dodaniu komentarza, GitHub Copilot spróbuje zasugerować kod funkcji, który realizuje opisane zadanie.
  4. Dostosowywanie sugestii:

    • Możesz dostosować sugestie GitHub Copilot, używając różnych opisów i komentarzy. Jeśli otrzymujesz sugestie, które nie są zgodne z Twoimi oczekiwaniami, spróbuj bardziej szczegółowych lub precyzyjnych komentarzy.
  5. Zarządzanie wtyczką:

    • Możesz włączyć lub wyłączyć GitHub Copilot, przechodząc do ustawień VS Code. Kliknij ikonę koła zębatego (Ustawienia) w lewym dolnym rogu, wybierz Ustawienia i przeszukaj Copilot, aby dostosować preferencje wtyczki.

3. Korzystanie z GitHub Copilot w praktyce

  • Przykład generowania kodu: Jeśli piszesz funkcję w Pythonie, która ma sortować listę liczb, możesz wpisać komentarz:

    # Funkcja sortująca listę liczb
    

    GitHub Copilot może zaproponować kod funkcji, który automatycznie dodasz do swojego pliku.

  • Dzięki GitHub Copilot możesz szybko uzyskać robocze wersje kodu, oszczędzając czas i zwiększając produktywność. Upewnij się, że dokładnie sprawdzasz wygenerowany kod, aby upewnić się, że spełnia Twoje potrzeby i jest wolny od błędów.

GitHub Copilot to potężne narzędzie, które wykorzystuje sztuczną inteligencję do wspomagania procesu kodowania. Dzięki jego sugestiom możesz przyspieszyć pisanie kodu i skupić się na rozwiązywaniu bardziej złożonych problemów programistycznych.

Korzystanie z ChatGPT w programowaniu

Sztuczna inteligencja (AI) odgrywa coraz większą rolę w ułatwianiu i przyspieszaniu procesów programistycznych. Obok narzędzi takich jak GitHub Copilot, które oferują asystenta programowania bezpośrednio w edytorze kodu, modele językowe takie jak ChatGPT również mogą znacząco wspierać programistów w różnych aspektach ich pracy. ChatGPT, dzięki zaawansowanemu rozumieniu i generowaniu języka naturalnego, może być niezwykle użytecznym narzędziem do rozwiązywania problemów, nauki nowych technologii i optymalizacji procesu kodowania. W tym rozdziale omówimy, jak skutecznie korzystać z ChatGPT w codziennej pracy programistycznej.

1. Wsparcie w pisaniu i optymalizacji kodu

ChatGPT może być używany do generowania fragmentów kodu na podstawie opisu problemu lub funkcjonalności, którą chcesz zaimplementować. Na przykład, możesz poprosić ChatGPT o wygenerowanie kodu w określonym języku programowania, który rozwiązuje dany problem lub implementuje określoną funkcję.

Przykład:

  • Pytanie: "Jak zaimplementować funkcję sortowania bąbelkowego w Pythonie?"
  • Odpowiedź ChatGPT: Może wygenerować przykładowy kod implementujący tę funkcję, wyjaśniając poszczególne kroki w procesie.

Oprócz generowania kodu, ChatGPT może również pomóc w optymalizacji istniejących fragmentów kodu. Możesz poprosić o refaktoryzację kodu w celu poprawy jego wydajności, czytelności lub zgodności z najlepszymi praktykami.

2. Rozwiązywanie problemów i debugowanie

Jednym z największych wyzwań programowania jest rozwiązywanie problemów i debugowanie kodu. ChatGPT może służyć jako asystent, pomagając zidentyfikować i naprawić błędy w kodzie. Możesz opisać problem lub wklejać fragmenty kodu, które powodują trudności, a ChatGPT pomoże zdiagnozować problem i zasugerować możliwe rozwiązania.

Przykład:

  • Pytanie: "Dlaczego mój kod Pythona zwraca błąd IndexError: list index out of range?"
  • Odpowiedź ChatGPT: Może wyjaśnić, co powoduje błąd i jak go naprawić, sugerując odpowiednie modyfikacje w kodzie.

3. Tworzenie dokumentacji i komentarzy

Pisanie dokumentacji i komentarzy jest nieodłącznym elementem pracy programisty. ChatGPT może pomóc w tworzeniu jasnej i zrozumiałej dokumentacji do Twojego kodu. Możesz poprosić o wygenerowanie komentarzy do konkretnych fragmentów kodu, a także o pomoc w tworzeniu dokumentacji do całego projektu.

Przykład:

  • Pytanie: "Jakie komentarze mogę dodać do tej funkcji, aby były zrozumiałe dla innych programistów?"
  • Odpowiedź ChatGPT: Może zaproponować przejrzyste i zwięzłe komentarze, które pomogą innym zrozumieć cel i działanie funkcji.

4. Wsparcie w nauczaniu i nauka nowych technologii

Jeśli chcesz nauczyć się nowego języka programowania, biblioteki lub frameworka, ChatGPT może służyć jako zasób edukacyjny. Możesz zadawać pytania na temat nowej technologii, prosić o wyjaśnienia i przykłady kodu, które pomogą Ci szybciej opanować nowe umiejętności.

Przykład:

  • Pytanie: "Jak zacząć korzystać z frameworka Django w Pythonie?"
  • Odpowiedź ChatGPT: Może dostarczyć przegląd podstawowych kroków instalacji, konfiguracji i tworzenia pierwszej aplikacji w Django.

5. Automatyzacja i skrypty pomocnicze

ChatGPT może również pomóc w automatyzacji zadań programistycznych poprzez generowanie skryptów, które usprawnią Twoje codzienne działania. Może to obejmować generowanie skryptów do automatyzacji testów, zarządzania plikami lub integracji różnych narzędzi i technologii.

Przykład:

  • Pytanie: "Jak napisać skrypt w Bash, który zarchiwizuje wszystkie pliki w katalogu i przeniesie je do innej lokalizacji?"
  • Odpowiedź ChatGPT: Może wygenerować skrypt Bash, który wykonuje te zadania, wraz z wyjaśnieniem działania każdego kroku.

6. Inspiracja i rozwijanie pomysłów

Czasami potrzebujesz inspiracji lub sugestii dotyczących podejścia do rozwiązania problemu. ChatGPT może pełnić rolę „drugiej pary oczu”, proponując alternatywne rozwiązania, nowe techniki lub najlepsze praktyki w programowaniu.

Przykład:

  • Pytanie: "Jakie są najlepsze praktyki dotyczące zarządzania zależnościami w projekcie Pythona?"
  • Odpowiedź ChatGPT: Może zasugerować narzędzia i techniki, takie jak wirtualne środowiska, requirements.txt, oraz zarządzanie zależnościami z wykorzystaniem pipenv lub poetry.

Podsumowanie

Korzystanie z Github Copilot oraz ChatGPT w pracy programistycznej może znacznie zwiększyć Twoją produktywność, wspierać proces twórczy oraz ułatwiać rozwiązywanie problemów. Dzięki zaawansowanym możliwościom generowania języka, ChatGPT może pełnić rolę wszechstronnego asystenta, który pomoże Ci w różnych aspektach programowania, od pisania kodu, przez debugowanie, po tworzenie dokumentacji i naukę nowych technologii. Integracja tego narzędzia w Twoje codzienne workflow może pomóc Ci efektywniej zarządzać czasem i lepiej realizować cele programistyczne.

Należy jednak zachować ostrożność, ponieważ choć sztuczna inteligencja może stanowić ogromną pomoc w rozwiązywaniu problemów programistycznych, szczególnie w codziennych zadaniach, to na obecnym etapie jej rozwoju nadal pojawia się wiele błędów. Często są one trudne do wychwycenia na początku, co może prowadzić do problemów w dalszej części pracy. Chociaż większość z tych błędów można naprawić stosunkowo szybko, to niestety nie zawsze tak się dzieje. W bardziej złożonych projektach i zadaniach nietypowych, naprawa może okazać się znacznie trudniejsza, a w niektórych przypadkach nawet niemożliwa bez istotnej ingerencji. Dlatego tak ważne jest, aby każdy wynik generowany przez sztuczną inteligencję był dokładnie analizowany i weryfikowany przez programistę, który powinien podejść do niego z krytycznym spojrzeniem.