53 comments

[ 1.8 ms ] story [ 233 ms ] thread
> "No one predicted this." Memorize this phrase.

> Government jobs are very stable.

> Apply math to all problems, regardless of the appropriateness. When two theories are in conflict, the one with more math wins, unless it conflicts with the interests of the people who are paying you.

> Normal distributions. Everywhere.

Are those quotes? They're not in the linked article.
Agreed. Where do I signup? What concrete steps should I take to break this cycle?
Presumably we have to make access to historic CS papers more readily available and research past implementations of concepts before diving in, and what not. This seems sensible. Probably very few programmers actually check the literature before doing anything. Online maybe, but a good deal of the scientific papers in the field are paywalled etc.

I don't even know what fundamentals besides basic ideas of programming might look like.

(comment deleted)
(comment deleted)
It's just a rant with very few valid points. First of all the author is confusing the readers by not making it clear the distinction between writing code as a hobbyist programmer vs writing code like a Computer Scientist. Computer Science first of all is more science than Economics. Theories in computer science have mathematical proofs behind them, the arguments he is making seem to be based on programming design patterns like Abstraction and so forth which are of course always debatable.
Full agree; especially on comp-sci being far harder of a science than economics. The author seems to be making the opposite case, for example based on how there are not labeled 'schools of through'. I would argue these schools of thought are good for structuring debate but don't make economics into a science.

Furthermore, it's very easy to dispel the author's idea that 'learning to code' is not a worthwhile goal or even that there's serious risk if the public confuses learning to code with computer science. To give a correlary, if you teach someone to weld no one will confuse them with a master metallurgist and machinist. I think the world will understand the difference between a novice programmer and a master programmer. The risk here is low. And thus the rant is not terribly valuable.

I think that assumption is incorrect. Looking at the multitude of posts on "why can't programmers program"[1] (in the sense of not having solid fundamentals) and the difficulty of finding, let alone having an interview process that is reliable able to identify them, I would say there is a large amount of confusion distinguishing those who can weld and master metallurgists.

People can spend a decade or more in the industry as working "programmers" and fail at writing FizzBuzz, let alone understanding basic relational theory or how a their chosen stack works. And then we try to patch it over with more tooling or new languages that are supposed to be less error-prone or somehow magically allow us to build out programming teams out of coders rather than teach them solid CS fundamentals and sound development practices.

The problem is that to someone not trained in a craft, even a beginner would appear to be able to perform that craft; only someone with deep(er) understanding of metallurgy would be able to recognize that said welder has no idea of what they're doing and is just following a set scripted actions; what's more harmful is that said beginner is lulled into believing they are actually an expert whereas they're really an Expert Beginner[2].

[1] http://blog.codinghorror.com/why-cant-programmers-program/

[2] http://www.daedtech.com/how-developers-stop-learning-rise-of...

Generally agree, but "theories ... have mathematical proofs behind them" doesn't distinguish computer science from economics. And I think you'd be surprised at the level of mathematical sophistication of a lot of econ. (This is usually not cited as a selling point in critiques of economics, btw.)
Yeah, that comment was strange. I had a PhD mathematician in my class in grad school, one that had worked as a math professor for years and was well published, and he said he felt comfortable with the rigor of the courses. There are a lot of math PhD's publishing in econ journals and teaching in econ departments.
In my anecdotal experience, econ PhD students are a lot more likely to take graduate math classes than cs PhD students. The PhD probability sequence was more or less a standard part of the econometrics course work in my program. Admittedly, I don't know that many cs PhDs, so maybe I don't have a complete picture.

I think a lot of these views come from the undergrad classes where, yeah, econ math requirements are pretty unimpressive. But, of course, the recommendation for students who plan to get a PhD amounts to "be a math major," which again isn't my understanding of cs...

Economics is mostly microeconomics. The stuff you read in the newspapers is not what most economists do. And of course most people who aren't economists, or don't know economists, think that economics is little more than astrology.
> Economics is mostly microeconomics.

Please elaborate. Macroeconomics and econometrics are very much a part of economics.

I didn't say they weren't part of the discipline. What I meant is that most professional economists are not making prognostications about the economy; they are typically analysing costs and benefits at several degrees of indirection, developing models from data, and more generally optimizing choices - economics is the study of choice.

