Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is great news! I know Obsidian uses CodeMirror 5 on desktop while using CodeMirror 6 on mobile, maybe the stable release will make them unite the versions again so 6 runs both on desktop and mobile? Would make life easier for writing plugins.

On a unrelated note, this irks me slightly:

> CodeMirror 6 is a new code editor library for the web, a from-scratch implementation

Why not just call it something different at that point? It's essentially CodeMirrorNext v1, if everything has been reimplemented from scratch and all the API interface intentionally changed.

That way there won't be any confusion what editor API you talk about when you say "CodeMirror". Instead, we now have to ask follow up question "Version 6 or older though?".

This seems to happen in a large part of the ecosystem. React Router for example has gone through a lot of API churn, where basically the first three/four versions of React Router all look different, and should instead have been just three/four different libraries instead of versions.



If Python 3 was just named Cobra 1, I guaranteed that Python 2 would have been “forked”

Increasing the version is a straightforward way to say “n is outdated, use n+1.” As a publisher I don’t want to start a new project with zero followers, especially if the project does the same exact thing my previous project did, just better.


> As a publisher I don’t want to start a new project with zero followers, especially if the project does the same exact thing my previous project did, just better.

Yeah, that's a good point and a lot of API interface churn we're seeing in the ecosystem makes sense to me now. People don't want to lose their social clout.


Would this have applied to, say, Perl 6 vs Raku?


The second tip is to have the next version finished within 20 years of the previous one.


FWIW, Perl 6 was released in 2015, so roughly 15 years after the original announcement.


I assume you mean Perl 5 vs Perl 6 ?

One could argue that that is exactly what happened in 2008, when the "sister language" meme was introduced. At that time, the Perl Porters basically abandoned all support for Perl 6 and started developing on Perl 5 again.

So development of Perl 6 basically fell back on just a handful of people, on the Parrot backend, which became less and less acceptable for Perl 6. And then people still wonder why it took so long?


Angular 1 seems like a quaint memory


> Obsidian uses CodeMirror 5 on desktop while using CodeMirror 6 on mobile

Obsidian Live Preview is CM6 on desktop afaik?


This is correct, Obsidian uses CM6 on all platforms.

A CM5 based editor is still available as "Legacy Editor" in the settings on desktop, to support older plugins.

Mobile was always using a CM6 editor, while desktop only got CM6 some time after that. Which is probably the source of the confusion.


> That way there won't be any confusion what editor API you talk about when you say "CodeMirror"

Perhaps, but that's not new. IIRC all major version bumps of CodeMirror have essentially been full rewrites.


I was only involved in one major project that relied heavily on CodeMirror since version 2.something. I participated in moving the project from version 2->3 and 3->4 (but not 4->5 which someone else did), and for those moves, the editor API didn't change very drastically as far as I can remember. Maybe the 4->5 migration was bigger?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: