PHP vs ASP.NET

PHP vs ASP.NET

Από τη στιγμή που η Microsoft δημοσίευσε την ASP.NET υπάρχει μια μεγάλη διαμάχη μεταξύ των προγραμματιστών για το ποια γλώσσα προγραμματισμού είναι καλύτερη.

Αν πραγματοποιήσετε μια σύντομη έρευνα στο διαδίκτυο θα διαπιστώσετε πως οι προγραμματιστές της ASP.NET υποβιβάζουν την PHP και προγραμματιστές της PHP υποβιβάζουν την ASP.NET. Το μεγαλύτερο πρόβλημα είναι η παρουσίαση των προϊόντων της Microsoft ως ποιοτικότερα σε σχέση με τα άλλα αντίστοιχα προϊόντα ανοικτού κώδικα. Από την άλλη  υπάρχουν προγραμματιστές PHP που χρησιμοποιούν την PHP για χρόνια και δεν έχουν δυσαρεστηθεί ούτε μία φορά. Από την άλλη, ενώ η ASP.NET είναι ποιο εύκολη και ταχύτερη, οι οπαδοί της PHP υποστηρίζουν πως η PHP έχει καλύτερη κοινότητα, οπότε και καλύτερη υποστήριξη, και επίσης έχει και πολύ εύκολο συντακτικό για να μάθεις τη γλώσσα.

Σε αυτό το άρθρο δεν θα συνεχίζουμε αυτή τη διαμάχη, αλλά θα προσπαθήσουμε να κάνουμε μια ειλικρινή σύγκριση μεταξύ των δύο γλωσσών προγραμματισμού, έτσι ώστε οι προγραμματιστές που δεν έχουν τόσο ισχυρή γνώμη, δεν θα επηρεαστούν από προσωπικές απόψεις.

Εδώ θα διαβάσετε για μερικά από σημαντικά σημεία κάθε γλώσσας ξεχωριστά. Ας αρχίσουμε λοιπόν:

Η PHP είναι σχετικά ποιο εύκολη γλώσσα στη χρήση της από ότι η ASP.NET. Αρχικά η PHP γράφτηκε στην γλώσσα προγραμματισμού C για να αντικαταστήσει κάποια σενάρια εντολών της Perl. Για το λόγο αυτό η PHP εξακολουθεί να έχει απλό συντακτικό μέχρι σήμερα. Πολλοί προγραμματιστές είναι ποιο άνετοι με την φιλική προς το χρήστη φύση της PHP κατά την ώρα του προγραμματισμού. Ωστόσο πολλές κριτικές θεωρούν αυτό το πλεονέκτημα της PHP ως μειονέκτημα. Άλλοι πάλι λένε πως η PHP δεν έχει αναβαθμιστεί και πολύ και πως εξακολουθεί να είναι αρχαία.

Από την άλλη η ASP.NET που είναι μια νέα γλώσσα,  διαθέτει πολλά χαρακτηριστικά. Με την ASP.NET μπορείτε να χρησιμοποιήσετε την C#, J#, C++ και VB.NET. Ως εκ τούτου ο προγραμματιστής μπορεί να επιλέξει την γλώσσα προγραμματισμού με την οποία νοιώθει ποιο άνετα για να αρχίσει να προγραμματίζει. Υπό αυτή την έννοια η ASP.NET μπορεί να προσφέρει περισσότερα. Όμως η PHP δεν κάνει λιγότερα, αφού μπορεί να υλοποιήσει τις ίδιες εργασίες εξίσου καλά, ακόμα και με τα ελάχιστα προγραμματιστικά εργαλεία.

Η PHP έχει καλύτερη υποστήριξη για το σύστημα διαχείρισης βάσεων δεδομένων της MySQL. Στην πραγματικότητα, το δημοφιλέστερο λογισμικό ιστολογίων, το WordPress, χρησιμοποιεί τον τρομερό συνδυασμό της PHP και της MySQL για τη διαχείριση του περιεχομένου του, το οποίο διαχειρίζεται καθημερινά εκατοντάδες χιλιάδες ιστολογίων καθημερινά. Ακόμα μια πολύ γνωστή υπηρεσία τεραστίων διαστάσεων που χρησιμοποιεί τον συνδυασμό της PHP και της MySQL είναι το WikiPedia.

Η ASP.NET μπορεί επίσης να χρησιμοποιήσει την MySQL, αλλά η PHP είναι αυτή που κάνει τη διαφορά.

Όσοι χρησιμοποιούν και PHP και ASP.NET επίσης υποστηρίζουν πως η PHP είναι καλύτερη από την ASP.NET σε ότι αφορά την υποστήριξη άλλων συστημάτων διαχείρισης βάσεων δεδομένων όπως είναι η SQLite. Η SQLite είναι χαρακτηρισμένη ως σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων, και από όταν είναι διαθέσιμη στις βιβλιοθήκες της γλώσσας προγραμματισμού C, η PHP είναι σε θέση να την υποστηρίξει καλύτερα.

Ένα άλλο χαρακτηριστικό της PHP είναι η καλύτερη υποστήριξη αντικειμενοστραφούς προγραμματισμού. Επίσης η ίδια η PHP στης μέρες είναι ολοκληρωτικά γραμμένη με αντικειμενοστραφή προγραμματισμό. Ωστόσο θα πρέπει να σημειώσουμε πως και η ASP.NET παρέχει πολύ ικανοποιητική υποστήριξη του αντικειμενοστραφούς προγραμματισμού.

Όταν συζητάμε για υποστήριξη, η PHP κερδίζει και πάλι την ASP.NET. Ο βασικός λόγος για αυτό το λόγο είναι πως η PHP είναι λογισμικό ανοικτού κώδικα. Ως εκ τούτου η υποστηρίξει διανέμεται δωρεάν από όλο τον κόσμο. Στις περισσότερες περιπτώσεις, οι επιδιορθώσεις της PHP και των bug της επιδιορθώνονται άμεσα. Από την άλλη πλευρά η ASP.NET μπορεί να χρειαστεί πολύ χρόνο για να δημοσιεύσει μια αναβάθμιση για να βελτιώσει προηγούμενα bugs. Αυτό συμβαίνει γιατί η ASP.NET ανήκει στην Microsoft, και για την επίλυση του προβλήματος θα πρέπει η ομάδα προγραμματιστών να ανταποκριθεί στο πρόβλημα. Αυτό κάνει την όλη διαδικασία επίλυσης του προβλήματος ποιο αργή σε σχέση με το λογισμικό ανοικτού κώδικα που η επίλυση του προβλήματος είναι άμεση.

Ένα άλλο χαρακτηριστικό της PHP είναι πως μπορεί να χρησιμοποιήσει την γραμμή εντολών για να πραγματοποιήσει πολλές καθημερινές ενέργειες. Για παράδειγμα η PHP μπορεί να φανεί χρήσιμη χρησιμοποιώντας την γραμμή εντολών για να διαχειριστεί πολλά αρχεία και να τα τακτοποιήσει μέσα σε διάφορους υπό-καταλόγους μόνο με μία εντολή.

Επίσης ένα ακόμα πολύ σημαντικό χαρακτηριστικό της PHP είναι πως διανέμεται ως λογισμικό ανοικτού κώδικα, το οποίο πολύ απλά σημαίνει πως είναι δωρεάν για όλους. Οι προγραμματιστές που γράφουν PHP κώδικα, μπορούν να αναπτύξουν εφαρμογές γραμμένες με μηδέν κόστος. Από την άλλη η ASP.NET δεν είναι δωρεάν, αλλά μπορείτε να βρείτε τις επεκτάσεις της δωρεάν. Επίσης η ASP.NET είναι γραμμένη μόνο για να λειτουργεί σε Windows, με αποτέλεσμα να έχει πολύ περιορισμένο κοινό.

Η ASP.NET μεταφράζεται σε δυαδικό κώδικα στη μνήμη.. Έτσι, όταν χρησιμοποιείτε την ASP.NET για να γράψετε μια εφαρμογή, είναι προφανές πως θα χρειαστεί πολύ περισσότερο χρόνο να επεξεργαστεί καθώς ο κώδικας θα πρέπει να ανακτηθεί από τη μνήμη.

Από την άλλη η PHP δεν μεταφράζεται μέσα στη μνήμη όπως συμβαίνει με την ASP.NET. Η PHP απλά μεταγλωττίζεται κατά τον χρόνο εκτέλεσης. Αυτός είναι και ο λόγος που η PHP είναι ποιο αποδοτική σε σχέση με την ASP.NET.

Σε αυτό το σημείο θα πρέπει να σημειώσουμε πως τόσο η PHP όσο και η ASP.NET μπορούν να εκτελεστούν σε πολύ καλούς χρόνους με σωστά και καλά αποτελέσματα όταν οι εφαρμογές έχουν γραφτεί σωστά.

Σε ότι αφορά της χρεώσεις φιλοξενίας, τόσο η PHP όσο και η ASP.NET είναι οικονομικές. Αν ψάξετε την αγορά πολύ καλά, τότε ίσως βρείτε πακέτα φιλοξενίας από 2,90 €. Ενώ στην αγορά υπάρχουν διάφορες τιμές στα πακέτα φιλοξενίας τόσο για PHP όσο και για ASP.NET, συνήθως τα πακέτα φιλοξενίας σε Windows Servers είναι ελαφρός ποιο επιβαρυμένα.

Ακόμα, επειδή η PHP είναι παλαιότερη, είναι και ποιο ασφαλείς από την ASP.NET σε ότι αφορά την κωδικοποίηση. Η ASP.NET είναι πολύ νέα, και οι επιλογές ασφαλείας μπορεί να μην έχουν ολοκληρωθεί ακόμα στο ακέραιο. Ωστόσο σε αυτό το σημείο πολύ προγραμματιστές θα δυσανασχετήσουν, καθώς πιστεύουν πως τα κενά ασφαλείας προκύπτουν από τον τρόπο που ο προγραμματιστής γράφει τον κώδικα. Ακόμα και έτσι όμως, στο διαδίκτυο μπορείτε να εντοπίσετε πάρα πολλά άρθρα που περιγράφουν πως οι εφαρμογές που είναι γραμμένες σε PHP είναι ποιο δύσκολο να δεχτούν την επίθεση κάποιου Hacker σε σχέση με αυτά που είναι γραμμένα σε ASP.NET.

Θα έχετε όλοι σας διαπιστώσει πως τελικά υπάρχει μεγάλη διαμάχη για το ποια γλώσσα προγραμματισμού είναι η καλύτερη. Πιθανότατα αυτός είναι ένας διάλογος χωρίς τέλος. Το βασικό πρόβλημα είναι πως και οι δυο γλώσσες είναι εξίσου καλές, αλλά η κάθε μία για το δικό της πεδίο. Υπάρχουν επίσης προγραμματιστές που γράφουν PHP για δεκαετίες και δεν σκοπεύουν να μετακομίσουν στην ASP.NET ποτέ. Στην πράξη δεν υπάρχει λόγος, γιατί για να γίνει αυτή η μετακόμιση θα πρέπει να μάθει κάποιος ένα ολόκληρο νέο συντακτικό και σε αυτό το σημείο είναι που κερδίζει η PHP και εξακολουθεί να είναι τόσο δημοφιλής.