Hi fellow Crystalists,
The language grammars for Crystal on GitHub are quite outdated, I’ve raised an issue about it but it seems the Crystal Lang Tools organisation is inactive (except for poor renovate bot). Is there anyone that can confirm this? And if so, what can be done about it? As well as the language grammars, the organisation is home to the vscode extension, LSP shard and other tools which haven’t had much love in some time and could do with some much needed updates.
As far as I know this org isn’t officially maintained and is/was primarily supported by the community. Solution would probably be getting some new active people added to the org to contribute/review/merge/release changes to the various repos if they are so interested.
Is there any chance to “lift” the LSP at least into the core of the Crystal distribution/development?
I feel like an LSP is really a very important piece of any language today.
Given the current workload and road map, I wouldn’t bank on it. That would imply that the LSP implementation is officially supported and maintained, which just wouldn’t be true. I know @asterite was helping out a bit (Is this project active? I have some ideas · Issue #53 · elbywan/crystalline · GitHub), but in a more free time capacity.
DISCLAIMER: This is only my analysis, not an official core team response.
I don’t think relying on the community for things as trivial as LSP and editor support was the right move here, especially given that Crystal’s community is not the largest (although continuously growing), and has been Unix-focused up until recent developments…
It would be nice to have a response from the org members, specifically regarding the organisation’s management and information for potential future contributors/maintainers.
Crystal has been affected a lot by non a official LSP support for a long time, it seems that this is still not the focus of the current core team work, I admit they may not have enough time, resources, but this prevent the junior programmers from adopting greatly, AFAIK.
The current role of this language is just a tools of dream for senior programmers, though, i admit, when you familiar with this language, the biggest problem is compilation speed, The LSP is dispensable instead, but, as i said, non-LSP support for a static-typed programming language prevent newcomer join in is the BIG issue.
CC @bcardiff and @faustinoaq.
Please keep in mind that this post is not just for the LSP shard, it is for all the projects in the organisation. This post was originally highlighting the issues with the syntax on GitHub which should be addressed first and foremost, as well as the maintenance of the organisation.
Reinforcing the discussion, from the point of view of those who want to adopt the language in a company, the tools are essential. Crystal is a beautiful language, which I see enormous potential, and it’s mature enough for adoption. But what prevents it is the lack of tools. How to justify in my team that they will have to use the IDE without help. That everything will be broken on compilation, that it’s still slow, and that many things will have to be done by hand? The focus of development is totally on language design, but what makes a language successful in my view is the platform it is capable of delivering. I know that a large part will depend on the community. But if the barrier to entry is too high, adoption doesn’t happen. I’ve been following the development for years and I realize that adoption is very slow, in my view due to the lack of basic tools. Forming a community from inexperienced people can be the biggest asset of growth, as with JS and Node, because JS had a very low barrier to entry. I recognize the exceptional effort that the team that works on crystal makes to build this language, but if you have the objective of spreading its use, think more as a platform and less as a language. Because with the current AI helping, language will be the least.
I created a different topic about this here but I’m willing to become a maintainer for crystal-lang-tools. Tooling around a language is really important, and I want to improve that experience, for myself and everyone else.
It seems like for now, Crystal’s tooling will have to be developed independently, then maybe in the future things can me housed under the Crystal Lang Tools organisation.
In the following days we’ll be performing a cleanup of the org and reach out to old and prospective candidates to continue maintenance of the relevant repositories in the org.