2 ms·
Although I don't agree with the sarcastic answer the sibling post here gave, I also don't entirely agree with your point -- nor do I entirely disagree with it.
by jgh 11y ago
Although I don't agree with the sarcastic answer the sibling post here gave, I also don't entirely agree with your point -- nor do I entirely disagree with it.
Software development still has plenty of algorithms and data structures named after their inventors. Could you guess what a Duff's device is based on the name? How about a Merkle tree? (Although arguably you could call the Merkle tree a hash tree and get the point across)
- archgoon 11y agoWhat do you disagree with? That programmers have a long history of giving things arbitrary and sometimes non-sensical names that only make sense in context? Like GNU? That the original article is directly trying to convince people that programming and math really aren't that different, but you do have to learn the other's culture?
- jgh 11y agoAll these things you're naming are brand names for software and companies.
- archgoon 11y agoSo? They're also solutions, or parts of a solution, to larger problems. They're tools, just like the kronecker delta. 'awk '{print $1'/'$2}' | xargs curl | jq .' None of the those programs things have any meaningful names. but they're all used in a common programming, or scripting, expression. If someone says "Oh, you should use Hadoop for that", this is a proposal to solving a problem.
- zumatic 11y agoAgreed, but in your example 'xargs', 'curl' and 'print' are arguably meaningful.
- iheartmemcache 11y agoIf you know the term 'argument' sure. Your mind thinks "ok.. args.. x ..variable, so this could be variable in the categorical sense or cardinal sense". Curl? Really? When I first saw that after 10 years of wget'ing (yeah I've been at this a while), I had no intuition what it was until I saw the arguments being passed. My first thought was literally "like the weird Olympics sport with brushes on ice?" It took me half a minute to realize it had to do with URLs (and I still don't know what the 'c' means - though I'm sure GNUinfo or a man page would easily answer that). Print is semi intuitive, but it could mean so many things. Print in awk vs print in tcsh might have entirely different behavior. Is there a \n appended? How do you delimit it? It might give you a vague idea, but you're still going to have to go to your informational resource of choice in order to figure out: a) the parameters to pass to it, b) the output formatting/delimiters/implicit \r or \n's, etc. (e.g. Hell, in Python 2 you add a comma to prevent a new-line - I'm not even sure that syntax was influenced from (though logically I can understand the comma-suffix implies additional components and thus you want to suppress any line-break), I'd be hard-pressed to the etymology of that). Brings me right back to the 'functor' issue. But hey, at least a ML functor is entirely different from C++. They overloaded the term (like delta or mu might be overloaded in math) but at least I don't have the risk of using it and getting 'partially consistent' behavior. (For example, having print exhibit the same properties as bash would plus a side-cases added by the author as 'feature enhancements' which work great for him, but if his side-project gains traction will just lead to more ambiguity.)
- tome 11y ago> It took me half a minute to realize it had to do with URLs Oh! "curl" is "c url". It's taken me several years to understand that, and I knew exactly what it did! I imagined my data "curling" off the website, down the intertubes to my filesystem.
- bmcorser_ 11y agomore than that, i remember reading it was pronounced "see url" .. which makes sense when you look at its default behaviour of printing whatever's at the url you give it; especially compared to wget, which 'gets' whatever's at a url :)