C Sharp
Η C# (C Sharp, ελληνική προφ. Σι Σαρπ) είναι μια γλώσσα προγραμματισμού Η/Υ. Δημιουργήθηκε από την Microsoft μέσα από την πλατφόρμα .NET και αργότερα αναγνωρίστηκε επισήμως από την Ecma (ECMA-334) και την ISO (ISO/IEC 23270:2018 [1]). Είναι μια απ τις γλώσσες προγραμματισμού που δημιουργήθηκαν για την Κοινή Υποδομή Γλώσσας (αγγλικά: Common Language Infrastructure). Ο κύριος σκοπός της γλώσσας είναι να είναι απλή αντικειμενοστρεφής γλώσσα για γενική χρήση. Ο διοικητής της ομάδα που διαχειρίζεται την γλώσσα ονομάζεται Άντερς Χάιλσμπεργκ. Στις 15 Αυγούστου 2012 κυκλοφόρησε η έκδοση 5.0 η οποία είναι η πιο πρόσφατη μέχρι σήμερα.
Ιστορία
ΕπεξεργασίαΚατά την διάρκεια της δημιουργίας της πλατφόρμας .ΝΕΤ οι κλάσεις και οι βιβλιοθήκες γράφτηκαν χρησιμοποιώντας ένα μεταγλωττιστή με το όνομα Simple Managed C (SMC). Τον Ιανουάριο του 1999 ο Άντερς Χάιλσμπεργκ συγκρότησε μια ομάδα με σκοπό να φτιάξει μια καινούρια γλώσσα με όνομα Cool (C-like Object Oriented Language). Παρόλο που η Microsoft σκεφτόταν να κρατήσει το όνομα Cool σαν το τελικό όνομα της γλώσσας αυτό δεν έγινε ποτέ για λόγους πνευματικών δικαιωμάτων. Μέχρι τον Ιούλιο του 2000 όπου ανακοινώθηκε η πλατφόρμα .NET η γλώσσα είχε είδη μετονομαστεί σε C# στην οποία αργότερα εισήχθησαν οι βιβλιοθήκες της ASP.NET.
Ο Τζέιμς Γκόσλινγκ (προγραμματιστής της Java) το 1994 μαζί με τον Μπιλ Τζόι (συνιδρυτής της Sun Microsystems) αποκάλεσαν την C# απομίμηση της Java. Ο Γκόσλινγκ επίσης συμπλήρωσε ότι η C# είναι ίδια με την Java απλά χωρίς αξιοπιστία, παραγωγικότητα και ασφάλεια. Οι συγγραφείς ενός βιβλίου της C# ισχυρίστηκαν ότι η Java και η C# είναι πανομοιότυπες επαναληπτικές και χωρίς καινοτομίες. Τον Ιούνιο του 2000 ο Άντερς Χάιλσμπεργκ υποστήριξε ότι η C# δεν είναι κλώνος της Java αλλά ότι είναι πολύ πιο κοντά στην C++.
Από τότε που κυκλοφόρησε η δεύτερη έκδοση της C# το Νοέμβριο του 2005, η C# και η Java άρχισαν να απομακρύνονται η μία από την άλλη, με αποτέλεσμα όσο περνάει ο καιρός να μοιάζουν όλο και λιγότερο. Μια από τις πρώτες σημαντικές διαφορές ήταν στην υλοποίηση των γενικών αντικειμένων. Η C# παρέχει "πρώτης-κλάσης" γενικά αντικείμενα τα οποία μπορούν να χρησιμοποιηθούν σαν οποιαδήποτε άλλη κλάση, με τον κώδικα να εκτελείται κατά τη διάρκεια της φόρτωσής της. Αντιθέτως τα γενικά αντικείμενα της Java παρέχονται από τη γλώσσα κατά τη διάρκεια της σύνταξής της και δεν επηρεάζουν τον ήδη υπάρχοντα κώδικα. Επιπλέον η C# πρόσθεσε κάποια ακόμα χαρακτηριστικά στην τρίτη έκδοσή της, τα οποία επιτρέπουν στους προγραμματιστές να χρησιμοποιούν τεχνικές όπως τα κλεισίματα (closures).
Η C# είχε κάποτε μια μασκότ που ονομαζόταν Άντι σαν φόρος τιμής στον σχεδιαστή της, αλλά αποσύρθηκε στις 29 Ιανουαρίου του 2004.
Όνομα
ΕπεξεργασίαΤο όνομα C sharp εμπνεύστηκε από μια μουσική σημειογραφία. Εξαιτίας διαφόρων τεχνικών περιορισμών προβολής και επειδή το σύμβολο sharp ♯ δεν υφίσταται στα απλά πληκτρολόγια χρησιμοποιήθηκε το αποτέλεσμα του συνδυασμού shift + 3 (#) για την αναπαράσταση της γλώσσας. Η συγκεκριμένη κατάληξη έχει χρησιμοποιηθεί από αρκετές ακόμα γλώσσες της .ΝΕΤ όπως η A# η F# και η Eiffel#.
Εκδόσεις
ΕπεξεργασίαΈκδοση | Γλώσσα Προγραμματισμού | Ημερομηνία | Πλαίσιο .NET | Visual Studio | ||
---|---|---|---|---|---|---|
ECMA | ISO/IEC | Microsoft | ||||
C# 1.0 | Δεκέμβριος 2002 | Απρίλιος 2003 | Ιανουάριος 2002 | Ιανουάριος 2002 | .NET Framework 1.0 | Visual Studio .NET 2002 |
C# 1.2 | Οκτώβρης 2003 | Απρίλιος 2003 | .NET Framework 1.1 | Visual Studio .NET 2003 | ||
C# 2.0 | Ιούνιος 2006 | Σεπτέμβριος 2006 | Σεπτέμβριος 2005[note 1] | Νοέμβριος 2005 | .NET Framework 2.0 | Visual Studio 2005 |
C# 3.0 | Κανένα[note 2] | Αύγουστος 2007 | Νοέμβριος 2007 |
.NET Framework 2.0 (Εκτός από τις επεκτάσεις LINQ/Query)[1] |
Visual Studio 2008 Visual Studio 2010 | |
C# 4.0 | Απρίλιος 2010 | Απρίλιος 2010 | .NET Framework 4 | Visual Studio 2010 | ||
C# 5.0 | Ιούνιος 2013 | Αύγουστος 2012 | .NET Framework 4.5 | Visual Studio 2012 Visual Studio 2013 | ||
C# 6.0 | Κατάσταση | Δεν έχει κυκλοφορήσει ακόμα | .NET Framework 4.6 | Visual Studio 2015 |
Σημειώσεις
ΕπεξεργασίαΠαραπομπές
Επεξεργασία- ↑ 1,0 1,1 «Using C# 3.0 from .NET 2.0». Danielmoth.com. 13 Μαΐου 2007. Αρχειοθετήθηκε από το πρωτότυπο στις 29 Σεπτεμβρίου 2012. Ανακτήθηκε στις 4 Οκτωβρίου 2012.