This is software that requires you to read a manual, if that's too straining for you maybe pay someone for a fork with fragments of the manual integrated into the software?
The software obviously did a specific check that failed, but added no context as to why. Like a boolean isValidName() function. You're already doing checks, you know why it failed, tell the user. Even in fuzzy terms is more helpful than pass/fail.
Now, if the error said something to the effect of 'name must be uppercase' and the user was confused or complaining, I'd be more inclined to agree.
If it's too big a hurdle to read the manual you'll never manage to use it for its purpose. Is this a threat to you somehow? In what way?
Do you have the same opinion about ripgrep?
$ rg 'function('
regex parse error:
function(
^
error: unclosed groupAnd that’s what people say BeeBase should do here too.
Something like:
Error: invalid name: must start with uppercase letter
Not some obtuse message that you have to go look up in a manual for no reason
It worsens the UX for no reason.
As a sibling comment said, the program already knows why the name was invalid. It would have cost nothing to surface the reason when reporting the error.
Like knowledge of the regex language, or having spent ten minutes skimming through the tutorial part of a PDF manual.
In my experience, how to use a manual is a technique more widely understood than regex. Maybe this impression is wrong, I'd welcome something tangible pointing in another direction if it is.
As a user you know the basic constraints on table names, if you don't you can't use the software.
If your users are developers, then this mindset will inevitably lead to poor developer experience (DX). That is a stance that someone could take, but their software would be then only used in spite of the DX, not because of it. In general, this would lead to a more miserable experience. I don't think that's good, even if it's just a lot of small annoyances along the way.
Here's a Dylan Beattie talk that touches upon this very thing: https://youtu.be/BIkXid_pBiY?t=629 (specific timestamp to relevant bit)
1) As a user you shouldn't be required to know weird constraints on table names.
2) As a piece of software objecting to some specific issue with a table name, YTF not mention what that issue is in the error message you throw up?
SELECT * FROM logs WHERE KEY = 'blah' LIMIT 10;
/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'KEY = 'blah' LIMIT 10' at line 1 */
I think there is some expectation of technical literacy for the use of a database. This would include being able to familiarize yourself with naming conventions and keywords.
I have personally never seen a database that gives detailed error messages like was requested and I'd be excited to see an example.
I just logged into Grafana and tried writing a simple query. Upon failing I got a reasonably detailed and specific error message: 'parse error: expected type range vector in call to function "rate", got instant vector'.
I also tried XQuery in Xidel and it gave me nicely descriptive responses to whichever mistakes I introduced.
And, at the end of the day, this is a free open source piece of software. The experience could be improved, definitely, but nobody owes it to anyone to do so and it’s important to remember that as well.
You could argue that's not their intent or that it's the case of direct wording than intentionally being curt, but this is the second post in the chain that dismisses the legitimate discussion with additional redress to make sure you let the poster know that it's their problem "punching at shadows" and that their problems are imagined. What a shameful display of lacking empathy.
If you are seriously interested in BeeBase you'll be spending hours learning the basics of the Lisp-dialect and GUI toolkit, getting a hangup on that error message means you don't have that kind of interest. Maybe the empathy got in the way of that, I don't know.
And let's say someone makes a patch that implements a new error message that specifies which of the two rules regarding table names has been breached, then what? More complaints about the next quirk? Some other error message? Begging for a Lua-implemented query language because parens lost the syntax wars of yesteryear, describing it as miserable that it isn't already integrated?
Yes, this is how software development is done, assuming you like your customers.
It's not the commenters above that complained about the error message, they aren't users and highly unlikely to ever become users. Instead you've brought in some unspecified other for unspecified reasons.