Sublime Forum

How to bring back Sublime Text

#1

Introduction
I still remember when I was the cool kid in my programming classes using Sublime text with everyone gathering around me in awe. Now let’s fast forward an entire decade I’m no longer a student but the director of software engineering for a pretty large firm. However, I’m using a resource hungry editor called VSCode (blah) because it ‘just works’ out of the box for what we do. We are an Angular/.NET Core shop and we’re all running Visual Studio and Visual Studio Code on all of machines (laptops/desktops).

During one of our meetings a couple of weeks we came to the realization that due to the scale of our project and what we do on a daily basis 16GB of RAM is just not enough to do what we do. When we work remotely we are all running a DELL XPS 13/15 and the performance on VSCode is absolutely horrendous. Our applications are growing on a daily basis which results in slower look-up and file opening. I encouraged the entire team to stop complaining on Code’s github page and try Sublime.

After a week of using Sublime everyone was in agreement that performance > code and productivity skyrocketed because we could actually ‘work’. The responsiveness, behavior, and overall experience just outweighed the ease of use.

So then why are you writing this post?
Essentially we want Sublime to come out of its comfort zone and be more than just a ‘text editor’. Why can’t it have the same functionality out of the box as VSCode? It’s a native application and it has been held back over the years by being closed source. Sublime literally watched Atom/Code step past it do the nature of how the project has been structured.

There will be some people out there that come out and scream ‘Leave Sublime alone’ right out the gate. I’m under the belief that people need options and competition is good. Maybe all that Sublime needed was to see an application like Code to succeed to return as an even better option.

Plan

  • Open source Sublime, but still charge for a commercial license (or find alternative revenue stream).

  • Gather known larger companies that use Sublime to help build it

  • Outline a community road-map and work towards the goals on a quarterly plan. Become transparent.

  • Release every 3 months

Users and companies will come together to support this product. There are performance bugs and complaints everywhere on the issues list for vscode. I personally believe that Sublime already has a better git integration at this point than competitors. Sublime Merge is perfection <3

I’m currently on a plane to Chicago and promised my team I’d get something on here this weekend. Sorry for typos/mistakes/etc. I will come back and provide better context and reasoning if needed.

Sublime <3

2 Likes

#2

what functionality does VS Code offer out of the box which ST doesn’t? (please explain them from a perspective of assuming we’ve never used VSCode before)
and from those, which are not possible with existing ST plugins, just curious? Maybe something that could help would be a list of curated packages for different groups of developers, which could be downloaded with ST somehow?

3 Likes

#3

I’m not sure if I follow… it’s funny cos I’ve lost track how many times these issues about open-sourcing Sublime have arisen in the forum :smiley: but… I still wonder about something here, what are the features you guys can’t have with respect to the slower toys like atom and similars?

Here’s a little story, I tend to work with few large projects in SublimeText without struggling at all (angle, cmake, heavy 3d c++ engines mixed with python tools, assemblers, wrapper generators, custom tooling, etc etc etc…), just to say, really complex pipelines&layouts in many case but I’ve reached a point where I don’t miss anything… of course, I’ve invested quite a lot of effort to setup SublimeText to suit my needs… But the point I want to make clear here is, SublimeText allows you to reach that state out of the box without becoming open-source! Isn’t that great news?

Now, you’ve claimed you work for a pretty large firm so it’s a fair assumption you got quite a lot of resources at your disposal (ie: developers) so that’s not a problem, now… I wonder, wouldn’t be smart to invest a little bit so those developers would provide you the features you’re missing overall? With a little bit of effort depending how much knowledge about Sublime those devs had you’d end up having a perfect customized version of ST for your needs without missing anything from the old tools you used in the past.

Of course, another strategy before coding anything would be making proper researching about the whole bunch of countless packages living in https://packagecontrol.io/packages, although I think is worth in the long term to create your custom pipeline without relying on others (that’s an opinnion out of scope here)

And just for the record, I’d love to eventually see Sublime’s opening the source code… but mainly because I’m curious about certain algorithms and how is able to achieve some stuff internally (highly likely Jon has created a really nice piece of c++ software over there) but not because I need too to become madly productive using Sublime.

Of course, that’s just my 2 cents… let’s see how this thread evolves though cos is quite interesting subject :slight_smile:

Ps. Similar threads to this one:

1 Like

#4

