Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Man or boy test (wikipedia.org)
148 points by lisper on Nov 28, 2019 | hide | past | favorite | 61 comments


I am about a third of the way through Knuth’s Art of Computer Programming. It is an amazing piece of work created by one man. The sheer breadth and level of complexity in the work is awe inspiring. I wish my younger self had read a copy when learning 6502 assembly in the 80s simply to understand data (information) structures.

That said, this procedure is a doozy. It reminds me of the Ackermann function but doesn't quite grow as fast (understatement).


If you like the Ackerman function you're gonna love Kruskal's tree theorem.

https://en.wikipedia.org/wiki/Kruskal%27s_tree_theorem


This essay is also great if you like this kind of thing: https://www.scottaaronson.com/writings/bignumbers.html


Or this page [1] on large numbers.

[1] https://mrob.com/pub/math/largenum.html


Or Friedman’s SSCG function.


> "SSCG(3) is much, much larger than both TREE(3) and TREE^(TREE(3))(3) (the TREE function nested TREE(3) times with 3 at the bottom)"

Holy freakin' cow.

And the busy beaver sequence grows faster than that.

My mind is well and truly boggled.


I'm not strong on mathematics but I've been able to enjoy the historical overview and references. I agree with you on how amazing the work is.


I've read the wiki page and still don't get what the big deal is about the ackermann function. Can someone explain? TIA


The RosettaCode versions:

http://rosettacode.org/wiki/Man_or_boy_test

"Haskell

Haskell is a pure language, so the impure effects of updating k must be wrapped in the IO or ST monad (...)

On an AMD Opteron 6282 SE (1) using GHC 7.8.2 this program can compute k = 30 in 1064 s and 156.2 GiB. (2)"

"JavaScript

In Chrome we get a "Maximum call stack size exceeded" when a > 13. In Firefox we get "too much recursion" when a > 12." (Note: it should say "k" (the parameter) not "a").

---

1) 16 cores.

2) 156 GB of RAM: "159874 MB total memory in use"


I'm not super familiar with Algol but it seems that this function is not using call-by-value? In most of the translations the parameters to A are functions instead of reals.

Is this call by name or call by reference? And how would call by value look like in Algol?


Call by name.


Do you know if there a way to specify that a parameter should be passed using call-by-value?


Function parameters can be declared ‘value’.


When I saw the title I thought, huh, maybe it's that thing were old prisoners threaten the young ones to see who's easy prey but no - it's a test in Algo 60 to see what compilers correctly implement recursion.


I thought it was going to be about rituals present in many cultures around the world (especially before contact with modern technological civilization) - the rites of passage from childhood to adulthood.


I was interested to know if I thought I could pass such a ritual. And then I was interested to know if I thought it was important for me to pass :-) Not sure I know the answer to that last one!


I think the answer to the last one depends on your social circle :). Rites of passage are group membership rituals. There's no point in doing the movements and sacrifices if there's no group you wish to enter that uses it as a condition of membership.


This is a super good point. I keep going on about how in Japan (where I live) it is super important to be willing to do the things that are required when trying to move to an in-group. You can't generally pick and choose ("I'll follow the rules that makes sense to me" doesn't fly here). So, you have put your finger on it. I would definitely do that if I valued the in-group I was trying to move to.


You seem to be under the impression that somebody would say "I'll follow the rules that make sense to me" when entering a new group and suffer no negative social concequences in other societies.

I really don't think picking and choosing which rules you follow would be appreciated anywhere.


Very curious, can you give a few examples of these rules?


Joseph Campbell argues that the stages of human development are the same as they were in ancient times, and so your brain still responds to the same symbolic gestures your ancestors would encounter during their transition from boyhood to manhood.

If you’re having trouble transitioning from one stage to the next, Campbell claims it can help to look at the rites of passage present in ancient myths. One example is changing your mode of dress to usher in a life transition. By purposefully introducing these symbolic gestures into your own life, you can tap into the pathway of maturity that exists within your subconscious.


I don’t want to be part of any group that would accept me as a member.


Men know this reference and find it funny. Boys don’t. //smiley_face



I thought it was about the test where children reach with their right hand over their head to touch the left ear - a common tongue-in-cheek test for first grade readiness.

Apparently the test has some real foundation. That the proportion of the limbs (and relative size of the head) only allows children to touch the ear at about 5 years old.


Of course it is in the Online Encyclopedia of Integer Sequences: https://oeis.org/A132343


Knuth also wrote the "trip" and "trap" suites for TeX and MetaFont conformance.

https://texfaq.org/FAQ-triptrap


[flagged]


We've banned this account for trolling. Abusing HN like this will eventually get your main account banned as well, so please don't.


Frankly, it's getting more and more difficult to know if soemone is trolling or not about these topics. It looks like there are many people even here on HN who express similar views.


It's impossible to know for sure if someone is trolling by the original definition of the word. Since that refers to intent, you'd have to be a mind reader to decide it. In practice, it doesn't matter, because the effects of doing it accidentally are the same as doing it on purpose.

We mostly use the word 'flamebait' instead, which means approximately the same thing with the intent component taken out. From a fire prevention point of view, negligence isn't different from arson, and it's a lot more common.

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...


Upvoting on the assumption that this is satire. Please, please be satire. nervous laughter


What did it say?


Go to your profile, set showdead to Yes, then you'll see nuked comments.

It was just some silliness about sexism. Mild troll or weak humour, can't tell.


...and girls from gals


[flagged]


All comments you refer to were properly downvoted or flagged. Don't post another top-level comment just to re-start a flame war that nobody is waiting for.


I don't see who voted for what.


