Python - logo

Python

Python jest wysoko poziomowym, dynamicznym językiem ogólnego przeznaczenia. Obecnie jest jednym z najbardziej popuarlnych i najszybciej rosnącym w popularności języków programowania na świecie.

Czym jest Python?

Python jest wysokopoziomowym językiem ogólnego przeznacznenia. W przeciwieństwie do niektórych jęzków, takich jak np. PHP który jest używany głównie do tworzenia skryptów po stronie serwera WWW, możliwości Pythona są bardzo rozległe i jego konkretne zastosowanie zależy od bibliotek których się do niego użyje. Ogromna ilość i różnorodność jego bibliotek jest powszechnie uważana za jedną z głównych zalet języka. Swoją popularność zyskał on jednak dzięki zupełnie innym jego właściwościom które wyróżniają go od większości innych języków: semantyce oraz składni. Wysoka czytelność jest jadną z przewodnich idei stojących za powstaniem tego języka. Został on zaprojektowany żeby mieć nie zagracony układ wizualny często używając słów z języka angielskiego gdzie inne języki używają znaków inerpunkcji. Python jęst językiem dynamicznym. Oznacza to że tworząc zmienną nie definiujemy jej typu, np. typu string:


        a = 'test'
        a = 13
        

Najpierw a zawiera string ze słowem test, a następnie przypisujemy na nie numer 13 co w językach statycznych wywołałoby błąd podczas kompilacji.
Python cechuje się też silnym typowaniem. Przykładowo gdy stworzymy string zawierający liczbe:


        b = '313'
        

To b pozostanie stringem nawet jeśli konwersja na liczbe będzie wymuszana. Oznacza to że zmiany typów w pythonie muszą zostać wykonane jawnie.
Python wymusza poprawne wcięcie traktując je jako część składni. Bloki kodu są identyfikowane przez poziom ich indentacji:


        c = "To jest zdanie."
        if c is not None
        	print 'c nie jest puste'
        	print c
        else
        	print 'c jest puste'
        c = 'coś'
        print 'c jest czymś'
        

W językach takich jak Java czy C/C++ gdzie bloki kodu oznacza się znakami klamrowymi często programiści wybierają różne style indentacji co może prowadzić do mniej czytelnego kodu. Python unika takich problemów unifikując styl pisowni.

O Pythonie

Gdy w roku 1989 Guido van Rossum szukał hobbistycznego projektu który mógłby rozwijać w swoim wolnym czasie, wpadł na pomysł aby spróbować napisać następce dla języka programowania zwanego ABC który przemawiałby do społeczności Unixowej. Był to początek Pythona, którego pierwsza wersja została wydana w styczniu 1994. Język zyskał sporą popularność, ale dopiero po wypuszczeniu wersji 2.0 liczba jego użytkowników zaczęła znacząco rosnąć. W roku 2008 Python Software Foundation, społeczność założona na modłę Apache Software Foundation, wypuściła Pythona w wersji 3.0 która nie jest wstecznie kompatybilna. Od tego czasu, dzięki sporej popularności Pythona 2, obie wersje są rozwijane obok siebie, jednak w 2014 roku PSF zapowiedział że wspracie dla Pythona 2 zakończy się w 2020 roku gdy wszyscy użytkownicy przeniosą się na jego następną wersję. Python 3 nie jest wstecznie kompatybilny ponieważ został on stworzony w celu naprawienia pewnej fundamentalnej wady w idei Pythona która doprowadziła do dużej ilości duplikowanego kodu. Oznacza to że Python 2 nie jest ściśle gorszy, ale jego popularność stopniowo spada.

Zalety Pythona

Uniwersalność

Mając szeroko rozwiniętą bibliotekę możliwości Pythona są prawie nieograniczone.

Czytelność

Wymagając odpowiednią indentacje i często używając słów zamiast znaków znacznie ułatwia czytelność.

.

Możliwości Pythona

Będąc wysokopoziomowym językiem programowania, Python oferuje szerokie możliwości i użyteczność we wszystkich dziedzinach programowania:

  • Otwarte oprogramowanie: Należąc do otwartego oprogramowania Python jest całkowicie darmowy i pozwala na jego dowlną modyfikowalność.
  • Python Software Foundation: Od wersji 5.7 MySQL natywnie wspiera format JSON.
  • Wsparcie dla protokołu SSL: MySQL wspiera komunikacje pomiędzy klientem a serwerem poprzez protokuł SSL.
  • Widoki:Możliwość tworzenia widoków dzięki zapewniają że wrażliwe dane nie dostaną się w niepowołane ręce
  • Możliwość replikacji: MySQL oferuje możliwość replikacji baz danych w typach master-slave oraz master-master.
  • Wyzwalacze: MySQL daje możliwość używania wyzwalaczy: automatycznie wykonywanych procedur które wykonują się w reakcji na pewne zdarzenia w tabeli danych.
  • Wiele silników: MySQL natywnie wspiera wiele silników SQL takich jak: InnoDB, MyISAM czy CSV.
  • Partycjonowanie: które usprawnia wydajnośc oraz zarządanie gigantycznimi bazami danych.

Przydatne linki