Addons
These are things that are not necessarily controlled by Sublime, but can be more community driven.

  • Azure plugin - Some of dev-op engineers refuse to use windows so they don’t have access to the toolkit that Visual Studio 2017 provides. This allows them to deploy our applications and work through errors. Provides live error/exception viewing within our code-base so they can feed this information back to our software engineers.

  • Easier platform to create in-house addons (luxury item)

  • GitLab integration that allows us to view issues within vs code without having to open in browser. (luxury item)

Superior auto-complete
Smart enough to know child elements and methods for typescript and javascript methods/objects. Simple example: ‘location.’ will return reload(), host, replace, port, href, etc

Detect unused variables
Code will grey out methods, variables and imports that are not used within your code snippet which allows us to keep our code-base tidy.

Right-click view references on javascript and typescript functions
Ability to right click methods/variables to view references, definitions and peek them.

Auto import when writing Angular (typescript)
Able to import as we type based on what modules we have installed within our project. Never have to worry about importing something prior to coding. (Similar to visual studio 2017)

Able to auto-detect if a .html file is a ngx (angular) or vanilla html file
We have projects that are sometimes a mix of multiple frameworks. Code is able to go in and auto-detect what kind of .html file we’re using. NGX/Vanilla is 70% of the diffrence.

Able to drag to split window
You are able to drag your tabs across your canvas to split the window as many times as you want.

Integrated Terminal
Able to create multiple terminals within your vs code instance with a click of a button and tab through them. Bash/CMD/Powershell

Search tool
Search tool is a lot easier to use which is similar to Sublime’s “find tool”. Gives a better visual with live changes when you update files. In addition, the ctrl + p search that’s found within sublime is a lot more intuitive within vs code because code is able to auto-detect what’s in your .gitignore file and does not query those results. For example, sublime will still perform file searches within ‘node_module’ folders.

Debugging tools
Code allows you to set-up build/debug scripts specific to the project that you’re opening. For the developers that are not using Visual Studio 2017 they’re still able to debug and step through their code within VS Code. With a proper call-stack, etc.

Live Share
Allows us to share our code with other developers on our team. It’s a live copied instance of the sharers code with all of the people he has elected to share his/her code with. With live cursors (similar to google docs) allowing us to pair program, help debug and do code reviews no matter where we are. This is cross platform with Visual Studio and Code.

Settings are all guis with search capability
Settings within code are all gui based instead of the traditional json file with the option to switch between the two. With the addition of search… just makes it easier to find what you’re looking for. Also every addon’s settings will find itself in there.

Probably missed some stuff in here… Everyone has their instance configured differently.

3 Likes

#5

During one of our meetings a couple of weeks we came to the realization that due to the scale of our project and what we do on a daily basis 16GB of RAM is just not enough to do what we do. When we work remotely we are all running a DELL XPS 13/15 and the performance on VSCode is absolutely horrendous. Our applications are growing on a daily basis which results in slower look-up and file opening. I encouraged the entire team to stop complaining on Code’s github page and try Sublime.

After a week of using Sublime everyone was in agreement that performance > code and productivity skyrocketed because we could actually ‘work’. The responsiveness, behavior, and overall experience just outweighed the ease of use.

One last thing… as I’ve lived a similar situation few times in the past with large firms… maybe the root problem is not the type of tools you guys are using but maybe the legacy architecture has broke at a certain point and escaped out of control. This is quite common… My suggestion? You should invest more resources trying to sanitice your software first so you won’t need to rely on magical tools to become efficient and profitable again… I talk from experience when building a piece of software would take >1 hour of cold building and >15min hot building… These type of legacy architectures are flat-broken… requirements, customers, deadlines, yeah, i know… all those external forces that lead sometimes to create poor non-scalable systems :slight_smile:

It’s like the typical situation where instead fixing your architecture issues from the roots you’ll end up throwing more money to the problem hoping that the problems will be solved eventually… at certain point that will hit you back.

My 2 cents… :slight_smile:

0 Likes

#6

Definitely agree with the part where we can make our own tools to support Sublime and make it better for our company as a whole. We did exactly that with Visual Studio Code… Invested some resources to make internal add-ons. We have the resources to make it happen for our firm, but it’s a bigger issue of getting developers back to make tools for Sublime again. There are a lot of packages that have not been updated in forever on the packagecontrol.io

We can sit and pretend like Sublime is not dying and is perfect. Every programmer can make sublime work for them, but it’s more of if they want to spend the time and effort to do that?

1 Like

#7

Not sure I agree with your statement here… you’re implying Sublime is dying while my opinion is Sublime strategy is not bad if we analize Sublime as a plugin based architecture. If I had to judge some choices Jon made when he created Sublime I’d say If I was in the same position I would have probably used Qt instead GTK (although licensing at that time probably was a decissive factor) and that would have given me greater benefits in the long term… on the other hand, by probably doing so I wouldn’t have focused that much in the performance and the outcome would end up being a slower product.

Also, you’re implying by open-sourcing a particular piece of software and adding more elements to the team you’ll improve magically the system and this will become more efficient, isn’t? Well… I think in many cases that’s quite the opossite, personally I’d prefer Jon investing their time (and having fun while doing so) improving his baby instead having to manage devs, tickets, roadmaps and all that boring stuff that would keep him focused on the real battle which is making the core-software more efficient so it can be extended by others… Cos let me tell you, sometimes 1 developer will be more efficient than 10 or 20 developers… again, adding more elements to the system won’t make it more efficient.

Anyway, I will just shut up now, I’ve talked enough… so please go on with the thread without bothering too much about my comments, as I said, this is quite an interesting subject so I’m interested to know where this will go… :slight_smile: .

Probably a dead end road though… as the other similar threads hehe :wink: . At this point is quite clear ST becoming open source is highly unlikely, hopefully I’m wrong here though :slight_smile:

0 Likes

#8

There are a lot of packages that have not been updated in forever on the packagecontrol.io

I’m not sure what you’re getting at, here. There are over 4,500 packages listed on packagecontrol.io. Many of those packages are very small — a color scheme or theme, a set of snippets, an obscure syntax definition. For many of these packages, there is no reason to update them at all. But even considering only packages that would benefit from an update, is it reasonable to expect that all or even a majority will be actively maintained? And what should we do about this, anyway?

Are Atom or VSCode any different in this regard? Of course, they’re newer editors, so it’s literally impossible for them to have packages as old as some of Sublime’s, but when considering only more recent packages, is there a meaningful difference in the proportion that are actively maintained?

1 Like

#9

Here is an example of one:
https://packagecontrol.io/packages/Angular%202%20Snippets%20(John%20Papa)

Package hasn’t been updated for 3 years. The same author on vs code:
https://marketplace.visualstudio.com/items/johnpapa.Angular2/changelog

BTW at this point Atom has been abandoned by a lot of users. The main comparison here is Sublime text and Code. I’ll have to speak with the team on Monday but it was a common complaint that a lot of devs have abandoned their sublime counterparts for code. This is a fact and unfortunately it’s not something we can control here. I’m not trying to argue that we can just magically fix this issue.

I just did a quick search ‘Angular’ and just compare the volume of results returned by code vs package-control.

0 Likes

#10

I guess as a responsible user you would just use proper filtering and not assuming the whole packages living in packagecontrol are “legit”… but you can already do that, can’t you?

showcase

Mmm, actually, I didn’t find how to filter by downloads, last updated date or other factors that will give you the more relevant packages… probably you can already do that, I haven’t used too much though as I tend to code my own stuff for almost everything :confused:

0 Likes

#11

But isn’t Atom open source and doesn’t it check all your proposed plan points?

4 Likes

#12

Some alexa rank metrics:

Of course these metrics don’t say much… but if we consider also many text editor comparisons (2019) out there we’ll also see SublimeText isn’t ranked badly neither…

Why do I post this? Well, you said before:

We can sit and pretend like Sublime is not dying and is perfect.

Thing is, I always try to avoid meaningless discussions such as “Which text editor is better”, “Which OS is better”, “Which programming language to use”… But to me your statement doesn’t hold and I guess you said that because the fact the members of your team/s haven’t been able to become productive working with SublimeText, that’s pretty much.

For instance, It’s like If I started to use vim from scratch… I wouldn’t even know how to code efficiently a simple hello world snippet and then I’d just claim “Wow, vim is dying and it’s unusable”… of course, If I claimed that, some vim guru would appear and would correct me nicely by telling, “Shut up! I use vim on a daily basis working on chromium and I’m madly productive”.

In fact, even further… although this is just a personal opinnion, I’ve always thought a software tool such a text editor should be as lightweight and fast as possible by default and users should be able to find the best configuration that works better for them.

Do you know eclipse? If I gave you eclipse with 0 plugins… would we also claim that’s a dying software?

Hopefully I’ve made my point clear… And yeah, don’t get me wrong, I understand your (and your team) concerns and I’m not one of those phanatics on the internet that protects their favourite software with sword :)… it’s just that it feels to me is just a matter you guys should put more love about mastering SublimeText, that’s all…:wink:

But if you think just throwing more money at the problem is the way to go, sure… why not? :smile:

Peace!

0 Likes

#13

