Hits :
3722
Comparison of Scripting Languages
Overview
Στην δουλειά μας χρειάζεται αρκετές φορές να αναπτύξουμε ένα νέο πρόγραμμα ή να
τροποποιήσουμε κάποιο ήδη υπάρχον. Η επιλογή της γλώσσας προγραμματισμού σχεδόν πάντα
έχει μοναδικό κριτήριο το πόσο καλά εξοικειωμένοι είμαστε με αυτήν. Όμως μερικά κριτήρια
που θα πρέπει να έχουμε στο μυαλό μας είναι τα εξής:
- Εξοικείωση
- Ταχύτητα Εκτέλεσης
- Δυνατότητα βελτιστοποίησης
- Δυνατότητα Επαναχρησιμοποίησης
- Δυνατότητα Διεπαφής
Στην προσπάθειά μου να βρω ποια scripting language θα ήταν "καλύτερη" για την ανάπτυξη ενός
προβλήματος που είχα, αφιέρωσα λίγο χρόνο ώστε να γράψω ένα πρόγραμμα σε διάφορες scripting
languages και να παράγω μερικές χρήσιμες μετρήσεις.
top
Αλγόριθμος
To project που είχα στο μυαλό μου ήταν η παραγωγή dns records για ένα class b.
Θα έπρεπε δλδ να βρω έναν τρόπο ώστε να παραχθούν το μέγιστο
65536 dns records.
Φυσικά επειδή έπρεπε το script να μπορεί να τροποποιηθεί ώστε να καλύπτει όλα τα class b & c
ή ακόμα και μέρος αυτών (sub-classes) κατέληξα στον παρακάτω αλγόριθμο :
Formatter "highlight/html" not found
top
Implementation
Ο παραπάνω αλγόριθμος (κάθε φορά με τις απαραίτητες διορθώσεις) γράφτηκε στις παρακάτω scripting languages:
- perl
- python
- php
- tcl
- ruby
- bash
- sh
Και η υλοποίηση βρίσκεται στα εξής links:
Μερικές παρατηρήσεις:
Ο αλγόριθμος και η συγγραφή αυτού στις παραπάνω γλώσσες ΔΕΝ είναι ο τέλειος ή ο βέλτιστος.
Έγινε προσπάθεια η υλοποίηση να είναι παρόμοια για τις ανάγκες της σύγκρισης.
Πρώτη φορά γράφω σε : Perl, Python, Ruby & Tcl, έχω όμως την δυνατότητα να διαβάσω
από τα references manuals της κάθε γλώσσας, οπότε και πιστεύω ότι έγινε καλή δουλεια :p
Η τελευταία υλοποίηση είναι του
Fuzz από τον σύλλογο
Ioannina Linux User Group[link7] και είναι
το dslbash τροποποιημένο ώστε να είναι POSIX compliant. -Thanks Fuzz
Επίσης έχω κάνει τροποποιήσεις πάνω στις παρατηρήσεις του
Κεραμιδά από το παρακάτω link από το forum του hellug. -Τhanks Γιώργο.
top
Results
Μετρήσεις μπορείτε να βρείτε εδώ:
http://forum.hellug.gr/index.php?topic=623.0
Οι δικές μου μετρήσεις έγιναν σε ένα μηχάνημα με τα εξής χαρακτηριστικά:
Formatter "highlight/html" not found
Results
Όπως βλέπετε παρακάτω η perl είναι η ταχύτερη.
Formatter "highlight/html" not found
top
[link2] https://balaskas.gr/wiki/dslpython
[link3] https://balaskas.gr/wiki/dslphp
[link4] https://balaskas.gr/wiki/dsltcl
[link5] https://balaskas.gr/wiki/dslruby
[link6] https://balaskas.gr/wiki/dslbash
[link7] http://www.ilug.gr/