46 comments

[ 2.3 ms ] story [ 115 ms ] thread
Just to clarify, it is build 4100 that adds native Apple Silicon support.

We weren’t originally able to include it because we had to backport Mac arm64 support to Python 3.3, since we include that for compatibility with ST3 packages.

Edit: I should note that my original tweet thread has a few more details https://twitter.com/wbond/status/1379401771911643136

oops, sorry. Yeah, misprint in the topic. And thank you for providing more details!
Guys, just open-source it.
Why do you think it needs to be open sourced?
Because it's taken VSCode less than 2 years to completely eat Sublime's lunch and dinner.
Did it eat Sublime Text's lunch and dinner because it was open sourced? Or because it had the muscle of Microsoft behind it, a company with limitless resources and a long history of muscling in on other people's turf?
Seems like a strage thing to invest Resources into. Minority computing, minority hardware, with a minority of programmers, on a text editor that doesn't need intensive processing power. Maybe Apple paid for it so they could get a headline out of it? All of this seems incredibly unnecessary.

Has sublime has ran out of things to work on? LateStageTextEditors

Some time in the not so distant future all apple computers will run Apple Silicon. VSCode now has AS support. These text editors do a lot of indexing work in the background and can easily hit the CPU quite hard while doing that. It's not unheard of for the fans on my intel mac to spin up when I first open a new project in Sublime Text, anything that makes it more efficient is welcome in my eyes.
I don't know that Apple users are a minority audience for Sublime Text. They may even be the largest user segment.

Sure, ARM Macs may be a minority now, but it's hardly a wasted investment when the proportion is only going to increase.

Possibly the biggest differentiator that Sublime Text has going for it is its lack of bloat/overhead compared to it's rivals, which use Electron or the JVM. If you hand-wave away the performance cost of Rosetta you are eliminating their biggest advantage.
I been using ST4 with LSP Package ( Community Package ), It is enough in my use case... to forever remove VSCode.

I am looking at removing IntelliJ soon. I cant remember the last time I used CLion/IntelliJ... only times is using it for debugging hard issues... Maybe if I get better at LLDB/GDB I would never need clion.

Might be minority of programmers, but I'd bet it's actually a significant percentage of the users (probably including the developers and the early adopters on their Discord). They might not be looking at the entire market for text editors, but more at keeping their current users happy. Just my speculation though...
My Mac is old. I just want to be able to move the file pane to the right LOL. Looking forward to v4 though!
/r/NoStupidQuestions and /r/TooAfraidToAsk:

What does it mean for an app to have Apple Silicon support? How to check if my app has it?

It simply means that it has been built for the ARM processor (as opposed to intel, which all previous Mac apps were built for) and therefore does not need to run in the Rosetta emulation layer.

Practically speaking most users probably won’t notice a difference. Apple silicon native apps might be a bit faster and use less battery than their intel counterparts.

I wouldn’t say “built for”. “Compiled for” is probably more accurate.
"build" can be a synonym for "compile".
Programming languages like C, C++ and Objective C are compiled to machine code. Apple Silicon support means it is compiled for the ARM instruction set rather than x86. The Apple M1 chip can execute either, ARM code natively and x86 through the Rosetta translation layer. Native ARM code will run a bit faster.

In theory this is done by changing a flag to the compiler. In practice most code needs some changes. They also had to get ARM versions of any pre-compiled libraries, and there may be some differences in how to interact with the operating system. If they used any hand-written assembly code that also had to be rewritten.

it means it has native binaries for Apple M1 chip. so if you are on Apple M1 (latest macbook pro 13", mac mini) then the app will run slightly faster and take less memory.

If you are not on Apple M1, then it makes no difference to you

Just curious: in this day and age, does it make sense for such an app as a text editor not to be written in Java?
The memory management of large blocks of text often uses a recursive data structure called a "Rope". It may be difficult to guarantee good memory properties without manual management of some sort.
Fast startup time, consistent performance, higher performance, low memory usage and native interaction with platform APIs.
Well, paradoxically perhaps, none of that is seen in the single most popular text editor of today.
Have you used SublimeText?
You are phrasing this as if popularity was linked with quality, or that popularity should be prioritised over performance. Nobody will stop you from using the most popular editor, if that's what's important to you.

I on the other hand prefer programs that don't occasionally give me upwards of one second of input delay when handling input is basically 50% of their whole functionality.

Sounds like why I use sublime instead of $POPULAR.
The most popular text editor today (vscode) also isn't written in Java. And if it had been, it might not have become the most popular as it benefits greatly from communities around web technologies like JS.

Also one of the reason people use Sublime is because it's just so fast. It might not be the most popular editor currently, but if it weren't performing so great, it sure wouldn't be as popular as it is.

(comment deleted)
I have never used a Java-based desktop that was not user-hostile and low-performance.
I used Arachnophilia back in the day, and when the Java version came out I tried it, it was god awful.
How about JetBrains IDEs? I'm not saying they are the fastest thing ever made, but in my experience, they are comparable to other full featured IDEs.
They all feel slow compared to a lean editor like Sublime. I’ve tried them all.
Does it make sense for any application to be written in Java?

It's been years since the last time I used one. And I don't miss it a bit.

It's been more than a decade since I've even bothered to peek at the Java desktop GUI ecosystem. Did JavaFX ever get good?

Eclipse SWT was the way to go back then for its native widget binding. But like I said, I stopped paying attention around 2007.

Looks great! I'm very happy with ST3 on Linux, it's my favorite editor by far.

I didn't know v4 was coming out soon, but I'll probably upgrade just to stay on the bleeding edge and to support independent development.

How can I download it? I only found it on some torrent sites, but they may contain viruses I guess.
Great, it works, thanks!

Offtopic: It's crazy that 1 product from Apple made all developers working on perfecting their ARM support in the world, I think the impact it will have in the server space is still underestimated.

We kindly ask that users who are interested in being part of the ST4 beta join the Discord server, and that download links not be shared outside of that community.

This allows us to have a better feedback loop and tighter communication.

I didn't find any information on ST4 beta, maybe you could create a web page for it so that it's easier for people to find all information about it. I don't generally run betas, but try to go native M1 as early as possible with all software.
We purposefully didn’t create a web page for it because we wanted people to engage on our Discord server. Once we are ready for wide-spread usage, we’ll release a stable build.

This will be happening “soon”.

I'm sorry, I didn't find that info in discord channel.
I don't think the community, or Sublime HQ, would benefit much from an open-source version. I do, however, believe it would be amazing if they released their UI library. I think we are all curious to know how text rendering is done, how UI elements are drawn, is it using GPU or not, OpenGL/DirectX? etc.
ST3 is pure software rendering using Skia. Releasing our UI toolkit wouldn't be of much value to others as we regularly make changes and refactor things that break API compatibility. No one wants to use a UI toolkit that has next to no documentation and is constantly changing underneath them.
How do you guys interface with X11? Do you use something similar to cairo_xlib_surface_create, but for Skia? What about font rendering? XFT?
Excellent to see the continual progress of my favourite text editor. So long as the quality bar stays high and the price doesn’t become unreasonable, Sublime Text has a customer in me.