Notepad++

Το Notepad++ είναι πρόγραμμα επεξεργασίας κειμένου και πηγαίου κώδικα για το λειτουργικό σύστημα Microsoft Windows. Υποστηρίζει επεξεργασία με καρτέλες, η οποία επιτρέπει την εργασία με πολλά ανοιχτά αρχεία σε ένα μόνο παράθυρο. Το όνομα του προϊόντος προέρχεται από τη λέξη Notepad και του τελεστή αύξησης της γλώσσας προγραμματισμού C.

Το Notepad++ διανέμεται ως ελεύθερο λογισμικό. Στην αρχή το έργο φιλοξενήθηκε στην πλατφόρμα SourceForge, από όπου έχει ληφθεί πάνω από 28 εκατομμύρια φορές, και δύο φορές κέρδισε το Βραβείο SourceForge Community Choice για το καλύτερο εργαλείο προγραμματιστή. Το έργο φιλοξενήθηκε στο  από το 2010 έως το 2015. Από το 2015 το Notepad++ φιλοξενείται στο GitHub. Το Notepad++ είναι γραμμένο στη γλώσσα προγραμματισμού C++. Χρησιμοποιεί το συστατικό επεξεργασίας κώδικα Scintilla, ενώ για το γραφικό περιβάλλον χρήστη χρησιμοποιούνται μόνο απευθείας κλήσεις στο Win32 API (που χρησιμοποιούν μόνο το STL) για την αύξηση της απόδοσης και τη μείωση του μεγέθους του προγράμματος.

Ιστορία 
Το Notepad++ αναπτύχθηκε από τον Don Ho τον Σεπτέμβριο του 2003. Ο Ho χρησιμοποιούσε αρχικά το JEXT (ένα πρόγραμμα επεξεργασίας κειμένου βασισμένο σε Java) στην εταιρεία του, αλλά, δυσαρεστημένος με την κακή του απόδοση, άρχισε να αναπτύσσει ένα πρόγραμμα επεξεργασίας κειμένου γραμμένο σε C++ βασισμένο στο συστατικό Scintilla. Το ανέπτυσσε στον ελεύθερό του χρόνο, αφού η ιδέα είχε απορριφθεί από την εταιρεία του. Το Notepad++ δημιουργήθηκε ως εφαρμογή για Microsoft Windows. Ο συγγραφέας εξέτασε –αλλά απέρριψε– την ιδέα της χρήσης του wxWidgets για τη μεταφορά του επεξεργαστή στις πλατφόρμες Mac OS X και Unix.

Το Notepad++ κυκλοφόρησε για πρώτη φορά στην πλατφόρμα SourceForge στις 25 Νοεμβρίου 2003, ως εφαρμογή μόνο για τα Windows.

Τον Ιανουάριο του 2010 η κυβέρνηση των ΗΠΑ υποχρέωσε τους οικοδεσπότες έργων ανοιχτού κώδικα με έδρα τις ΗΠΑ να αρνηθούν την πρόσβαση στο λογισμικό τους για χρήστες από την Κούβα, το Ιράν, τη Βόρεια Κορέα, το Σουδάν και τη Συρία, προκειμένου να συμμορφωθούν με τη νομοθεσία των ΗΠΑ. Ως απάντηση σε αυτό που ο προγραμματιστής του Notepad++ θεώρησε ως παραβίαση της φιλοσοφίας του ελεύθερου λογισμικού και λογισμικού ανοιχτού κώδικα, τον Ιούνιο του 2010 το Notepad++ απομακρύνθηκε από την εδαφική δικαιοδοσία των ΗΠΑ με την κυκλοφορία μιας έκδοσης στην γαλλική ιστοσελίδα TuxFamily. Ορισμένες υπηρεσίες της διαδικτυακής κοινότητας του Notepad++ (όπως τα φόρουμ και η πλατφόρμα αναφοράς σφαλμάτων) συνέχισαν να φιλοξενούνται στην πλατφόρμα SourceForge μέχρι το 2015, όταν το Notepad++ αποχώρησε εντελώς από το SourceForge.

Το 2011 το αγγλόφωνο διαδικτυακό περιοδικό πληροφορικής Lifehacker χαρακτήρισε το Notepad++ ως τον «καλύτερο επεξεργαστή κώδικα για τα Windows», δηλώνοντας ότι «αν προτιμάτε ένα απλό, ελαφρύ και επεκτάσιμο πρόγραμμα επεξεργασίας απλού κειμένου, η πρώτη μας επιλογή είναι το δωρεάν, ανοιχτού κώδικα Notepad++». Το περιοδικό επέκρινε τη γραφική διεπαφή χρήστη του, δηλώνοντας ότι «είναι, στην πραγματικότητα, αρκετά άσχημη. Ευτυχώς, μπορείτε να κάνετε πολλά για να προσαρμόσετε την εμφάνιση του [Notepad++] και ό,τι του λείπει στο βερνίκι, το αναπληρώνει στη λειτουργικότητα»

Το 2014, σε μια δημοσκόπιση που οργναώσε το περιοδικό Lifehacker, οι αναγνώστες ψήφισαν το Notepad++ ως την "πιο δημοφιλή εφαρμογή επεξεργασίας κειμένου", με το 40% από τους 16.294 ερωτηθέντες να το προσδιορίζουν ως τον αγαπημένο τους επεξεργαστή. Η ομάδα του περιοδικού συνόψισε το πρόγραμμα ως "γρήγορο, ευέλικτο, γεμάτο δυνατότητες και εντελώς δωρεάν".

Το 2015 η πλατφόρμα Stack Overflow διεξήγαγε μια παγκόσμια έρευνα με επίκεντρο τους προγραμματιστές, όπου το Notepad++ ψηφίστηκε ως ο πιο χρησιμοποιούμενος επεξεργαστής κειμένου παγκοσμίως με το 34,7% από τους 26.086 ερωτηθέντες να ισχυρίζονται ότι το χρησιμοποιούν σε καθημερινή βάση. Το Stack Overflow σημείωσε ότι "όσο περισσότερα πράγματα αλλάζουν, τόσο πιο πιθανό είναι αυτά να γράφονται σε γλώσσα JavaScript με τη βοήθεια του επεξεργαστή Notepad++ σε υπολογιστή που τρέχει Windows". Αντίστοιχη έρευνα του 2016 είχε το Notepad++ στο 35,6%.

Χαρακτηριστικά 
Το Notepad++ είναι ένας επεξεργαστής πηγαίου κώδικα. Διαθέτει επισήμανση σύνταξης, αναδίπλωση κώδικα και περιορισμένες δυνατότητες αυτόματης συμπλήρωσης για γλώσσες προγραμματισμού, γλώσσες σεναρίων και γλώσσες σήμανσης. Το Notepad++ δεν περιέχει δυνατότητες έξυπνης συμπλήρωσης κώδικα ή έλεγχο της σύνταξης. Ως εκ τούτου, μπορεί να επισημαίνει σωστά τον κώδικα που είναι γραμμένος σε μια υποστηριζόμενη γλώσσα, αλλά δεν μπορεί να επαληθεύσει τη λογική ή την ορθότητα των συντακτικών δομών. Από την έκδοση 7.6.3 και εξής, το Notepad++ υποστηρίζει την επισήμανση για 78 γλώσσες υπολογιστή.

Το Notepad++ διαθέτει λειτουργίες για κατανάλωση και δημιουργία αρχείων απλού κειμένου μεταξύ πλατφορμών. Αναγνωρίζει τρεις αναπαραστάσεις αλλαγής γραμμής (CR, CR+LF και LF) και μπορεί να αλλάξει τη ρύθμιση αυτή για το επεξεργαζόμενο αρχείο εν ώρα επεξεργασίας. Επιπλέον, υποστηρίζει την επανερμηνεία αρχείων απλού κειμένου σε διάφορες κωδικοποιήσεις χαρακτήρων και μπορεί να τα μετατρέψει σε ASCII, UTF-8 ή UCS-2. Ως εκ τούτου, μπορεί να διορθώσει απλό κείμενο το οποίο μοιάζει εκ πρώτης όψης κατεστραμμένο μόνο και μόνο επειδή η κωδικοποίηση χαρακτήρων του κειμένου δεν έχει εντοπιστεί σωστά.

Το Notepad++ διαθέτει επίσης χαρακτηριστικά που βελτιώνουν την εμπειρία επεξεργασίας απλού κειμένου γενικά, όπως:

 Αυτόματη αποθήκευση
 Εύρεση και αντικατάσταση συμβολοσειρών κειμένου με κανονικές εκφράσεις
 Αναζήτηση συμβολοσειρών κειμένου σε ανοιχτές καρτέλες
 Αναζήτηση συμβολοσειρών κειμένου σε έναν κατάλογο
 Καθοδηγούμενη εσοχή
 Σελιδοδείκτης γραμμών
 Μακροεντολές
 Ταυτόχρονη επεξεργασία
 Διαίρεση οθόνης και συγχρονισμένη κύλιση
 Λειτουργίες γραμμής, συμπεριλαμβανομένης της ταξινόμησης, της μετατροπής πεζών-κεφαλαίων (κεφαλαία, πεζά, camel case, πρόταση) και αφαίρεση πλεονάζοντος κενού
 Διεπαφή εγγράφου με καρτέλες

Πρόσθετα 
Το Notepad++ υποστηρίζει μακροεντολές και πρόσθετα, και έχει επαινεθεί για την ισχυρή αρχιτεκτονική προθέτων που επιτρέπει την ενσωμάτωση διαφόρων νέων λειτουργιών στο πρόγραμμα. Επί του παρόντος έχουν αναπτυχθεί πάνω από 140 πρόσθετα συμβατά με το Notepad++, 10 από τα οποία συμπεριλαμβάνονται από προεπιλογή στο ίδιο το πρόγραμμα. Το πρώτο πρόσθετο που συμπεριλήφθηκε ήταν το "TextFX", το οποίο προσφέρει δυνατότητες επικύρωσης κατά W3C αρχείων HTML και CSS, ταξινόμηση κειμένου, αλλαγή πεζών-κεφαλαίων χαρακτήρων και χειρισμό εισαγωγικών.

Διεθνοποίηση 
Το Notepad++ υποστηρίζει τη μετάφραση και διεθνοποίηση του περιβάλλοντος χρήστη μέσω αρχείων XML, τα οποία περιέχουν συγκεκριμένη δομή, όπως αυτή ορίζεται από την εφαρμογή. Κάθε τέτοιο αρχείο περιέχει όλες τις διεθνοποιημένες συμβολοσειρές (τίτλους διαλόγου, τίτλους και επιλογές μενού κ.λπ.) σε κάποια γλώσσα. Αυτό το αρχείο μπορεί να φορτωθεί ξανά από τις ρυθμίσεις της εφαρμογής. Οι μεταφράσεις σε νέες γλώσσες μπορούν επομένως να γραφτούν με απλή επεξεργασία ενός υπάρχοντος αρχείου.

Πολιτικά μηνύματα 
Τον Μάρτιο του 2008, το πανό «Boycott Beijing 2008» τοποθετήθηκε στην αρχική σελίδα SourceForge.net του Notepad++. Λίγους μήνες αργότερα, από τις 26 Ιουνίου έως τις 24 Ιουλίου 2008, οι περισσότεροι χρήστες στην Κίνα παρατήρησαν ότι πλέον δεν μπορούσαν να προσπελάσουν τον ιστότοπο SourceForge.net. Το γεγονός αυτό οδήγησε στη διαδεδομένη πεποίθηση ότι η Κίνα είχε απαγορεύσει το SourceForge.net ως αντίποινα για το πανό Boycott.

Τον Ιανουάριο του 2015, ο ιστότοπος του Notepad++ παραβιάστηκε από ακτιβιστές της Ομάδας Fallaga που αντιτάχθηκαν σε ένα πασχαλινό αυγό της εφαρμογής που υποστήριζε το Je suis Charlie. Η ομάδα Fallaga έχει συνδεθεί με την τρομοκρατική οργάνωση ISIL και πιστεύεται ότι είναι επίσης υπεύθυνη για την παραβίαση των ιστοσελίδων της Εθνικής Υπηρεσίας Υγείας της Μεγάλης Βρετανίας (NHS) το 2017.