The only thing out of place I've seen in this thread would have been the over reactions to somebody pointing out the anachronistic nature of the Knuth's wording. If there was something judgmental in that comment, that eludes me.

The reactions are what seem ideological, if anything.


[flagged]


As we read things from the past it is as if we travel into the past not that we summon the author into our time. Always kept that in mind. The author himself is a product of his time not of ours.


It's not like he's from the Middle Ages or something; 1964 is within living memory.


For one, culture norms can change in less than a decade, much less 1964. In 1964 there was still legal segregation in the US. And whatever you think "natural" today might not be considered so in 2030 or 2040, much less 2019 + (2019-1964).

Second, it's not like the terms men and boys don't carry different attributes still today, or just because the anglosaxon culture is going through an Emo hyper-sensitive phase that everybody of the 8 billions in the world will have qualms to use the terms "men" and "boys" in such a matter (more capable, more mature, etc).


We're riding an exponent in everything around us, culture included - not just in amount of transistors per silicon wafer. 2019 is much more different from 2009 than 1974 was from 1964.


> We're riding an exponent in everything around us, culture included

Popular culture perhaps - but in my experience there's a massive yawning chasm between 'woke' culture and the culture of the majority of the population, which has remained remarkably sceptical. The whole pronouns thing for example would still get very strange looks down the pub.


That the chasm exists matters too. I doubt that this submission would spur HN comments accusing it of sexism 10 years ago.


"2019 is much more different from 2009 than 1974 was from 1964."

I call your exponential change and raise you with recency bias.


And I call your recency bias and raise a "things have always been the same" bias.

Whether exponential or not, we've had more culture-defininging technological, lifestyle, and moral changes in the past 200 years than in the previous 3000.


I'm not sure that I agree, given that those 3,000 years encompass the beginnings of (amongst other things) Christianity, Islam and Buddhism, as well as the development of printing, explosives, and algebra.


Christianity unfolded over 2000 years. It took around 500-600 years to dominate Europe, it wasn't some huge sudden shift.

Algebra didn't matter much (as far as life changing applications) for most of the time after its invention until around the industrial age. Then we had a huge math explosion, and a huge science explosion, physics, chemistry, etc plus practical applications as advanced as sending people to the moon.

Explosives and printing are part of the exponential curve we talk about. We went from knives, swords, arrows (used for millennia) to crude explosives to nuclear weapons and rockets between 500 years or so.

Same for printing. We went from stone carving, papyri, hand copying and limited literacy for millennia, to the printing press, mandatory mass education, and onwards to computers, and the internet, and now whole world knowledge reachable in one's pocket wherever they are in the span of 400 years or so.

Every day life in most of the world wasn't much different between 500 B.C and 1800 B.C. Ancient Rome, or Medieval Paris, could as well be Ancient Babylon. In villages life was almost entirely the same. The slow cultural changes (the introduction of Christianity, the change in rulers, etc) didn't change or affect much of everyday life.


This is a pretty bizarre take on my post.


2019 is nearly identical to 2009 when compared to the gap between 1967 and 1970. 1968 was a watershed year, 1969 not far behind.


Is it? I wasn't around for 1964 but 2009->2019 doesn't seem like a greater leap than 1989->1999 was.


Bigger leap when it comes to finger wagging over word choice, smaller leap when it comes to things that actually matter.


People can't only be judged on where they are right now, you have to include cultural and sociological aspects as well.

I would consider myself open minded and liberal and for lack of a better term, "woke". But I was born in the 80s to parents who were born in the 60s and their parents in turn were born in the 30s and so on. So my parents were raised with some racism and a bunch of sexism. That meant I grew up with a bit less racism and declining sexism, but those things were still there.

In my teens I used "gay" as a slur.

Am I awful? Can you take one look at a forum post I made in the late 90s and judge me entirely? I'm doing my best now to fix these things so hopefully my son will grow up with none of this cultural and sociological baggage, but I'm not a bad person for acting in accordance with the times 20 years ago. Nor were my parents in the 80s. Nor was Knuth in the 60s.

Is it okay what he did? No, of course not. But let's not hang the man for something that wouldn't have raised an eyebrow at the time.


>Am I awful? Can you take one look at a forum post I made in the late 90s and judge me entirely?

The opposite. I'd judge anybody judging a person from a 90s forum post as awful scum themselves.

>Is it okay what he did? No, of course not.

Yes it is. It's not even that controversial. Men and boys, whether one is woke or not, have some different characteristics, age, maturity, strength, etc, being some of them. That was the purpose of the analogy, which was, and remains, a common idiom across the globe.

Is it okay for 2019 people of a particular (woke) subset of a particular (Anglo-Saxon) culture to impose whatever latest retrospective moral panics they have on everybody? No. For one, that's cultural imperialism...


hopefully my son will grow up with none of this cultural and sociological baggage

It might be worth considering that you are simply replacing it with other baggage that will seem equally antiquated eventually.


>Is it okay what he did?

Of course.


This is a test that concerns maturity, not 'better or worse'. It's perfectly adequate to say this these days as well. Please stop with this stuff.


It doesn't imply better or worse, it just means than one compiler is more experienced than the other since it doesn't fall for the traps that get the other one caught, presumably due to the experience put into its development.


Factually speaking, a man refers to the grown-up version of a boy. This is not a value judgement, just a statement about developmental progression. In this sense, it is justified to distinguish "man or boy?" for programming languages that have primitive features/behaviors versus more developed features.


The definition of boy is literally an immature man who lacks some qualities. It's entirely appropriate.


[flagged]


"delightfully anachronistic" - did you, and everyone else, miss that appreciative adjective? Even one of those "sentiment analysis" models would have been able to correctly classify this.


That's the point, it's not anachronistic.




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

Search: