Κυριακή 4 Μαρτίου 2007

Ruby on Rails :: Part #1

Ruby on Rails (RoR) εδώ, RoR εκεί, RoR παραπέρα...

Είπα και εγώ λοιπόν σαν καλό παιδί να δω τί είναι αυτό που θα περιορίσει, σύμφωνα με τους ειδήμονες του O' Reilly, το χρόνο ανάπτυξης μιας web application στο 1/10. Σαν μηχανικός μου φαίνεται ότι ένας τέτοιος στόχος είναι μάλλον υπεραισιόδοξος και ισχύει υπό αυστηρό σύνολο προϋποθέσεων που πρέπει ταυτόχρονα να συντρέχουν.

Σαν άπιστος Θωμάς, μου επιβάλλεται να στοιχειοθετήσω την άποψη μου με αποδείξεις. Συνεπώς, το project του Μαρτίου είναι η ανάπτυξη μιας στοιχειώδους εφαρμογής διαχείρισης περιεχομένου, γραμμένης σε RoR.

Βήμα 1ο

Κατέβασμα και εγκατάσταση του Instant Rails

Βήμα 2ο

Συγκέντρωση πληροφορίας και tutorials στο ενδιάμεσο.

Tutorials:

Βιβλία:

... Ακολουθεί το 2ο μέρος οσονούπω

4 σχόλια:

  1. Μακάρι να τα καταφέρεις. Εγώ πάντως τα παράτησα μια εβδομάδα μετά :-)

    Τι instant rails εγκατέστησα, τι account σε Hosting provider εξειδικευμένο στο RoR άνοιξα, τι κάτι extensions για RoR στο dremaweaver έβαλα, το αποτέλεσμα είναι το ίδιο και το αυτό. Αν δεν έχεις χρόνο να αφοσιωθείς και να του αφιερώσεις, το 1/10 του χρόνου για να στηθεί η εφαρμογή είναι ουτοπία.

    Ωραίο blog, ωραίο theme :-)

    ΑπάντησηΔιαγραφή
  2. Απόστολε σε ευχαριστώ και επιστέφω τα σχόλια. Ήδη το blog σου είναι στο blogroll μου.

    Το RoR το βλέπω καθαρά ως hobby και όχι ως κάτι που άμεσα θα έχω κάποιο κέρδος. Συνήθως, έτσι κάνω πάντα. Αρχίζω καθαρά ερασιτεχνικά την ενασχόλησή μου με κάποιο αντικείμενο και στη συνέχεια εμβαθύνω και βρίσκω πεδία εφαρμογής του.

    Πρέπει να υπογραμμίσω ότι η Ruby είναι, αν και interpreted, εξαιρετική γλώσσα και κάλλιστα θα μπορούσε να διδάσκεται σε εισαγωγικά μαθήματα προγραμματισμού.

    To Rails είναι ένα added value το οποίο πραγματικά εάν κάποιος το μάθει, το λιγότερο που θα κερδίσει είναι να βγάλει τα χρήματα που αντιστοιχούν στις ανθρωποώρες που δαπάνησε για το μάθει.

    ΑπάντησηΔιαγραφή
  3. Το ζήτημα με το RoR δεν είναι η αξία της γλώσσας ή του framework. Το ζήτημα είναι ο ντόρος και οι ανυπόστατες προσδοκίες που έχει δημιουργήσει σε χιλιάδες προγραμματιστές που --- δίχως ιδέα για τη γλώσσα και με ιδιαίτερα περιορισμένες γνώσεις για τη μεθοδολογία --- εντυπωσιάζονται από το εκάστοτε tutorial ή screencast και περιμένουν πως θα μπορέσουν σε μερικές ώρες να αντικαταστήσουν εβδομάδες δουλειάς.

    Η αλήθεια είναι πως η όποια προσέγγιση του RoR --- κατα την ταπεινή άποψή μου --- οφείλει να προηγηθεί από μια ουσιαστική εισαγωγή στη γλώσσα πίσω από αυτό. Και αυτό δε σημαίνει την ανάγνωση ενός tutorial αλλά τη κατανόηση των ιδιωμάτων που κάνουν τη γλώσσα τόσο διαφορετική από π.χ. τη php ή τη java. Η Ruby είναι μια εντυπωσιακά καθαρή γλώσσα, χαρακτηριστική της εποχής που σχεδιάστηκε· πολύ λίγοι ασχολούνται όμως με αυτή όπως οφείλουν και προσπαθούν να κατανοήσουν (και να δημιουργήσουν έργο άξιο λόγου) με ένα framework βασισμένο σε αυτή.

    Πέραν αυτού, ένας από τους λόγους που το RoR απέσπασε διθυράμβους ήταν η εφαρμογή \'ευφυούς\' αυτοματισμού τετριμμένων διαδικασιών, που μέχρι τότε ένας προγραμματιστής σε j2ee ή php συχνά έπρεπε να ανεχτεί. Η μεθοδολογία, από ένα σημείο και έπειτα, ξεπερνά τη γλώσσα· είναι ορθόγωνη σε αυτή. Σήμερα, 3 χρόνια μετά την εμφάνιση του RoR, υπάρχουν αρκετά frameworks που φέρνουν τη μεθοδολογία και το MVC design pattern με τρόπο παρόμοιο αυτού του RoR, σε άλλες γλώσσες. Εαν το μόνο πράγμα που ενδιαφέρει κάποιον προγραμματιστή είναι η ανάπτυξη διαδικτυακών εφαρμογών στο web και δεν σκοπεύει να σπαταλήσει τον χρόνο να μάθει τη Ruby ως αυτό που είναι, μια ολοκληρωμένη και ισχυρή γλώσσα, τότε καλύτερα να κοιτάξει τις εναλλακτικές. Συν τοις άλλοις, η σχετικά μικρή χρονική περίοδος στην οποία το RoR και κατ\'επέκταση η Ruby απολαμβάνει την εκτίμηση και χρήση πολλών προγραμματιστών διεθνώς (δηλαδή εκτός Ιαπωνίας όπου είναι πολύ δημοφιλής γενικότερα) σημαίνουν πως σε κάποιες (μεγάλες) εφαρμογές web, η Ruby (και το Rails σε κάποιο βαθμό) παρουσιάζουν ελλείψεις --- π.χ. σε ό,τι αφορά τη κλιμάκωση εφαρμογών/δομών δεδομένων.

    Η δική μου άποψη είναι πως η Ruby αξίζει τη προσοχή σας, έστω και ακαδημαϊκά. Αρκεί να την προσεγγίσετε σοβαρά ως γλώσσα και όχι ως αποτέλεσμα του ενθουσιασμού ενός άρθρου στο διαδίκτυο, ενός screencast ή tutorial στα πλαίσια της παρουσίασης του RoR.

    ΑπάντησηΔιαγραφή
  4. Ένας σοβαρός λόγος που δεν έχω γράψει ακόμα το 2ο μέρος των εντυπώσεων μου για το RoR framework είναι ότι έχω κολλήσει με τη γλώσσα. Η Ruby αυτή καθεαυτή είναι εκπληκτική. Το όλο concept προγραμματισμού ξεφεύγει από το συνηθισμένο και φέρνει αρκετά έκφρασεις κοντά στην ανθρώπινη σκέψη.

    Χωρίς να θέλω να φανώ υπερβολικός, θεωρώ ότι θα μπορούσε άνετα να είναι εισαγωγική γλώσσα προγραμματισμού. Ειδικά το OO κομμάτι της είναι υπέροχο!

    ΑπάντησηΔιαγραφή