Difference being at this point both of the editors are owned by the same company (Microsoft) and one is no longer getting the same support. In addition, Atom is built on an older version of electron which also goes back to my original post. For example, if I attempt to even open one of our projects within Atom it’ll just straight up crash on start-up, reload, etc It’s an endless loop.

0 Likes

#14

@wold93 the package you mention is made by someone who works for Microsoft so not surprised the Sublime version has floundered :wink:

I’d be really happy to see some kind of SDK for Sublime that supported JavaScript. I think you would see a lot more packages written going forward if that was the case.

However, I wonder if part of the reason code is so slow compared to Sublime is because it tries to offer all those things out of the box.

The no1 reason I use Sublime is the speed. Anything that jeopardises that would be a step backwards imho.

At present I feel that Code is “a jack of all trades but master of none”.

1 Like

#15

However, I wonder if part of the reason code is so slow compared to Sublime is because it tries to offer all those things out of the box.

Both VsCode or Atom are slow because the underlying framework is just too heavy… they use Electron behind the curtains. I’m not claiming Electron is a bad framework per-se (it may have their own good use-cases) but at certain point all that overhead will hit you and you won’t be able to deliver proper speed the same way than real tools written in asm/c/c++/rust/…, that’s pretty much, in that sense the choice of Jon has been quite smart from the very beginning when he started coding ST.

The no1 reason I use Sublime is the speed. Anything that jeopardises that would be a step backwards imho.

This one! Amongst many other reasons that’s the strongest point of ST :wink:

Also, you may be interested to read the electron-is-cancer article, quite entertaining reading :slight_smile:

0 Likes

#16

Once upon a time, there were people who tried to make an open-source ST in Go language https://github.com/limetext . Not sure how it has been now.

1 Like

#17

That project was really an awesome project, although I’m not sure which advantages or why they decided to use go instead let’s say… python, c or c++… :confused: . Probably the only reason because the authors just liked go and they went with it (pure speculation).

Anyway, did you check the lime landing page? it clarifies a bit… also… check Is this project dead? issue… All in all, really nice project but I think they just chose the wrong tools for the job (IMHO) :slight_smile:

I mean… yeah, the why-api-compatibility section makes total sense… but… go? really? :confused:

Ps. http://crypto.stanford.edu/~blynn/c2go/index.html

0 Likes

#18

Yeah. Open-source is not a cure-all. Theoretically, everyone has the right to make contributions to the project. But unfortunately, it does not mean that everyone has the ability to contribute to the code base… especially when the performance matters and the used programming language is harder to master with a comparison to Javascript or Python…

0 Likes

#19

Yeah. Open-source is not a cure-all. Theoretically, everyone has the right to make contributions to the project. But unfortunately, it does not mean that everyone has the ability to contribute to the code base… especially when the performance matters and the used programming language is harder to master with a comparison to Javascript or Python…

I don’t have enough experiece in the open-source world to have a strong opinnion about your claim though but it sounds interesting… I must to say right now I’m in the middle of some sort of experiment, you can read about it here, in order to check whether open-source may be benefitial in the long term or not in comparison to keep my projects closed-source. I’ll give it a shot… if I see the project won’t get traction faster or evolving at a faster pace in comparison to be just me developing it myself I’ll be sold to the open-source and I’ll agree open-source is cool, otherwise I’ll just come back to sinle-dev mode where I’m highly productive without all the “hazzle” of trying to make a team efficient :wink:

On the other hand, there is one thing that’s quite cool about open-source, you can work with others, getting feedback, learning stuff you wouldn’t learn by yourself… I mean, I guess there isn’t a magic recipe here. Is it better open-source rather than close-source? To me there is no clear answer here … :confused:

it does not mean that everyone has the ability to contribute to the code base…

I’m interested about this, could you please elaborate about it? Why do you think so?

0 Likes

#20

Take myself as an example, I know nothing about Go so I consider myself as literally incapable to contribute to the core of LimeText project (not because I am not using the editor). Learn Go so that I can help? Eh, I am not sure I will do it or not. Maybe I could help write docs for it but I guess we are not talking about “contribution in documenting” here.

ST core is written in C++ iirc. Although I know a little (just a little) C++, I don’t think I could help out there even if ST gets open-source, especially when I assume the core of ST should be high performance (and maybe elegant?). I saw articles about Linus blamed those who submit shitty patches to the Linux kernel (I just Google it to get one randomly). I had heard a joke from a Chinese forum that says C++ is so complicated nowadays that even Bjarne Stroustrup wouldn’t claim himself having mastered it (not because of humbleness).

0 Likes