A Century of Findings on Intellectual Precocity: some highlights

The paper From Terman to Today: A Century of Findings on Intellectual Precocity does a lot of mythbusting.

The recently popular notion that IQ > 120 has little incremental utility is dead false. Even small differences in IQ predict significant differences in creative output and odds of having a top-tier income.

Gifted children (and adults) are not fragile creatures with chronic emotional problems, they are “highly effective and resilient” individuals.

Not stated, but implied: IQ measurement in the upper ranges (above 137) is measuring something precisely enough to justify real-world predictions that differ significantly even over single-digit spans.

Not stated, but implied: Multifactor theories of intelligence are bunk. To a good first approximation there is only g. Otherwise the shapes of the bottom four outcome curves in Figure 3 would have to be more divergent than they are.

“g, fluid reasoning ability, general intelligence, general mental ability, and IQ essentially denote the same overarching construct”

“if graduation from college were based on demonstrated knowledge rather than time in the educational system, a full 15% of the entering freshmen class would be deemed ready to graduate.”

“Failure to provide for differences among students is perhaps the greatest source
of inefficiency in education.”

“Overall, there does not seem to be an ability threshold [even] within the top 1% beyond which more ability does not matter.”

A marked characteristic of the profoundly gifted is “willingness to work long hours.”

53 thoughts on “A Century of Findings on Intellectual Precocity: some highlights

  1. “if graduation from college were based on demonstrated knowledge rather than time in the educational system, a full 15% of the entering freshmen class would be deemed ready to graduate.”

    This one sets off my BS detector. At best, it might be true for certain liberal-arts or “studies” degrees, but I can’t see it applying to STEM degrees.

    • >This one sets off my BS detector. At best, it might be true for certain liberal-arts or “studies” degrees, but I can’t see it applying to STEM degrees.

      Read the paper.

      • I read the paper. What was shown was that the top 10-15% of high school senior are better than the average college senior over a broad range of subjects X, where the average for any subject X is the average of both majors and non-majors in the subject. But this is not enough to earn a degree in any specific subject X, so if the top 15% of entering freshmen would be “deemed ready to graduate” it would have to be with a BA in something like “being a well-rounded liberal arts student.”

        Even within STEM: That the top 10% of high school seniors know more (e.g.) chemistry than the average Bachelor of Science in biology or physics? Sure. But the top 10% – or even the top 1% – of high school seniors won’t know as much chemistry as the average chemistry graduate.

        • >But the top 10% – or even the top 1% – of high school seniors won’t know as much chemistry as the average chemistry graduate.

          And that wasn’t what was asserted.

          It isn’t even especially rare for a freshman entering college seeking a degree in CS to already know more about programming than the average CS graduate. Mind you, I believe CS instruction averages exceptionally bad relative to (say) that in math or physics programs, so the self-taught expert at parity with the average graduate is much rarer elsewhere in STEM. But CS is one field in which a strong form of their assertion is plausible.

          • I had a decent grounding in CS before coming to college, and probably could have passed all the finals for my first two years of CS instruction on the first day of college.

            I would have been blown out of the water by the crypto, networking, operating systems, project management, and simulations finals. Those were all subjects that I hadn’t been exposed to at all until college, and those were 70% of my CS electives.

            There was no way I was ready to get my engineering degree on the first day, because obviously first year physics isn’t enough to pass Intro to Engineering Mechanics, much less Fluid Dynamics or Thermodynamics or Heat Transfer. Or Control Systems.

            I didn’t pursue degrees in History or English, but I don’t think I could have successfully taken all the finals for the core of those majors plus enough electives to fill out 36 hours of study.

            I’m not one of the 1 in 10,000 from page 913 of the PDF (at age 12, my 1987 SAT-M was 610, SAT-V was 630, so missed it by that much) but I was certainly in the upper 15% of my fairly decent college. And there was no way I was ready to graduate – in the sense of being able to pass the finals for 40 classes including at least 12 within a major – on day 1. I’m with Deep Lurker: that claim can’t be reconciled with my actual college experience in the mid-90s.

            Maybe things were different in 1939. But it does seem like BS to me, too.

          • The thing that, in my experience, seems to separate “talented amateurs” from those with formal training in CS is knowledge of complex data structures (particularly trees). It seems that you can get by without a particularly deep understanding of trees (and being able to type TreeMap doesn’t count).

            • >The thing that, in my experience, seems to separate “talented amateurs” from those with formal training in CS is knowledge of complex data structures (particularly trees).

              Huh.

              I’m a “talented amateur” by that definition, and yet I have always leaned heavily on my ability to reason about complex data structures (including trees, which I actually consider rather simple).

              Either I’m just a wacky outlier, or there’s a subset of amateurs who walk in with a good feel for this stuff, or your belief is generally mistaken.

              I was a math geek with a pretty firm grip on elementary graph theory and combinatorics before I was a programmer. That might be relevant background; I’d be surprised if it weren’t.

              • I’ve done some interviewing. Even of candidates who have bachelor or masters degrees in CompSci or similar, the number of people who can’t work with a linked list is outstanding.

                The only whiteboard coding question I would do was: write code that given an array would sort it.

                I didn’t care about the language, the run time, or most of the assumptions they wanted to make (baring a magical Sort() method). The shear number of people who were unable to do so astounded me. It was over 50%.

                • Joel Spolsky made a convincing argument in his guerilla guide to interviewing series that the ability to handle pointer abstraction is almost an innate talent AND is the minimum level of competence to handle any big programming job. If you interview someone who can’t figure out the code to reverse a linked list as fast as they can write the letters on the blackboard, they’re probably not someone you should hire for a CS position.

                  I suspect ESR’s experience as a math geek might be influencing his opinion of the rarity of amateurs that can handle complex tree structures. Also, he’s almost certainly an outlier on the IQ scale.

                • >I didn’t care about the language, the run time, or most of the assumptions they wanted to make (baring a magical Sort() method). The shear number of people who were unable to do so astounded me. It was over 50%

                  Here’s how I’d react. I’d say: “Oh, OK, I can code bubble sort if you want, but the right way to do it is this…” and then write the wrapper around qsort(3) with the custom comparison function needed. Because if you want to lower your defect rate, you re-use code that’s already debugged.

                  • I’d have been totally fine with that. Some people tried to write quicksort by hand (that never worked). If you can call the qsort() method with the required comparitor I’d be impressed. Bubble sort by hand would be fine. I don’t think I ever had anybody ask me if they could check the Internet for an answer, though.

                    Mostly what I was looking for was: can you find a way to make the problem easy enough so that you can solve it given the resources available.

                    • > Some people tried to write quicksort by hand (that never worked).

                      No shit? I couldn’t do that off the top of my head. And even if I had had a refresher on the algorithm, sort implementation is notoriously tricky; I wouldn’t trust anything I wrote in a hurry, and would insist on coding a test suite too.

                      This sort of thing is what libraries are for.

                    • The point of the interview isn’t to get production quality code out of the specimen under examination, but to see if they have the chops to do work at a certain level–at minimum being able to approach the problem in the manner the job requires.

                      > This sort of thing is what libraries are for.

                      Someone has to write the new ones.

                • > The only whiteboard coding question I would do was: write code that given an array would sort it.

                  This seems like a horrible interview question. Or at least not a question testing programing ability. It basically amounts to, “I’ve just given you a task where you’re set up to fail, read my mind and figure out how I mean this to be a trick question”.

                • I would think about how I would sort a deck of cards. Go through it, find the smallest card, put it into an output list. Go through the rest again, find the smallest, append it to the output list. This is called selection sort, the worst performing sorting algorithm ever, but it is so intuitive that you cannot really fsck up the code. Put the first element into a variable, loop through it, if smaller than the first element, put that into the variable. After the loop, append the variable at the end of the output list. How can one screw that up?

                  This is what you do without a CS degree and without ever having studied standard algorithms on your own. If you did, you probably had to pass an exam implementing a quicksort or bubblesort.

                  • That’s a very inefficient way to sort cards. If you told me to sort a deck of cards, (assuming sorting suits as “more significant” than values within those suits, as decks are sorted from the factory) I’d start by sorting the deck into four piles by suits, then pick up each pile and look at the second card from the left, and move it to the far left if it’s lower than what’s already there. Then I’d look at the third card and place it in the correct place for the three to be in order, then the fourth, etc. until all 13 cards are in order. I’d set that “hand” down and repeat for the other three suits. Then I’d assemble the four suits together.

                    (Note that I did not specify whether they’d be in ascending or descending order; most decks of cards alternate ascending and descending pre-sort orders when the suits change.)

                    • That’s a bucket sort, and works reasonably well on small lists when you have a good idea of the distribution of values in an array.

                • I apologize for the necromancy, but thank you for the little puzzle for my drive home. I am a chemical engineer by training and trade, but would consider myself a reasonably talented hobbyist. I know very little about trees and algorithms. I asked myself, “Self, how would you sort a list of things?” “Self, I’m glad you asked. I’d find the smallest item in the list and move it to a new list, then pull it from the old list. Rinse, repeat.” Got home, wrote 9 lines of Python, and ran it. And, golly gee, if it didn’t work the first time. Of course, it turns out I didn’t invent selection sort, but nonetheless it seems I’m better than the 50%, which may not be saying much.

              • I would not be surprised if this experience doesn’t generalize but it’s definitely happened often enough for me to notice the pattern.

                Also by advanced I meant more from the perspective of a first year doing their “intro to data structures and algorithms” course. Not that they’re objectively complex.

            • > The thing that, in my experience, seems to separate “talented amateurs” from those with formal training in CS is knowledge of complex data structures (particularly trees).

              True story.

              My first professional programming gig (1978ish). I was writing in C under VAX/VMS – having never programmed in C before. (FORTRAN, BASIC, and PDP-8 assembler were my background.) I was teaching myself out of K&R, but using a compiler from Whitesmiths’ that didn’t implement the stdio library, but rather an older entity called portio.

              (As an aside, I had never experienced a high level language before that did not have primitive I/O as part of the base definition of the language. And reading about “printf()”, and seeing “putfmt()” just about Blew. My. Mind. But I digress….)

              I was tasked with writing a relocating linker for Motorola 68000 code, taking as input the output of the assembler my cow-orker was writing, and putting out S-records. Had never done anything this complex before. Had a vague idea that the symbol table should be tree-structured for “efficiency”.

              Wrote the tree-traversal functions (find, insert new; delete not necessary, as we weren’t going to re-use symbols). They were recursive, as you would expect, but I got all tangled up in figuring out if I had walked off the end of the tree, so things were just running forever. Talked with my roommate (who was a fairly wizard programmer, at least compared with me at that point), and we re-wrote it together from scratch, being FSCKING EXPLICIT in variable naming (from ancient memory):

              node * Parent;
              node * Left_Child;
              node * Right_Child;
              int relationship;

              relationship = (strcmp(Parent->name, given_name);
              if (!relationship) {
                   return(Parent);
              } else if (relationship < 0) {
                   recurse(Parent->Left_Child, given_name);
              } else if (relationship > 0) {
                   recurse(Parent->Right_Child, given_name);
              } else {
                   abort("WTF?! bogus node relationship");
              }

              By Goddess! We got it working. And me just a wet-behind-the-ears n00b. So, no, trees aren’t that hard, are they?

              ;-}

  2. I would phrase “willing to work long hours” differently. Many people with lower IQ in many trades work long hours too.

    I think with high IQ folks, it’s less “work long hours” and more “never stop thinking about solutions to problems.”

    • I’ll second this. “Willingness to work long hours at inane drudgery” isn’t so much a marker of giftedness as it is of assiduousness, which a fair number of the markedly intelligent people I know lack. “Never stop pondering solutions, especially somewhat unconventional approaches”, however, correlates very strongly with intelligence.

    • Yeah, I was about to question that one as well — I only work 6 hours a day because coming up with creative solutions to seemingly impossible problems is hard, dammit (also, backward bending supply curve for labour). But I’ve lost count of the number of times I’ve figured out a design while lying awake at night (or more frustratingly, on the way home on Friday).

      Although there certainly could be a trend reversal when you get to “profoundly gifted”, which is definitely at least one level beyond mine (probably more).

      But from my reading of the paper,

      A marked characteristic of the profoundly gifted is “willingness to work long hours.”

      is not an accurate characterisation of the findings. It seems the authors are saying (and their data, such as Figure 9, seem to support) that this willingness varies among the gifted, and that this is a major driver of outcomes. What’s not stated but, I think, implied, is that this willingness can account for much of the residual variance not already explained by g differences.

      • How do you bill for that 15 minutes you spend thinking about the problem at 10:30 in the evening while you’re on your way home from martial arts class where all the various lines of thought in your head collapse into the answer, and it will make things an order of magnitude faster?

        • I don’t. That’s why I’m paid a salary (plus bonus) rather than by the hour. They don’t care how much time I spend doing it; they just want to know the systems will be available when the users want to use them.

          • This is why I keep wishing employers would pay developers by the problem, rather than by the hour. I’m sure many of you know the edge cases involved here, but what the hell, I’ll lay some out here for other readers:

            If I wear my employer hat: I have problems I want solved. You’re the expert in solving them, because they involve funny metal boxes. I don’t really care about the boxes, but I know I have to have them to solve my problem, and I know I have to let you fiddle with them. I might know my problem decomposes into a hundred sub-problems, and now this means I can pay you for each one you solve. If you solve one per week, fine, you get paid that fast. If you solve twenty per hour, hot damn, I’ll pay you that fast. (I might have time limits on certain problems, and specs on the interfaces between subproblems, but that ought to fold into this scheme intuitively.)

            You might have requirements of your own – say, you need a part or at least X hours to think and code. To me, that’s fine; it just means the price of that solution is higher. If it’s valuable enough, I’ll pay it. If not, shake hands, sorry we couldn’t do business.

            A problem might require a breakthrough – you need a flash of insight, and you might not get it, but you’ll need to eat in the meantime. To me, that means there ought to be some way to visualize the possible approaches along which insights might occur. I want to know which approaches you tried, so that if you didn’t get your insight, I can pass your progress along to the next fellow. If so, I’m paying for your report. It’s valuable. And if you got the insight, hot damn, here’s your bonus.

            I could see a programmer’s salary being whatever keeps them in coffee and ramen until the solution falls out, and the bonus being for the solution. But instead, I see most shops being salaried, salary forming most of the compensation, and programmers mostly getting into mindsets of making that salary last as long as possible. Which occasionally even means them sabotaging fellow programmers who would produce solutions.

    • >“never stop thinking about solutions to problems.”

      Literally in my sleep. If I can sleep, that is. There are people who can stop thinking about work when the whistle blows and it’s Happy Hour down at the pub. I have never been one of those people. I don’t think many A&D readers are. We have too many itches that demand scratching.

      • Itches is a good analogy.

        You have some that always need scratching, and some that only flare up once and a while, but about half the time they start when you really need to be working on something else.

        Oh, and sometimes it’s nice to have someone else help you deal with them.

    • I also agree with that sentiment. I would add, however, something else: A continuing curiosity about how and why things work the way they do. Ignorance, in my definition is the absence of understanding and stupidity is the willful intent not to understand. Judging from what I read and observe, there a legions of human beings who simply don’t want to know what is going on around them and contented to live in the dark.

  3. The analysis presented in Lubinski’s paper reads like reality reinforcing a common sense observation. Mutation is fundamental to evolution, and some mutations result in right tail IQ functioning. This effect would not persist long term unless it correlated with increased fecundity. As with most HBD realities, it’s not PC to authenticate these facets of human nature, but reality doesn’t really care what we think about it.

  4. FWIW – know at least one architects office where the owner flat out told me they’d rather keep the HS interns they get and train them to standard than “untrain” college grads with the degrees de facto needed to eventually become licensed architects.

    • Moldbug came up with the idea that while chimps and primitive humans compete in genetic reproduction, civilized people compete in memetic reproduction: not in having many kids but in educating other people’s kids. It was entirely normal for most business and professional roles to get your education on an internship, apprenticeship basis, until intellectuals as a class took over and now everybody has to use their way of education: the university. One of the last holdouts were the Swiss banking system, that used internship until very recent times – no degrees.

      Of course, doctors and lawyers were already educated in the Middle Ages in universities. This is why there was a huge debate between the Scholastics, who thought university education is job training for specialized knowledge work, and the Humanists. “Humanism, on the other hand, focused on creating people who would be ideal citizens in whatever domain their work lay and would be able to speak persuasively to encourage those around them to a moral life; thus, students pursuing humanist studies were instructed from historically important works of poetry, history, grammar and rhetoric.”

      If I am allowed to be cynical about it, Classical Humanism was about training people the skills with which to get social status. No wonder their first students were Italian noblemen with political ambitions. They won and mostly everything in contemporary education descends from that.

      And this is why today a university degree is necessary for bankers. Or architects.

  5. “Failure to provide for differences among students is perhaps the greatest source of inefficiency in education.”

    In contemporary education systems, perhaps. But implicit in the language we use to describe our process, carried forward from an earlier more rational epoch, we speak of “passing grades”. It was once explicit that a student would enter a school and be provided opportunities and resources, then tested. A student that “passed” would move up one “grade”. In a one-room schoolhouse of the sort we encounter in _Anne of Green Gables_ or _Little House on the Prairie_ stories, it was not at all uncommon for a student to be “in the 2nd reader but the 4th arithmetic” book / grade. A 12 year old student — by age expected to be in the sixth grade — might still be struggling with a subject and repeating a grade. A 6 year old might be deemed precocious and allowed to work ahead. This is not at all like walking into any martial arts class and seeing various students of all ages and sizes “Graded” by belts, having taken their own appropriate time to master one level of competency, then moving on to the next. At “graduation” all those who have completed the expected requirements were (once) even more finely sorted, from best to least.

    The most important feature of what I understand of the ancient system was the freedom to drop out. EVERYBODY at age six or so entered the system. But those who could not move up, got out — and out of the way. Those very few exceptional people who got no benefit from the resource system that they could not have better provided themselves (we were talking Benjamin Franklin the other week — a 2nd grade dropout) also moved up and out. It was not totally uncommon for bright students of 12 to 15 to move up into “University” years ahead of their peers.

    The industrial factory system of education which treats all students as indistinguishable raw materials to be molded into interchangeable parts has led us to dumbing down the material, “socially promoting” based on age (and size and stage of sexual maturation), and over-emphasis on SPORTS of all things where try-outs, drill, “grading” from first string to bench warming, and other rational instruction still applies.

  6. > A marked characteristic of the profoundly gifted is “willingness to work long hours.”

    When highly successful people were measured, psychologists found they have both high IQ and more importantly have high trait conscientiousness.

  7. The most amazing thing about the intelligence that it allows some people to shut their eyes so hard their eyelids so close they must be swollen.

  8. >Gifted children (and adults) are not fragile creatures with chronic emotional problems, they are “highly effective and resilient” individuals.

    Well… http://www.gnxp.com/blog/2007/04/intercourse-and-intelligence.php

    >But higher IQ had a similar relationship across the entire range of romantic/sexual interactions, decreasing the odds that teens had ever kissed or even held hands with a member of the opposite sex at each age.

    >83% of biochem and math majors were virgins

    > For instance HS found that smart men were less likely to be athletic

    >And two new papers suggest that testosterone may depress IQ.

    >Sexual behavior (or at least the investment needed to procure a partner or sustain one) may compete with time/resources required for other goals, and intelligent people may have more demanding goals. James Watson even hinted at this in a recent Esquire magazine piece:

    “If I had been married earlier in life, I wouldn’t have seen the double helix. I would have been taking care of the kids on Saturday. On the other hand, I was lonely a lot of the time.”

    I mean, it would be reassuring to think that smart people have something infinitely better and more interesting to do. But all of the above suggests smart people are more likely to be lonely even when they don’t want to be lonely, and then acquired breakthroughs by focusing all their energy on their work.

    Sometimes it is true – sometimes there are things more interesting than sex. In many other times, you see smart people turn either into workaholics or have all sorts of hobbies, because they are too socially inept for dating, sex, marriage and a social life.

    I think it is that the papers that suggest trade-offs between intelligence and testosterone are true. And if it is true, there are plenty of ways, from bullying to lack of sexual success, that low T can lead to fragility and emotional problems.

    • >I think it is that the papers that suggest trade-offs between intelligence and testosterone are true.

      I find this doubtful. I have noted before the existence of a class of high-T geek alphas.

      I think it is more likely that low T focuses a man’s attention on non-sexual competition, causing him to function above where he would otherwise in IQ-intensive pursuits.

      • Some data would be good, because anecdotally noting the existence of a tail is somewhat limited in what it tells you about the distribution as a whole.

  9. “Work long hours” = An innate understanding that what you cannot figure out right now can indeed be figured out with enough applied effort. Resulting in higher IQ people of all ages, happily and willingly, using longer hours to solve bazillions of problems. Because there isn’t a problem that can’t be solved and solving problems is fun! Even though doing so actually makes their head hurt with all the effort! While others with higher PQ (physical quotient) enjoy exercising their bodies and have stronger muscles and manual dexterity; higher IQ people enjoy exercising their minds making their mind stronger and more mentally adept.

  10. A groundbreaking study published just yesterday: https://infoproc.blogspot.com/2018/07/game-over-genomic-prediction-of-social.html

    I am not an expert of the field, so only a brief explanation. The exact workings of genetics are not understood yet, only correlations. You pick a bunch of people who are tall, or have high blood pressure, or did well at school, and see if some alleles tend to be more frequent in them than others. Weigh them and you have a polygenic score for predicting tallness, high blood pressure, or educational attainment.

    The problem is, because the actual functioning of the alleles is unknown, you cannot really tell if the alleles associated with education attainment are actually caused by them, or by caused by educated parents raising kids better and the genetic similarity merely reflects inbreeding in the educated classes (we know associative mating exists) and the genes are uncausative.

    So they did the logical thing and mapped polygenic scores to social mobility i.e. outdoing your parents.

    “In the key test, participants with higher polygenic scores tended to be upwardly mobile compared with their parents. Moreover, in sibling-difference analysis, the sibling with the higher polygenic score was more upwardly mobile. Thus, education GWAS discoveries are not mere correlates of privilege; they influence social mobility within a life.”

    The sibling-difference analysis is especially useful.

    Now comes a weird part:

    “Additional analyses revealed that a mother’s polygenic score predicted her child’s attainment over and above the child’s own polygenic score, suggesting parents’ genetics can also affect their children’s attainment through environmental pathways.”

    Essentially it means genetically smart mother -> good parenting, good nurture -> smart child means even more than good genes. This puts nurture back into the picture, but in a different context: not schooling, but making it even more important that smart women should have kids. It is even more important than smart men having kids.

    • “So they did the logical thing and mapped polygenic scores to social mobility i.e. outdoing your parents. ”

      Interpreting this study is not straightforward. This is measuring how society responds (social mobility) to the effects of genetic variation. Very large cohorts, over 20k, large number of genes.

      Now, what can we say before we look at the data:
      – Health is related to progress in society
      (sick people do bad in school and at work)
      – Length and beauty are rewarded in society
      https://www.slate.com/articles/arts/everyday_economics/2002/03/short_changed.html?via=gdpr-consent
      – Mental illnesses are a liability
      – Substance (alcohol) abuse is a liability

      All these are known to have genetic (polygenic) associations. So, we can predict that those in the cohort who score better/worse on these four points than average will do better/worse in society than average.

      Now we can go to the paper and look what they found:
      We found that people with more education-linked genetics were more successful compared with parents and siblings. We also found mothers’ education-linked genetics predicted their children’s attainment over and above the children’s own genetics, indicating an environmentally mediated genetic effect.

      What do we learn: Getting a better education helps progress in society, having an educated mother helps even more.

      Both can be easily improved beyond genetics, as all parents know: If your child cannot cope well in school, hire a tutor for your child. Or improve the school of your child (write your representative).

      • Either my reading comprehension fails me, or this is the mother of all non-sequiturs. Dunno. Others?

        • >Either my reading comprehension fails me, or this is the mother of all non-sequiturs. Dunno. Others?

          I don’t think you’re wrong. Winter seems to be evading the central thrust of the results, which is that it’s pretty much game over for social-engineering inter-class mobility.

          I should note that I suspect that problem has not always been as intractable as it is now. 150 years of moving towards meritocracy has had an effect; one is to collect some (perhaps even effectively all) of the gains we can get from educational investment and changing social expectations. It actually makes sense that class stratification is increasingly driven by genetics.

          Note the irony here. Before the Enlightenment, our civilization operated on a genetics-as-destiny premise that saw class stratification as a causally-linked correlate of genetic stratification. That premise was largely false then, but if you try to correct social inequality by means that don’t touch genetics the inevitable assortative result is that it will become true.

  11. [Popping this out of the indent mountain]

    Garrett: Some people tried to write quicksort by hand (that never worked).

    esr: No shit? I couldn’t do that off the top of my head. And even if I had had a refresher on the algorithm, sort implementation is notoriously tricky; I wouldn’t trust anything I wrote in a hurry, and would insist on coding a test suite too.

    This sort of thing is what libraries are for.

    I’m reminded of my having to write one by hand a couple years ago, because almost no code existed in the language I had to write it in: CLIF, a logic interchange format that looks like Lisp but evaluates more like Prolog. It worked, too. (And yes, we did have a test suite.) I think I still have it around here somewhere, but the starter code looked something like this:

    (follows-from (sorted list s-list sorter) (and
      (first list head rest)
      (pivot rest head rest-less rest-more sorter)
      (sorted rest-less s-rest-less sorter)
      (sorted rest-more s-rest-more sorter)
      (concat (listof s-rest-less head s-rest-more) s-list))

    …I also had to write a way to conclude pivot, of course, but that was pretty straightforward. (Oh, and some “check if the argument is bound” and “check if the list is empty” logic, which I left out above for clarity.) And as long as you didn’t hand this a list of more than about a few thousand elements, the logic engine we had (the only one that evaluated this language) handled it fine. (We would probably have kicked things downstairs to a native builtin or a parallelized datastore if we needed anything longer.) Moreover, it read pretty easily, to me at least. You just had to think like the “if we had tea, we could have tea and biscuits” joke:

    “We could have s-list be a sorted version of list,
    if head was the first item in list,
    and we had a list-less of everything in list that was less than head,
    and a list-more of everything in list that was more than head,
    and we had two more lists that were the sorted versions of those lists,
    and we glued ’em together in order with head in the middle.”
    “Oh, and if we had sorter as the comparison function.”

    …I suppose this isn’t trivial, but I’d always kinda gotten the impression that any bloke with a bachelor’s ought to be able to summon it from memory if they had to. Obviously, a wise engineer reuses existing working code, but eventually the problem you want to solve will involve some new coding, and it’d be necessary to understand the underlying theory, right?

  12. What are your thoughts when fluid and crystalized intelligence have divergent scores greater than a standard deviation, giving a g that’s much lower than the individuals potential? I know a guy who claims to have a fluid score of 150 and crystalized score of 170, though most are closer to 100 / 130.

    • What are your thoughts when fluid and crystalized intelligence have divergent scores greater than a standard deviation, giving a g that’s much lower than the individuals potential?

      According to a recent book on the neuorescience of intelligence I am now reading, g measured mainly flid intelligence. So therre may not be an acual problem here. I’ll probably review the book for the blog.

  13. Who has the highest IQ…Gary Kildall or Bill Gates?…and why do they call it Windows instead of GEM?

    Who has the highest IQ…Richard Stallman or Linus Torvalds?…and why do they call it Linux instead of GNU?

    Who has the highest IQ…Charles Levine or Charles Lindbergh?…and why do they call the Orteig Prize winner Lucky Lindy instead of Lucky Charley?

Leave a Reply

Your email address will not be published. Required fields are marked *