News for hackers. Stuff that matters.
Re:Notepad++ 7.9.1 – pour Samuel Paty by acqq on Thursday November 19, 2020 @08:30AM (#25149239)
Absolutely not wanting to diminish the success of Notepad++ among its user base, I'd still like to mention that Notepad++ is a Windows only editor, where the main functionality is actually provided by the multiplatform editor engine called Scintilla, written by Neil Hodgson, and published since 1999 under a very permissive BSD-like license. The first version of Notepad++ was published in 2003.

Neil Hodgson also maintains the multiplatform editor called SciTE

https://en.wikipedia.org/wiki/SciTE

which uses the same engine, and which, from my perspective, has some important advantages over the Notepad++ (it's multiplatform, and, for me, more "hacker oriented" and more "hackable" (e.g. having Lua as its scripting engine)).

Edit: regarding the "UX" mentioned in the responses -- the configuration of SciTE is performed by editing text files, whereas the configuration of Notepad++ is done by the dialogs. That's exactly why I consider SciTE more "hacker oriented". I've also mentioned the integration of Lua in SciTE. That's the UX that, for better or worse, matched my needs. I've never claimed that SciTE has "better dialogs" or something like that. Regarding "more LOC" claim, I claim that Scintilla is very carefully written, and that the LOC aren't the reflection of unnecessary abstractions, but correspond to the real non-trivial problems solved by the code. Whoever disagree should should demonstrate where the LOC could be reduced.

Re:Notepad++ 7.9.1 – pour Samuel Paty by lucideer on Thursday November 19, 2020 @08:57AM (#25149454)
> *the main functionality is actually provided by a multiplatform engine called Scintilla

As a former user of SciTE, the definition of the word "main" here is highly subjective. If you mean "more LoC", then maybe, fine. But the value in Notepad++ is in UX, which is an immeasurably better than SciTE's (and an extremely challenging thing to get right—I'm not faulting SciTE for lacking here, UX is hard).

Re:Notepad++ 7.9.1 – pour Samuel Paty by moron4hire on Thursday November 19, 2020 @08:43AM (#25149322)
Scintilla only provides the textarea control that can perform syntax highlighting. It doesn't include any of the application or options interfaces: menu bar, toolbar, tabs, settings, themes, etc. Your post makes it sound like Notepad++ is "just" a thin wrapper around Scintilla. But there is a lot more that goes into any text editor than just the bit that does the syntax highlighting.

However, not to detract from Scintilla. It's a great project and has bindings in lots of languages[0]. I've used it to add editors to lots of bespoke editor GUI tools. Can highly recommend using Scintilla.

[0] the bindings might all be 3rd party, I don't remember clearly (it's been a while). Whatever the case, I was using it from .NET, myself. It was very easy to use.

Re:Notepad++ 7.9.1 – pour Samuel Paty by acqq on Thursday November 19, 2020 @08:51AM (#25149389)
No, it's provably not true that "Scintilla only provides the textarea control that can perform syntax highlighting."

So what actually loads and saves the files, even if they are many megabytes? Scintilla. What is what makes that loading fast, compared to the implementation of Windows Notepad (which is how people discovered Notepad++)? Scintilla. What performs all the editing operations fast? Scintilla. What maintains all the undo information? Scintilla. What performs all the rendering of everything shown, in all the fonts and with all the configured properties, (and it works on all platforms, which is far from trivial)? Scintilla. And yes, what does all syntax coloring for all the languages? Scintilla. It's in its source base:

https://sourceforge.net/p/scintilla/code/ci/default/tree/lex...

Scintilla does provide all the programming level interfaces for its configuration, which can be also seen in the sources. In Notepad++, the dialogs which use these interfaces are, true, written by the Notepad++ author. So yes, most of the main functionality of the editor is in its editor engine, Scintilla, and the dialogs and menus are implemented by Notepad++.