5 ms·
I've been shat on HN before for saying this but I stand by it: you're not a programmer/developer/"whatever it's called now" until you have done a parser for som
by zeth___ 8y ago
I've been shat on HN before for saying this but I stand by it: you're not a programmer/developer/"whatever it's called now" until you have done a parser for something at least as complicated as lisp in whatever the lex/yacc equivalent is in your language of choice.
The difference between people who get regular languages, pretty much everyone who codes, and the people who get context free grammars is more than $100k a year.
- athesyn 8y agoI don't understand, are you saying that writing a language parser is a litmus test that that only real programmers can pass? What makes it so special compared to other tasks of similar difficulty?
- zeth___ 8y agoParsing is the fundamental task of programming: taking information, performing a transformation on it, passing it along. If you can't do it you might use computers but you're not programming. Tuning DE solvers might take as much skill, or more, than getting context free string parsed, but it's not a skill that is used outside of numerical computing. DBAs aren't called programmers for a reason, but they are no less valuable for it. The same applies for every niche skill that takes years to develop.
- athesyn 8y ago>The same applies for every niche skill that takes years to develop. so you just defeated your own argument, instead of hyper-focusing on writing parser why not just say "years of experience" if that is what really matters? no wonder you got shit on.
- zeth___ 8y agoIf you spend decades being a better juggler you won't be a better programmer, the same is true for all the meta-programming jobs.
- dmurray 8y agoWhat's the fundamental task of a DBA if not "taking information, performing a transformation on it, passing it along"?
- Retra 8y agoParsing is a fairly simple and common activity with a huge background of research. Anything for which that is true in your field is something you should understand. Parsing, databases, concurrency, floating point numbers, optimization, common data structures, regular expressions, networking, operating systems, recursion, complexity theory, etc., are all things you should understand to be considered a competent programmer.
- zeth___ 8y agoThe difference between parsing and everything else there is that every single program longer than 200 lines will need to take a string from somewhere and change it somehow. If you don't know how to parse a context free language you will write a a thing that accepts a recursively enumerable one and someone will make full use of every corner case you can't even imagine. It's pretty funny that next to no one here will even understand what I'm saying.
- dang 8y agoWould you please stop doing this sort of flamewar on HN? It's off topic and tedious.
- mkl 8y agoProbably because what you're saying isn't true. I have written programs with thousands of lines that do nothing with strings at all, as have a great many other people. Parsing is simply not the universal requirement you claim it to be, and declaring that only real programmers can do it just makes you look arrogant and ignorant.
- sedachv 8y agoDid your programs take input? If you had studied parsing theory, you would know that "strings" do not mean ASCII/Unicode text strings, they mean sequences of symbols from a set. All communication protocols, any kind of input, can be described in terms of grammars, and that is important: https://www.youtube.com/watch?v=3kEfedtQVOY https://www.youtube.com/watch?v=3kEfedtQVOY
- nambit 8y agoThe difference should be more than 100k a year. Sadly that's not something people interview for.
- zeth___ 8y agoWe should change that. If you can't parse reverse polish notation to infix notation you're going to be writing monstrosities like the mediawiki markup parser. It doesn't help that 80%+ of developers these days are script kiddies. Even if it comes a fad getting more people to learn something as basic as that would make the code I have to read so much better.
- FooHentai 8y ago>I've been shat on HN before for saying this Gatekeeping: when someone takes it upon themselves to decide who does or does not have access or rights to a community or identity.
- zeth___ 8y agoAs a black man in a white body I agree.
- X6S1x6Okd1st 8y agoCould you elaborate on what you believe this adds to the conversation?
- zeth___ 8y agoIt's a glib dismissal of the all to common and toxic view that requiring any level of ability is gate keeping, counterpoised against the view that some areas require a level of gate keeping that is not found outside of right wing dictatorships. The juxtaposition of the two should make anyone on the fence of the validity of either claim think more deeply about them, while throw those who don't into a tailspin where they can't even understand what is being said.
- FooHentai 8y agoThere are obvious differences between groupings based on immutable characteristics, binary status, and those where criteria is less clear. Gatekeeping as a pejorative applies only to the latter. What you posted doesn't factor that in, and so doesn't appear to raise any substantive point on which to reflect.
- laythea 8y agoBack in the real world, complex problems are solved all over the place by highly paid professionals with software. Written in regular languages.
- gowld 8y agoReally? What's a commonly used regular language ("Regular" in the Formal Languages sense, not in the colloquial English sense.) Regular Expressions are used to solve problems, but almost no one makes a career of programs written exclusively in Regular Expressions.
- zeth___ 8y agoRegular expressions should only be used for either interactive search or a tokenizer. Everywhere else they will be abused and lead to sphagetti code.
- kelnos 8y agoYou've been shat on because you assert a test for "programmership" that bears little to no relevance to the vast majority of challenges programmers will face, and you do so in a militant, absolutist manner that pretty much everyone finds off-putting and uncivil. I didn't magically get a $100k raise after I wrote my first parser, either. Companies care about how you can make money for them, not that you aced "CS405: Compilers and Interpreters" in college. And that latter bit isn't at all correlated with the former... unless you're applying to work at a company that makes compilers.
- dang 8y agoWe detached this subthread from https://news.ycombinator.com/item?id=17257758 https://news.ycombinator.com/item?id=17257758 and marked it off-topic.