Hacker News new | past | comments | ask | show | jobs | submit login

I remember when people used to argue about regex being bad or good, with a lot of low quality regex introducing bugs in codebases.

Now we have devs asking AI to generate regex formulas and pasting it into code without much concern on its validity.




Regexes are easy to test.

Bad developers do bad regexes, regardless of whether they used AI.


How do you test a regex to be 100% sure it's valid? I don't think it's possible.


If it's using classical regex, without backtracking or other extensions, a regular expression is isomorphic to a state machine. You can enumerate combinations doing something like this: https://stackoverflow.com/a/1248566

kids these days and their lack of exposure to finite automata


- Vehicle steering is easy to test.

- How so? I don't think it's possible to test for all cases...

- Well, it's easy, assuming a car on a non-branching track, moving with a constant speed and without any realistic external influences on it, you can simply calculate the distance traveled using the formula s = v/t. Ah, I wish I'd stop running into fools not knowing Newton's first law of motion...

- ??? Are you well?


I understand you want to refute/diminish the parent comment on finite automata, but I think you are providing a straw man argument. The parent comment does provide an interesting, factual statement. I don't believe finite state automata are at all close in complexity to real-world self-driving car systems (or even a portion thereof). Your closing statement is also dismissive and unconstructive.

I believe finite state modeling is used at NASA, A google search brings up a few references (that I'm probably not qualified to speak to), and I also remember hearing/reading a lecture on how they use them to make completely verifiable programs but can't find the exact one at the moment.


I wasn't making a strawman, I was making a parody of his strawman. I thought it's obvious, since I was making an analogy, and it was an analogy to his argument.


I should have been more clear perhaps: many regexes are capable of being verified with 100% certainty: https://en.m.wikipedia.org/wiki/Thompson%27s_construction

But not all regexes (eg, those using PCRE extensions afaik) are amenable to such a treatment. Those you just tend to hope they work.


True for most things I think


Aren't you asking how to create software without bugs?


Well regex isn't Turing-complete, so it's not exactly an analysis of a program. You could reason about regex, about tokens, then describe them in a way that satisfies the specification, but theorizing like this is exactly opposite to "simple" - it would be so much harder than just learning regex. So stating that testing regex is simple is just bs. The author later confirms he is a bullshitter by his follow-up...




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

Search: