Windows API και πρότυπα...

Παραθέτω δύο συνδέσμους με ιδιαίτερα ενδιαφέροντα άρθρα από ένα προγραμματιστή της πλατφόρμας των Windows.

Το πρώτο είναι του 2004, πριν την εμφάνιση των Vista και αναφέρεται στο πως η Microsoft προσπαθούσε να διατηρεί τη συμβατότητα προς τα πίσω μέσω του ισχυρότερου όπλου της ενάντια στους υπολοίπους, του Windows API δηλαδή, το πως αυτό άλλαξε τα τελευταία χρόνια και πως ο συγγραφέας θεωρεί ότι είναι ήδη μια χαμένη μάχη. Το άρθρο στη διεύθυνση http://www.joelonsoftware.com/articles/APIWar.html

Το δεύτερο άρθρο αναφέρεται στα πρότυπα HTML στο WWW, στην έλευση του Internet Explorer 8 (μπλιαχ...), στην κατάσταση που έχει δημιουργηθεί στο διαδίκτυο με τις εκατομμύρια σελίδες που δεν υπακούουν σε κανένα πρότυπο, περιγράφοντας ένα παράδειγμα με τίτλο «Αρειανά ακουστικά» (Martian headsets). Το βρίσκετε στο http://www.joelonsoftware.com/items/2008/03/17.html

Οι απόψεις του συγγραφέα είναι ιδιαίτερα εύστοχες. Αξίζει να τα διαβάσετε, παρόλο το μέγεθός τους.

Χρήσιμο / Useful: 
Average: 3.8 (5 votes)
Ψηφίστε για την ποιότητα του άρθρου / Vote for the article's quality

Σχόλια

Όντως αξίζουν το διάβασμα παρά το μέγεθός τους... Ο συγγραφέας σκέφτεται out-of-the-box....

Το μόνο σημείο που διαφωνώ μαζί του είναι στην αρνητική κριτική που κάνει στην νοοτροπία της "ιδεαλιστικής παρέας του MSDN magazine" - όπως την ονομάζει -, η οποία υποστηρίζει τυφλά τον κομφορμισμό στις τυποποιήσεις. Εγώ θα έπαιρνα ξεκάθαρα το μέρος τους και σε αυτό που έγινε στα Vista και σε αυτό που είναι υπό συζήτηση για τον IE8.

Οι τσαπατσουλιές πρέπει να σταματήσουν.

Σήμερα όταν λέω σε συζητήσεις ότι θεωρώ τα Vista ως το καλύτερο Desktop/Workstation λειτουργικό που υπάρχει, οι υπόλοιποι με κοιτάνε αποσβολωμένοι και αυτοί που δεν με γνωρίζουν νομίζουν ότι μόλις χτες έπιασα τον πρώτο υπολογιστή στα χέρια μου. Μου λένε για τα δεκάδες προβλήματα που αντιμετώπισαν όταν εγκατέστησαν το τάδε πρόγραμμα στα Vista. Όταν τους ρωτώ αν πριν εγκαταστήσουν το πρόγραμμα διάβασαν στο documentation ή στο κουτί του προγράμματος (αν πρόκειται για retail) αν υποστηρίζει Vista, με κοιτάνε σαν χάχες. Θεωρούν αυτονόητο ότι ένα πρόγραμμα που έχουν για ΕΝΑ ΑΛΛΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ θα τρέξει και στα Vista. Απορώ γιατί δεν το δοκιμάζουν και σε Linux. Εκεί να δεις πόσο δύσκολα θα τρέξεις το Norton Antivirus for Windows XP.

Τα compatibility tricks και οι τσαπατσουλιές που έκανε η Microsoft στον βωμό της συμβατότητας έπρεπε να τελειώσουν. Και τελείωσαν. Και ευτυχώς. Και τώρα επιτέλους χαίρομαι uptimes στα Vista που ξεπερνούν τον μήνα. Μέχρι και drivers της κάρτας γραφικών αναβαθμίζω χωρίς restarts. Και χέστηκα που ο κάθε τρόμπας που δεν θέλει να RTFM συστήνει ως "χάκερ" στους γνωστούς του να βάλουν XP γιατί τα Vista είναι μια αποτυχημένη χαζομάρα. Και φυσικά είμαι μειοψηφία, και φυσικά η Microsoft short-term θα χάσει χρήματα από όλη αυτή την ιστορία.

Αλλά δεν είμαι τόσο σίγουρος για το long-term. Γιατί με τις ασυμβατότητες που συγχίζουν τους "χάκερ" η Microsoft κατάφερε να δημιουργήσει το πιο σταθερό και ασφαλές Desktop λειτουργικό στην ιστορία της. Και την επιτυχία από κάτι τέτοιο δεν μπορεί κάποιος να την δει άμεσα.

Έκανα κατάχρηση του χώρου σχολίων σου Βilly...Μάλλον σε κάποια φάση πρέπει να γράψω κάτι σχετικό στο Κ.ΕΠΙΚ.

Όντως πολύ καλά άρθρα. Αν και φίλε mouridis, θα μου επιτρέψεις να διαφωνήσω με αυτό που έγραψες:

"Μου λένε για τα δεκάδες προβλήματα που αντιμετώπισαν όταν εγκατέστησαν το τάδε πρόγραμμα στα Vista. Όταν τους ρωτώ αν πριν εγκαταστήσουν το πρόγραμμα διάβασαν στο documentation ή στο κουτί του προγράμματος (αν πρόκειται για retail) αν υποστηρίζει Vista, με κοιτάνε σαν χάχες. Θεωρούν αυτονόητο ότι ένα πρόγραμμα που έχουν για ΕΝΑ ΑΛΛΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ θα τρέξει και στα Vista."

Πήγα και πήρα φορητό υπολογιστή τις προάλλες. Τα Windows Vista ήταν προεγκτεστημένα, ΧΩΡΙΣ την δυνατότητα επιλογής Windows XP. Όταν παίρνεις ένα τέτοιο πισάκι (φορητό ή desktop, το ίδιο είναι), όταν η ίδια η Microsoft σε "αναγκάζει" να χρησιμοποιήσεις τα Vista, ναι, θεωρείς δεδομένο ότι δεν θα έχεις πρόβλημα.

Η δική μου γνώμη; Με βρίσκεις σχεδόν σύμφωνο για την ποιότητα του λειτουργικού. Είμαι υπέρ σε όλα, ΕΚΤΟΣ από το γραφικό του περιβάλλον. Ναι είναι υπέροχο, ναι είναι πανέμορφο, ναι είναι ΠΑΝΑΡΓΟ και ΠΑΝΒΑΡΟ, ναι ΕΙΝΑΙ ΜΗ ΣΥΜΒΑΤΟ με παλιές εφαρμογές. Σήκωσε το Delphi 6 σε Vista, και δοκίμασε να μετακινήσεις το παράθυρο με τα properties. Κλάμα μαύρο. (Άλλαξα το θέμα σε Windows Classic - πιο άσχημο μεν, αλλά μπορώ επιτέλους να κάνω την δουλειά μου ανθρώπινα).

Για να επανέλθουμε στο θέμα μας, το να επιλέξει κάποιος να μην είναι συμβατός με τις προηγούμενες εκδόσεις, είναι ένα πολύ μεγάλο και αποφασιστικό βήμα, το οποίο όμως δεν έχουν όλοι την επιλογή-διάθεση να το κάνουν. Το άρθρο του web με τις εκδόσεις του IE είναι απόλυτα αντιπροσωπευτικό. Βέβαια, εκεί, επειδή στο διαδίκτυο τα πράγματα είναι κάπως "χύμα", επειδή πλέον όλοι ξέρουμε τον ΙΕ, τον FireFox, τον Opera κλπ, ε, κάπου λες "εντάξει μωρέ, κλασικό κωλοχανείο..."

Στο θέμα των Windows όμως, τα πράγματα είναι διαφορετικά. Και εξηγώ:

Πρώτον, υπάρχει ΜΙΑ ΚΑΙ ΜΟΝΗ ΕΤΑΙΡΙΑ στον χώρο (δεν αναφερόμαστε στο ανύπαρκτο σύνολο των λιγότερων από 10.000.000 χρήστες όπως αναφέρεται στα άρθρα), οπότε θεωρείς αναμενόμενο τα προϊόντα της να είναι συνεργάσιμα.

