Programowanie - Pojęcia

Programowanie komputerów – proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeńmikroprocesorowych (mikrokontrolery). Kod źródłowy jest napisany w języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji, algorytmika,struktury danych, znajomość języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów komputera. Winżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.

Między programistami trwają nieustanne debaty, czy programowanie komputerów jest sztuką, rzemiosłem czy procesem inżynieryjnym. Bezpośrednią formą sztuki w tej dziedzinie jest demoscena.

Inną debatą dotyczącą tego przedmiotu jest stopień, w jakim język programowania wpływa na formę, jaką przybiera oraz jak funkcjonuje końcowy program. Jest ona analogiczna do hipotezy Sapira-Whorfa w lingwistyce.

Debugowanie jest bardzo ważną częścią procesu tworzenia oprogramowania, ponieważ program z błędami jest zwykle bezużyteczny. Języki takie jak C czy Asembler mogą stanowić wyzwanie nawet dla doświadczonych programistów. Bliski kontakt ze sprzętem oprócz dużej wydajności i kontroli nad nim, niesie ze sobą również podatność na wystąpienie poważnych błędów takich jak przepełnienie bufora, błędne wskaźniki czy niezainicjowana pamięć. Przepełnienie bufora może uszkodzić sąsiednie segmenty pamięci i spowodować błąd w zupełnie innej linii programu; jest również bardzo skuteczną metodą ataku – pozwala na wykonanie praktycznie dowolnego kodu poprzez nadpisanie wskaźnika powrotnego funkcji. Z tego powodu narzędzia takie jak Valgrind, Purify czy Boundschecker są niemal niezbędne przy tworzeniu nowoczesnych aplikacji w C czy C++.

Języki takie jak Java, PHP i Python zapobiegają większości takich błędów, ale za cenę spadku wydajności programu wynikowego. Jest to akceptowalne w programach, którym większość czasu zabierają zapytania do bazy danych.



Dodaj komentarz






Dodaj

© 2013-2024 PRV.pl
Strona została stworzona kreatorem stron w serwisie PRV.pl