What does HackerNews think of ace?

Ace (Ajax.org Cloud9 Editor)

Language: JavaScript

I didn't say Node.js devs are idiots. My argument is that Node.js devs only knows Node.js and sees everything as a nail. You are projecting that that equates to idiocacy, and I won't argue.

> "How do you plan to access the thriving JS / NPM web ecosystem from another language ecosystem entirely?"

For our project, a search engine with interactive filtering capabilities, we don't plan or need to. With SSR, most logic is already handled by the server. This is a CRUD app. The set of libraries available in NPM that we might be interested would be a handful to zero. If it's that critical, we can just add a script tag. If it's a useful abstraction, it should be available on CDN. If it's not, and it's not succumbing to dependency hell, we can just copy and paste from NPM or Github. The JavaScript aspect is to add interactivity, and that's available thru DOM APIs and VanillaJS. NPM is besides the point.

I exit here because you're going in a circle presuming that it's not feasible to build web applications without Node.js' "thriving" ecosystem. Amazon, Google, and so many other apps precede Node.js. I shipped JavaScript-enriched web applications at a few of those companies without having to use NPM as the package manager.

Here is one of the most powerful text editors for the web (I've load tested that it can handle 80million+ line buffers, whereas VSCode edges out at <5million natively): https://github.com/ajaxorg/ace. It's a pretty complex JavaScript application but you can develop without ever needing to "build". They use NPM to run tests and some devtools like Eslint, but we've still managed to minification/bundling in Go.

I'm building a JavaScript-based text editor, too. Taking inspiration from Ace.js, it uses Makefile to "build". You can just run a static file server such as Python SimpleHTTPServer to host all the files in the directory. I still have and componentized HTML/CSS that are lazy-loaded, separated JS files, thanks to <500 bytes VanillaJS runtime based on HTMX. I do reach for libraries. For that, I look to https://js1k.com/ for inspiration. The libraries there have zero-dependencies. Their source code all fit in screen and I can just copy the relevant bits. This is very similar to pulling in dependencies in Go in that it's humanly possible to do a supply chain security audit, unlike the nature of NPM packages. Currently the text editor with handwritten VanillaJS + copy-pasted libraries can handle 120+ million line buffers.

Serious apps and businesses can be built without NPM. Inferring from HackerNews' JavaScript source, and the fact that it's written in Lisp, I doubt HN uses NPM. This doesn't stop HackerNews from being useful and valuable.

I'm someone who also writes code for a living. Linux and MacOS are my primary OSes (in that order). I've used Windows, but only sparingly.

I've written a lot of C, a lot of scripting languages, and a bit of C++. I've used many IDEs.

For me, the "command line" workflow of Makefiles, vim & gdb are really, well, great. When I was a graduate student, I did a lot of pair-programming with a vim wizard who showed me just how insanely fast one can be with it -- it's small, but extensible. Sufficiently intelligent that you can open a 10 GB+ text file in it, jump to a certain line, make a change and exit; all before VS/VSCode would have opened. It's an add on to an IDE. Sometimes, for me, it replaces it.

I've never ever felt the need to use VS, or VSCode. I know other devs love VS for C++, but I love vim – VS feels like a big, bloated IDE where you have to memorise the location of 4e6 different GUI positions and take your hands continually off the keyboard to do anything. Intellisense (and, to a lesser extent, Windows as a whole) deeply irritates me. Vim has a weird, esoteric language with a learning cliff rather than a learning curve -- but I've used it almost from day one. It lets me feel incredibly powerful; it's light, yet has more features than I will ever need.

You and I are different. We've got different interests, different application areas in mind, and different preferences for how to write code and debug it. And that's okay! The key to being productive is accepting that people are different, work differently under different circumstances, and have different strengths, skills, and preferences. It's much better to be accommodating of them, rather than stifle them, and leave a proportion of your staff frustrated.

I'm just very slightly peeved that your preferences are being chosen by Github as a defacto default $EDITOR, but that there is no option whatsoever for mine – despite the fact that javascript vim / emacs "modes" are recognised as being almost religious, with highly developed FOSS javascript libraries nearly offering both keybindings and an implementation for either editor at a click of a button [e.g. 1] that have been around for >10 years.

On top of that, I can't help but notice that Github is usually very accommodating with individual developers' preferences -- to the extent there are often multiple ways of doing things as a result. The fact that, now, both Github and VSCode are both Microsoft products -- and that Microsoft famously likes people to use its "infrastructure", which is often orthogonal to the rest of the world -- just makes a little tiny bit of me feel like this is a change being pushed upon us, as originally explained in their "Embrace, Extend, Extinguish" strategy. I get it, it's a neat feature in beta, and it'll directly benefit some large proportion of their users. But if they're going to deploy fully equipped editors to the web, I'd like to have the ability to chose mine -- and give you the freedom to choose yours. I can't help but think that if this feature was developed prior to their acquisition by Microsoft, it wouldn't be VSCode that was deployed.

[1] https://github.com/ajaxorg/ace

This doesn't make sense? The editor is open source. You can install it on your computer right now. They even provide instructions on how to do it.

https://github.com/c9/core

They can implement it without buying the company.

Even if the license doesn't allow it, the license for ACE surely does and ACE is the meat of the editor.

https://github.com/ajaxorg/ace

Maybe they want the team because they want to move the product in a certain direction? I don't know.

Is it suitable for WYSIWYG or a plain text & source code editor? Does it originate initially from Mozilla's Ace text editor? https://github.com/ajaxorg/ace The name changes are a bit confusing (Mozilla Bespin -> Skywriter -> Ace ->(?) Atom -> Electron).
I am using Cloud9 https://c9.io for Node.js and they are the people behind Ace which is the editor that cloud 9 uses. You can check out Ace on GitHub here: https://github.com/ajaxorg/ace/ or here http://ace.c9.io/
Nice!

A couple more things I noticed after a short play around:

* It's not obvious how to (or maybe even not possible) to find a list of your published guides.

* It's not obvious how to (or maybe even not possible) to delete your published guides.

* You have to publish your guides right away, I doubt anyone wants to read my first draft.

* Your source code editor does not accept tabs which means everything has to be copied and pasted in. Have you though about using something like ace? https://github.com/blog/905-edit-like-an-ace / https://github.com/ajaxorg/ace

Can anyone compare this to Ace [1], if you've used both?

1: https://github.com/ajaxorg/ace

Bespin merged with "Ace" - the new project is at http://ace.ajax.org/ or https://github.com/ajaxorg/ace.

As an aside, I was sad to see Bespin go. It used canvas for rendering, while Ace uses the DOM. While the Ace team had good reasons for this, Bespin just looked so.. pretty..

Absolutely Awesome! One more thing is needed, however. The ability to be able to save the modified sources to the server (with appropriate security of course, dev-env only). Also the ability to fetch the server sources from the server, if e.g. I'm running a Node.js and I want to debug and edit the JS in Chrome - along with the client side JS, side by side.

The close we programmers are to the "living code", the better. The file-watching, auto-reloading and re-executing BDD's (or TDD's, etc.) like vows (http://vowsjs.org/) get pretty close to it, but it's not the same.

When I'm coding a function, I want to be able to run it anytime (when the syntax is OK of course), and in the environment of my program.

Great stuff. Also similar in-client code editing efforts, Firefox: https://github.com/Gozala/sky-edit, general: https://github.com/ajaxorg/ace

The the ACE editor behind cloud9ide.com seems to be undergoing pretty active development (https://github.com/ajaxorg/ace).

There is also a vim mode under development. https://github.com/Gozala/vice

Yep, and they did it well!

Here is a demo if you are interested: http://ajaxorg.github.com/ace/build/editor.html

And here is the GIT repo:\nhttps://github.com/ajaxorg/ace

Notice the last commit was only hours ago, so its still quite active

How will this be different?