C Sharp

γλώσσα προγραμματισμού

Η C# (C Sharp, ελληνική προφ. Σι Σαρπ) είναι μια γλώσσα προγραμματισμού Η/Υ. Δημιουργήθηκε από την Microsoft μέσα από την πλατφόρμα .NET και αργότερα αναγνωρίστηκε επισήμως από την Ecma (ECMA-334) και την ISO (ISO/IEC 23270:2018 [1]). Είναι μια απ τις γλώσσες προγραμματισμού που δημιουργήθηκαν για την Κοινή Υποδομή Γλώσσας (αγγλικά: Common Language Infrastructure). Ο κύριος σκοπός της γλώσσας είναι να είναι απλή αντικειμενοστρεφής γλώσσα για γενική χρήση. Ο διοικητής της ομάδα που διαχειρίζεται την γλώσσα ονομάζεται Άντερς Χάιλσμπεργκ. Στις 15 Αυγούστου 2012 κυκλοφόρησε η έκδοση 5.0 η οποία είναι η πιο πρόσφατη μέχρι σήμερα.

Το Λογότυπο της C#.

Κατά την διάρκεια της δημιουργίας της πλατφόρμας .ΝΕΤ οι κλάσεις και οι βιβλιοθήκες γράφτηκαν χρησιμοποιώντας ένα μεταγλωττιστή με το όνομα 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]
.NET Framework 3.0 (Εκτός από τις επεκτάσεις LINQ/Query)[1]
.NET Framework 3.5

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. Το έγγραφο προδιαγραφής του Microsoft C# 2.0 περιέχει μόνο τα χαρακτηριστικά της έκδοσης 2.0. Για παλαιότερα χαρακτηριστικά χρησιμοποιήστε τη προδιαγραφή για το 1.2 παραπάνω.
  2. Δεν υπάρχουν προδιαγραφές της ECMA ή της ISO/IEC για τις εκδόσεις C# 3.0, 4.0 ή 5.0.

Παραπομπές

Επεξεργασία
  1. 1,0 1,1 «Using C# 3.0 from .NET 2.0». Danielmoth.com. 13 Μαΐου 2007. Αρχειοθετήθηκε από το πρωτότυπο στις 29 Σεπτεμβρίου 2012. Ανακτήθηκε στις 4 Οκτωβρίου 2012.