What I'm particularly arguing against is the idea that the average economist is some kind of marketplace weather forecaster and that consequently, owing to accuracy little better than chance, there's nothing worthwhile in the discipline.

Maybe I am misinterpreting your comment, but forecasting isn't the primary function of macroeconomists. Most of what will determine the future hasn't happened yet, or hasn't yet been measured. And yet, public policy, fiscal policy, and monetary policy choices all have enormous effects, and those choices are ideally informed by people who have actually studied the economy.

To put it in familiar terms, there is a difference between the climate and the weather, and we are able to influence the economic environment for good or bad in the same way that we could affect the climate by changing the atmosphere or changing the distance to the sun.

Inasmuch as any branch of economics theory depends on homo economicus, it is IMO little more than astrology.

There’s a lot of really interesting economics research out there (at least the stuff that the Freakonomics podcast is surfacing to my notice is interesting), but it’s on edges that are, by and large, rejecting homo economicus and is trying to reflect what people really do. (There’s a lot of behavioural economics research that has been reported on for the last several episodes, which is fascinating.)

If you're oh-so-considered opinion of the state of economics is based on what Freakonomics is going on about (as entertaining as it might be), then please quit trying to pretend you give two shits about what economists are really up to and quit using obnoxious conceits like homo economicus.
I don’t actually care what economists are really up to. Where I care is that inasmuch as many (prominent) economists interact with the world, they do so from a perspective where homo economicus is a real thing (they don’t use that term; instead, they use terms like “rational actor”, which amounts to the same thing—a disconnect from the real world as it would detract from their theories).

This is, IMO/IME, much more common from economists that believe in unfettered, minimally-regulated capitalism. The same folks who think that healthcare would be better if it were actually treated as a market, or there is such a thing as perfect information about markets. I have far fewer problems with behavioural economists, in the same way that when it comes to language I side with descriptivists far more than I do with prescriptivists.

Essentially, I think that there is very little one can learn from economists—especially the famous (macroeconomists) called out in the article. Except, perhaps, what not to do.

So you're even more pretentious and shallow than it originally seemed. You make up terms where widely accepted terms are already used (because the appropriation of Latin phrases makes one sound much smarter that those silly PhDs) and dismiss the essentially the entire field because there are some (in your view) ignorant troglodytes who don't dovetail with your obviously more informed world view. Your argument is so compelling that you don't even feel the need to support it with facts.

Bravo...you must be a joy at parties.

"You make up terms where widely accepted terms are already used (because the appropriation of Latin phrases makes one sound much smarter that those silly scientists) and dismiss the essentially the entire field because there are some (in your view) ignorant troglodytes who don't dovetail with your obviously more informed world view. Your argument is so compelling that you don't even feel the need to support it with facts."

- kjs3 on lobotomy in 1930.

- kjs3 on Alchemy in 1650.

- ksj3 on Astrology in 3000 bc.

- ksj3 on Human Sacrifice in 10000 bc.

---

Are you honestly so stupid that you think that just because a lot of smart people are doing something it must be correct?

Still no factual refutation. Predictably lame false equivalence retort; can't attack the message, attack the messenger. At least I don't have to question if you're honestly stupid.
> Are you honestly so stupid

Personal attacks are not allowed on Hacker News. We ban people for this, so please don't do it again.

My apologies. I was only mimicking the tone of the post I was replying to in hope that the writer would see what he sounded like.
> So you're even more pretentious and shallow than it originally seemed. [...] you must be a joy at parties.

Personal attacks are not allowed on Hacker News. We ban people for this, so please don't do it again.

... appears to have been written by an economist. Is any other comment necessary?
I am pretty sure it was written by vezzy-fnord, whose other postings on HN do not lead me to believe he's an economist.
Definitely not by an economist. Statements like

> Economics is divided into many schools, in turn leaning neoclassical, heterodox or other

are a pretty big tipoff because

1: non "heterodox" economists do not care enough about heterodox economics to mention it as a "school."

2: "heterodox" economists almost certainly don't think that "more formal math, like mainstream economics" is a good recommendation for any field.

(I am an economist, don't agree with the article.)

I didn't refer to "heterodox" as a school, but rather a higher taxonomic rank. Nor did I ever make the case for formal math specifically.

It is true I am not an economist.

I just meant that an economist would have written differently in a lot of ways orthogonal to the point you were making. I didn't mean it as a value judgement (i.e. that an economist would have written it better), even though my post might have been read that way.
At the end[1] of the talk[2] at 30c3 by Eleanor Saitta and Quinn Norton, "No Neutral Ground in a Burning World", an audience member suggested that people need spend time learning basic historical knowledge about crypto.

    It disturbs me that there are books about cryptographic algorithms,
    there are books about early days of hacking, but I talk to people
    younger than myself who are in their teens and twenties, and from
    the people I've talked to there is an astounding lack of awareness
    of say, the first crypto war.
That's bad enough, but Quinn's reply is a simple, easy to understand, damning indictment of the sorry state of the modern software culture:

    Can everybody in the room who has some sort of computer science degree
    or related degree put up your hand? Keep your hands up. Now, everyone
    who read Claude Shannon in school put your hands down.

    So all of you are people with CS degrees who didn't read Claude Shannon,
    one of the most fundamental voices in everything you do.
Unfortunately, learning from history takes effort, so it's a lot easier to simply cargo-cult programming "knowledge" instead of actually learning about these complex systems.

> economists

They have their own problems with over-reliance on models. Mark Blyth's description of the problem from the perspective from inside the field has quite a few similarities to the problems in programming.

> models

On the subject of over-reliance on models - especially overly-complicated, buzzword-compliant models that cover up a total lack of actual research, innovation, or really anything worthwhile at all - I want to suggest listening[4] to the wonderful Tom Lehrer talk about Sociology.

[1] https://www.youtube.com/watch?v=DWg2qEEa9CE#t=2367

[2] http://opentranscripts.org/transcript/no-neutral-ground-burn...

[3] https://www.youtube.com/watch?v=hmWbkPezgtU

[4] https://www.youtube.com/watch?v=gfZWyUXn3So#t=37

Well, the entire point of Math is that you don't need to learn history to use and improve it. Yes, you can learn a bit from history, but it's very limited, and too specific to help in most situations.

And before you ask, I've read Shannon, and Hamming. Didn't read CS Turing papers (did read some others), and I guess there's no further information there that I don't know already. I've also read about the first crypto wars, and quite a lot about economics - enough to know this article is complete bullshit; the author complains that developers don't practice the most damaging practices of economists. Besides, get me a keynesianist that has read Keynes.

If you came complaining that people mostly lack basic mathematical knowledge about crypto, and don't know the best practices about software architecture, I'd completely agree. I'll also agree that history is a great tool for making the mathematical and anedonctal knowledge easier to digest. But no, it's not very valuable by itself.

Most physicists have not read the Principia. But the contents of it have been deeply ingrained in every physics curriculum in the world.

When work truly is foundational, it actually becomes the foundation of curriculums, and it's not necessary to read the original to learn its material. It is perhaps interesting, or even enlightening, but not necessary.

Thank you, was going to say this as well. I read (some) Claude Shannon in my degree program, but I remember thinking how cool it was to see its influence on all the other stuff I'd learned from textbooks and lectures, rather than thinking, "wow, this is all brand new!".
Overvaluing the "original voices" in a discipline where you don't have to is unhealthy. Take the Turing test: the important part isn't the test, it's the high-level idea. You can get the high level idea without reading Turing's original formulation, and that's all that matters.

If you do read his original description, you'll get bogged down in details like running the test in an ESP-proof room. At the end, you'll either be more confused or, at best, not come away with a better understanding of the concepts themselves. Having read the article myself, I don't recommend except out of historical curiosity. It's not the best option to expand your understanding of CS or the philosophy of CS.

The same goes for a bunch of other foundational writing. We could take a topic I'm deeply familiar with: functional programming. It's fair to say that much of it goes back to Backus, to his Turing-award speech with the catchy title "Can Programming be Liberated from the von Neumann Style?". The title is worth it, the content isn't. It was brilliant, of course, but it was just the beginning—one limited in arbitrary ways. You're better off learning functional programming as it is now than getting into Backus's FP (what he named his language) because that's a less clear and, crucially, less complete presentation of the important ideas. The language didn't even have named variables back then, it was like always writing in point-free style!

Again: it's fine to read this from a historical perspective, but it's not the best way to learn functional programming and you could be a perfectly capable, insightful functional programmer without having read it. Honestly, it feels like the call to read specific works like this is just signalling that you have the "right" background and education to work in a field, which is not where we want to be.

This is pretty consistent. Coming up with brilliant theories and insights is a different skill from polishing and completing them which is a different skill from presenting them well. And there's nothing wrong with benefiting from the last part of this pipeline and skipping over earlier, "historically relevant" works especially in fields like CS and math.

This isn't to say that you shouldn't learn the concepts, which you probably should. But there's a big difference between "having read Shannon" and "understanding information theory", and only one of those matters.

> from a historical perspective

That is the only perspective I'm addressing. The comment is in the context of the observation tht we have a generation fo people who don't know there was a "Crypto War" in the 90s. This observation was prescient, with the FBI et al renewing the crypto wars. The historical view is incredibly important in interpreting our current situation.

> call to read specific works

If you think my reference to Shannon is a call to read any specific work, you're missing the point. The point of the original article and the talk I linked to is the importance of actually taking the time to learn from the people that faced these problems in the past nd learning from them.

> Coming up with brilliant theories and insights is a different skill

Absolutely, which is why it's important to not waste that skill re-inventing stuff where that time and effort has already been spent by other skilled people. I suggesting that it's a bad idea to spend six months in the laboratory to save you from having to spend six days in the library. A lot of problem have already been solved.

I understand the larger context for the point Norton was trying to make, but the example she used is not a good one.
It's not called the dismal science for nothing.
It's called the dismal science because a slavery proponent disliked the abolitionist conclusions of economists.
That reminds me of the thing about how Chicago was originally called "The Windy City" because of all the political gossip rather than the actual wind. That may be true, but it's also super windy there, which is more relevant for the nickname in contemporary parlance.

But thanks, I didn't know that, and it's super interesting!

Why can't I downvote posts? This is a baseless attack on programmers. He just claims that we can't reason. Its obviously bullshit (colorful language intended and warranted).

I personally think economics may not be a science at all, since it is mainly based on models with very little physical evidence to back them up. Which I would hesitate to make a statement like that, or a rant with many of them, because obviously it is unfair and offensive to economists.

I wouldn't call that view "unfair and offensive to economists," just not super original or useful. There are huge financial and societal rewards to producing "better economics" than we have now (i.e., you'd do the world a lot of good and get paid a lot of money) so if you have specific improvements in mind, please please please try to work on them.
Economics is pseudo-science. I refuse to recognize a man made construct as a valid scientific field. I used to argue with my BBA room-mate, I asserted markets were fixed, he would try to counter with law of demand. HA! Libor scandal, crude prices, utility price fixing honestly I could go on for days.
So computer science is a pseudo-science too?
(comment deleted)
Computer Science isn't even a science most of the time.
CS is an intersection of arts, science, engineering and maths. The algorithms and data structures are the maths and science side, HCI is the arts/social sciences portion and of course applications, teams management etc are more where it intersects with engineering.

HCI is a less grounded than the maths portions which are as much a science as any part of maths is. But still have a grounding. The engineering side is probably a lot more wishy-washy and concerned with anecdotes than empirical evidence.

That's my opinion as a generalisation.

Behavioral Biology is a science, pretty sure about that one. Sociology is a study of the behavior of a particular animal, humans. Economics is a study of a particular type of human behavior.

Economics is just a very specialized science.

You should read more economics instead of just assuming it is what assholes and BBAs do. Al Roth's work on making kidney exchanges function well for example. Economics is a big field. You probably just disagree with the intro classes which admittedly are dumbed way down to "supply and demand"
Maybe not a primary component of economics, but its sad how little statistics is a part of CS. Dealing with things at scale makes statistics/probability integral and many of the most interesting ML algorithms don't come from CS backgrounds, but from statistics (Random Forests) and Convex Optimization (EE/Math).
I'd like it to be a bigger part of economics training, but most econ majors have about a year of formal statistics/econometrics as a year of their coursework.