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

RE2 may beg to differ, if you care about performance.

https://github.com/google/re2

Agreed on Larry Wall understanding the difference between linguistics and computer science, languages for humans to use vs languages for computers to use.




I think his linguistics background helped him push the boundaries of what people expected from computer programming languages rather; being able to break out of the PL design mindset is part of what made Perl groundbreaking. If I recall correctly, the syntax and semantics of Perl are intertwined to the point that parsing Perl without also evaluating is provably undecidable. From a purely academic standpoint, that sounds like a nightmare, but it's hard to argue that Perl didn't have a significant impact. Many people can learn all the rules and conventional wisdom in a field, but being able to understand the underlying principles well enough to ignore some of them and produce something of value is much more rare.


> If I recall correctly, the syntax and semantics of Perl are intertwined to the point that parsing Perl without also evaluating is provably undecidable.

Perl code that is syntactically correct only on Fridays: https://news.ycombinator.com/item?id=30359309

(Has to do with how subroutine prototypes change how the code parsed where the subroutine is called)


Not that big of a deal. Lisp has a drastically simpler syntax, but can behave is the same way.

This thing that is different from other languages is having a static lexer and parser, versus having a fynamic one. In Perl you modify it indirectly, and in Lisp you can modify it directly.

The fact that this happens has nothing to do with Perl's syntax complexity, but everything to do with dynamism in parsing.


That's hilarious, somehow I had never seen that one before! I love how it immediately makes it much more visceral how wild things can get without needing to get into the weeds of how programming languages work.




Consider applying for YC's first-ever Fall batch! Applications are open till Aug 27.

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

Search: