Γλώσσες Προγραμματισμού: Python – Ιστορική αναδρομή, πλεονεκτήματα και χρήσεις

Η python είναι μία επαναστατική γλώσσα προγραμματισμού που συστήνεται συχνά στους αρχάριους. Αποτελεί την πιο ανερχόμενη γλώσσα η οποία είναι απλή, αλλά ταυτόχρονα πλούσια και έχει πολλές χρήσεις και πλεονεκτήματα. Χρησιμοποιείται τόσο από προγραμματιστές, όσο και από μαθηματικούς, αναλυτές δεδομένων, επιστήμονες, λογιστές και μηχανικούς.

File:Python logo and wordmark.svg - Wikimedia Commons

Ιστορική Αναδρομή

Python 0.9

Το 1991 ο Guido Van Rossum δημοσίευσε την πρώτη έκδοση της Python (version 0.9.0), δίνοντας έμφαση στην αναγνωσιμότητα και τη διευκόλυνση του προγραμματισμού.

Python 1.0

File:Python logo 1990s.svg - Wikimedia Commons

Το 1994, δημοσιεύεται η Python 1.0. Τα κύρια νέα χαρακτηριστικά που περιλαμβάνονται σε αυτήν την έκδοση ήταν τα λειτουργικά εργαλεία προγραμματισμού lambda, map, filter και reduce, που όπως δήλωσε ο δημιουργός ήταν ευγενική χορηγία ενός χάκερ της Lisp.

Στην έκδοση 1.4, η Python είχε αποκτήσει πολλά νέα χαρακτηριστικά. Αξιοσημείωτα μεταξύ αυτών είναι τα επιχειρήματα λέξεων-κλειδιών εμπνευσμένα από το Modula-3 (τα οποία είναι επίσης παρόμοια με τα επιχειρήματα λέξεων-κλειδιών του Common Lisp) και η ενσωματωμένη υποστήριξη για σύνθετους αριθμούς. Περιλαμβάνεται επίσης μια βασική μορφή κρυφών δεδομένων με το όνομα mangling, αν και αυτό παρακάμπτεται εύκολα.

Python 2.0

H python 2.0 δημοσιεύτηκε τον Οκτώβριο του 2000. Εισήγαγε κατανόηση λίστας, μια δυνατότητα δανεισμένη από τις λειτουργικές γλώσσες προγραμματισμού SETL και Haskell. H Python 2.0 παρουσίασε επίσης ένα σύστημα συλλογής απορριμμάτων ικανό να συλλέγει κύκλους αναφοράς.

Η Python 2.2 κυκλοφόρησε τον Δεκέμβριο του 2001 μια σημαντική καινοτομία ήταν η ενοποίηση των τύπων Python (τύποι γραμμένοι σε C) και τάξεων (τύπων γραμμένων σε Python) σε μία ιεραρχία. Αυτή η ενιαία ενοποίηση έκανε το μοντέλο αντικειμένου της Python καθαρά και με συνέπεια αντικειμενοστραφή.

Why I preferred Python Language for Data Science and Machine Learning, Part-1. | by Anup Bhande | GreyAtom | Medium

H Python 2.6 κυκλοφόρησε για να συμπέσει με το Python 3.0, και περιλάμβανε ορισμένες δυνατότητες από αυτήν την κυκλοφορία, καθώς και μια λειτουργία “προειδοποιήσεων” που υπογράμμισε τη χρήση των λειτουργιών που καταργήθηκαν στο Python 3.0.

Παρομοίως, το Python 2.7 συνέπεσε και περιλάμβανε λειτουργίες από το Python 3.1

Τον Νοέμβριο του 2014, ανακοινώθηκε ότι το Python 2.7 θα υποστηριζόταν μέχρι το 2020, αλλά οι χρήστες ενθαρρύνθηκαν να μετακινηθούν στο Python 3 το συντομότερο δυνατό. Η υποστήριξη Python 2.7 έληξε την 1η Ιανουαρίου 2020, μαζί με το πάγωμα κώδικα του κλάδου ανάπτυξης 2.7. Μια τελική έκδοση, 2.7.18, πραγματοποιήθηκε στις 20 Απριλίου 2020 και περιελάμβανε ενημερώσεις κώδικα για κρίσιμα σφάλματα και αποκλειστές έκδοσης. Αυτό σηματοδοτεί το τέλος του κύκλου ζωής του Python 2.

Η python 2 ήταν μια δημοφιλής και αγαπημένη έκδοση των χρηστών, αλλά δεν μπορεί να συγκριθεί με την python 3 και τις προσθήκες της.

Python 3.0

H Python 3.0  κυκλοφόρησε στις 3 Δεκεμβρίου 2008. Σχεδιάστηκε για να διορθώσει τα θεμελιώδη ελαττώματα του σχεδιασμού στη γλώσσα – οι απαιτούμενες αλλαγές δεν μπορούσαν να εφαρμοστούν διατηρώντας ταυτόχρονα την πλήρη συμβατότητα προς τα πίσω με τη σειρά 2.x, η οποία απαιτούσε έναν νέο βασικό αριθμό έκδοσης.

