Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

Îåêßíçóå áðü ôï ìÝëïò Παναγιώτης Καναβός. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 28-05-2007, 11:44. Υπάρχουν 20 απαντήσεις.
Σελίδα 1 από 2 (21 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-05-2007, 15:15 31776

    Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Όποιος έχει ασχοληθεί με κάποια από τις δυναμικές γλώσσες στο παρελθόν (Perl, Python, Ruby, Javascript) σίγουρα χάρηκε από την ανακοίνωση του Dynamic Language Runtime. Όχι ότι δεν υπήρχαν ήδη εκδόσεις κάποιων γλωσσών από την Activestate (όπως η Perl.NET) αλλά η υποστήριξη από το ίδιο το .NET Framework διευκολύνει πάρα πολύ τη χρήση τους, ειδικά στο πολύ σημαντικό κομμάτι του Integration.

    Μία από τις σημαντικότερες χρήσεις των δυναμικών γλωσσών είναι ως scripting γλώσσες για εφαρμογές. Σαν παράδειγμα, αναφέρω το FontLab Studio . Χρειάστηκε στο παρελθόν να δημιουργήσω χαρτογραφικά σύμβολα, τα οποία κατά κανόνα είναι συνδυασμοί υπαρχόντων συμβόλων. Το FontLab χρησιμοποιεί εδώ και χρόνια την Python ως scripting γλώσσα και επειδή είναι τσάμπα σε σχέση με τη VBA αλλά και επειδή είναι πολύ πιο δυνατή γλώσσα. Χρησιμοποιώντας Python ήταν πανεύκολο να δημιουργήσω τα νέα σύμβολα και να διορθώσω τα παλιά. Το DLR θα δώσει τώρα αυτή τη δυνατότητα σε οποιαδήποτε εφαρμογή.

    Υπάρχει όμως και το φοβερό extensibility. Μπορώ άνετα να προσθέσω το δικό μου functionality στις κλάσεις του FontLab! Μπορώ να προσθέσω τα δικά μου functions/properties τα οποία θα περιέχουν καθαρά χαρτογραφική πληροφορία, όπως κοινά σύμβολα και ταξινομήσεις. Ή προσθέσω νέα functions, π.χ. για τη δημιουργία πλαισίων, στα ίδια τα αντικείμενα. Και αυτό, χωρίς να χρειαστεί να κάνω inherit από πουθενά, να υλοποιήσω interfaces ή να κάνω aggregation (η μόνη τεχνική που θα είχα στην VB6).

    Μόνη αμφιβολία που είχα ποτέ ήταν το type safety. Κι αν περάσω λάθος τύπο σε ένα function? Αν καλώ ένα function το οποίο δεν υπάρχει? Τί θα γίνει? Όποιος έχει δουλέψει με C (αλλά και C++) μάλλον αναγνωρίζει την αγωνία ότι μπορεί να σκάσει η εφαρμογή όταν φτάσει στο χρήστη. Έρχεται όμως ο "Θε(ι)ος" Heljsberg, χώνει ένα type inferencing και σου λέει "Γράψε ό,τι θες και εγώ θα το ελέγξω!". (Να πω την αλήθεια, δεν ξέρω αν αυτό θα υπάρχει και στο DLR όπως στη C#, αλλά θα το ήθελα πολύ)!

    Οπότε μένω με την απορία. Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Παρακαλώ δια τα σχόλια σας!


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  14-05-2007, 16:46 31783 σε απάντηση της 31776

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?


    Το παρακάτω url έχει screen shots από την σχετική παρουσίαση για DLR στο MIX με σχολιάκια και δείγματα κώδικα.
    http://tirania.org/blog/archive/2007/May-03-1.html
    Την δυνατότητα που αναφέρεις μάλλον θα την δίνουν έτοιμη. Δηλαδή εσύ φτιάχνεις την εφαρμογή και ενσωματώνεις σε αυτή δυνατότητες scripting μέσω DLR. Θα σου δίνουν ακόμη και την κονσόλα να γράφεις scripts.
    Κι αν δεν σου αρέσει η python ? Φτιάχνεις την δική σου dynamic γλώσσα για την δική σου εφαρμογή.




    Harry Tsavdaris
  •  14-05-2007, 17:27 31785 σε απάντηση της 31783

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    tsavos:

    Κι αν δεν σου αρέσει η python ? Φτιάχνεις την δική σου dynamic γλώσσα για την δική σου εφαρμογή.

    Πιστεύω ότι αυτό θα είναι εξαιρετικά χρήσιμο για εμπορικές/εταιρικές εφαρμογές. Σε συνδυασμό με ένα καλό object model και το workflow foundation θα επιτρέπει την εύκολη προσαρμογή της βασικής εφαρμογής/πλατφόρμας στις απαιτήσεις κάθε πελάτη. Και τώρα μπορείς να κάνεις κάτι αντίστοιχο μέσω CodeDOM και DynamicMethods αλλά σίγουρα δεν είναι και ότι ευκολότερο. Με το DLR το ίδιο αποτέλεσμα θα μπορείς να το πετύχεις με πολύ πιο καθαρό τρόπο.

    Όσο για το να φτιάξεις τη δική σου γλώσσα, ακούγεται ενδιαφέρον αλλά όχι και τόσο εύκολο. Από τη μία πλευρά, μπορείς να φτιάξεις μία γλώσσα πολύ πιο κατανοητή για τους τελικούς χρήστες, τους τεχνικούς και τους παραμετροποιητές. Από την άλλη, η δημιουργία μίας νέας γλώσσας χρειάζεται μεγάλη προσοχή. Είναι πολύ εύκολο να καταλήξεις με μία "φλύαρη" γλώσσα όπως η VB6 ή μία δυσανάγνωστη όπως η Perl.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  14-05-2007, 21:36 31789 σε απάντηση της 31785

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Σε συνδυασμό με ένα καλό object model και το workflow foundation θα επιτρέπει την εύκολη προσαρμογή της βασικής εφαρμογής/πλατφόρμας στις απαιτήσεις κάθε πελάτη. Και τώρα μπορείς να κάνεις κάτι αντίστοιχο μέσω CodeDOM και DynamicMethods αλλά σίγουρα δεν είναι και ότι ευκολότερο.

    Να λοιπόν τι περιμένω εγώ με ανυπομονησία!

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  14-05-2007, 22:33 31791 σε απάντηση της 31789

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Στο παρελθόν είχα χρησιμοποιήσει VBScript με το object model μίας εφαρμογής. Αυτό μας επέτρεπε να προσθέσουμε νέες λειτουργίες με πολύ μεγάλη ευκολία, αλλά έπρεπε να προσέχουμε πολύ για πιθανά λάθη, καθώς δεν υπήρχε έλεγχος των script ή Intellisense. Αυτά τουλάχιστον θα αντιμετωπιστούν με το DLR. Θα χρειαστεί όμως και πολύ καλή υποστήριξη για debugging. Όταν δεν έχεις τύπους, δεν ξέρεις τί μπορεί να περιέχουν οι μεταβλητές των script, ειδικά όσες έρχονται από την εφαρμογή.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  15-05-2007, 00:10 31793 σε απάντηση της 31791

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Σε γλώσσες scripting όπως η PHP πχ μπορείς να ελέγξεις τι τύπος είναι με functions όπως είναι ctype_digit, ctype_string κλπ, ώστε να πάρεις μόνο τον τύπο που πραγματικά θέλεις.
    Εάν υποθέσουμε ότι θα λυθούν αυτά εύκολα, τότε δεν θα υπάρχει πρόβλημα έτσι κι αλλοιώς. Άλλωστε με λίγο defensive programming δεν νομίζω να έχουμε ιδιαίτερα προβλήματα απο
    "μπερδεμένους" τύπους κλπ..

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  15-05-2007, 01:58 31796 σε απάντηση της 31793

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Καταρχήν Παναγιώτη σου έχω πει πολλές φορές ότι είσαι γαστρονομικά υποανάπτυκτος (Αν ειναι το να το σχολιάσεις να ανοίξουμε topic στο cafe). Η μοτσαρέλλα είναι άνοστη και δε προσθέτει τίποτα στην πίτσα. αρα δε μπορούμε να το συγκρίνουμε.

    Πολύ ωραία τα όσα ειπώθηκαν για DLR γλώσσες. Σίγουρα δεν έχουν όσα μας δείνει μια c# ή μια C++. Αλλά έχουν συνήθως 2 συμαντικά πλεονεκτήματα.

    1. Απλότητα στο να γράφεις κώδικα

    2. Επεκτασιμότητα

    Για το πρώτο αρκεί να θυμίσω την PERL για την οποία έχουν φτιαχτεί modules που κάνουν τα πάντα ( εκτός από το να ετοιμάζουν πίτσα με μοτσαρέλα). Σχεδόν όλοι οι unixadmin χρησιμοποιούν Perl τόσο για να κάνουν εργαλεία διαχείρισης αλλά και προγραμματάκια, ακόμα και cgi. Σιγουρα σε C++ ή C θα ήταν πιο γρήγορα σε εκτέλεση, αλλά πόσο χρόνο θα έκαναν αν το έγραφαν σε αυτή τη γλώσσα. Αυτό το γεγονός ήταν πάντα το πρόβλημα για τους windows administrators (Μάλιστα η ίδια η MS βοήθησε και ενίσχυσε την Activestate για την συντήρηση της perl (πριν την .NET εποχή)

    Το δεύτερο το κάλυψα στο προηγούμενο. Υπάρχουν τόσες βιβλιοθήκες σε perl, Python κ.α που θα ήταν βλακεία να μη χρησιμοποιηθούν αυτούσιες ή με μικρές αλλαγές ώστε να εκτελούνται στην πλατφόρμα. Επιπρόσθετα εύκολα άτομα από άλλα περιβάλλοντα (βλέπε unix) Θα μπορούν να γράψουν εύκολα σε .net

    Το αν αξίζει να τις χρησιμοποιήσει κανείς είναι καθαρά προσωπική προτίμηση και σχεδιασμός ( όταν είσαι σε ένα εταιρογενές περιβάλλον)


    Γιώργος Σακαλής
  •  15-05-2007, 08:51 31797 σε απάντηση της 31776

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Νομίζω ότι γίνεται πολύ φασαρία πριν της ώρας της όσον αφορά το DLR. Προς το παρόν το είδαμε στο SilverLight, προσωπικά σχεδόν θα το αγνοήσω μέχρι να περάσει λίγος χρόνος και να δούμε που θα πάει αυτή η ιστορία. Ακόμα δεν είδαμε release του Orcas, και θέλουμε κι άλλα;

    Κατα τ' άλλα, όταν είχαμε υποστήριξη για JScript στο παλιό Visual Studio, κανένας δεν έγραψε ποτέ τίποτα σε JScript.NET. Τώρα ξαφνικά τιγκάραμε στο Hype και φαγωθήκαμε για dynamic γλώσσες. Υποστήριξη για scripting υπάρχει ήδη στο framework, και υποστηρίζει ήδη JScript, VBScript και ότι άλλη "active" γλώσσα υπάρχει ή θα υπάρξει. Πόσοι το έχουμε χρησιμοποιήσει; Εγώ στα 31 χρόνια μου υποστήριξα scripting στην πλατφόρμα μας 1 φορά, και για να είμαι ειλικρινής ... πήγε ψιλο-χαμένο.

    Τέλος να αναφέρω μόνο οτι δε χρειάζεσαι ντε και καλά CodeDOM για να υποστηρίξεις scripting στην εφαρμογή σου. Υπάρχεί και το VSA namespace, ένα πολύ καλό tutorial θα βρείτε εδώ. Υπάρχει επίσης και το Microsoft script control, ένα πολύ καλό intro για το οποίο μπορείτε να δείτε στο blog του Roy Osherove.

    Ε, και ... ψυχραιμία. Είχαμε VBScript, JScript, ActivePerl ως τώρα. H πίτσα είναι πιο σημαντική απο τη Μοτσαρέλλα Smile

    Angel
    O:]
  •  15-05-2007, 09:38 31798 σε απάντηση της 31797

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Προσωπικά, πιστεύω ότι το πρόβλημα δεν είναι τα εργαλεία αλλά οι άνθρωποι. Δηλαδή, αυτό που θέλω να πω είναι ότι κατά το debugging αυτό που κυνηγάς (σε πολύ μεγάλο ποσοστό) είναι τα προβλήματα (bugs) που ως προγραμματιστής δημιουργείς και όχι τα bugs που έχει το εργαλείο. Άρα είναι λογικό να χρειάζεσαι έξυπνα εργαλεία που να σε βοηθούν προς αυτήν την κατεύθυνση. Και το type safety σε συνδυασμό με το compilation είναι τεράστιο βοήθημα καθώς βρίσκει τα προβλήματα πριν προκύψουν. Αυτή η "προστασία" όμως συνεπάγεται και κάποιους ανάλογους περιορισμούς. Δούναι και λαβείν ή όπως λένε "there is not such thing as a free pizza". Προς το παρόν δεν μπορούμε να τα έχουμε όλα.

    Επίσης, το πρόβλημα δεν είναι (εν γένει) η τεχνολογία αλλά και πάλι οι άνθρωποι. Αυτό το λέω σε μη-τεχνικό επίπεδο. Λέω για τη νοοτροπία του "οπαδού". Δηλαδή, αυτή τη στιγμή υπάρχει ένα τεράστιο hype σχετικά με τις DL. Η λογική που θα έπρεπε να έχει κάποιος είναι "θέλω να κάνω το ABC, συμφέρει να χρησιμοποιήσω την ΧΥΖ-DL?". Αντ' αυτού βλέπουμε τη λογική "να χρησιμοποιήσουμε XYZ-DL γιατί είναι cool, γιατί είναι fun". Πρώτη φορά βλέπω (τουλάχιστον τόσο έντονα και εκτός marketing concept) ως δικαιολογία για να χρησιμοποιηθεί μια τεχνολογία ότι είναι cool και fun. τα χαρακτηριστικά εμφανίζονται ως πλεονεκτήματα (ή μειονεκτήματα) ανάλογα πως βολεύει τους "οπαδούς". Μπορείς να βρεις άπειρες γενικευμένες απόψεις του τύπου "το dynamic typing είναι καλό/κακό", "o interpreter είναι καλύτερος/χειρότερος από τον compiler", κλπ.

    Ένα άλλο πεδίο μάχης για τους "οπαδούς" είναι η σύνταξη της γλώσσας. Ο κάθε "οπαδός" θεωρεί ότι η γλώσσα του έχει "πιο" φυσική σύνταξη από τις άλλες. Ακόμα και μια περιγραφή ενός αλγόριθμου στη φυσική μας γλώσσα μπορεί για έναν άνθρωπο να είναι κατανοητή ενώ για κάποιον άλλον ακατανόητη. Πόσο μάλλον οι γλώσσες προγραμματισμού που αποτελούν συμβάσεις έκφρασης. Η "δική" μας "φυσική σύνταξη" μπορεί να φαίνεται δυσκολονόητη για κάποιον άλλον και το ανάποδο. Η ουσία είναι ότι όλες οι γλώσσες προγραμματισμού εμπεριέχουν την ανάγκη εκμάθησής τους και κάθε ισχυρισμός ότι μια γλώσσα είναι "πιο" φυσική από κάποια άλλη, απλά δηλώνει προσωπική προτίμηση.

    Ξεκίνησα να γράφω τα παραπάνω πριν δω το post του anjelinio... Σημείο σύμπτωσης το hype Smile

     


    Vir prudens non contra ventum mingit
  •  15-05-2007, 14:56 31807 σε απάντηση της 31798

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Δε νομίζω ότι είναι hype. Απλά ανακοίνωνσαν ένα καλύτερο περιβάλλον για τη δημιουργία τέτοιων γλωσσών. Οι γλώσσες είναι εδώ και χρησιμοποιούνται ήδη (Perl Python)

    Γιώργος Σακαλής
  •  15-05-2007, 16:38 31816 σε απάντηση της 31807

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Σαφώς και είναι εδώ (από την εποχή της Lisp, της Prolog και της Smaltalk), δεν είπα ότι τώρα εμφανίστηκαν. Ωστόσο όταν διαβάσεις σοβαρές εκδόσεις (όπως το IEEΕ Computer και το ObjectiveView) να δημοσιεύουν "οπαδικά" άρθρα και αφιερώματα, τότε θεωρώ ότι πρόκειται για hype.


    Vir prudens non contra ventum mingit
  •  20-05-2007, 17:07 31994 σε απάντηση της 31816

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Αν "τσιγκλήσαμε" κάποιον απο αυτό το thread, και αναρωτιέται στο τί είναι "δυναμικό" σε μια γλώσσα, βρήκα ένα πολύ καινούργιο και πραγματικά καταπληκτικό άρθρο για JavaScript .. ( ... στην πρώτη σελίδα του MDSN !!!  ... Big Smile )

    Περιέχει κάποια αρκετά advanced javascript πράγματα, το οποία δείχνουν ξεκάθαρα τί σημαίνει να δουλεύεις με μια δυναμική γλώσσα.

    Angel
    O:]
  •  21-05-2007, 01:33 32013 σε απάντηση της 31994

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    anjelinio:
    Αν "τσιγκλήσαμε" κάποιον απο αυτό το thread, και αναρωτιέται στο τί είναι "δυναμικό" σε μια γλώσσα, βρήκα ένα πολύ καινούργιο και πραγματικά καταπληκτικό άρθρο για JavaScript .. ( ... στην πρώτη σελίδα του MDSN !!!  ... Big Smile )

    Περιέχει κάποια αρκετά advanced javascript πράγματα, το οποία δείχνουν ξεκάθαρα τί σημαίνει να δουλεύεις με μια δυναμική γλώσσα.

    Έχω εκφράσει τις αντιρήσεις μου σε προηγούμενες δημοσιεύσεις, ότι το AJAX είναι μια καινούργια τεχνολογία. Ουσιαστικά ήταν μια τεχνολογία που σχεδιάστηκε και υλοποιήθηκε από τον Microsoft και την γέννεσή της καταδικάστηκε από τις υπόλοιπες εταιρείες του χώρου. Ξαφνικά επειδή το χρησιμοποίησε το Google, έγινε "must" στο web development.

    Όπως και ο Μάνος έκφερε την γνώμη "ότι μάλλον μιλάμε για hype", βλέποντας το άρθρο στο MSDN magazine, πιστεύω ότι όχι "μάλλον", αλλά "σίγουρα μιλάμε για hype". Τα χαρακτηριστικά της Javascript που αναφέρονται στο άρθρο είναι υλοποιημένα πριν το 2000. Η Microsoft τουλάχιστον, όταν έκανε release τον IE4, είχε μεγάλο μέρος του υλοποιημένο με embedded JavaScript code, με πιο γνωστό σε όλους το easter-egg του about screen του προϊόντος. Ξαφνικά όλοι βάλθηκαν να δείξουν την αξία της JavaScript. Οι δυνατότητές της είναι γνωστές από παλαιότερα, και υπάρχουν εφαρμογές που έκαναν χρήση αυτών των δυνατοτήτων από τότε.

    Τι έγινε ξαφνικά;

    Μήπως οι περισσότεροι ήταν απασχολημένοι εκείνη την εποχή με το υλοποιήσουν εφαρμογές σε thick client με C/C++/VB6 και παραβλέψανε τότε την ευκολία που παρέχει η JavaScript, και τώρα που σίγουρα περισσότεροι είναι πιο κοντά στο web client, ανακαλύπτουν τις τεχνολογίες του, και πιστεύουν ότι ανακάλυψαν τον τροχό;

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  21-05-2007, 03:01 32014 σε απάντηση της 32013

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    ... εε ... "καινούργιο" εννοούσα ... χρονικά ε; Big Smile  - Τώρα το ότι το βρήκα στην πρώτη σελίδα του MSDN, ίσως ενισχύσει την "hype" αίσθηση που έχουμε όλοι. Αν και το μεγαλύτερο μέρος του ήταν αφιερωμένο σε καθαρή JavaScript - ουτέ καν JScript. Μάλιστα μου έκανε εντύπωση κιόλας οτι το τελευταίο μέρος, αυτό που είναι ASP.NET AJAX - specific, είναι σε δικό του div, με το μικρό "+" απο πάνω, δείχνοντας ένα ξεκάθαρο διαχωρισμό.

    Πάντως αν είναι να βλέπω τέτοια άρθρα λόγω hype στην πρώτη σελίδα του MSDN, δεν έχω κανένα πρόβλημα με αυτό. Τo συγκεκριμένο είναι ένα άρθρο που πρέπει να διαβάσει τουλάχιστον μια φορά ο κάθε developer που ασχολείται με web. Ποιός ξέρει πόσα postback -> Request.Redirect μπορεί και να γλυτώσουμε !!! Big Smile

    Angel
    O:]
  •  21-05-2007, 16:10 32054 σε απάντηση της 32014

    Απ: Dynamic Language Runtime. Το καλύτερο πράγμα μετά την Μοτσαρέλλα στην πίτσα, ή καλύτερο κι από την ίδια την πίτσα?

    Επειδή το θέμα της κουβέντας είναι οι δυναμικές γλώσσες και όχι το AJAX, να πω ότι μέχρι πρόσφατα η Javascript δεν αντιμετωπιζόταν ως σοβαρή δυναμική γλώσσα. Ένας λόγος ήταν και ότι οι δυνατότητες της ήταν περιορισμένες για περιβάλλοντα server και desktop με αποτέλεσμα οι περισσότεροι την χρησιμοποιούσαν μόνο για client-side scripting. Όσοι προγραμμάτιζαν σε δυναμικές γλώσσες το έκαναν απευθείας σε μία από τις πιο δημοφιλείς γλώσσες, Perl, Python, Ruby. Ο λόγος που δεν έβλεπε κανείς να χρησιμοποιούνται τέτοιες γλώσσες και από Microsoft μεριά ήταν ότι ήταν μεγάλος μπελάς. Τω καιρώ εκείνω, ο κύριος τρόπος επικοινωνίας στα Windows ήταν το COM και οι δυναμικές γλώσσες το αντιμετώπιζαν σαν βιβλιοθήκη της C: πολλές κλήσεις για να δημιουργήσεις ένα αντικείμενο, πολλές για να το σβήσεις. Αντίθετα, με την IronPython και μελλοντικά το DLR ο συνδυασμός των γλωσσών στα Windows θα είναι πολύ ευκολότερος.

    Να πω τέλος, ότι εκεί γύρω στο 2000 δούλευα στη δημιουργία μίας πλατφόρμας 3-tier (βάση, COM+ transactional services και desktop client) σε VB6, στην οποία όριζες τα domain objects μέσω GUI. Το κάθε αντικείμενο είχε κάποιες στάνταρ λειτουργίες (Show, Add, Edit, Delete, Print με δυναμική δημιουργία φορμών) και workflow για την υλοποίηση διαδικασιών, όπως η αποστολή ειδοποίησης όταν ο χρήστης έκανε αλλαγές, ή για έγκριση μεγάλων συναλλαγών, δρομολόγηση εγγράφων κλπ.). Οι επιπλέον λειτουργίες που απαιτούσε κάθε αντικείμενο υλοποιούνταν με VBScript με αποτέλεσμα να μπορούμε να καλούμε τα πεδία και τις μεθόδους του κάθε domain object χωρίς να έχουμε υλοποιήσει interfaces και χωρίς να απαιτείται compile. Ουσιαστικά, μπορούσαμε να κάνουμε τις αλλαγές στον πελάτη.
    Τί κερδίσαμε με αυτό? Το object model της πλατφόρμας παρέμεινε απλό, καθώς δεν χρειάστηκε η υλοποίηση κάποιου περίπλοκου μηχανισμού για την προσθήκη νέων μεθόδων στα domain objects. Τα domain objects μπορούσαν να οριστούν από το UI της πλατφόρμας χωρίς recompile, και όχι δημιουργώντας κλάσεις οι οποίες θα απαιτούσαν recompile και θα έκαναν τις τροποποιήσεις δύσκολες.

    Μέχρι τώρα κάτι αντίστοιχο στο .NET θα ήταν φασαρία. Υπάρχουν μεν οι DynamicMethods, μπορείς να κάνεις compile κώδικα στο Runtime, αλλά κάθε φορά έχεις να γράψεις μερικές γραμμές κώδικα, εκεί που πριν απλά έγραφες .PrintThis. Με την IronPython και το DLR, αυτή η ευκολία επανέρχεται, με γλώσσες οι οποίες είναι πολύ ισχυρότερες από την VBScript.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Σελίδα 1 από 2 (21 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems