14 ms·
Joel Spolsky and Clive Thompson discuss the past, present, and future of coding
- lozaning 7y agoTotally unrelated to this topic, but I absolutely love Joel's "You suck at excel" youtube video, done in the same vein as the old "You suck at photoshop" tutorials someone made. https://www.youtube.com/watch?v=0nbkaYsR94c https://www.youtube.com/watch?v=0nbkaYsR94c I find it absolutely hilarious, and I can almost guarantee you'll actually learn something new you can do in excel.
- vicarrion 7y agoHaha it mostly makes me think how frustrating it is to work in excel
- xhgdvjky 7y agoin a way this is evidence that Excel is usually not the right choice
- LeonB 7y agoI made this subsite: https://excel.secretgeek.net/ https://excel.secretgeek.net/ to make it easier to share the video internally at work. Sending a video about "Secrets of Mastering Excel" is less like to humiliate your colleague than sending them a link to "You suck at excel"
- anderspitman 7y ago> Joel: The big picture there is, the school system should have given up on trigonometry and calculus a long time ago and started teaching statistics and probability. The discrete math is a lot more useful. I could probably be convinced to jump on that bandwagon.
- rhymer 7y agoUnless you water them down like some populate science books, I don't understand how you can teach probability and statistics without calculus?
- anderspitman 7y agoEven just basics like counting and being exposed to things like the birthday paradox I think are very valuable.
- cjf4 7y agoWhat too many people are missing is basic statistical and probabilistic concepts that allow one to evaluate and contextualize data they are constantly exposed to, and calculus isn't needed for this. Calculating the area under a distribution curve isn't nearly as important.
- leetrout 7y agoYes, this was how my college-level class was structured. We focused on using Matlab to plot things and understand what we were plotting as we moved across the range of topics. We never did any deep dives and no calculus and I think the class was solid (and approachable in high school with a competent instructor).
- XaspR8d 7y agoIn my rural US curriculum, these concepts were 100% part of the (very vague) "Algebra II". Granted it seems like it didn't stick for a large segment of folks. (Which might be a valid thing to examine in itself: for math and science we tend to act like it's just the fact that a course is missing from the curriculum that will answer why the general population is inexperienced with it, but nearly everyone also takes composition and literature classes, and I don't feel like we can say their associated skills are really at "saturated" levels.)
- bigger_cheese 7y agoMaybe I am biased because I'm an Engineer but most of the stats I do leans heavily on Calculus and Linear Algebra A good example is regressions this is quite a common technique I rely on daily and at it certainly helps to have an understanding of slope, intercept etc. Unfortunately my "Stats for Engineers" course at uni was not great it was pretty much focused on "this is how to interpret ANOVA output from Excel". I've found looking at some of the more complex stats I've had to wrap my head around like Principle Component Analysis - it makes a lot more sense when you can grasp the linear algebra going on behind it.
- bluecalm 7y agoYeah or several months we've spent on solving quadratic equations and inequalities which was very repetitive and something I've never needed afterwards. I am afraid it's tough to teach statistics and probability though. People seem to struggle with it and it's difficult to find competent teachers and time necessary for less gifted children to have a chance to understand it. It's much easier to do repetitive trigonometry drills over and over again sadly.
- deleted 7y ago[deleted]
- bluedevil2k 7y agoWhile I understand his argument, there are people who use that trig/calc base and move forward with their math careers - NASA scientists, physicists, engineers, and if we don't provide that math education in high school, will we be hurting those careers by not continually pushing their math skills in those directions.
- anderspitman 7y agoBut who are we hurting now by not teaching probability? I would argue we're hurting engineers, programmers, voters, and humans. Always tradeoffs.
- jacquesm 7y agoDoctors. And by extension: their patients too.
- panopticon 7y agoI don't think anyone is arguing that trig or calc don't benefit anyone, but the opportunity cost for a standard curriculum in high school is extremely high. What about the other careers/professions/fields that are hurt by teaching calculus in place of _______? Clearly we need a higher standard than that.
- mynegation 7y agoStatistics - at least the way I was taught - relies quite heavily on calculus.
- leetrout 7y agoWas it a single course on stats? My college course was "Probability and Statistics" so by combining them you got coverage of the basics but no deep dives and no calculus.
- anderspitman 7y agoI think focusing on the types of probability you encounter in a discrete math course, like Joel specifies, is the idea.
- cjf101 7y agoI disagree with the impulse to discard calculus + trig. You need more statistics than calculus to understand the current state of neural nets in Machine Learning, but you if you don't at least know the chain-rule, you're just using library code and not understanding even a basic perceptron. And from a personal perspective: I've used so much trigonometry in my career (plenty of graphics work) that I'm not sure where I'd be without the time spent on trig and geometric reasoning in school. I mean, I agree with their basic thesis that stats is important because of ML and the increasing practicality in using statistics and AI to solve problems. But I don't thin what they'd discard is well thought out in terms of what is going on. Nor is it meant to be, it's just a casual interview.
- monocasa 7y agoI think you need calc to deeply understand neural networks, but there's a lot of other fields that would do well to have a more formal background in statistics starting early. Pretty much most of society would benefit, IMO.
- anderspitman 7y agoOh, on a personal level I totally agree about trig. I've used it a lot in my programming as well. But I think for the average person a basic understanding of probability is way more valuable, not because of the hard skills but because it changes the way you think.
- hdctambien 7y agoFor the average person a basic understanding of arithmetic would be nice. People are always complaining that schools don't teach them how to do their taxes, but for most people doing taxes is a combination of addition, subtraction, and following a page of instructions about which numbers to copy from one piece of paper to another. Imagine trying to teach 16 and 17 year olds that are going to grow into adults that struggle to copy numbers from Box A to Line 3 and then add them correctly the difference between t-value and a t-value. (I also believe the average person should have a better understanding of probability and statistics ... but we're still working on getting the average high schooler an understanding of why 1/2 + 1/3 is not 1/6 and why you don't need a calculator to calculate 7 * 0)
- crispyambulance 7y ago> I could probably be convinced to jump on that bandwagon [dump calc, replace with stats] I think, really, that the opposite needs to be done. Math curriculums would do better to focus more on getting "the foundations" right. Starting with algebra, geometry, trigonometry and real analysis (calculus), and pursuing it rigorously for college-bound students. There should be a focus on mastery rather than covering a wide variety of stuff quickly. Too many students get to college with a mathematical foundation that looks like Swiss cheese-- with many holes in basic skills: like fractions, exponents, trig (yes, even if they took calc in high school).
- tomnipotent 7y agoWhy should geometry and trig be "the foundations" while statistics is not? Because that's the way it's always been? Sounds like a horrible reason to keep things the same.
- jacquesm 7y agoFor the same reason that the concrete or blocks partition under your building is the foundation: the one supports the other.
- hdctambien 7y agoGeometry is really used to introduce proofs. Turns out its easier to get teenagers to understand a proof if you can actually see its results. I think that's a pretty good foundational skill, but I admit that it isn't obvious from the students point of view why that would be or that that is what they are even learning. In Texas the Geometry class is designed to "strengthen their mathematical reasoning skills in geometric contexts. Within the course, students will begin to focus on more precise terminology, symbolic representations, and the development of proofs" [1] In Texas Trig is taught in Precalc, which makes sense if you are going to take Calc which makes sense if you are going to go on to study engineering or physics or mathematics. But neither of those classes are required in Texas. You could just as well take Algebra 1, Geometry, and AP Stats. [1] http://ritter.tea.state.tx.us/rules/tac/chapter111/ch111c.html http://ritter.tea.state.tx.us/rules/tac/chapter111/ch111c.ht...
- Animats 7y agoI would take out only classic Euclidean geometry. Proofs in the geometry space are in the education system because they've been there for over two thousand years. Yet few people do those. Even people who do lots of 3D work don't do those. It was at one time considered important because it was the only system of formal logic around, but we're well past that.
- leetcrew 7y agothis is basically the only exposure to proofs that anyone gets before college. you want to remove it completely?
- hdctambien 7y agoBoth the school I went to 20 years ago and the school I teach at now offer Probability&Statistics and AP Prob&Stats and at neither school is Calculus a required course. In fact, you can take any of our 4 Computer Science courses as your 4th year math credit, but usually students choose between Stats or Calculus (or just take both) I'd wager it's been a while since Joel was in a school and the course offerings across the board are likely quite different than he remembers.
- panzagl 7y agoAnd as a counterpoint my daughter's school had 'high ability' math students skip geometry (over my objections) to hurry them to calc, which surprise, surprise she did miserably at.
- jacquesm 7y agoI don't see any reason why they could not teach all of those. It's a bit like saying that you should learn English instead of your mother tongue (assuming that's not English). There is utility in knowing more than just a few things because they have commercial value or immediate use.
- hdctambien 7y agoThe reality is that we are teaching as much math as we can. My school teaches Algebra 1, Geometry, Calc, and Stats. We sometimes are able to offer Multivariate Calculus if there are enough Juniors in the BC Calc class. It would be nice if we could offer an Abstract Algebra or Complex Numbers course occasionally, but there just aren't enough students that get to senior year ready to take those kinds of courses. Keep in mind that there are 2 AP Calculus tests, so no student that could take Abstract Algebra would choose to not take AP Calculus due to getting college credit for it. Since there is an AP Stats class, students will often take both AP Calc and AP Stats. Which means they are lined up to take all the fun math classes when they get to college! Of course, these aren't the average students. These are the students that are taking full boats of AP classes and coming out of high school with 15 - 30 college credits.
- bllguo 7y agoabsolutely. judging from the state of US math education relative to RoW, what fields of math to teach barely registers as a problem
- codesushi42 7y agogiven up on ... calculus a long time ago and started teaching statistics and probability Well, Joel obviously wasn't taught statistics then, because you need calculus to learn it properly. And trig is such a fundamental math needed for linear algebra and vector calculus that it shouldn't be dropped either.
- deleted 7y ago[deleted]
- rsj_hn 7y agoYou need calculus to understand probability and statistics, since probability is fundamentally a question about measures and statistics about integrals of variables on measure spaces. Even if you don't know the details of measure theory, certainly you need some notion of limits. Calculus is not much more than a systematic application of limits to algebra and geometry. Even for discrete math you need to understand ideas like convergence, otherwise probability is filled with paradoxes. "Pick a number!" "Any number?" "Well, numbers that are big are less likely to be picked." "How much less likely do they need to be in order for your question to have a sensible answer?" "Let's talk about convergence" You also need algebra and trig. How else would you know what an inner product is without trig? Or that correlation is just an inner product? You need some linear algebra as well to understand cross products and inner products, otherwise they will be these magical things. Many ideas in discrete math should be understood as the discrete versions of ideas in continuous math, with the continuous math ideas often being more natural and easy to understand. Sometimes one of the best ways to estimate an infinite sum is via an integral that is much easier to solve. A lot of complicated sums seem magical until you see that they are just the discrete versions of integrals -- sometimes path integrals -- with various weights that come from measures on the spaces of interest. So if your interest is blind computation, you don't need a lot of discrete math at all, you just need to learn what the symbols mean and how to look recipes up in books. But if your focus is on understanding what you are doing, then there is not a magic barrier between discrete and continuous math, most discrete math can be viewed as a discretization of continuous ideas, and in some cases ideas in continuous math can be better understood as limiting cases of a discrete result. The sad thing is that this is all stuff you will get in a good gymnasium in Europe but you may need to wait until college to get it in the U.S. Absolutely no reason why a teenager can't learn calculus, limits, trig, probability and statistics, as well as basic ideas in group theory. Really algebra, geometry and trig you should get in elementary school so that you can get calculus, probability and statistics, basics of differential equations and some topology in high school. Then you can take specialized courses in algorithms if you are into CS or say PDEs if you are into engineering -- this is all stuff that should be taught in high school. College tracked teenagers in Europe often learn that and more, and not just in math centered gymnasiums, but the price of that is tracking, otherwise you have to go as the slowest learner who has no interest in a specific major in college.
- pixelbath 7y agoI had a related discussion the other day with an acquaintance. We were explaining the different maths to my daughter, who is thinking about doubling up courses to get to calculus. My acquaintance (having recently graduated college for maths) was explaining that in the real world, statistics and probability have far more use in the regular world. From my perspective perspective as a programmer, I confirmed that I'd used statistics far more often than trigonometry but with one notable exception: game engine programming. Never have I felt more amateur in my understanding of mathematics during my programming career than when I had to (re)learn about matrix math, dot products, quaternions, Euler transformations, and other concepts I hadn't touched or even heard of in years. Maybe those concepts are less applicable as general math education now that everything's a pre-built framework with its own IDE.
- baron_harkonnen 7y agoNot a whole lot of meaningful statistics you can do without at least a little calculus. The integral is an essential part of nearly all inference, even in very trivial problems such as estimating a bias coin. Statistics without any calc is basically applying ad hoc tests without understanding what they are actually testing. This is the kind of statistics we should be getting rid of, not expanding.
- musicale 7y agoCalculus seems like a clear requirement for most science and engineering discipline outside of computing. I can't imagine I'd want to do physics or mechanical engineering without calculus or trigonometry. And computer graphics would be a lot harder without trigonometry. And for statistics and probability... how can you have a Central Limit Theorem if you don't even know what a limit is? ;-) Being able to deal with continuous functions is certainly useful for statistics and probability.
- achillesheels 7y agoThat is a terrible idea. You do realize that all information transmission is predicated on trigonometry?
- AstralStorm 7y agoYou mean Shannon-Hartley theorem is defined in terms of trigonometry not statistics or calculus? Please do go back to school. It's mostly calculus, statistics and discrete math. Trigonometry, besides geometry, essentially only appears again as part of complex numbers and calculus. When circles or balls are involved. Phase as well, but it's offshoot of calculus, as it can be represented as complex exponentials.
- achillesheels 7y agoYou realize gains are measures of amplitudes? You realize Shannon’s information is predicated on flip flop circuits of electrical signal memory which follows superposition linearity? You realize the mathematical completeness of Euler’s formula is trigonometric? No, I do not need think I need to go back to school.
- analog31 7y agoWhen I was in college, prob & stats were taught in one of two ways: 1) Memorization of formulas and rules, in the course for psychology majors; and 2) Proofs, which were taught in an upper level math course. Neither would be better than trig and calculus. Nobody remembers the formulas and rules unless they use them regularly, and a course that is heavy on proofs would be too hard for most students. In my view there might be a third way, which is to let the teaching of prob & stats revolve around simulation, rather than by algebraic derivation (proofs) or memorization. What can you learn from a giant bag of random numbers? What if that bag is divided down the middle and given to two groups of students? What can you deduce, when you know something about a set, but not everything about it? Can you make random numbers produce outcomes that are sometimes as convincing as the outcome of an experiment? And so on. Even to this day, if I think that I've used the correct statistical formula, I test my recollection by feeding simulated data through it. This kind of exploration could also gently lead students into... coding.
- chii 7y agoWhile learning by simulation is going to garner deep understanding, it takes a lot longer. And in the end you end up discovering the same "formulae" (but of course having done the experimentation to "derive" means you understand it much better than if it had just been told to you).
- analog31 7y agoProbably true. There must be a balance somewhere. I also think that general math instruction should include more computation.
- srcmap 7y agoI love Stack Overflow's podcast. Wonder what happen to that?
- ProAm 7y agoWhich version? The early ones with Joel and Jeff were great. The later ones were overly produced and pretty terrible.
- dpflan 7y agoI'm curious: How did Joel Spolsky gain such clout and influence?
- francisofascii 7y agoInitially his blog, Joel on Software. Then his books. A big part of Stackoverflow's success was programmers already knew who Joel and Jeff were.
- strikelaserclaw 7y agoHe co-invented the website which all developers use on a day to day basis?
- deleted 7y ago[deleted]
- Wildgoose 7y agoA site that is occasionally useful but regularly has questions I am interested in just closed by some pompous administrator.
- astura 7y agoHe was famous before stackoverflow; the success of stackoverflow was attributed to it's creators having a large audience to seed it with questions and answers.
- DanFeldman 7y agoHe and his team created Stackoverflow, a site used by every developer every day. He's a prolific writer around software engineering & managing software engineering. He's got an incredibly blunt writing style w/o any fluff and his writing on topics such as interviewing, refactors, and technical debt are shared around often.
- paxys 7y agoHe has been industry famous since before Stack Overflow, mainly through his blog (joelonsoftware.com). Some of his writing from the early 2000s is still amazingly relevant.
- crispyambulance 7y agoThere's a nice candid shot of Jeff Atwood in the article: https://imgur.com/a/EWn97o7#BulCVmq https://imgur.com/a/EWn97o7#BulCVmq
- gilbetron 7y agoBen Boba = Ben Bova + Boba Fett?
- teddyh 7y ago> Funnily enough, lots of coders aren’t that great at math, so long as you remember to zero index, you’re fine. I would add “…and keep your ranges as lower-inclusive, upper-exclusive.” Interestingly, both of these have related reason why: https://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF https://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF
- ilovecaching 7y agoI have a very bleak outlook on coding after moving to the bay. The companies that win and get big do not put stock in writing good code. They want to move fast so they can beat people in the market. So you end up valuing people who can do whatever it takes to scale and keep things working while ignoring your tech debt until you’re so big you can just hire 20k engineers to clean the mess up over the next two decades. With this approach young engineers learn that clean code and everything people like Martin Fowler have been saying isn’t going to get them promoted. So people learn bad practices and we all get collectively worse at coding. I’ve spent so much energy trying to get people to care about code quality and qualitative improvements, but at the end of the day the people who got these companies were they are can just say there method works and there’s no proof it would have gone better with better code or that they would have survived at all.
- cabernal 7y agoReminds me of the jwz quote: "I know it’s kind of a cliché but it comes back to worse is better. If you spend the time to build the perfect framework that’s going to do what you want and that’s going to carry you from release 1.0 through release 5.0 and everything’s going to be great; well guess what: release 1.0 is going to take you three years to ship and your competitor is going to ship their 1.0 in six months and now you’re out of the game. You never shipped your 1.0 because someone else ate your lunch."
- goto11 7y agoCode is means to an end, not a goal in itself. A "bad practice" is relative to the purpose and the constraints. Fowler writes for enterprises which have large, long-lived systems.
- Topgamer7 7y agoThere is an optimization that needs to be done between manageable code and deliverables. If your code is poorly structured it may be very difficult to expand or iterate upon. This is not ideal, and will slow down your goals. However you could spend forever rewriting and refactoring. What is the value in that?
- gautamcgoel 7y agoJesus Christ, is Ben Bova, not Ben Boba...
- srbby 7y agoJesus Christ is Ben Bova? Well, that's something new for me.
- gautamcgoel 7y agoloool, feel into my own trap!
- gautamcgoel 7y ago*fell
- miguelmota 7y agoA good presentation on the history of programming and how we got to where we are is Bob Martin - The Future of Programming https://www.youtube.com/watch?v=ecIWPzGEbFc https://www.youtube.com/watch?v=ecIWPzGEbFc
- fuzzythinker 7y agoI like Andre Staltz's Future of Cycle.js (more about webdev in general): https://vimeo.com/216975979 https://vimeo.com/216975979
- AlchemistCamp 7y agoI loved Joel's old podcast, and I didn't discover it until last year. Is there any audio available for this?
- afpx 7y agoGithub-type companies become repositories of functions, and programmers pick the function they want and just do functional composition.
- tictoc 7y agoJoel is a great speaker. I am 100% on board with whatever he says. He's awesome.