21 ms·
What the Next Generation Needs Is Math, Not Programming
- tempodox 11y agoThe title already says it all. After “everyone must learn to code”, people start returning to more sensible ideas.
- agumonkey 11y agoAny interesting thing done on a computer will land into math territory anyway. The current geek-fetish trend can't go away fast enough.
- confutio 11y agoThis article assumes there is no such thing as Computer Science, which is the development of algos and the like which the author assumes is done by mathematicians.
- jhardcastle 11y agoIs it not possible that students need both? In the same way that students were offered home-ec and shop in previous generations, to learn the real-world applications of their "cerebral" subjects, are we not teaching programming today as the real world application of mathematics? Eigenvectors, great. But what can I do with them? Now, software that uses those eigenvectors to control the motions of a robot, that's something kids can get excited about, and can turn into a career (not to suggest pure math can't lead to careers, but the combination of the two opens up more careers).
- rz2k 11y agoWhile I appreciate not everyone is the same, I am not fond of the idea that young students are always more interested in practical applications than they are intellectually curious. Making things blow up, or controlling something with a few lines of code is fun and exciting, but so is discovering something that previously seemed hidden about how the universe works at a fundamental level. For a lot of students math is exciting because they feel that they are imagining how reality itself is working, and even how reality might have functioned if some seemingly arbitrary rules had been decided differently. I don't mean to say that practical applications are not inspiring, rather that the good intentions are misguided when they imply that very young students aren't capable of abstract thought or ever motivated by purely intellectual subjects. Becoming an engaging teacher of theory may not even be attainable to as many people as who are able to encourage a student through a practical demonstration, but that is different from children not being receptive to both.
- parasubvert 11y agoWhy place one body of knowledge in front of the other like this? Everything has to be a competition with some people. It's always been a mistake to believe math is somehow more noble than programming. Best explanation as to why comes from the preface of SICP by Abelson and Sussmann: "Underlying our approach to this subject is our conviction that ``computer science'' is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology -- the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of ``what is.'' Computation provides a framework for dealing precisely with notions of ``how to.''"
- davidamarquis 11y agoWhere did you get nobility from. This isn't the author's point at all. Obviously knowledge about different areas of knowledge can be of more practical benefit at different times. The point is that in the next few years knowledge of math will become relatively more valuable and programming relatively less valuable. Regarding the quote, it is a best a great oversimplification. Mathematicians have been interested in computation for a long time. See the Euclidean algorithm for example. Interestingly its computational complexity was worked out a hundred years before computer science was even considered a subject. Many great mathematicians like Gauss also had a keen interest in computation. A description of the fast Fourier transform was found in his notes after he died. It is true that mathematical theorems have historically not been written from a computational point of view. But many many theorems can easily be turned into an algorithm (anything based on induction for example). Mathematics has many different subfields and the number of such constructive theorems varies based on the area. However, constructive arguments in mathematics are so pervasive that I think it is silly to even try and separate computation and mathematics as separate ways of thinking.
- parasubvert 11y ago"The point is that in the next few years knowledge of math will become relatively more valuable and programming relatively less valuable." Sorry, that's at best an opinion, and at worst, bullshit. There little evidence of this. This article makes an assertion, provides a few anecdotes.
- haphazardeous 11y agoThis depends on how people learn and perceive information. If I hadn't learnt programming before I was taught Maths and Calculus, I probably wouldn't have understood some of the basics like Functions, Matrixes and Series etc or it would have taken me quite a while to grasp the idea. For me Maths is boring. It's abstract and you don't have any interaction whereas programming is more fun for me. I never truly understood some of the physical and mathematical concepts I was taught in school and uni until I came across programming/software development problems that are solved with those and only then I realised how useful they can be.
- DamnYuppie 11y agoI also find Math studies by themselves to be quite boring, at least that is how I perceived it for most of my education. Yet I had one teacher who worked really hard to show how Calculus is applied in reality. He made all of his homework and test's real world problem solving oriented. He was also a part time scout for the Seattle Mariners and he would do all of his in class examples using either base ball or real estate. This really helped me put into context many of the concepts and the multitude of ways they can be applied, not to mention it was a really exciting and enjoyable class. After experiencing that I saw Math in a new light. I simply wish that my K-12 education was more directed to the applicability of many of the concepts we learned as I believe it would have made the subject not only much more approachable but enjoyable.
- pjmlp 11y agoIt is a very personal thing how each one learns, of course. On my case, the tools provided by abstract math and CS (algorithms, data structures, calculus) allow me to think outside of the box and quickly adapt to any programming language.
- vog 11y agoIndeed, programming something is a great trick to get a deeper understanding of it. It means writing everythin down to the details that even a dumb machine can understand it. I guess this is like understanding something better by explaining it to others. Just that this "other person" is a machine. It is also well-known that it even helps to explain it to your own, by writing it down. For example, PG noted that in the introduction of http://paulgraham.com/writing44.html http://paulgraham.com/writing44.html
- codingdave 11y agoWhat students need is the ability to self-teach. They need to be able to recognize when there is a gap in their knowledge, know how to find instruction in those topics, and have the motivation to follow through on actually learning it. If children gain those skills by the time they are adults, they can correct any faults in their educational paths.
- jdc0589 11y agobingo. if you have problem solving skills...guess what? you can solve problems.
- deleted 11y ago[deleted]
- JuanSoto 11y ago>What students need is the ability to self-teach. They need to be able to recognize when there is a gap in their knowledge, know how to find instruction in those topics, and have the motivation to follow through on actually learning it. In my university, this is what separates the good CS grads from the bad. You have no idea how many students expect the professor to hold their hand through a lab or project and are unable/refuse to learn on their own through Google, the textbook, or the official documentation.
- fuzzieozzie 11y agoIs self-teach 'newspeak' for learn? You learn by observing, researching and practicing. I guess I am getting old.
- oberstein 11y agoI thought self-teaching, self-taught, and similar were jargon that has been around for a long time. In the historically recent programming community especially it's all over the place: people who never did formal CS education teaching themselves how to program and are as or more effective than their Stanford peers. The difference between self-teach and learn is that the former is an attempt at learning through one's own will and direction, and the latter is merely a state of understanding the path to which can be from many directions (self-directed, teacher-directed, or just simple observation of the world around you).
- bigtunacan 11y agoIf we are breaking it down to something this basic I think a more accurate statement would be, "What the Next Generation Needs Is Math AND Programming" In traditional Computer Science there is already a focus on both of these areas. The question I wonder is more, "Does the degree prepare us for either of these areas?" In the area of programming I believe the answer is a resounding NO. Most students coming out of a 4 year CS program aren't ready to be programmers. They've been taught a bunch of theory and fundamentals, but they haven't spent time applying them on real problems at scale. Within the classroom setting the fundamentals are applied to trivial problems that can fit into the constraints of a classroom setting. Like many programmers, my career path (until recently), has kept me pretty far away from the math; so I don't think I can say for sure that the same is true here, but I suspect it is. I have argued for a long time that much like a doctor goes through a residency program, something similar should be required of computer science degrees. At least a couple of years of the program should include students working together with experienced professionals building real systems that are attempting to solve difficult problems.
- paulojreis 11y agoI'm going to deliberately try to be controversial, but in order to spur discussion. What the next generation needs is more soft/social sciences, not STEM. tl;dr of my point: we know dangerously more about technology than about people, their needs as individuals and their needs as a society. Somewhere along the line we should stop throwing technology at people just because we can, and start to focus on the right solutions - technological or not - to real problems.
- fsiefken 11y agoTrue, but also in the social sciences you need a firm grasp of statistics, science and a keen mind. Perhaps even more so as people, culture are often more complex then designing user interfaces, self-driving cars or facial, voice and gesture recognition apps. How to filter out factors, describe patterns? Statistical methodologies (and the psychological/sociological theories they test or are based on) are crucial tools in understanding dynamics of behavior. The need for social science experts will arrive when people need to solve these problems, like with SEO/SEA, VR, gaming and narrativity - in their multidisciplinary contexts in various companies and industries.
- paulojreis 11y agoI think the need already exists. But companies are used to getting by (with huge profits) with engineer-driven products and decisions. The extent to which our technological products and services are engineer-oriented is mesmerizing. Steve Jobs once said something about Apple working at the intersection of technology and liberal arts. It was marketing, of course, but I can't even express how much I agree with this. Regarding the need for a good grasp of statistics in social scientists, I fully agree. But I think it's something that already exists, up to a point at least. I work in software development with many software engineers around, but I also did a PhD with a strong social sciences background. You would be amazed with how much the guys with psychology backgrounds know about stats and methodology (and how much the common STEM guy doesn't).
- joeclark77 11y agoIf by "soft/social sciences" you mean real substantive disciplines like history, philosophy, civics, and the arts, I agree with you. Currently "social studies" in school is a bit of a trash bucket into which gets thrown every personal ideology and pet project that some teacher got her feminism or social work or grievance-studies BA in. It's the worst subject in most curricula, even worse than English. The problem is there's plenty of those nonsense degree holders and far too few college graduates who have studied the humanities.
- deleted 11y ago[deleted]
- copsarebastards 11y agoWhat the next generation needs (among other things) is for people to realize that the world has become far too complex for the next generation to just need one thing.
- gbachik 11y agoWhat the next generation needs is to stop being told what they need.
- Delmania 11y agoWhat the next generation really needs lessons in: - Humility - Empathy - Patience - Self restraint and control - Mindfulness/Awareness - Disappointment - Resilience - Communication - Listening - Learning - Financial independence and literacy - Critical thinking - Problem solving - Self acceptance Then we can focus on what area the person can best contribute in. Not everyone is going to suited for a job in programming or mathematics, or STEM as a whole.
- meesterdude 11y agoI'm glad to see a comment like this; I feel precisely the same way.
- Retric 11y agoI don't think you can teach useful levels of Critical Thinking without a solid understanding of Math, Science, and Human behavior. But, programming can also help people think more deeply about problems. There is this huge realization that computers and by extension reality does not care about what's in your head only what is. You can argue that Math has similar levels of precision, but once people start getting partial credit some of that harshness is lost. That said, I don't think school should overly focus on directly useful skills or even what people studied in the past. How many lifetimes of highschool sudents where wasted learning how to identify and name Regular Polyhedra?
- nmrm2 11y agoPartial credit on a math problem is pretty analogous to still getting paid even though your code has bugs.
- Retric 11y ago... or designing a bridge that looks nice, but falls down in the wind. Don't get me wrong I think we could just teach LOGO or other pure educational language for a few months. The goal IMO should be critical thought not jobs. https://en.wikipedia.org/wiki/Logo_(programming_language) https://en.wikipedia.org/wiki/Logo_(programming_language)
- PSeitz 11y agoWhy do I need to know tomorrow what an ‘principal eigenvector’ is?
- JoeAltmaier 11y agoSort of like knowing what the complexity of an algorithm is - so you can know if your solution to a big-data problem is going to scale.
- torinmr 11y agoAccording to the author, you need to know this in order to understand "how Google works," because the PageRank algorithm is described in terms of finding the principal eigenvector of a particular matrix.
- kazinator 11y agoMisleading title: the actual message: > [I]ntelligent analysis of large scale data is the future. And for that future, what you need is Math, not Programming. I don't agree; intelligent analysis of data probably requires the combination of a large number of cases, stitched together with some hacks. And a principal Eigenvector or two buried in there in some supporting role. :)
- louden 11y agoNot everybody needs to know how to do math beyond arithmetic (though the opportunity should be provided). The focus should be making sure everybody can understand the math, and especially statistics, they are presented with everyday.
- gizi 11y agoWow. You are projecting us back to the mid-12th century, before we got hold of Algoritmi's famous book: Kitab Al-Jabr, i.e., Liber Algebrae. Before that it was only arithmetic and bits and bobs of Euclid's Elements (=Geometry). That was all they had.
- Retra 11y agoYou can't understand statistics with arithmetic. At least, not any more than you can understand quantum mechanics or tensor algebra.
- veddox 11y ago> Today, we can get away with ‘knowing’ how Google works without understanding what a ‘principal eigenvector’ is. Tomorrow, we need to absolutely know that. Part of the advancement of technology is that fewer and fewer people actually understand how stuff works. What percentage of the population has any notion of how a computer works under the hood? How many people understand how our national power grid works? Our sewage system? Our cars? As our world gets more sophisticated, we specialize; we have to. Sure, there will be people who will have to know about eigenvectors tomorrow - but do we all? Not by a long shot.
- JoeAltmaier 11y agoAgreed. Its an old story - warriors say we all need to think like warriors; merchants say we all should think like merchants; engineers are getting on that bandwagon.
- sqeaky 11y agoIt is rare that a population has a long term sustainable soldier/war economy. Merchants have always needed supporting trades (farmer's for food and raw material, sailors for shipping, for example). Today we have enough technology that an engineer can build a soldier or a merchant (or a farmer or a sailor). We are all familiar with drones and vending machines. It is important that an engineer not constrain his thinking though. Neither of these replacements does everything a human can do. Sometimes a soldier takes a bullet for a civilian and sometimes a merchant haggles and gives discounts to needy. Even though these replacements are not perfect they still compete with humans for jobs. We are still a long way from creating a robot engineer. If you want a job that won't be replaced quickly think like an engineer. We are also closer than ever but still a long way from having a robot doctor or lawyer and will likely be requiring humans for anything resembling a bedside manner or sympathy. Hopefully there will be jobs alongside these artificial replacements for human experts for some time.
- scrollaway 11y agoI agree to an extent but it's also very scary that some knowledge can become so rare it's more diluted than homeopathic medicine. In a world where very few know how some ubiquitous technology works, it's easy and cheap for some corp or govt to get a monopoly on that knowledge (just hire everyone). And with a monopoly on it, you can modify it to your liking and suddenly we're in a dystopian novel and nobody knows about it. Yes, yes, tinfoil and all that. It's theoretical, but is it really that far off?
- S4M 11y agoAs someone who has a maths degree, I find it sad that most of the jobs advertised that require a background in maths are either jobs of Quants or Data Scientists.
- nmrm2 11y agoActuarial work and accounting are both very accessible to mathematics majors; you really just need one extra course worth of content (that you can work through yourself) to be prepared for an entry level position in those fields.
- S4M 11y agoFor me Actuarial work falls into "Quant" work, and accounting has nothing to do with maths.
- nmrm2 11y ago> accounting has nothing to do with maths. Sure, but like I said, with a Mathematics degree you can self-study and get an intro-level position pretty quickly. Otherwise, I guess you can go to grad school or become a teacher? Or, certain types of software developers get to do interesting math as well.
- S4M 11y agoI am not interested in doing anything related to accounting, except for my own business. > Or, certain types of software developers get to do interesting math as well. Yes! But sadly, those type of positions are rarely advertised - well, you could say that Quants and Data Scientists are some kind of software developers as well, but the maths needed in other fields are kept very secret. Now, I am not looking for a job at the moment - I graduated in 2006 and am working on my own thing now (maths related) - but I was just lamenting that people complain that more mathematicians are needed without providing concrete jobs for them.
- fuzzieozzie 11y agoHere's the challenge faced by strong students. At a recent science fair, a strong 8th grader presented a simulation where you could fly a rocket around a plant, with the ability to change gravity, thrust, etc. I asked if he had explored the math (since this was a soluble problem.) The answer "The math is too difficult - I do it numerically, much easier that way." There is great advantage in re-using the work of others, but in order to advance the frontiers of knowledge people truly need to understand the underlying assumptions and mathematics.
- nmrm2 11y agoThere are whole subfields of mathematicians who would agree in spirit with "I do it numerically, much easier that way" :-)
- fuzzieozzie 11y agoAbsolutely - numerically is they way to go in some fields, but without a deep understanding of the underlying limitations there will be no expansion understanding/knowledge. It's the old academic vs. practitioner argument.
- innguest 11y agoI'm interested in this but I have no idea what you are talking about. What does "numerically" mean and how does it allow one to implement rigid body physics in a "much easier way" than using the known formulae?
- fuzzieozzie 11y agoRather than solving Newton's equations for gravity (with initial conditions determined by the masses of the bodies, their position and velocity) he simply calculated the acceleration and a point in time .. advances time by a small bit, changes velocity (based on acceleration) and location (based on the velocity) by a small bit and then repeats (computersare good at doing the same thing iteratively). This is using a computer to numerically estimate differential calculus.
- vezzy-fnord 11y agoOf course, mathematics education in public schools is notoriously awful, though quality obviously varies across jurisdictions. I can't see programming education faring better, especially considering that the emphasis is on "code". This is a horrible thing to put at the forefront, because it limits your view to the particular set of language constructs you use as opposed to broader properties of computer systems and computation. It is best to start by a rundown of high-level computer architecture (von Neumann and Harvard) so as to understand basic machine instructions and types, progressing into OS fundamentals (something like The Design and Implementation of the FreeBSD Operating System, though condensed), then briefly into compiler construction and language VMs, onto practical usage of a CLI shell, the various ways of representing resources and IPC, data structures and how to use them in forming basic services (like a message/event broker bus or publish-subscribe with named pipes and the file system under a standard interface/toolkit), build systems and so forth. Ideas and concepts with code on the side. Obviously these are rushed examples, but the point is that code-centric computing education in public schools will probably backfire by creating people with just enough knowledge to have extremely warped views of software. Unless your goal is to turn kids into ALGOL monkeys who can't see beyond the mnemonics, I suppose. You might say this would be too complex for public schools to implement. I agree, which is why it should stay out. Do it right or don't at all. Bashing out Java code alone is nowhere near as relevant as some people seem to think it is.
- gizi 11y agoAccording to the Curry-Howard correspondence, all mathematical proofs are actually programs. This is normal. A proof is a series of steps, and if you unambiguously describe these steps, a computer will obviously be able to execute them. Furthermore, since Alonso Church successfully proposed a Turing-complete axiomatization based on just functions (even numbers are just functions), a computer program is clearly a mathematical object. An alternative axiomatization, Zermelo-Fraenkel, is based on sets. There is probably no better playground for sets than using a relational database. SQL is pretty much Zermelo-Fraenkel on steroids. In other words, large areas in math go into supporting the discipline of computer programming already. I do not believe that everybody would have to spend more time with areas in math for which no useful applications exist and that we are therefore unlikely to use in programs.
- jandrewrogers 11y agoAll things that exist are mathematical objects and programs. Algorithmic information theory asserts that my cup of coffee is actually a program. While mathematics is important to computer programming, for most practical purposes it is of limited utility unless you are inventing new computer science. Knowing how to use a relational databases correctly requires no formal set theory. Understanding how to build a massively parallel relational databases requires understanding the topological equivalents of relational operators, which is much more mathematical, but very few programmers design or build parallel databases.
- Retra 11y agoMathematicians need to be more open to accepting computer programs as results. It's one of the reasons we need better programming languages.
- GuiA 11y agoThe problem with accepting computer programs as results is that they require much more scrutiny, as computer programs typically incorporate structures that are irrelevant to the result and yet may affect it (think memory leaks, etc). Mathematical proofs are a "pure" program, unencumbered by the technicalities of the real world. As far as better languages for math, you'll enjoy this article + HN discussion: https://news.ycombinator.com/item?id=9572426 https://news.ycombinator.com/item?id=9572426
- 0xdeadbeefbabe 11y agoNah it needs history as demonstrated by the OPs myopic stance. Ever hear of a liberal arts education? I wonder why that became popular?
- sanoli 11y agoTeach kids basic arithmetic WELL, teach them logic in a fun way, find a way to get them to like reading and think critically about what they read. That's fine for me. I'd do away with all the rest of math (algebra, trig, etc) and have it as optional in high school. Really, if you got the stuff above right as a kid, you don't need to learn trigonometry if you don't want to at the time.
- yellowapple 11y agoI'd personally throw in something like geometry, which (at least when I took it back in my middle school days; maybe my experience was atypical) had a heavy emphasis on mathematical proofs, how they worked, why they were important, the differences between postulates and theorems, how to prove theorems, etc. Whereas most of my prior and future math courses (particularly algebra) ended up feeling like an endless barrage of busywork, geometry forced me to actually think about what I'm doing.
- sanoli 11y agoNow that I think of it, I remember having lots of fun with geometry, trying to figure things out on my own. I still remember the first time I got to prove Pythagora's on my own, or the formula for the volume of a pyramid. It felt so awesome that I still long today for a math course where you start from zero and the teacher just guides you into figuring stuff out yourself, one by one (Pythagora's, Pi, formulas for volume, etc).
- nateabele 11y agoHere's a concrete example of what this is about: "Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak [...] inability to effectively use powerful combining forms [...] lack of useful mathematical properties for reasoning about programs." [0] It goes without saying that mathematics is at the root of computer science, but we've gotten so far away from those roots, which is why we're reaching the upper bounds of complexity that can be foisted upon our old, broken way of thinking. Time to go back to basics. [0] https://web.stanford.edu/class/cs242/readings/backus.pdf https://web.stanford.edu/class/cs242/readings/backus.pdf
- thewarrior 11y agoEvery profession has a tendency to overstate it's own importance. In the eyes of programmers , we are misunderstood , under appreciated and people don't fully grasp our worth. Management thinks that they're the real movers and shakers , having to take all the risk , make all the tough decisions , while having to deliver results while being saddled with sometimes recalcitrant and inefficient teams. Mathematicians feel that they are the ones at the vanguard of progress and are angered by the fact that people have the temerity to say that they don't "get" math or have any use for it in real life. Though Delmania's comment skirts dangerously close to what pg might call a "middlebrow dismissal" , he makes a very important point. Our increasingly unequal economy and limited opportunities are forcing us to increasingly push ourselves harder and into a fierce cycle of competition that is destroying us. Some lessons in Humility , Resilience and Self acceptance would do us a world of good.
- crimsonalucard 11y ago>Management thinks that they're the real movers and shakers , having to take all the risk , make all the tough decisions , while having to deliver results while being saddled with sometimes recalcitrant and inefficient teams. It is by far easier to imagine something than it is to make that imagination real. It is by far easier to tell someone what to do then it is to do it. Management is by far easier than engineering. Management, however, is still a dramatically different skill than engineering, and it is a skill that is important.
- marcosdumay 11y ago> It is by far easier to tell someone what to do then it is to do it. Only if you don't care whether it gets done, and if it gets done well. Otherwise, it's far easier to just do it, and not rely on the known unreliable "other people". Problem is that a big share of management in fact don't care about those things, and only manage the political game. But don't let that mislead you, actual management is hard, quite on par with engineering.
- graycat 11y agoHere is some of why the OP is correct: From 50,000 feet up, we take in data, maybe already have some other data, manipulate all that data, and get results we want to be powerful, valuable, etc. This little process is more important now because computers let us do much more in the data manipulations. That said, there is a remaining question: What manipulations should we have the computers do? Shockingly often in the past, we understood the manipulations well enough to program them because we were largely just programming what we had done or in principle knew how to do just manually. But, as we have programmed more of what we knew how to do manually, we will want more powerful, valuable manipulations. Well, often the best approach to more powerful, valuable manipulations will be via mathematics. There, we can look at reality, see some situations or properties that appear to hold, let those be assumptions for some mathematics, that is, hypotheses for some theorems, proceed with theorems and proofs, get some mathematical results, and use those to say what manipulations to do. E.g.: (1) Statistical hypothesis tests. (2) Systems of ordinary differential equations as growth models. E.g., what would happen if we released 1000 healthy US bobcats into the outback of Australia? (3) For real time local delivery, which vehicle takes the next order that comes in so that we can meet promises to customers and minimize expected delivery cost? (4) Pick a part of the ocean, drill a lot of oil wells; now, what should the sea floor oil pipeline network look like to carry the oil to where we want it meeting safety standards and minimizing cost, e.g., expected net present value over the life of the oil wells? There are many more such. For such problems, data manipulations from theorems and proofs, sometimes new, can knock the socks off any other approach, e.g., intuitive heuristics. That's some of the future of math, especially in what gets programmed.
- fapjacks 11y ago... says mathematician.
- 0xDAVE 11y ago> “Google works without understanding what a ‘principal eigenvector’ is. Tomorrow, we need to absolutely know that.” This is total BS. Even in the present day, most programmers can survive their entire career without knowing this.
- ThatMightBePaul 11y agoI agree the next gen needs Math. Not for the reasons in this article, though. John Carmack's 2012 QuakeCon speech is almost a direct rebuke: https://blogs.uw.edu/ajko/2012/08/22/john-carmack-discusses-the-art-and-science-of-software-engineering/ https://blogs.uw.edu/ajko/2012/08/22/john-carmack-discusses-... In reality in computer science, just about the only thing that’s really science is when you’re talking about algorithms. And optimization is an engineering. But those don’t actually occupy that much of the total time spent programming. You know, we have a few programmers that spend a lot of time on optimizing and some of the selecting of algorithms on there, but 90% of the programmers are doing programming work to make things happen. And when I start to look at what’s really happening in all of these, there really is no science and engineering and objectivity to most of these tasks. You know, one of the programmers actually says that he does a lot of monkey programming—you know beating on things and making stuff happen. And I, you know we like to think that we can be smart engineers about this, that there are objective ways to make good software, but as I’ve been looking at this more and more, it’s been striking to me how much that really isn’t the case. Aside from these that we can measure, that we can measure and reproduce, which is the essence of science to be able to measure something, reproduce it, make an estimation and test that, and we get that on optimization and algorithms there, but everything else that we do, really has nothing to do with that. It’s about social interactions between the programmers or even between yourself spread over time.