DEV Community

Discussion on: A Crystal app adventure!

Collapse
 
moopet profile image
Ben Sinclair

We have the project with the Git repository already initialized and with a basic .gitignore

Why would a language assume you were using one particular type of VCS? There's opinionated, and there's presumptive. I've never tried Crystal, but that bit puts me off it.

Collapse
 
franciscello profile image
Franciscello

Hi Ben! Thanks for reading and comment! I understand your point of view, but I think that the language gives us an initialized repository just to make our life easier. Git is a free and open source VCS and one of the most used, so I don't think the language is doing any harm. In case we don't want to use it, we can remove (rm) the repository folder and that's it!
Perhaps in the future there are more options (?) 🤷‍♂️
Anyway, I hope that that bit didn't put you off it and you keep trying the language! 😃

Collapse
 
exts profile image
Lamonte

Crystal is open source, feel free to fork and add support for other VCS's - git's popular right now and so they went with that as the default. You're not forced to use the commands and you can easily delete the .git folder if you do.

Collapse
 
moopet profile image
Ben Sinclair

I'm aware you can remove it - I just think it's a bad practice to include things that aren't part of the purpose of the product. Facebook is popular, but I don't feel like including a facebook oauth library in my calculator app.

Collapse
 
straightshoota profile image
Johannes Müller

Git is the backbone for Crystal's dependency manager shards. If you want to make your project available in the Crystal ecosystem, there's no way around git.

So it's not just an opinionated choice but a functional requirement. Of course, when shards supports other distribution systems as well, this might need a revisit.