• uid0gid0@lemmy.world
    link
    fedilink
    arrow-up
    108
    arrow-down
    3
    ·
    edit-2
    4 months ago

    runs only on MacOS

    And

    get it into the hands of millions of developers

    Seems contradictory

    • expr@programming.dev
      link
      fedilink
      arrow-up
      28
      ·
      4 months ago

      Yup. Especially since it’s written in Rust… Like why? Rust has a great cross-platform story.

      • priapus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        13
        arrow-down
        1
        ·
        edit-2
        4 months ago

        they’ve written a custom GPU framework to achieve the performance the level of performance they have. it’s currently only compatible with macos, but is being ported to other operating systems.

        • SorteKanin@feddit.dk
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          4 months ago

          Why in the world wouldn’t you just use Vulkan? Then it would still be portable to other platforms with probably still good performance, no?

            • SorteKanin@feddit.dk
              link
              fedilink
              arrow-up
              3
              ·
              4 months ago

              If their framework is using Vulkan, why is it not compatible with anything but MacOS? Isn’t the point of Vulkan that it’s cross platform?

              • priapus@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                2
                ·
                4 months ago

                It’s not fundamentally incompatible, they just haven’t written the code to make it compatible yet. GPU frameworks need a lot of OS specific code, so it will take some time for them to make it run perfectly on Linux.

              • priapus@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                4 months ago

                My bad, I was referring to the new Linux implementation which is using Vulkan, which was not clear. The MacOS implementation only supports Metal, as MacOS does not support Vulkan natively. I assume the Vulkan implementation will also be what is used for the Windows build.

    • priapus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      2
      ·
      edit-2
      4 months ago

      runs only on MacOS for now

      it will be released on both Linux and Windows, with Linux support currently being the top ranking issue on their GitHub page. they have a tracking issue showing that many pr’s have already been merged working towards Linux support.

    • Mischala@lemmy.nz
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      I guess if you are committed to supporting a hard to support platform, may as well get it out of the way first?

      But yeah, seems like a pretty poor release.

    • Rimu@piefed.social
      link
      fedilink
      arrow-up
      48
      arrow-down
      2
      ·
      4 months ago

      They wrote their own GUI toolkit (oof) and it’s hardware accelerated (argh), so OS portability is going to be unusually difficult unless they planned for it from the beginning. No mention of that in the article, so I doubt they did.

      • hypertown@lemmy.world
        link
        fedilink
        arrow-up
        23
        ·
        4 months ago

        They already have very experimental Linux support. You have to build whole app yourself though. I’d say that in month or two we’ll get a binary. You can track Linux porting progress in this issue

      • Carighan Maconar@lemmy.world
        link
        fedilink
        arrow-up
        16
        ·
        4 months ago

        I mean on the one hand, the hardware acceleration is awesome. The GUI toolkit is not of course (I assume MacOS has a default one to make everything look like it belongs?), but at least they made it look like a native app instead of the usual electron shit where it’s clearly a web page with a window border and some design 15y old me might think is cool but 16y old me would already have been ashamed of.

        • Ephera@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          As I understand, GUI toolkits will usually support various widget styles or “Look and Feels”.
          So, they can just use a glossy graphic for a button on macOS and a flat graphic on Windows 11, without having to reimplement the whole application in the native toolkit. It will usually not feel entirely native, but at least, it won’t look out of place…

        • heyoni@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          Didn’t treesitter come from the Atom editor? These guys always take things really far so this isn’t surprising.

        • abhibeckert@lemmy.world
          link
          fedilink
          arrow-up
          6
          arrow-down
          4
          ·
          edit-2
          4 months ago

          Because GTK is designed for GUI software, and this is a text editor. Almost everything is text - it’s got more in common with Vim than Gedit.

  • tunetardis@lemmy.ca
    link
    fedilink
    arrow-up
    15
    ·
    4 months ago

    I tried it briefly. It certainly is a lot snappier than Atom ever was, I’ll give it that. Seemed to be pretty good with Python, but when I opened some C++ source, it went around reformatting my indentation and replaces tabs with spaces. I will have to see if there is a way to disable all that, as I found it obnoxious.

      • tunetardis@lemmy.ca
        link
        fedilink
        arrow-up
        7
        ·
        4 months ago

        It was more than just tab conversion. For example, it decided on its own that:

        if(...) {
            ...
        }
        else {
            ...
        }
        

        would look better like:

        if(...) {
            ...
        } else {
            ...
        }
        

        I mean I guess I could live with that, but really? I imagine there’s some config where you can disable all this, but it just doesn’t seem worth some giant git commit every time I touch a file with the editor.

        • Flipper@feddit.de
          link
          fedilink
          arrow-up
          3
          ·
          4 months ago

          My guess is that it has that default because they use Rust. Everyone uses rustfmt so everything looks the same and if you always format before a commit you never get massive diffs.

          Most rust projects I’ve seen even have a ci job to check the formatting with rustfmt.

  • Pika@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    edit-2
    4 months ago

    Honestly even if they had coded this to anything other than MacOS I wouldn’t use it, I’m not too keen on learning a software that’s developed by a team that archived their previous project, given how popular atom was when they decided to archive it it concerns they could just do the same with this one.

    • Daeraxa@lemmy.ml
      link
      fedilink
      arrow-up
      10
      ·
      4 months ago

      On the plus side, the fact they stopped Atom development has allowed our community fork of Pulsar to flourish and it has seen loads of active development over the last year. I do find it hard to blame the original team, it was clearly a Microsoft thing to make sure they put all focus on VSCode.

  • milicent_bystandr@lemm.ee
    link
    fedilink
    arrow-up
    10
    ·
    4 months ago

    Shout out for Lapce.

    I remember reading a bit about this (from Atom) a while back and having iffy feelings… I don’t wish to slander based on vague memories but certainly at the time I hoped Lapce would catch on instead.

    It’s still in development, but has a handful of aspects that I really like as the right way to go about things.

    https://lapce.dev/

  • cozy_agent@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    4 months ago

    Nice, been finding vscode more and more laggy after each update, so hopefully this is something to replace it with at some point.

  • matcha_addict@lemy.lol
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    How did Zed get so much publicity? Do they happen to have a lot of funding or something? I’ve seen a million of these posts and I’m just really uninterested, as does a big portion of comments I see.

  • nyakojiru@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    9
    arrow-down
    21
    ·
    4 months ago

    It’s strange because how much “powerful” or “high performance” a code editor needs? It’s just , a code esitor you can code in notepad lol

    • Pyro@lemmy.world
      cake
      link
      fedilink
      English
      arrow-up
      43
      arrow-down
      1
      ·
      4 months ago

      You can code in Notepad in the same way you can eat off the floor with your hands. Using better tools is a nicer experience.

      As for performance, when one of the world’s most popular editor runs on Electron, it’s not that hard to see why performance could be an issue when working on large projects on older hardware.
      I’ve never personally had an issue with VSCode’s performance, but I’m also fortunate enough to be in a position where I can afford a relatively modern machine. Many others have to make do with what they have, which is why Zed might appeal to them.

      • Jelloeater@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        I mean, I rock JetBrains for a lot of stuff. It’s a pig on resources, but man does it have a great feature set.

      • azertyfun@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        Electron has other drawbacks than performance as well.

        The big one for me is that my workflow is based on vim, where you split tabs into buffers. There is no way to split a tab into windows in VSCode. Only windows into tabs, which is super dumb and annoying because related files are never shown together unless you click a bunch of tabs. Apparently the reasoning for this insane behavior is “yeah well electron is based on chromium so tough luck we can’t do shit”.

        • spartanatreyu@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          What do you mean by:

          There is no way to split a tab into windows in VSCode.

          Do you mean, drag a tab out of a window to create a new window? Because if so, you can do that in vscode.

          • azertyfun@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            4 months ago

            No, literally have one tab with multiple windows inside it (the default for vim).

              tab 1  |   tab 2   
            w1 | w2  | w1 | w2
            w3 | w4  |    w3   
            
            • spartanatreyu@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              I’m assuming for your example that only one tab is shown at a time?

              In that case, you can do that in vscode, the only difference is the semantics of what is considered a “window”, and what is considered a “tab”.

              To do this in vscode:

              Have one window with four panes, and another window with three panes:

                                       
                      Window 1         
               ┌──────────┬──────────┐ 
               │          │          │ 
               │  Pane 1  │  Pane 2  │ 
               │          │          │ 
               ├──────────┼──────────┤ 
               │          │          │ 
               │  Pane 3  │  Pane 4  │ 
               │          │          │ 
               └──────────┴──────────┘ 
                                       
                      Window 2         
               ┌──────────┬──────────┐ 
               │          │          │ 
               │  Pane 1  │  Pane 2  │ 
               │          │          │ 
               ├──────────┴──────────┤ 
               │                     │ 
               │       Pane 3        │ 
               │                     │ 
               └─────────────────────┘ 
                                       
              

              You can then switch between your windows (or “tabs” in your example) by keyboard shortcut.

              In vscode, you can make the Panes different files, or even different views of the same file.

              • azertyfun@lemmy.blahaj.zone
                link
                fedilink
                English
                arrow-up
                1
                ·
                4 months ago

                You mean a whole different window at the OS level? That’s just a way inferior hack to the way vim does it by default.

                I’ve found an issue from 2017 about it and this related one that focuses more specifically on supporting vim-like behavior. This is just, fundamentally, something that VSCode doesn’t implement simply because of technical limitations. The extensions that attempt to recreate this behavior are apparently all quite janky.

                I mean I don’t care, I’m very happy with vim now. But the terribly naive tab support is the reason I left vscode for vim initially. People who have only known “vscode-like” tabs don’t know what they are missing out on.

                • spartanatreyu@programming.dev
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  4 months ago

                  You mean a whole different window at the OS level?

                  Yes, that way I could switch between windows in a single shortcut, or even place them side by side so I can see both at the same time with other shortcuts.

                  That’s just a way inferior hack to the way vim does it by default.

                  Can you explain this more?

                  Why wouldn’t you want window management to be managed by the window manager?

    • fruitycoder@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      I’ll be honest it was surprising how much nicer using GPU accelerated terminal was for me.

      If you are in a ui enough snappyness is a nice to have for sure.

      That said this is an IDE not just a text editor, the automated tools is what sets the apart.

    • learningduck@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      I could notice the slowness of Atom when I compared it to VS Code. Sublime is also noticeably faster than VS Code, but the gap doesn’t feel so wide that I want to jump the ship.

      I think it depends on the number of characters in the file that make the difference more noticeable.

    • NotSteve_@lemmy.ca
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      4 months ago

      You can really see the difference between opening VSCode and Zed, even more so if you compare it to something like JB’s Fleet editor.

      To be fair, it’s not the easiest to compare right now since Zed is lacking a million features of Code, but if all the work they’ve done keeps it as fast as it is with features like user extensions it will be well worth it.

      I usually have ~10 different VS Code windows open at a time (yay microservices ❤️), so having something as fast as Zed would be really appreciated.

    • Carighan Maconar@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      Yeah like Atom or VSCode this is more a half-IDE in concept. Assuming it gets enough support it’s somewhere between a text editor (but will be more sluggish than pure text editors and struggle with very large files but then you ought to have specialized log viewers for that anyways) and an actual IDE (but have only limited IDE features).