Δεύτερον: Δεν μιλάμε για Web Browser, δεν μιλάμε για Office Suite. Μιλάμε για το Operating System, για το λειτουργικό σύστημα. Κοινώς, αυτό το λογισμικό, το οποίο κάνει τις εφαρμογές να τρέχουν. Χωρίς εφαρμογές, ένας υπολογιστής μπορεί να ζήσει, έστω και λίγο. Χωρίς λειτουργικό όμως, πατάτες. Και το να δουλεύει απρόσκοπτα το λειτουργικό, ΝΑΙ, ΤΟ ΘΕΩΡΕΙΣ αυτονόητο. Και εντάξει, να δεχτείς ότι σε μια καινούρια έκδοση, θα υπάρξουν κάποια μπάγκζ. Να δεχτείς το γεγονός ότι κάποιες φορές θα κρεμάει κι όλας. Λογικό. Αλλά να μην είναι συμβατό με τις εφαρμογές που ήδη δουλεύεις;;; Εφαρμογές που έχεις πληρώσει;;;

Τρίτον: Η πρακτική πλευρά του θέματος. Τι κάνεις; Πηγαίνεις πίσω το Coredraw (λέμε τώρα) στην Corel και της ζητάς να σου βγάλει ASAP έκδοση για Vista; Ζητάς πίσω τα λεφτά σου; (Δεν συνεχίζω, γιατί θα κινδυνέψω να μεταφράσω το ήδη υπάρχον αγγλικό κείμενο).

Πάντως αν μη τι άλλο, ήταν δύο πολύ ωραία άρθρα τα οποία σηκώνουν μεγάαααλη συζήτηση...

Φυσικά διαφωνούμε φίλε snikolaidis στο ότι τα λειτουργικά χρίζουν διαφορετικής αντιμετώπισης από τα υπόλοιπα προγράμματα σε ότι αφορά την συμβατότητα. Απλά, πολλοί έχουμε αυτή την πεποίθηση γιατί μας έχει "κακομάθει" η Microsoft.

Αλλά σίγουρα συμφωνώ σε ένα πράγμα: Μιλάμε για ένα θέμα που σηκώνει μεγάααααλη συζήτηση. :-)

Βασικά η Microsoft έχει πέσει στη δική της παγίδα. Τα Windows έχουν τόσο μεγάλο ποσοστό αγοράς, που θεωρείς αυτονόητο μια εφαρμογή που έπαιζε στα 95, να παίζει στα 98, στα 2000, στα XP, κ.ο.κ. γιατί για τον τελικό χρήστη, η αλλαγή από έκδοση των Windows σε άλλη, δεν φαίνεται να υπήρξαν αλλαγές και ο χρήστης εκλαμβάνει το ότι η τάδε εφαρμογή θα έπρεπε να παίζει παντού. Από μια άποψη, η Microsoft καλά έκανε με αυτή της την τακτική, γιατί κέρδιζε ποσοστά χρήσης έτσι, αλλά από την άλλη, είχε τα προβλήματα που αναφέρθηκαν (compatibility χακιές, κτλ.). Και τα 2000 και τα XP τα θεωρώ σταθερά λειτουργικά, άποψη για τα Vista δεν έχω ακόμη και δεν προβλέπεται να αποκτήσω, τουλάχιστον όχι στο άμεσο μέλλον.

Τώρα όσον αφορά το κόψιμο των τακτικών αυτών στα Vista, ίσως καλά έκανε και χρειαζόταν κάποια στιγμή να γίνει και για δικό της καλό. Άλλη περίπτωση λογισμικού (βέβαια σε τελείως άλλη κατηγορία και για άλλη χρήση) που δεν διατηρεί τη συμβατότητα προς τα πίσω είναι το Drupal. Κάθε νέα (major) έκδοσή του, δεν είναι συμβατή με τις πχ. μονάδες (modules) του για την προηγούμενη, με αποτέλεσμα να πρέπει η μονάδα να μεταφερθεί στη νέα έκδοση. Τακτική τελικά που δεν το απέτρεψε από το να γίνει ιδιαίτερα δημοφιλές, ενώ το API του είναι από τα ιδιαίτερα developer-friendly.