10x C++ Editor
10xeditor.com
10xeditor.com
Digging through the landing page, the focus seems to be on how to support it and there just isn't enough time spent talking about why this project is cool or worth supporting.
From what I can gleam from the page this seems to have a GPU backed renderer and have fast startup times. It seems intended for C++ but doesn't really talk about C++ specific features. (Ex, CMake integration, integration with doctest/catch/etc).
The one C++ specific thing it mentions is "full C++ parser for syntax highlighting, autocomplete, goto-definition, find references and a lot more". Does this support C++20? Is it using it's own engine for this or is integrating with clang or something similar. What is this doing that all of the other editors with C++ syntax support don't have?
I consider CLion to be a "gold standard" for features and functionality as a editor/IDE for C++. The only thing it doesn't do for me is "be fast and light". I'm also a long time VIM user and I generally default to VIM when I want something "fast and light".
If there was an editor/ide that had many of the features of CLion and the speed of VIM, I would certainly consider that to be "10x".
That said, I'm not really sure why I specified "open source" since my gripe definitely goes for any software project, and probably doubly so for commercial ones, since those actually need a literal sales pitch to convince potential users of their value proposition.
I can’t even estimate how many hundreds of landing pages I’ve closed without getting what they are about, but cannot remember a single one except $subj^W^W (edit: this one is actually not that bad at a second glance).
I'm referring to READMEs that provide no useful information unless you've already been using previous versions of the product (information that should probably go into a file named something like "Changes").
(And again, I don't have a good example.)
It's simply down to time, I spend most of my time working on making 10x better. Because it's still in Beta I haven't focused on the website much.
I've closed countless of them because they don't get to the point once I'm there.
I'm doom scrolling on HN. I click interesting links. I'm not (usually) going to waste 5 minutes on your project just to figure out what it is exactly.
What this custom solution is doing that others don't is simply that it is incredibly fast. You really need to try it to fully appreciate this though, especially on large codebases it makes a significant difference. Not just because it never lags or stalls while working, but also because it makes it much less painful to work with those codebases if you can instantly find and jump to anything.
The speed and simplicity is the main selling point, but unlike other lightweight editors it doesn't achieve this simply by being "less". From my perspective the main selling point is that it is a lightweight and performant editor that can actually replace Visual Studio + VAX / JetBrains for game developers (especially Unreal Engine projects and comparably large codebases). For that use case there just isn't anything comparable on the market right now.
Whether it is equally useful in other scenarios already (especially if you are happy with your current setup) I can't really judge, and I would agree that the website could do a much better job selling it. The developer is still updating the website often, but his priority is working on the actual app of course and he is doing everything by himself from what I can tell.
In a nutshell, right now I would say that 10x is mainly a great choice for game developers. But that's only because that is where its strengths are most unique right now, not because it is intended to be only that. It still isn't even fully released yet, and I think it has a lot of potential to be much more than "just" a performant editor for game developers.
> If there was an editor/ide that had many of the features of CLion and the speed of VIM, I would certainly consider that to be "10x".
This is exactly what 10x is meant to be. Whether it has enough features yet is up to you to judge. Everyone needs a different set of features, but if it has the features you need then I hope it lives up to its name.
I've written the parser myself, but I haven't been keeping track of exactly what version of C++ is supported. The C++ spec is incredibly complex. Over the last 6 years I've been adding things as they are requested. The good thing about the parser is that it will skip anything it doesn't understand and continue on. This sounds bad, but it actually works out very well. It will do a pretty good job of most things you throw at it. The best thing is to try it and see. If you need specific support for something, let me know and I'll see what I can do.
Is the extra flexibility of having everything be custom worth it?
The incremental parsing is definitely worth it. Not having to wait for a full parse of the entire file on each edit is a game changer.
I’ve used the incremental parsing from Treesitter in Neovim (though not on any absolutely massive codebases) and found it to be great (when it worked). But I suspect this is immaturity in the ecosystem (one of the Neovim implementation, the parser definition or Treesitter itself).
From my experience, if you work on C++ codebase large enough that indexing it is a problem, compiling and linking it is a problem of the same order. And as you need beefy hardware to compile and link your code anyway, you can reuse the same hardware for indexing and editing.
Sure, VS Code + LSP may be dog slow on a typical "power consumption-optimized crappy business laptop" like T-series or X-series ThinkPads, but on such hardware, even if I had fast code editor, it'd be a pain to develop due to very long compile times anyway. And on a 12c20t workstation with 64 gigs of RAM any editor works like a charm. Yes, `clangd` eats 20 threads and 20 gigs of RAM for indexing, but go to definition works instantly, and I don't really care about hardware resources.
Then, parsing C++ properly is really hard. Even JetBrains had to admit it as they've integrated clang++ frontend into the CLion. I don't believe that one person can create both a good code editor and a fully compliant C++ parser. Maybe they piggyback on EDG or clang++ frontends, but from their website it seems that everything is written from scratch.
Another problem I see is that very few of large codebases are C++-only. Usually it's some C++, some Python (or Perl, if the code is old enough) scripts, maybe some Java interop code, few Go tools, with a bit of Lua on top. And a lot of make/CMake/whatever build system files. "Big" IDEs and editors either support all of that from the box or have plugins to fill the gaps. I don't know if the paid-only closed-source product can gain traction big enough to have a vibrant plugin community.
Easy, it's better than all of them!
If you're a C++ developer on Windows then I encourage you to simply try it. I run a 32c/64t threadripper so I also don't particularly care about hardware resources. My experience on a custom C++ codebase and Unreal Engine codebase is that 10x is faster and more reliable than VS Code, Visual Studio, and Rider. I haven't tried CLion as Rider is the JetBrains tool for UE.
I agree lack of support for other languages is a bummer. I'm hoping support will be added if the tool takes off. Maybe he ads LSP support, I dunno.
> parsing C++ properly is really hard
I'm genuinely blown away he wrote a custom parser that works. Unreal Engine is big and nasty and full of a kajillion macros. My experience thus far is that 10x handles it like a champ. Better than Visual Studio. And equal or better than Rider. Super super impressive.
They might want to mention that somewhere on the page. I spent time reading about it only to find out when I tried to download it that it doesn’t support my OS.
Technically better is rarely the thing that makes something able to compete successfully.
I don't want to be specific here, but my experiences with some other IDEs is that they can stall, lock up and operations can take seconds to complete regardless of the hardware. All this can break the flow. I think you really have to try 10x on a large project to notice the difference. The instance search feature alone can be a game changer.
> I don't believe that one person can create both a good code editor and a fully compliant C++ parser
Believe me, I question this myself almost every day. A small hobby project turned into a 6 year marathon and here we are. The parser will probably never be fully compliant, but hopefully it's good enough for most code. And the speed and robustness will hopefully compensate for this.
> Another problem I see is that very few of large codebases are C++ only
Even though I market 10x as a C++ editor, it has syntax highlighting for many other languages. And you can add more languages using the regex system. I'll hopefully be adding some parsing for other languages after the 1.0 launch.
Didn't see a feature list anywhere and even after pulling up a few of your livestreams couldn't find an example of you typing anything in it, so not sure if it has autocomplete or intellisense-like support for definitions or documentation.
Will keep an eye on 10x. Your other matured projects look interesting too, so nice work. :)
It has autocomplete, goto-definition, find references, type hover box etc. You should find everything that intellisense has.
> As a C++ developer, I don't really see how it is going to compete against VS Code + LSP, Visual Studio, or even CLion.
If it's fast and supports these basic features that literally every other language already supports, then it's already beating Visual Studio. I haven't used CLion so I can't comment there, and VSCode was a pain trying to set up, so if this supports integration with cmake and automatically configured everything, then that's a win in my book.
Edit: I also hate these doom and gloom comments that basically say "nobody can beat big Corp Microsoft, Google, etc. Why bother trying...". What purpose does this comment serve? I'm sure the author is much more aware of how difficult this problem is then the people who aren't even attempting to solve it. All the power to him and I hope he succeeds because some other editors/IDEs for C++ would be great.
Not sure the last time you tried, but VS Code does support cmake (perhaps with extensions?).
Firstly, on speed, I really recommend giving it a try. There's things like launch time / time to syntax highlighting which are nice to have and make it a joy to use but then there's things like instant 'Find References' and workspace search that I think contribute to a qualitative difference to the way I work - I simply would not use these features as much or in the same way if they took seconds (as they do in VS).
Seen some discussion comparing to things like Sublime - 10x understands c++ code much much better than sublime and that's crucial for making some of its best features like 'Rename' and 'Find references' work so well.
The other thing I think is worth mentioning is just how active and responsive the developer is. Bug-fixes and improvements often get implemented within hours of reporting. As an example, I've always been annoyed by how impossible it is to make VS do 'tabs for indentation, spaces for alignment' - after a brief discussion, this got sorted in 10x quickly. I think that's a serious advantage over Visual Studio, that often has annoying issues/bugs languishing for literally years.
Compared to Visual Assist it may not have all the bells and whistles yes, but especially the code navigation (which to me is the most important aspect) and code completion is quite advanced already and incredibly fast, even compared to Visual Assist. Parsing the entire UE4 codebase for the first time (in the background) takes a couple of minutes. Opening it from cache is practically instant, all search operations / code completion are also near instant with no stalls whatsoever. In terms of refactoring it is more limited, but renaming symbols works well and that covers about 99% of the cases were I regularly use refactoring tools anyway.
And unlike Visual Studio or JetBrains IDEs, 10x is so fast and lightweight that I would like to use it for all of my text editing needs. That makes customizing it much more satisfying as well, which is quite easy to do with a straightforward Python API.
As you can probably tell I really love this editor, it has had a quite dramatic impact on my enjoyment of work already. It won't be for everybody (and it doesn't try to), but I would encourage everybody to give it a try. If it is the kind of editor you are looking for, I think you will be very happy with it.
Using an editorconfig file I never had an issue doing this. I get a tab if I hit tab and a space if I hit space.
I don’t use vim or emacs. I probably never will. Sorry.
This editor is made for C++ game devs on Windows. If you are a C++ gamedev on Windows then it is likely the best editor in the market. An example of this is it has integrated Perforce support but not Git.
10x can open .sln files natively and invoke its builds. Very slick.
I’m pretty sure 10x is the best editor on market for Unreal Engine projects. It’s so much faster then Visual Studio or Rider.
It has a custom C++ parser. It’s the fastest and most reliable one I’ve come across. It blows my mind.
The solo dev is insanely responsive. I filed a bug on GitHub and he responded in literally one minute (I checked the time stamps). He sent me a custom debug build which I ran out o get info and had a crash fix published to the world in under 30 minutes. Stellar stuff.
The downsides:
it’s just a C++ editor for Windows and it does have bugs.
It’s not a debugger, just a text editor. I’ve been using RemedyBG which is good, but not as far along as 10x.
Support for additional languages is listed as a possibility for the future. I will keep using it happily for C++. If in the future it supported more languages to the same level of quality that would be awesome.
but then again, Jetbrains is working on their own "polyglot" editor called Fleet, which is aiming to be much faster and more lightweight than their existing dinosaur IDEs.
I was a Sublime user for quite a while, and switched to VSCode purely because it handled multiple cursors better. Ironically, multi-cursor support was my key reason for switching to Sublime from Notepad++. VSCode is slower, but not enough to actually impact my performance coding.
I am curious.
So far I only see that VSC uses Ctrl+Alt+arrow keys, vs ST using Shift+Alt+arrow keys to create the multiple cursors.
Since it's been a few years, it's totally possible Sublime has those now. But without a pressing reason to switch, I'll be sticking with what I use now.
It was always possible, I have used Sublime since version 2. Ctrl+Shift+L.
Seems the issue is they use different keyboard shortcuts and that's it.
Just to be clear, 10x supports syntax highlighting for many languages, it's only the parser that is C++ specific.
Sublime Text on the other hand, I purchased a licence for ST3, I am still using it with ST4, and I am happy with it. I use ST for C++, PHP, Python, LaTeX (it's actually great for LaTeX, with inline equations) and web stuff. Also use it to explore Rust, go, dlang, edit huge SQL files, JSON files, etc.
I think at some point I will get a new ST licence.
With regard to 10x, I don't use Windows to program, and I will not reboot the computer just to test it, as good as it could be.
VSC isn't slow for me. Is "speed" the only thing on offer? Because giving up the plugin environment is a big ask for that.
How big is your project? With Visual Assist X and our solution it can take me upwards of 30 seconds before I can do anything after opening the project.
It's not that bad, but doing simple stuff like adding a library can be a huge pain because you have to know how compilers link programs internally to know how to fix the errors you're going to get.
Agreed, feels like the C++ support could be packaged into an LSP server to support other languages, and let other IDEs benefit from its completion, increasing the number of potential backers.
> Is C++ tooling in particular that bad?
Yes, at least when it comes to IDE support. Visual Studio on Windows gave me the best experience, but it's Windows so I don't use it. Xcode is so slow and unstable, it's a shame, it used to be great. CLion doesn't scale well with huge projects.
It would be very interesting to see if the 10x Editor does better in this case.
You can get that with basic VIM and some grepping shortcuts. Maybe I'm just not working in sufficiently large code bases. But shouldn't a C++ specific editor have some philosophy that is specific to C++? Like awareness of ownership semantics for syntax / lint checks? Maybe not the best example, but "be fast" doesn't seem like a great differentiator.
I've been happy with the featureset and design of all C++ IDEs I've tried for a decade or so now, but they never seem to get any faster. An IDE designed specifically for speed, with an ongoing committment to keep it fast, solves the biggest issue I have with C++ coding right now.
The kind of professional developer I’m talking about will probably fall into one of two categories.
a: Someone who works on massive codebases
b: Someone who writes a lot of code.
I am targeting the small % of developers with very specific needs.
So he's targeting professional developers and not novice developers, in fact he explicitly says so later in the post.Landing page is ok but why the animated swirling gif? Doesn't add much and draws my attention away.
There is now an about page: https://10xeditor.com/about.htm
I'm still working on it though, and I'll be adding more in the next few days.
I'm more and more reluctant to admit any tools that are not open-source into my long-term stack. And a text editor is usually a very long-term commitment: you want to commit it to your muscle memory, and most of your daily development workflow hinges on the editor.
https://www.youtube.com/@puredevsoftware/streams
Apparently at some point, YouTube started putting them under separate tabs.
There are large C# monoliths out there with 100+ projects per solution, where VS simply does not work (as in you can't open a solution), and Rider takes 30mins to load the solution, and then stops working over time (after 8 hours?), so your morning routine is to open the solution Rider and go grab a coffee.
I'm not a .NET dev by trade by I do dabble to keep up and I swap between Rider and VS Code fluidly
I find VSC nearly as capable for most things, but much faster.
It would be interesting to know which custom UI.
If you want to know more, I have lots of dev videos on my youtube channel. https://www.youtube.com/@puredevsoftware
LO has a reputation as an IDE-killer, as it’s so large and complex.
This doesn't seem to be worse than the Unreal codebase, which 10x also handles with ease. I highly doubt that there is a codebase in existence which could bring 10x to its knees. It does use quite a bit of memory, but nothing a modern setup shouldn't be able to handle. Currently it seems to be about 4GB for both Unreal and LO each, with LO being just slightly larger.
This of course are extreme cases, so you can imagine what performance for "normal" projects is like.
I only signed up because I saw a lot more questions than people reporting their experiences with it, so I figured you would like to hear from people who actively use it (and why). Some of us then prodded Stewart (the dev) to also sign up so he could answer the more specific questions.
It doesn't look like it supports memory breakpoints? I end up tied to Visual Studio because of how powerful its debugger is.
Fast software deserve all of our support
I've been very impressed by lapce's pace of development. Imo, open source text editors are going to fully supplant closed-source.
Perhaps 10x is a killer app if you only use C++, but for a modern day polyglot experience, I'm betting on lapce.
It is probably more important to legitimize Rust than to change the editors landscape, but if it does both, it can be awesome.
Thanks for the heads-up!
Example 1:
template<class T> void foo(T t) {}
struct X {};
void foo(X x) {}
template<class T>
int bar()
{
foo(T{});
}
Example 2: template<class T> T getFoo(int); // (1)
struct X {};
template<> X getFoo(int) { return {}; };
X getFoo(int a) // (2)
{
return getFoo<X>(a); // (3)
}
In both cases, "Rename" only affects a quasi-random subset of the foo/getFoo occurrences, depending on which one you select for renaming. It roughly looks like "match every name to the most recent definition of a thing with that name", but things like "go to definition" on (2) going to (1), or on (3) going to (2) is just pretty absurd.Yes, it's super fast (instant), but also super useless right now. When I use "Find References" or "Rename", I _need_ it to be 100% accurate. I have to be sure that I caught all uses. In cases of ambiguity (such as the templates above), it has to involve the user (e.g. "these are guaranteed matches, for these other ones it's not clear - select all that should be renamed"). Visual Assist is miles ahead here. And yes, I know, this is extremely difficult in C++ (and likely impossible to square with the "instant" speed goals). But being able to trust my tools in a complex code base has priority.
Other feedback, in a "take it or leave it" fashion:
- Automatic perforce integration is nice to see
- timelapse and history commands don't work though... (not in PATH?)
- Defaulting the title bar menu to only show on hover is weird imo.
- The title bar menu items should be centered inside the buttons!
- Opening header and cpp in different columns is a nice default.
- Settings file editing is also surprisingly fun, thanks to the builtin suggestions.
- Switch to a different colour scheme -> expand folder in workspace tree -> newly appearing elements have old theme...
- I set the keybind for "close file" to Control W. Now pressing Control W always closes two files (?!)
- Right click -> zoom -> that menu item and the submenu (except any submenu item you hover over) render as pure black...
- STL include file paths are not found automatically for a VS solution. Forgiveable though.
- Sometimes commands (e.g. Go To Definition) don't do anything. Sometimes it starts working eventually (parsing was incomplete?), sometimes not. There needs to be some kind of reaction/feedback ("definition not found"). Not necessarily a message box, but at least a toast or status bar message.
- Ctrl + left click also does a range selection if you hold down LMB for slightly too long...
- In a Citrix remote session, home/end lock up the entire session if the view needs to scroll horizontally and there are many long lines.
- create new file, fill it with e.g. 60 long lines of e.g. A characters (something like 120 chars per line) -> navigation becomes extremely sluggish
- No idea if this is primarily on Citrix or on 10x. Can't reproduce the same behavior in VS or Notepad++ though.
Overall it seems well-made and (outside a few sharp corners) comes with a lot of polish, but for me the "speed over quality" approach to parsing is not a good fit for my daily C++ needs. I might try it a bit more for those "let me really quickly look up this detail a colleague is asking about" use cases, but with the current approach I won't use it for editing.It sounds like you may have the Control W key mapped multiple times in the key mapping file?
STL include paths should be automatically added, I'll check that.
I'll add those other bugs as well.
Thanks again.
I would say it may even be better suited for C to some extent since that is a much simpler language with less chances for the parser to get confused by some obscure corner case. C++ really is the worst case scenario for a parsing engine, so once it works reliably for that, support for other languages should also become much more feasible.
Ooof. restrict keyword enters the chat. C and C++ are two languages that evolve together, but one is not a superset of the other.
The installer is comparatively small. It loads quickly. Doesn't ask any useless questions. Installs quickly. The app also loads quickly and feels snappy.
People tend to underestimate the importance of first impressions. This guy gets it.
Now if this was open source and built and ran on Linux, I'd be interested. uninstall :-)
1. Ship software, including free updates for the current version to fix bugs, without any fees beyond the purchase price.
2. Become the richest companies in the world, by far, to the point it's not even close.
So the idea that they need subscriptions so they can 'afford' to fix bugs is ridiculous. Also, paying the subscription isn't a warranty, maybe they collect my money and don't fix my bugs.
SaaS and subscriptions is mainly a way to control the users and milk them for money.
Features should be added as addons that I may or may not purchase.
Support should be optional.
But I also want the software I buy to keep working as well as they did the day I bought them. I don't expect the developer to fix all bugs forever without any additional payment, even less add features, but I'd rather not have a kill switch, which for a text editor is what subscriptions are.
Many software vendors (ex: Jetbrains) offer renewable permanent licences that pays for maintenance without the kill switch. Sublime Text, which is possibly 10x most direct competitor now has a permanent license with 3 years of updates, which can be considered a subscription (you have to pay every 3 years for updates), but if you stop, your software won't break.
What I’m most surprised by is that Visual Studio isn’t more than adequate. What does Microsoft use internally?
With this said I actually like Jetbrains' model where you pay something like a subscription but after 12 installments you get to keep the version you've paid for, even if you discontinue the subscription. If you prefer you can pay the full price upfront and you get the same result.
I actually hope more indie developers do this -- and complement it with live-coding the product development and other neat perks. If it reaches critical mass beyond "fans" and becomes major-version-based sales, then early supporters could get large discounts.
Biggest downside seems to be if the software becomes End-of-Life and End-Of-Access suddenly, for whatever reason, and my workflow is disrupted. Some Open Source Parachute would be cool -- over time, we are all affected by dropped software products, by developers big and small.
Everyone wants buy once, updated forever software. But, they don’t want to pay for it. Usually they think a fair, up-front price is less than they’d pay month-to-month as a subscription for a year. And, then 80+% of them will only buy when there is a big sale cutting that price to a fraction. And, even when you have a good product at a good price, your sales plummet every time the crack for your DRM gets updated. So, you have to push frivolous updates that mainly exist to keep your DRM ahead of the crackers.
Buy once works great for consumers. And, has worked great for a handful of products. But, commercial desktop software has been an excessively difficult market for two decades now. That’s why it is a hollow shell of what it could be with the issues I listed above. That’s why we get so many web apps that would be better for consumers as desktop apps: can’t pirate a web app, subscribing to a web app feels justifiable.
Actually, I prefer buy never, updated forever software. Somehow free* software fills all my needs these days. I wouldn't mind paying for exceptionally good software, if it came with source code and the ability to build new versions of it.
I go to _fantastic_ lengths to not pay for software, to mostly use software I could theoretically contribute to, or even to not have to deal with learning new tools. I even built my own accounting system (based on Ledger though).
We're an insanely tough crowd to monetise, I suppose. At least some of us. Meanwhile, prosumer software in other areas seems to be doing quite well, happy users, decent income for the developers and all.
People pretend they hate Paradox Interactive's DLC-based business model, but I like knowing that the games I buy will very likely be well-developed with many years of extra work put into them. More commercial software should take a little inspiration from them in terms of figuring out a way to fund and work on projects long term.
For those that don't know, Paradox is a game publisher that often release a basic shell of a grand strategy game that serves as a platform for DLC. The bad news is you have to shell out more money every so often for the biggest new features: but the good news is that they're continuously making big improvements and adding big features and have an incentive to make them as good as possible.
I confess that I don't know exactly if this model would work for a text editor, but nothing is as off-putting to me as software subscriptions when something can work locally.
I want to buy the final full game whenever the developers are done with it, not buy pieces of it. If the developers want to add new stuff they can always make a sequel.
Because of this i tend to wait until some "game of the year edition" is out and the developer has started working on a new game (only a very tiny fraction of developers are going to bother making DLCs for their previous games instead of focusing their development efforts towards the new games).
The only exception to that is MMOs and the like that by their nature need updates and IMO the best approach there is having a subscription to fund the game's development. Of course the greedy powers that be figured out that giving the game for free and monetizing microtransactions on the easily preyed upon "whales" makes more money regardless of the detriment that may have on the games' design.
For many kinds of games with a level of complexity beyond a shoot-em-up, I feel like these kinds of games would be very difficult to make without a lengthier iterative process that probably requires an additional revenue stream.
As the example given, Paradox makes grand strategy games with intricate war/politics/economics and other game systems that are all interrelated. Ideally, a company has a lot of data and community feedback on the tiniest minute details to figure out what elements work and what elements don't and eventually refine the systems into the best possible version.
That said, I'm not saying it's impossible to avoid adding DLC and still fund quality long-term development. A different good game Project Zomboid has been in Steam early access for a decade and is in a very good state and still getting big new features: but those occasional indie gems are the exception, not the rule. With most of Paradox's games, you basically know that it'll be supported and improved for years specifically because of their business model.
And that's fair, IMO. A lot of my "buy once" software in the past turned into a never-ending game of unpredictable upgrades. I'd have to re-buy upgrade licenses at unpredictable intervals to continue using the software with new version of MacOS or new plugins. At least with the subscription model, it's honest and open.
I want buy once, free minor bugfixes until the next major version comes out software.
For example, I liked windows 3.1, hated windows 95, liked windows 98, hated ME, liked 2000, and never liked another windows. Likewise, I liked early versions of Google maps, but they change the interface in small and large ways unpredictably. I could go on.
With the subscription model, you're stuck with every whim of the developers, stuck with horrible interface changes and you're constantly re-learning how to use the software to do the things you need to do with it. There's a tendency to make new features prominent, which comes at a cost to old (that is to say, core) features.
Auto-updates are a pox on usability. Stability in tools is severely underrated and destroyed by the subscription model.
I wonder if there is a happy medium where you can buy it, and then if a couple years later the software improves a bunch you can upgrade at a discounted price tiered to how many years it's been since you updated. I.E if it's 1 year is a 90% discount, 2 years a 80% discount, 3 years 70% discount etc. What do people think of this model?
All those subscriptions add up. And when I buy a product I expect to use it for a very long time (decade +). If I add up those subscription fees it feels incredibly expensive.
I have successfully weened myself off of all my software subscriptions. On a yearly basis it was costing me $1000+ for software. At this point it doesn't matter how good of software it is, I'm moving on if it doesn't have a purchase or lifetime option.
Edit: I re-visited and scrolled down past what I thought was the end of the page only to find everything I was looking for. This is the problem with these huge scrolling marketing pages. You gotta lead with the content and then try to sell me at the bottom.
Here's a free first impression breakdown for them: A page's social media link stripe is commonly at the bottom of the page as a final "ok you're not going to buy this right now, but at least keep us in mind" call to action, or at the very top of a page as a nav element. Gray is a common color for page terminal stripes or other perfunctory, de-emphasized components because nothing stands out against it as much as it would stand out against something else. Pricing schemes are either on a standalone page or at least after some introduction explains what they are. Seeing the gray stripe of social media links under the pricing block is like a stop sign to your brain. Beyond that, the "more options" button at the bottom of the page only reveals more options at the top of the page. The section of tiny screenshots half covered up with those boxes in that same "not important" gray is very off-putting. Not only does varying shades of gray text on white or various shades of gray background scream "don't pay attention to me," it's irritating to read, and their #969696 text on white on the purchase page even fails WCAG AA color contrast guidelines for headlines. Many elements are slightly misaligned. The complete lack of visual hierarchy beyond the project name and purchase section title leads users to subconsciously say "not worth the cognitive load to figure out what's going on here," and leave... and that was a sub 5-minute analysis.
Most bounced users don't consciously think about why they left. They'll never complain about it because they'll never think about you again. There's a damn good reason big businesses put a lot of time and resources into that stuff, and as much as folks like to think otherwise, having developers as your customers doesn't change that. Developer-targeted FOSS projects get away with undesigned websites because it's free as in speech, and most people are probably looking at the very thoughtfully designed Github, et al interface instead. Even subconsciously, broken buttons, misaligned elements, uncomfortably obfuscated elements, and miscommunication of navigation cues through poor color choice does not communicate "high-quality paid software product that beats the vast array of free competition."
The sudden activity on this site kind of took me by surprise, I wasn't quite ready for the big reveal.
Back when I used to be a chef, my most important tool was a Chef's knife. The Wusthoff and Henkles and rando knockoff knives might look pretty similar, but I could tell just by looking at it if the spine side of the tang was a bit too short and would give my index finger blisters, for example. It didn't have to be perfect, but it had to work for me.
As a full-time developer, I was working with text editors just as many hours per day as I worked with my chef's knife. Using a text editor that doesn't meld with the way I do things is incredibly frustrating. I do most of my dev work in Unreal Engine these days so a nice, performant editor that was as smooth as other paid editors would get my greenbacks.
I'll get some screenshots added to the new website.
Otherwise I agree: 10x certainly invokes the mythical "10x programmer" to me, but looking through the list of features, it's pretty basic. USP seems to be speed, probably competing against the heavy IDEs, not Emacs and Vim. But getting there took some guesswork, the website didn't answer these questions well for me.
> A high-performance C++ Editor
> Smooth and fast editing
> Built to handle the largest C++ projects
Then right below that, the title of the first image is:
> Fast Workspace Load
Just a little bit further down is:
> Navigation
> Quickly navigate around the largest projects
> Instant Search
> Find what you want - fast!
Just which part of the page did you read, out of curiosity?
Are there independent performance measurements?
What are your reference projects for “largest projects”?
Which GUI Toolkit do you use?
Do you support LSP?
I measure the 10x performance all the time. But it's not possible to compare like-for-like with other editors unfortunately.
10x has been tested on Unreal Engine source from the start, which is many millions of lines of C++.
I don't use a GUI tookkit. I write the UI system myself.
It doesn't support LSP.
Awesome. I'd estimate a C++ parser at multiple lifetimes of engineering. An incremental one more so.
Can you sketch how that's implemented? Did you build the parser in C++?
The parser is written in C++. I don't use any standard parsing techniques, it's all custom stuff. It's hard to explain, but I talk about it a lot in my live streams: https://10xeditor.com/vlog.htm
The Sublime Text licence is not cheap but is in a better spot, IMHO.
(I'll see myself out)
Is this something you do often in your C++ development?