| ▲ | legends2k 9 hours ago |
| Why not Python? I primarily program in C++ but I see it as a decent choice as Python is available in almost all recent machines. Of course Windows is a notable exception but given it's a tool for developers I guess Python should be present. |
|
| ▲ | IshKebab 9 hours ago | parent | next [-] |
| 1. Terrible performance. 2. Terrible installation UX. The number of issues we've had with pre-commit because it's written in Python and Python tooling breaks constantly... In fairness, the latter point may be finally solved by using `uv` and `uv tool install`. Performance is still a major issue though. Yamllint is easily the slowest linter we use. (I'm tempted to try rewriting it in Rust with AI.) |
| |
| ▲ | mcswell 2 hours ago | parent | next [-] | | > 1. Terrible performance Performance only matters if you're doing something compute- or disk-intensive, and then only if the libraries you're using are Python all the way down. (AI programming, at least the kind that most of us do--I don't know about places like OpenAI) is generally done with Python using libraries that use some compiled language under the hood. And in this case--a linter--performance is almost certainly never an issue. | |
| ▲ | turtlebits 2 hours ago | parent | prev | next [-] | | Then remove it? There's always tradeoffs adding tooling - I'm assuming you have it in your workflow to catch downstream issues because it saves more time in the long run. | |
| ▲ | viraptor 7 hours ago | parent | prev [-] | | It definitely is a problem when the tool you're going to use a few times a week takes an extra hundred milliseconds compared to a native solution. Especially when you need to process huge data files like hand crafted makefiles. I can totally feel your pain - extra effort would've been made to avoid that at the cost of development speed. /s | | |
| ▲ | justinrubek 5 hours ago | parent | next [-] | | I find that writing anything substantially complex in python sacrifices the development speed. That isn't its strong suit. It's that a lot of people want to write their code in it by preference. | |
| ▲ | IshKebab 5 hours ago | parent | prev [-] | | Yeah if only it was an extra 100 milliseconds a few times a week. We have yamllint (also written in Python) in our pre-commit (also written in Python) and it definitely adds a second or two. Also format-on-save is a common workflow. |
|
|
|
| ▲ | smusamashah 7 hours ago | parent | prev | next [-] |
| Terrible portability across platforms specially with dependencies. |
|
| ▲ | kiitos 3 hours ago | parent | prev [-] |
| `pip install ...` is not a reliable or appropriate mechanism for distribution of any kind of tool like this one. Table stakes is pre-compiled architecture-specific binaries. |