Τον Οκτώβριο του 2019, το Notepad++ κυκλοφόρησε μια έκδοση με την κωδική ονομασία "Free Uyghur " (v7.8.1). Στην ανακοίνωση απελευθέρωσης, ο συγγραφέας εξέφρασε την ανησυχία του ότι εκατοντάδες χιλιάδες Ουϊγούροι έχουν «υποβληθεί σε πολιτική κατήχηση, και μερικές φορές ακόμη και βασανιστήρια» στο Στρατόπεδο Επανεκπαίδευσης Σιντζιάνγκ. Κάλεσε για «πρόσθετη πίεση στην κινεζική κυβέρνηση για να σταματήσει τις καταπιεστικές ενέργειες και τα εγκλήματά της σε βάρος του Ουιγούρου λαού». Ο επίσημος ιστότοπος του λογισμικού δέχτηκε επίθεση κατανεμημένης άρνησης υπηρεσίας (DDoS) και η σελίδα αναφοράς και παρακολούθησης σφαλμάτων GitHub βομβαρδίστηκε από ψευδείς αναφορές που περιείχαν εθνικιστική ρητορική. Η λειτουργία τους αργότερα επέστρεψε στην κανονικότητα αφού οι σχετικές υπηρεσίες μετακινήθηκαν πίσω από την υπηρεσία anti-DDoS του Cloudflare.

Τον Ιούλιο του 2020, το Notepad++ κυκλοφόρησε μια έκδοση με την κωδική ονομασία "Stand with Hong Kong" (v7.8.9). Στην ανακοίνωση της νέας έκδοσης, ο συγγραφέας εξέφρασε την ανησυχία του για την εφαρμογή του νόμου περί εθνικής ασφάλειας από την κινεζική κυβέρνηση στο Χονγκ Κονγκ. Ως αντίποινα, τα προγράμματα περιήγησης της ηπειρωτικής Κίνας που αναπτύχθηκαν από τις εταιρείες Tencent (το QQ Browser και το πρόγραμμα περιήγησης που είναι ενσωματωμένο στο WeChat), Alibaba (UC Browser), 360 (360 Secure Browser) και Sogou άρχισαν να αποκλείουν τη σελίδα λήψης του επίσημου ιστότοπου του Notepad++, αλλά όχι τις άλλες σελίδες.

Στις αρχές και στα μέσα Φεβρουαρίου 2022, το Notepad++ κυκλοφόρησε εκδόσεις με την κωδική ονομασία "Boycott Beijing 2022" (v8.3 και v8.3.1 αντίστοιχα). Στην ανακοίνωση της έκδοσης ο συγγραφέας εξέφρασε την ανησυχία του για τα ανθρώπινα δικαιώματα στην Κίνα, ειδικά για τους Ουιγούρους και τις εθνικές κοινωνικές ομάδες του Χονγκ Κόνγκ. Πρότεινε στο κοινό του «να μην παρακολουθεί και να δίνει προσοχή στους αγώνες».

Στα τέλη Φεβρουαρίου 2022, το Notepad++ κυκλοφόρησε μια έκδοση με την κωδική ονομασία "Declare variables, not war" (v8.3.2). Στην ανακοίνωση της έκδοσης ο συγγραφέας εξέφρασε την ανησυχία του για τη ρωσική εισβολή στην Ουκρανία. Τον Μάρτιο του 2022, το Notepad++ κυκλοφόρησε μια έκδοση με την κωδική ονομασία "Make Apps, not war" (v8.3.3). Ο συγγραφέας συνέχισε να εκφράζει την ανησυχία του για τη ρωσική εισβολή στην Ουκρανία.

Παραπομπές

Εξωτερικοί σύνδεσμοι 

 

Επεξεργαστές κειμένου
Επεξεργαστές πηγαίου κώδικα
Λογισμικό Windows
Ελεύθερο λογισμικό