Ο Παντελής είναι ένα από τα παιδιά που δεν έχασε ούτε μια συνάντηση μας! Πέρα από αυτό, μας βοήθησε κάνοντας δυο πολύ ενδιαφέρουσες παρουσιάσεις:
1. Spam filtering in Python
2. Bioinformatics: Programming in Python
Επίσης παίζει πολύ καλό μπάσκετ! Μπορείτε να τον θαυμάσετε (δυστυχώς από κάρφωμα δεν έχουμε βίντεο) εδώ.
Ποιος είσαι;
Βικάτος Παντελής φοιτητής του τμήματος Μηχ. Η/Υ & Πληροφορικής. Συμμετείχα στην TasPython με δυο παρουσιάσεις και δεν έχασα καμία από τις συναντήσεις μας. Τα ενδιαφέροντα μου είναι η ανάπτυξη εφαρμογών, κατασκευή ιστοσελίδων, ανάκτηση πληροφορίας, εξόρυξη δεδομένων, pattern recognition, bioinformatics και επεξεργασία φυσικής γλώσσας.
Τι παρουσίασες;
Στην Taspython συμμετείχα με δύο παρουσιάσεις με τίτλους "Spam filtering with python" και "Bioinformatics programming in Python". Η πρώτη ξεκίνησε ως μια προσπάθεια να μετατρέψω ένα project που είχα υλοποιήσει για ένα μάθημα επιλογής σε Python γνωρίζοντας τα πλεονεκτήματα και τα έτοιμα εργαλεία που σου προσφέρει η Python.
Μέσα σε αυτό το πλαίσιο ανακάλυψα το module NLTK το οποίο περιέχει ό λες τις δυνατότητες για επεξεργασία φυσικής γλώσσας καλώντας απλώς υλοποιημένες συναρτήσεις και το module BeautifulSoup το οποίο χρησιμοποιείται για parsing Html και Χml αρχείων. Όπως ανέφερα και στην παρουσίαση μου η διαδικασία του spam filtering ανάγεται στο πρόβλημα document categorization οπότε και ανέλυσα όλους τους τρόπους με τους οποίους μπορεί να αντιμετωπιστεί και μίλησα ειδικότερα για την μέθοδο εποπτευόμενης μάθησης NaiveBayes που χρησιμοποίησα στην υλοποίηση. Αυτό που πιστεύω έκανε ιδιαίτερη εντύπωση στην συγκεκριμένη παρουσίαση ήταν η σύνδεση της θεωρίας με την πράξη και η αντιμετώπιση ενός πρακτικού προβλήματος με την χρήση της Python με πολύ καλή απόδοση και λίγες γραμμές κώδικα.
Η δεύτερη ξεκίνησε με μια έρευνα στο google με το ερώτημα: “Bioinformatics & Python “ μέσα στις πρώτες επιλογές ανακάλυψα το module Βiopython με ένα πλήρη οδηγό χρήσης και πολλά παραδείγματα. Αμέσως διαπίστωσα τις ευκολίες αλλά και τις πολλές δυνατότητες που μπορεί να προσφέρει στα άτομα που ασχολούνται με βιοπληροφορική. Η επιβεβαίωση του παραπάνω ισχυρισμού μου ήρθε από τους ίδιους του προγραμματιστές οι όποιοι χρησιμοποιούν ως επί των πλείστων το Biopython module σε αντίθεση με άλλα πακέτα όπως το BioJava και το BioPerl. Στην παρουσίαση έγινε αναφορά σε θέματα διαχείρισης συμβολοσειρών, διαδικασίες parse - read - write βιολογικών αρχείων με διάφορα formats, αναζήτηση από online βάσεις δεδομένων, χρησιμοποίηση WebServices και σε διάφορα πιο ειδικά θέματα. Οφείλω να σημειώσω ότι με αυτή την παρουσίαση πολλοί από τους παρευρισκομένους είχαν την πρώτη τους επαφή με την βιοπληροφορική και κατανόησαν τους τρόπους αντιμετώπισης των διάφορων προβλημάτων που σχετίζονται με την υπολογιστική βιολογία.
Χρησιμοποιείς τη Python για...
Χρησιμοποιώ την Python για προγραμματισμό εφαρμογών και ως βοηθητικό εργαλείο για επιστημονικούς σκοπούς όπως για bioinformatics, pattern recognition, data mining και επεξεργασία φυσικής γλώσσας.
Τι σου αρέσει στη Python;
Η Python είναι σχετικά μια εύκολη γλώσσα ως προς την εκμάθηση και την αναγνωσιμότητα. Μπορείς να γράψεις κάποια εφαρμογή με οποιοδήποτε προγραμματιστική μέθοδο δηλαδή scripting, C-like ή object-oriented. Σε απαλλάσσει από το άγχος της χρησιμοποίησης παράξενων σύμβολων (~=, , eq, '\n', {}...) και σε αναγκάζει με την χρήση των tabs να δομήσεις σωστά τον κώδικά σου. Ο ορισμός των μεταβλητών και η διαχείριση της μνήμης που σε άλλες γλώσσες αποτελεί καταναγκαστικό έργο και βραχνάς στην Python απλά δεν σε απασχολεί. Επίσης η Python συνεργάζεται άψογα με άλλες γλώσσες προγραμματισμού και είναι cross platform.
Τι δεν σου αρέσει;
Αρνητικά στην Python υπάρχουν όπως και σε κάθε άλλη γλώσσα. Ειδικότερα στις scripting γλώσσες το θέμα της ταχύτητας εκτέλεσης και της απόδοσης είναι ένα ζήτημα. Επίσης η ανυπαρξία ενός σύγχρονου IDE για την δημιουργία γραφικών εφαρμογών αποτελεί ένα σημαντικό μειονέκτημα. Όσον αφορά στο multithreading προγραμματισμό τα προβλήματα ελπίζω να διορθωθούν με την νέα έκδοση της Python.
Τι εξελίξεις προβλέπεις;
Σε καιρούς οικονομικής κρίσης η χρησιμοποίηση ελεύθερου λογισμικού και γλωσσών προγραμματισμού σαν την Python αποτελεί μονόδρομο για την ανάπτυξη εφαρμογών και την συντήρηση πληροφοριακών συστημάτων.
Η Python έχει μπει πολύ δυναμικά στο web development και αποτελεί ένα εύκολο και συνάμα ισχυρό εργαλείο στην διαχείριση δυναμικών sites. Προβλέπω ότι παραδοσιακές τεχνικές διαδικτυακού προγραμματισμού όπως η PHP, ASP ίσως να περιοριστούν ή και να λησμονηθούν από την χρήση του Django.
Επίσης η Python προωθείται στον επιστημονικό τομέα κυρίως σε θέματα επιστημονικού υπολογισμού, αριθμητικής ανάλυσης με τα πακέτα SciPy και NumPy και ίσως αντικαταστήσει την Matlab που ναι έχει πολλά καλά χαρακτηριστικά αλλά είναι πανάκριβη. Επιπλέον η Python εντάσσεται στα πανεπιστημιακά τμήματα για εκπαιδευτικούς σκοπούς και σε πολλά διδάσκεται από το πρώτο έτος π.χ. MIT.
Εντυπώσεις από την κοινότητα;
Οι οργανωτές της ομάδας και συνολικά όλα τα παιδιά που συμμετείχαν με τις παρουσιάσεις, την ομαλή διεξαγωγή ακόμα και αυτοί που ασχολήθηκαν με την βιντεοσκόπηση έκαναν τρομερή δουλειά. Ήταν πρωτοποριακό για την σχολή η δημιουργία μιας τέτοιας ομάδας και νομίζω ότι υπάρχουν ακόμα ιδέες για βελτίωση και συνέχιση αυτής της προσπάθειας.