Najlepsza odpowiedź
Środowisko to dosłownie wszystko, co jest zainstalowane na twoim komputerze, co może wpływać na rozwój i / lub testowanie aplikacji – to może obejmują:
- Edytory / IDE, których używasz (mogą wpływać na efektywność pisania kodu).
- Które kompilatory / interpretatory, których używasz, i ich dokładne wersje – może mieć wpływ na to, czy Twój kod w ogóle się wykona, lub jak skutecznie to robi.
- System operacyjny zainstalowany na Twoim komputerze – może mieć znaczący wpływ na sposób pisania kodu.
- Zmienne środowiskowe ustawione na twoim komputerze, szczególnie istotne podczas testowania, ponieważ mogą dramatycznie wpłynąć na niektóre funkcje niektórych aplikacji.
- Dodatkowe biblioteki zainstalowane na twoim komputerze (w tym potencjalnie wszystkie instalowane przez inne programy); może mieć wpływ na to, jak dobrze Twój kod będzie działał na maszynach innych osób (z zainstalowanymi potencjalnie różnymi wersjami bibliotek).
- Inne programy uruchomione na Twoim komputerze, szczególnie podczas testów obciążenia i wydajności.
- Dostępne Pamięć RAM i miejsce na dysku na twoim komputerze: mogą wpływać na to, jak dobrze działa twój kod, szczególnie w warunkach testu obciążenia / obciążenia
- Pojemność sieci lokalnej i łączność: może bezpośrednio wpływać na to, jak dobrze działają niektóre programy w ogóle).
Idealnie byłoby, gdyby twoje środowisko programistyczne było tak czyste, jak tylko możesz – instaluj tylko te biblioteki, których potrzebuje twój kod i używaj tylko wersji kompilatora / interpretera, planować używać. Podobnie w przypadku testów funkcjonalnych potrzebujesz czystego środowiska, w którym aplikacja może działać tylko z wersjami bibliotek, które planujesz.
W przypadku testów obciążeniowych / obciążeniowych musisz pójść o krok dalej – całkowicie sterylną maszynę z żadnymi innymi aplikacjami działającymi na nim poza systemem operacyjnym, a tylko Twoją aplikację i zainstalowane na niej zależności. Niektóre organizacje posuwają się nawet do wyczyszczenia całego dysku i ponownej instalacji, planując programy do testów warunków skrajnych.
Odpowiedź
Programowanie to proces pobierania algorytmu i kodowania go w notacja, język programowania, dzięki któremu może być wykonywany przez komputer. Chociaż istnieje wiele języków programowania i wiele różnych typów komputerów, ważnym pierwszym krokiem jest potrzeba znalezienia rozwiązania. Bez algorytmu nie może być programu.
Informatyka to nie nauka o programowaniu. Programowanie jest jednak ważną częścią tego, co robi informatyk. Programowanie jest często sposobem, w jaki tworzymy reprezentację naszych rozwiązań. Dlatego ta reprezentacja języka i proces jej tworzenia staje się fundamentalną częścią dyscypliny.
Algorytmy opisują rozwiązanie problemu w kategoriach danych potrzebnych do reprezentacji wystąpienia problemu i zestawu niezbędnych kroków. aby przynieść zamierzony rezultat. Języki programowania muszą zapewniać notacyjny sposób przedstawiania zarówno procesu, jak i danych. W tym celu języki zapewniają konstrukcje sterujące i typy danych.
Konstrukcje sterujące pozwalają na przedstawienie kroków algorytmicznych w wygodny, ale jednoznaczny sposób. Algorytmy wymagają przynajmniej konstrukcji, które wykonują sekwencyjne przetwarzanie, selekcję do podejmowania decyzji i iterację w celu kontroli powtarzalnej. Dopóki język dostarcza tych podstawowych instrukcji, może być używany do reprezentacji algorytmu.
Wszystkie elementy danych w komputerze są reprezentowane jako ciągi cyfr binarnych. Aby nadać tym ciągom znaczenie, musimy mieć typy danych. Typy danych zapewniają interpretację tych danych binarnych, dzięki czemu możemy myśleć o danych w kategoriach, które mają sens w odniesieniu do rozwiązywanego problemu. Te niskopoziomowe, wbudowane typy danych (czasami nazywane prymitywnymi typami danych) dostarczają cegiełek do tworzenia algorytmów.
Na przykład większość języków programowania udostępnia typ danych dla liczb całkowitych. Ciągi cyfr binarnych w pamięci komputera mogą być interpretowane jako liczby całkowite i biorąc pod uwagę typowe znaczenia, które zwykle kojarzymy z liczbami całkowitymi (np. 23, 654 i -19). Ponadto typ danych zawiera również opis operacji, w których mogą uczestniczyć elementy danych. W przypadku liczb całkowitych operacje takie jak dodawanie, odejmowanie i mnożenie są powszechne. Spodziewaliśmy się, że w tych działaniach arytmetycznych mogą uczestniczyć numeryczne typy danych.
Trudność, która często się nas pojawia, polega na tym, że problemy i ich rozwiązania są bardzo złożone. Te proste konstrukcje i typy danych dostarczone w języku, chociaż z pewnością wystarczające do przedstawienia złożonych rozwiązań, są zwykle w niekorzystnej sytuacji, gdy pracujemy nad procesem rozwiązywania problemów. Potrzebujemy sposobów kontrolowania tej złożoności i pomocy w tworzeniu rozwiązań.