GitHub - python/cpython: The Python programming language

H Python 3.0 αναπτύχθηκε με την ίδια φιλοσοφία με τις προηγούμενες εκδόσεις. Ωστόσο, καθώς η Python είχε συσσωρεύσει νέους και περιττούς τρόπους για να προγραμματίσει την ίδια εργασία, η Python 3.0 είχε έμφαση στην αφαίρεση διπλών κατασκευών και ενοτήτων.

Παρ ‘όλα αυτά, η Python 3.0 παρέμεινε μια γλώσσα πολλαπλών παραδειγμάτων. Οι κωδικοποιητές θα μπορούσαν ακόμη να ακολουθήσουν αντικειμενοστρεφή, δομημένα και λειτουργικά παραδείγματα προγραμματισμού, μεταξύ άλλων, αλλά σε τόσο μεγάλες επιλογές, οι λεπτομέρειες προορίζονταν να είναι πιο προφανείς στην Python 3.0

Η Python 3.0 έσπασε τη συμβατότητα προς τα πίσω και κώδικας γραμμένος σε Python 2 δεν εκτελείται χωρίς τροποποίηση στην Python 3.

Στην python 3.0 έγιναν πολλές και σημαντικές αλλαγές, αλλά ξεφεύγουν από τα όρια αυτού του άρθρου που είναι απλώς εισαγωγικό. Όποιος θέλει να μάθει αναλυτικά ας πατήσει εδώ

Πλεονεκτήματα

Features of Python | Top 10 Features of Python programming | Edureka

1) Όπως αναφέρθηκε παραπάνω η γλώσσα είναι πολύ εύκολη και ιδανική για έναν αρχάριο προγραμματιστή.

2)  Δεν έχει πολλές συντακτικές ιδιαιτερότητες και το μόνο που απαιτεί για τη συγγραφή κώδικα είναι καλή γνώση αγγλικών.

3) Παράλληλα, είναι γλώσσα υψηλού επιπέδου, όπως η C και η Java, ενώ διαθέτει τα εργαλεία για αντικειμενοστραφή προγραμματισμό και ανάπτυξη παιχνιδιών (PyGame)!

4) Υποστηρίζει επίσης τον διαδικαστικό και συναρτησιακό προγραμματισμό.

5) Διαθέτει πληθώρα έτοιμων βιβλιοθηκών που μπορούν να χρησιμοποιηθούν εύκολα και άμεσα. Οι βιβλιοθήκες μπορούν να επεκταθούν με νέα τμήματα γραμμένα σε C ή C++.

6) Είναι συμβατή στα περισσότερα λειτουργικά συστήματα (Windows, Linux, Unix, MacOS)

7) Η Python διαθέτει αποδοτικές δομές δεδομένων υψηλού επιπέδου

8) Η σύνταξή της είναι κομψή και οι τύποι της δυναμικοί

9) Εχει μεγάλη κοινότητα και πολλούς ενεργούς χρήστες

Συνεπώς έχει τις ίδιες δυνατότητες με τις υπόλοιπες γλώσσες προγραμματισμού με τη διαφορά ότι το συντακτικό της είναι πολύ εύκολο!

 

 

Εφαρμογές – Χρήσεις

1) Ανάπτυξη εφαρμογών διαδικτύου

2) Παιχνίδια (PyGame)

Pygame

3) Επεξεργασία αρχείων κειμένου

4) Επιστημονικές εφαρμογές

5) Αντικειμενοστραφής προγραμματισμός

6) Διαδικαστικός και συναρτησιακός προγραμματισμός

7) Ανάπτυξη εφαρμογών γενικότερα

8) Artificial Intelligence

9) Ανάλυση δεδομένων

10) Αυτοματισμός

Ένα ενδιαφέρον βίντεο με λίγες πληροφορίες για την Python και γιατί είναι διάσημη:

Μαθήματα python: https://www.youtube.com/playlist?list=PLLMmbOLFy25Eohpgb_V3GWKdf8sL0Upvt

Tutorial για την ανάπτυξη ενός απλού παιχνιδιού: https://www.youtube.com/playlist?list=PLxZI4CJBTZmDC7MqhzMi2RBRSYaxa2F7v

Πηγές:

http://aggelid.mysch.gr/pythonbook/INTRODUCTION_TO_COMPUTER_PROGRAMMING_WITH_PYTHON.pdf

https://en.wikipedia.org/wiki/History_of_Python

Στο επόμενο άρθρο θα δούμε μερικά δημοφιλή IDE και πως τυπώνουμε το hello world.

Όπως πάντα μπορούμε να συζητήσουμε στα σχόλια.