Język programowania:
*To zbiór zasad określających, kiedy ciąg symboli tworzy program (czyli ciąg symboli opisujący obliczenia) oraz jakie obliczenia opisuje.
*Pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać.
*Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe.
*Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością.
Język programowania to usystematyzowany sposób przekazywania komputerowi poleceń do wykonania.
Język programowania pozwala programiście na/oraz:
*precyzyjne przekazanie maszynie, jakie dane mają ulec obróbce,
*jakie czynności należy podjąć w określonych warunkach,
Języki programowania klasyfikuje się zależnie od tego, do jakiego paradygmatu lub paradygmatów programowania najlepiej się nadają:
Imperatywne - program składa się ze zmiennych oraz modyfikujących je operacji
Obiektowe - definiuje programy za pomocą "obiektów" - elementów łączących stan (czyli dane) i zachowanie (czyli procedury). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
Funkcyjne – podstawą są funkcje, a nacisk kładzie się na wyznaczenie ich wartości, a nie na wykonywanie poleceń.
Logiczne - program podawany jest jako pewien zestaw zależności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zależności.
Style programowania:
*Top-down czyli z góry do dołu; najpierw planuje się całość a potem dochodzi do szczegółów.
*Bottom-up, czyli z dołu w górę - z elementów składa się całość.
Wykonywanie kodu
Aby program napisany w danym języku mógł być wykonany, niezbędne jest odpowiednie przetworzenie jego kodu źródłowego:
*Kompilacja – kod źródłowy jest tłumaczony do postaci języka maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania.
* Interpretacja – kod źródłowy jest na bieżąco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania.
Klasyfikacja języków programowania
Języki programowania mogą być podzielone ze względu na:
- Paradygmat programowania
- Generację języka programowania
- Sposób kontroli typów.
- Sposób wykonywania (kompilacja, interpretacja).
- Poziom ( języki niskopoziomowe są bardziej zbliżone pod względem budowy do działania sprzętu).
- Przeznaczenie.
Najpopularniejsze języki programowania wg TIOBE (stan na lipiec 2013r.)
1. C 11. Bash
2. Java 12. Ruby
3. Objective-C 13. Transact-SQL
4. C++ 14. Visual Basic .NET
5. PHP 15. PL/SQL
6. C# 16. Lisp
7. (Visual) Basic 17. Pascal
8. Python 18. Delphi/Object Pascal
9. Perl 19. MATLAB
10. JavaScript 10. Asembler
Wirus komputerowy
to najczęściej prosty program komputerowy, który w sposób celowy powiela się bez zgody użytkownika.
Wirusy wykorzystują słabość zabezpieczeń systemów komputerowych lub właściwości systemów oraz niedoświadczenie i beztroskę użytkowników.
Niektóre wirusy mają też inne skutki uboczne:
*kasowanie i niszczenie danych
*rozsyłanie spamu
*dokonywanie ataków na serwery internetowe
*kradzież danych (hasła, numery kart płatniczych, dane osobowe)
*wyłączenie komputera
*wyświetlanie napisów lub rysunków na ekranie
*uniemożliwienie pracy na komputerze
*umożliwienie przejęcia kontroli nad komputerem osobie nieupoważnionej
Konie trojańskie - wirusy te ukrywają się w na pozór pożytecznym oprogramowaniu. Uruchamiają się gdy użytkownik podejmuje pracę z danym programem. Dają całkowitą władzę atakującego nad komputerem ofiary. Wirus tego typu po jego uruchomieniu oprócz wykonywania swoich "oficjalnych" zadań dokonuje także spustoszenia w systemie. Najpopularniejszym polskim koniem trojańskim jest „Prosiak”.
Bomby logiczne - rodzaj wirusa, który może pozostać w ukryciu przez długi czas. Jego aktywacja następuje w momencie nadejścia określonej daty lub wykonania przez użytkownika określonej czynności.
Robaki - małe, ale bardzo szkodliwe wirusy. Do prawidłowego funkcjonowania nie potrzebują nosiciela. Rozmnażają się samoistnie i w sposób ciągły, powodując w bardzo krótkim czasie wyczerpanie zasobów systemu. Wirusy tego typu są zdolne sparaliżować nawet dość rozległą sieć komputerową.