- cross-posted to:
- linux@programming.dev
- programming@programming.dev
- foss@beehaw.org
- cross-posted to:
- linux@programming.dev
- programming@programming.dev
- foss@beehaw.org
Zed is a modern open-source code editor, built from the ground up in Rust with a GPU-accelerated renderer.
Great another editor. Now what we need is a good PS alternative so we can all move away from Windows.
PS?
Most probably Photoshop, else PowerShell
Probably, Photoshop because https://devblogs.microsoft.com/powershell/announcing-powershell-7-1/
https://github.com/zed-industries/zed/issues/7054#issuecomment-1916315391
They auto download binaries, even proprietary ones, unsigned and without user interaction.
YEAH security!
Quoting the guy:
“that rewriting those in Rust will take an eternity, so not sure what is actionable here, hence closing.”
That’s Rust shining from all its glories here gentlemen…
The best language, if there is nothing changing.
That’s a thing to make a web server or a library that displays Fibonacci, that’s something else when there are humans with changing scopes…
Its not Rusts fault, the devs are simply lazy and making insecure products, as they dont want to rewrite everything.
That’s what I am saying.
To quote you: “they don’t want to rewrite everything” …
Writing Rust often implies major refactoring and it takes so much time to write that your requests go: “pewf” closed due to the amount of effort it takes.
Anyway, been there, done that! Zig is probably the real future; it’s a joy to write, it compiles fast, clear to read, and safe.
It has shared libraries and a proper integration with existing C/CPP code base.
You should try it, that’s an amazing language with a real potential to replace the legacy.
I dunno man… I’m not sure I’m so keen on a language that prides itself on not having macros
They were exaggerating to avoid work. Look at the PR diff to determine whether your anti-Rust bias is true.
There are no patch, the issue has been closed as in rejected.
There are a few tasks that are open that are loosely related, but let’s not mix things up.
Moreover, I will take the words of the maintainers over a random potato on a forum.
No offense…
The issue was closed, but a draft PR was linked… potato:
As I mentioned, a couple of tasks loosely related. The patch you are mentioning isn’t complete nor address the real problem.
It is an ugly hack at best.
Refrain from your urge to defend rust at all costs. You are sliding more and more toward the specifics of a project than the fact I stated about rust in general.
If you still not get my initial point I’ve made, read this.
That’s a long read explaining what I meant. My point was about Rust, not Zed or the developers of Zed in particular.
And for the Zed editor, I wish them the best luck, it seems like a great project that people enjoy.
Please feel free to comment and share your thoughts on the article above, my dear favorite nutritious veggie.
I use rust only if we need performance, for small services. The industry does the same. People use node for backend but e.g. redis is in rust. It’s a good tool if you use it for the right stuff.
Wtf are you talking about? Redis is in C…
yeah I’m a fucking idiot because I thought wrongly the redis’ language…
You’re not an idiot, you just misremembered. It happens
So they’re doing the equivalent of VSCode(ium)'s extensions, but installing them automatically and not giving you the option to use alternatives?
Blegh.
tl;dr: General purpose extensions are not even implemented yet
zed is very much an early stages editor; it’ll look very different a year from now
I think they auto install some binaries like nodejs that are required for baseline functionality, but have a popup window for additional language LSPs
what if I wanted to use deno or bun? I don’t think that should be their decision to install “default” stuff that have alternatives
I’m all for their improvement tho
I don’t see your point? Nodejs is installed in a custom directory and not added to PATH. It is used by Zed for providing npm support for extensions, and other things. I’m not a Zed developer so I don’t know exactly.
It doesn’t prevent you from using deno or bun in any way.
I am BEGGING for any editor other than VSCode to have decent remote development. I want to go open source but everything I’ve tried (remote-nvim, distant, tramp, vscodium, etc.) just doesn’t cut it.
Tramp is awesome :)
Is VSCode not open source?
Vscode is like Chrome
And
VS Codium is Chromium
It has Microsoft BLObs baked in as part of the build process. VS Codium is the FLOSS distribution of VS code’s open source code. Liveshare doesn’t appear in the package repo Codium uses (because of the Microsoft BLObs it contains as an extension). For work I manually download the live share extension VSX and load it into vscodium
Apparently Lapce has remote development as its core feature. But I only (re?)learned of it today…
How didn’t
tramp
work out for you?What in hell is remote development? You mean
openssh
andvim
, right?Pair programming over the net. The old school way is tmux and vim but to do that you and your partner need port 22 open and most enterprises are gonna be like “hell no you can’t let people connect to your company owned work laptop SSH into your machine”
Have you tried running doom emacs in tmux on the remote server and accessing it with ssh? Doom emacs is all the good of an emacs environment, all the good of vim keybinds, and they worked in a decent amount of optimizations so it only loads the necessary stuff on demand (mine has a startup time of just over 1 second, slower than vim but barely an inconvenience). Can write a quick script to ssh copy (or git pull) your current configs on the server so you only have to maintain one set of configs if you want
scp ~/.config/doom/config.el username@server:~/.config/doom/config.el
Run emacs in tmux if you want to keep the emacs session open across multiple ssh sessions
holy mother of latency
What about gitpod?
built from the ground up with rust. Why the fuck is that the first and usually only (non-)feature to mention in any project written in rust? Who the fuck cares?
I fucking hate the rust cult.
I care because I know the values of those programmers in a narrow scope and won’t be as annoyed when I inevitably have to go debug the rust code instead of C.
However, that values statement was challenged by automatic binary downloads without user confirmation.
Luckily the fix is already in progress, but its concerning it was ever implemented.
Just go outside and touch some grass.
In an era where every single good code editors are built on Electron, its good to know something isnt
You seem upset. Blink twice if someone is forcing you to use it.
Because most things built with Rust are faster than their equivalent, especially electron-based apps.
So as a user, regardless of the cult following, i’m happy that this tech exists and is being adopted so fast.
Because most things built with Rust are faster than their equivalent, especially electron-based apps.
And safer, since Electron is just Chromium, which is mainly written in C++.
It’s primarily about safety, not speed. Any C or C++ program should match the speed but not the correctness.
no, it’s primarily about speed and resources because the comparison is often not against a hypothetical C/C++ alternative, but against an existing one that is slower and more resource intensive.
So they should say that it is written with performance in mind. I don’t care how you achieved that. rust, c++, assembly, whatever.
Mention that it has very good collaborative editing.
Mention features.
VS Code is written with performance in mind. Compared with other electron apps, it’s very performant.
Compared with even a sloppily written native app though, it’s not great.
so fucking say that. Designed to be fastest editor. Show benchmarks. Talk about your features. I still don’t care what tools you used to achieve it. It being written in rust does not automatically make things fast. It may even slow things down, in some cases.
I think you might care about this a touch too much
Everone claims their software is fast. When stating that it is written in a native language it is actually believable.
So they should say that it is written with performance in mind. I don’t care how you achieved that. rust, c++, assembly, whatever.
I care because performant and secure C++ is much harder to achieve while rust “shepherds” you towards it.
See https://nibblestew.blogspot.com/2020/03/its-not-what-programming-languages-do.html
I don’t care how easy it is for the developer. And modern c++ is slightly harder than rust, but not all that difficult to get right with smart pointers and iterators etc.
If you care about your software being stable and secure, you should care about how easy the programming language used makes and encourages that.
People aren’t robots and make mistakes often.
I tried saving to a file that required root and it didn’t give any prompt to enter the password. On VSCodium normally if you are trying to write to a file that requires sudo then it prompts you.
Is there a way to save to root files with Zed?
Maby launch editor with sudo?
Found the Windows user. On Linux we actually have polkit that can elevate privileges with a GUI prompt.
On Windows you can just right click and run as administrator bro
Use sudoedit
text editor
GPU-accelerated renderer
What the fuck?
Pretty common feature. Sublime, Lapce, VS Code, certain Emacs distributions, certain NeoVim GUIs… We live in a world where a lot of people have GPUs and CPUs aren’t getting faster so if you want to get more work done (ie, running LSPs, tree sitter, completion engines, snippet engines, debuggers etc) you need to offload some of that work somewhere
Sounds pretty cool. Sometimes ill do a quick series of edits in vim and it fuckin chugs. I’m definitly gonna try it
I still don’t understand why I should need GPU acceleration for my fucking TEXT EDITOR
Smooth scrolling? Maybe I’m wrong
Probably because it’s more efficient. GPUs are designed to render things, which editors do. In a text editor, you’re effectively rendering fonts over a fixed background, which I assume is pretty efficient using the GPU.
We’re not talking about crazy 3D effects here.
Yay to battery savings!
Shouldn’t the DE/Window Manager be handling that? Seems like doing it on a window by window basis would be inefficient (and look inconsistent).
That’s a totally unrelated part of the stack. These days you just have a compositor that combines the output of applications.
The model of out of process rendering in Xorg was done pre-2000s but GPUs became the norm and don’t work well this way.
The model of out of process rendering in Xorg was done pre-2000s but GPUs became the norm and don’t work well this way.
Thats where we get into explicit and implicit sync right?
Also very unrelated, that’s about graphics apis like opengl.
The job of the window manager is to manage windows and very little else. Font rendering is done by the widget toolkit, usually via freetype/harfbuzz.
Sppeeed
Think about battery life too 🎉
Same reason you need it for your terminal (see kitty terminal). It’s surprisingly slow to cpu render text, gpu rendering is more power efficient and far more responsive
Surprisingly slow compared to GPU rendering. But… is it really “surprisingly slow”? If it was some 10mhz machine, then sure… I’d agree with you.
Look at the benchmarks on kitty https://sw.kovidgoyal.net/kitty/performance/
Maybe I’m missing something, but shouldn’t the benchmark be a good approximation to the real workload? I don’t see how the measurements reflect the performance difference in real life usages.
Why would I need 100MiB/s processing as opposed to 20MiB/s processing, when I can only read maybe several lines per second?
Faster processing means more efficient processing which means less power draw.
https://github.com/kovidgoyal/kitty/issues/2701#issuecomment-911089374
How about keypress latency? Over 3x faster than gnome terminal and 4x faster than alacritty
Same reason you need it for your terminal
So I don’t.
It was surprising how gpu accelerated rendering helped read logs better. Niche case, but better was better.
Better in what sense?
More readable on my part. The speed at which logs could write to the screen and still be readable was faster for me compared to before.
Interesting! I’d like to experience this at some point.
I mean, it should be clear. Smooth and fast and snappy. If you don’t want that, use neovim like me :)
But… Neovim is smooth, fast and snappy 😭
Terminals applications are, by definition, not smooth. You can’t have smooth scrolling, or anything else really, with a text grid.
Hold down
j
and lmk how smooth it is 😅😭😭😭
I never understood the need
It’s not you who needs it.
It’s for buzzword chasers and cost cutters.Rust (=> fast and hip)
Shared (=> outsourced)
AI generated (=> robot devs)Get it?
The Rust hype at least makes sense. The other two are just utter bullshit.
The Rust hype at least makes sense.
In technical context, yes. I’m a Rustacean myself.
In business/marketing context, …
Vscodium but not running in a browser.
VScodium is running in the browser. It is electron based.
Zed is native
If it can’t run in a terminal, what is the point?
gpu accelerated editor with remote development > terminal editor
There are gpu accelerated terminal emulators… Not sure what you mean by remote development though.
remote development for connecting to a machine without a display server; basically covering the main use case for being constrained to a terminal.
Remote Tunnels in VS Code or JetBrains Gateway for example
I do use a GPU accelerated terminal, but it’s still very limited compared to a GUI; they serve different goals.
There ought to be a rule that posts about software releases have to say what it is.
My bad, it’s up now
Zed (a high-performance code editor announced in 2022), not to be confused with Xed (a small and lightweight text editor released in 2016)
EDIT: or Yed (a small and simple terminal editor core)
I still do not understand why Zed makes such a big deal about being GPU accelerated when you’ll be hard pressed to find a single text editor nowadays that isn’t.
Yeah, I don’t see why I should care about that. Gimme some crazy graphical effects, particles and shaders!
Interesting project, how ever it will be hard to compete with existing editors and its plugin eco-systems.
I don’t think so. The guys who write the plugins are the cracks and the cracks will use zed.
It supports LSPs, and has treesitter syntax highlighting and git integration which honestly makes it 90% of the way there already
Vim keybindings or death
It has those as well
Great!
Ohhh shiiit
Zed seems cool, but not much better than other options. I am still kind of thrown off by the immediate GH/CoPilot integration. Am I the an old man left in the caves of feeling that I don’t need the AI help?
They’ll probably dial it back once the hype settles
also seems to have some security issues …
They are addressing this here: https://github.com/zed-industries/zed/pull/14034
Thats not the point. Why should you trust anything from this project after they would allow third party unsigned binaries from questionable sources
Because people can make make mistakes…
Loads of important projects have had vulnerabilities that showed up through minor mistakes and oversights. I agree that this shouldn’t happen, but it did. I’d still prefer this project to a closed source editor/IDE and even VSCodes method of having a store full of plugins, many of which are closed source and unverified. The project is in alpha, mistakes and problems are expected. This was obviously an oversight, and after being pointed out, it is being addressed.
Can you elaborate on questionable sources? All the sources I saw were the official sources of the binaries they wanted to download.
Deliberately making your program download unsigned binaries from questionable sources is more of a bad design than an oopsie in my book
Again, the binaries aren’t from questionable sources. From what I can tell they all come from the official source. The problem is them being unsigned, which is a simple oversight that can be made when something is being written by someone who is not security minded. It is alpha software and this is already actively being discussed.
Lmao fuck this project
What’s that?
Integrated Development Environment (IDE) from the makers of Atom. It is written in rust.
Thanks. I briefly used Atom (on Win) but stopped as it was terribly slow to startup.
What is the software license for Zed? It’s Github page isn’t clear.
The code for Zed itself is available under a copyleft license to ensure any improvements will benefit the entire community (GPL for the editor, AGPL for server-side components). GPUI, the UI framework that powers Zed, is distributed under the Apache 2 license, so that you can use it to build high-performance desktop applications and distribute them under any license you choose. https://zed.dev/blog/zed-is-now-open-source>
Zed is not an IDE, it’s a code editor. No, they aren’t the same things, it’s like saying a table and a kitchen are the same thing.
This distinction is not as meaningful as it used to be before LSPs; there’s little a PyCharm IDE can do that you can’t do in VS Code editor for example.
You are right, stand corrected.
Oh man I LOVED Atom. Giving this new one a test drive now :)
I think Zed is quite different from Atom. But Pulsar might be your thing. A direct fork of the last release of Atom being developed by ex Atom developers :)
Just to clarify, the Pulsar devs aren’t ex-Atom devs. Some of the team are from atom-community but none of the core Pulsar team were part of the official Atom team.
Oh, interesting. In that case I misunderstood that part, I thought there were core devs of Atom involved in Pulsar, thanks :)
Watch this space for the full history, I’m literally putting the final touches on a blog post that will go into details of how Atom started then how it became Pulsar as a little celebration after we hit 3k stars.
I just mean that I liked the work that the devs did on Atom, which makes me want to try this one out too
New Editor, by Atom Devs, Rust
Editor, Atom, Rust
EAR