TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Programming is not math

66 pointsby ivanmaederalmost 11 years ago

39 comments

telalmost 11 years ago
&gt; Programming is Language.<p>And half of mathematics is more or less the study of formal languages and their consequences?<p>You can say that they&#x27;re different in order to keep people who are scared of math from projecting those feelings to programming. Or you can say they&#x27;re the same to draw deep insight between programming and one of the oldest fields of study of human kind.<p>I find that people tend to reject the relation when they know of math as calculus, i.e. the analysis side of mathematics. When they bump into the algebra&#x2F;proof side of it the connection is more clear.<p>As a corollary, people who are &quot;good at language&quot; are probably going to be quite good at algebra&#x2F;logic mathematics as well if they approached it from the right angle.
评论 #8054320 未加载
评论 #8053792 未加载
pjmorrisalmost 11 years ago
I took a programming course where we wrote a number of programs in assembly language. We were given a set of rules and operations, a starting point, a goal, and we spent our time carefully assembling sequences of statements that took us from the starting point to the goal while obeying the rule system.<p>I took a math course where we did a number of proofs in natural deduction. We were given a set of rules and operations, a starting point, a goal, and we spent our time carefully assembling sequences of statements that took us from the starting point to the goal while obeying the rule system.<p>I&#x27;m dense, but I wondered about the strength of the correspondence between the two. It turns out that there&#x27;s a nice paper by Philip Wadler [1] that illustrates the equivalence of natural deduction (math) and Church&#x27;s lambda calculus (math, but programming).<p>[1] &#x27;Proofs are Programs: 19th Century Logic and 21st Century Computing&#x27;, Philip Wadler
评论 #8053719 未加载
评论 #8053701 未加载
评论 #8053713 未加载
thanatropismalmost 11 years ago
Again this? It&#x27;s been run up and down on Twitter.<p>Effectively: a maths education is a great IQ test. If I was hiring a press agent, I&#x27;d still ask math questions.<p>E: &quot;I think this is great. I was always interested in computers as a kid but was awful in math.&quot;<p>When I was a kid I was intermittently good and bad at maths, and hit a low point in high school trigonometry. Different teachers, different styles. I still &quot;grew up&quot; with college calculus, and ended up taking even graduate-level courses in mathematics. (Not without spending a year or so in film school thinking arts were right for me because I wasn&#x27;t &#x27;mathy&#x27;)<p>We need to do away with this widespread notion that some people are good at maths and some have other talents. That&#x27;s just mathematical anxiety, poor organization (I was bad at high school linear algebra because I couldn&#x27;t line up my matrices right on paper) and some level of license already being given to people to suck at this.<p>We don&#x27;t tell people they can be bad at talking. Kids who can&#x27;t talk to strangers or have bad praxis are taken to psychiatry.<p>As a civilization, we need to suck it up with mathematics. As long as we tell sociologists that they don&#x27;t need to know maths, we&#x27;re gonna end up with bad theories of society that don&#x27;t understand nonlinear dynamics, as much as mathematicians scream about catastrophe theory. And then there&#x27;s this: programmers who can&#x27;t grok some two years of college maths are just going to suck constantly. How many complex &quot;language problems&quot; resolve into constraint linear programming, FFS?
评论 #8053823 未加载
评论 #8053517 未加载
rayineralmost 11 years ago
&gt; If you took a dynamic methods class in school, you know that big-O notation is pretty much meaningless in the real world. Which is to say, it doesn’t matter how an algorithm operates on an arbitrary set of data<p>I once spent a day or two trying to figure out why our network simulation was grinding to a halt.[1] The research guys, of course, blamed us engineering guys (you&#x27;re writing slow code!) Turns out that one of them changed a key algorithm so now it was exponential in the number of nodes in the network. Worked fine when he did a quick 5-node sanity check on his machine, but wrecked havoc on the 50-node full-scale simulation.<p>Yeah, you can get a surprising amount of stuff done by just derping around. Doesn&#x27;t mean the educational system should encourage that.<p>[1] This was a few weeks before a major milestone demo, and days were precious.
评论 #8056252 未加载
dansoalmost 11 years ago
Honestly, I&#x27;ve wavered on this topic...I <i>used</i> to think that math wasn&#x27;t an inextricable part in understanding programming, since it doesn&#x27;t seem we do anything more taxing than incrementing values by one, on a day to day basis. This recent interview with mathematician Jordan Ellenberg really piqued my interest though:<p><a href="http://host.madison.com/entertainment/arts_and_theatre/books/q-a-make-friends-with-math/article_2da7c6f3-ba4c-5f02-8db3-b0fbc7e1d287.html" rel="nofollow">http:&#x2F;&#x2F;host.madison.com&#x2F;entertainment&#x2F;arts_and_theatre&#x2F;books...</a><p>&gt; <i>I would say that math, almost alone in the school curriculum, is the one place that you can create knowledge absolutely from scratch and know that you’re right. That’s rather amazing and I think that’s one reason math has a central place in school. If you’re taking history and someone says, “This is what happened in the Eisenhower administration,” you have to take the teacher’s word for it. If you don’t, you can look it up in a book and you compare that book’s authority to your teacher’s authority, but in the end you have no direct access to what’s true and what’s false. Math is different. In math, you can actually directly perceive what’s true and what’s false. You can count and you can measure and you can create that knowledge for yourself. That’s an incredibly powerful thing. If students come out of their math classes in school without really experiencing that, that’s quite a waste because it’s very special and it’s something only math can offer.</i><p>This, for lack of better term, <i>faith</i> in logical <i>proof</i>...that certain forms of analysis and problem solving can be built from and derived in an irrefutable way...that&#x27;s hard to get across to novice programmers...such as the idea that debugging is not just a matter of luck and randomness, no matter how complicated that stack trace or how you cross your fingers when turning on your computer, but of logical deduction.<p>Sure, everyone who is an adult goes through many years of math to graduate high school...but how much do they really appreciate that mathematical assertions can be, as Jordan puts it, basically created from scratch and be irrefutable? Which is something that you can&#x27;t say for many non-math topics that we run into day-to-day? And if you don&#x27;t have that grasp...even if all the actual math you do in your code is x += 1...you may not have the intellectual fortitude to deal with all the ways code can diverge and break.
评论 #8053473 未加载
评论 #8053614 未加载
felipellrochaalmost 11 years ago
I&#x27;ve seen someone take a piece of code from 72 lines down to 3 lines by just doing some simple mathematical analysis before actually getting to refactoring. The code was also simpler, and easier to understand. Do you need math for be a good programmer? No. Does it help to know math while programming? Absolutely.
评论 #8053690 未加载
评论 #8053962 未加载
bediger4000almost 11 years ago
This article just indicates a cramped view of math <i>and</i> programming.<p>Programming is math, very simply. Consider the simple Turing Machine: invented to give proofs in what we&#x27;d now call mathematical logic. Coming up with Turing machines to solve given problems is so obviously programming, that I have to suspect Ms Mei hasn&#x27;t ever looked at Turing Machines. The same could be said of lambda calculus and Combinatory Logic.<p>But OK, I&#x27;ll go with &quot;programming is not math&quot; just to examine the consequences, which is a mathematical activity in and of itself. Let&#x27;s just ignore things like completeness and consistency, and formal languages and parsers and spend our time puzzling over why some sets of requirements cause us to spend unpredictable amounts of time writing the (not math!) program to meet those requirements. Let&#x27;s just puzzle over why it&#x27;s so dadgum hard to find malware in our files. Let&#x27;s spend large amounts of time hacking around with our multi-threaded servers, because gosh darn it, it&#x27;s not mathematical.<p>This article is just immature.
评论 #8054047 未加载
评论 #8053804 未加载
untitaker_almost 11 years ago
This has been posted before <a href="https://news.ycombinator.com/item?id=8038631" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8038631</a><p>Except that this time ``#comments`` has been added to the URL to circumvent the system HN has in place to prevent reposts like this.
评论 #8053864 未加载
JacobiXalmost 11 years ago
&quot;Mathematics is a language plus reasoning; it is like a language plus logic. Mathematics is a tool for reasoning.&quot;<p>-- Richard P. Feynman, The Character of Physical Law<p>Programming and Mathematics are both language + reasoning. So we can&#x27;t say programming is language thus Programming is not math.
tlarkworthyalmost 11 years ago
There is research in this area: &quot;Contributing to success in an introductory computer science course: a study of twelve factors&quot; : <a href="http://dl.acm.org/citation.cfm?id=364581" rel="nofollow">http:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=364581</a><p>(note math background is positively correlated with success, language skills were not considered)<p>&quot;Language Factors in Mathematics Teaching and Learning&quot;<p><a href="http://link.springer.com/chapter/10.1007/978-94-009-1465-0_27" rel="nofollow">http:&#x2F;&#x2F;link.springer.com&#x2F;chapter&#x2F;10.1007&#x2F;978-94-009-1465-0_2...</a><p>&quot;The effect of student attributes on success in programming&quot;<p><a href="http://dl.acm.org/citation.cfm?id=377467" rel="nofollow">http:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=377467</a><p>--------<p>I think there is enough research to suggest that if language skill were critical, I think one of the surveys would have noticed it. If anything the math research suggests that cultural fit with the teacher is more important, so that foreign students are likely to have problems even if fluent in the teaching language, due to cultural differences.<p>Research into Comp Sci has been going on decades becuase apparently its one of the hardest classes to teach effectively. With a high drop out rate <i></i>worldwide<i></i>, and a good chunk of students scrape a pass without it ever really clicking.
评论 #8053893 未加载
评论 #8053809 未加载
评论 #8054146 未加载
magicealmost 11 years ago
I think the fundamental problem is this: programming is not computer science. Think physics vs mechanics, or biology vs medicine, or theory vs practice. Nobody will expect a physicist to fix their cars, or a biologist to cure their sickness. Nobody studies physics to work as a mechanics.<p>On the other hand, computer science, being young as it is, is still confused with with its instruments (computer) and application skill (programming). This causes all the confusion. It was once pointed out to me that math major undergrads generally perform better than most computer science undergrad in many PhD programs. When you think about it, academia for computer science involves things like type theory, computational calculus, proof of correctness, etc. Much of these has little to do with actual programming!<p>So, programming is not math. Computer science, on the other hand, is strongly related to math (same way that physics relates to math; remember, physicists more or less defined calculus).
评论 #8053815 未加载
评论 #8054237 未加载
评论 #8053813 未加载
imcnalmost 11 years ago
Well I suppose if you&#x27;re just doing basic web programming you&#x27;re not doing math. But even that (animations, etc.) can involve a ton of math.<p>Low level programming, the programming high languages are based on, use a lot of math. Using ruby on rails is just abstracting you from the math you&#x27;d have to do if you were actually programming something hard.
评论 #8053924 未加载
tunesmithalmost 11 years ago
It seems to me programming is getting more mathematical, not less, and that if one is going to be a good programmer in the future, they&#x27;ll have to be more mathematical than at present.<p>Part of that is because of the rise of parallelism, concurrency, and functional programming. Functional languages are inherently more mathematical than imperative languages.<p>Part of it is because of the rise of big data and machine learning, which is inherently mathematical by way of statistics.<p>Part of it is because of the direction of future programming languages with richer type systems - dependent types, etc - which gets us closer to thinking more in terms of logic than computability, and math theory in general.<p>The Curry-Howard Isomorphism proves that computability (programming) <i>is</i> math <i>is</i> logic - the relationship between programming and math has <i>felt</i> distant so far but that is mostly because of the lack of sophistication in our programming languages. That is changing.
mcguirealmost 11 years ago
I am starting to get sick of these things.<p>&gt; Doing Riemann sums in Fortran is about as math-oriented an introduction to programming as you can get.<p>No. Math is not <i>calculus</i>. Math is more than calculus, more than arithmetic. If anyone asserted that &quot;Programming is arithmetic&quot; (or &quot;...is not...&quot;), they&#x27;d get their buttocks laughed off of them. But that is exactly what Sarah Mei is arguing against here.<p>&gt; You might be able to say that math skills are required for computer science success, but you can’t necessarily say that they’re required for developer success.<p>I suppose you can&#x27;t. But if you want to stay in this field for more than a few years, you might indeed want to know some of that background, mathy, computer-sciency stuff. Or does somebody need to go through that Java Generics and subtyping discussion again?<p>&gt; As an example, consider whiteboard interview staple big-O notation.<p>Yes, let&#x27;s. I had a conversation with a friend and cow-orker a while back like this:<p>&quot;Why is this so slow: string1 + string2 + ... + stringn?&quot;<p>&quot;Because that&#x27;s an n^2 operation. You copy string1, then you copy string1 and string2, then you copy string1 and string2 and.... Try sticking all of the strings in a list or array or something and then joining them all together at once.&quot;<p>&quot;But this other JS interpreter isn&#x27;t slow....&quot;<p>&quot;Because it&#x27;s doing that array optimization for you, behind your back. I suppose you could limit our appy to that one browser if you are really attached to +&#x27;s....&quot;<p>&gt; But the same logical concepts are embedded in our human languages.<p>I would like to just note that<p>1. The best definition of mathematics that I know is something like &quot;the study of abstraction as a fundamental.&quot; You can learn abstraction anywhere; it&#x27;s indeed everywhere. But math is <i>all about it</i>.<p>2. If I go up to a native Japanese speaker and tell them, &quot;Arigato!&quot; they&#x27;ll (I hope) pat me on the head and say &quot;You&#x27;re welcome&quot;. They&#x27;ll probably think I&#x27;m an idiot, but they&#x27;ll know what I&#x27;m trying to get across. If I try a similar feat while programming, the magic smoke will leave me blinded and with serious lung damage on its way out of the computer and into the ventilation system.
评论 #8056437 未加载
评论 #8056458 未加载
tragicalmost 11 years ago
I&#x27;ve often wondered whether we should think of things the other way round; ie, whether secondary education in mathematics could benefit from a programming component.<p>Certainly, for my part, becoming a developer kindled an interest in some higher maths, when ten short years ago I was slogging resentfully through my A level. I now love playing around with things like Haskell, precisely because of the &#x27;mathsiness&#x27; of it, although I&#x27;m at a disadvantage from having not pursued it further before.<p>It seems to me that a bit of simple code could make the stuff seem more &#x27;real&#x27; and interesting than it did to a lot of my peers back then. (And, of course, there was the whole &#x27;try it in basic!&#x27;[0] thing in American textbooks.)<p>[0] <a href="http://www.salon.com/2006/09/14/basic_2/" rel="nofollow">http:&#x2F;&#x2F;www.salon.com&#x2F;2006&#x2F;09&#x2F;14&#x2F;basic_2&#x2F;</a>
评论 #8053711 未加载
pessimizeralmost 11 years ago
MATH IS ALSO LANGUAGE. Just because we&#x27;ve mostly standardized on a few notations doesn&#x27;t mean that we couldn&#x27;t have generally chosen to do things entirely differently, or that we couldn&#x27;t have had as many common ways to express the same mathematical idea as we have computer languages, a variety of sets of mathematical rules to convert between them in more or less efficient ways, or to make the idea being expressed amenable to different types of algorithms or usages. Language is symbols and rules used to represent things, and symbols and rules used to represent relationships between those things.<p>This article is making a silly distinction.<p>edit: When you program, you&#x27;re using language precisely as much as when you use math: as a representation of something that you&#x27;re trying to communicate, not the actual thing itself.
评论 #8053904 未加载
brianfearnalmost 11 years ago
My main hobby is learning foreign languages and I have noticed that a very large proportion of people on language-learning sites happen to be programmers of one sort or another. Of course, this may just reflect a tendency of programmers to be aware of and use the technology available to pursue their other interests, and thus be overrepresented on such sites, rather than an affinity between interest and ability in computer languages and natural ones...not to mention the fact that programmers coming from a non-English background have a very strong incentive to improve at least their English.
评论 #8053525 未加载
评论 #8053601 未加载
marcosdumayalmost 11 years ago
Oh, came-on. Programs are math, programming obviously is not. Programming is creating math. And yes, math is a king of language.<p>I&#x27;d ask why do so many people think that math is only computations with numbers, but I do know the answer. It&#x27;s a shame schools everywhere[1] put so many effort in taking all the creative parts from their math curriculum.<p>[1] Or should it be &quot;almost everywhere&quot;? I&#x27;d be delighted to hear about an exception, but I never had.
评论 #8053790 未加载
cowbellalmost 11 years ago
Learning a programming language is a lot like learning a human language, but understanding math is how you learn efficient programming.<p>If you don&#x27;t use mathematical reasoning, then you&#x27;ll produce O(n^3) when you could have produced O(n). Any hack can throw together a script that will hobble along with 4 rows of data. Throw a million rows at the same script and it might terminate properly in a few years. Or maybe it just runs out of memory half way through.<p>Another problem is winding inefficient boolean branching. If you don&#x27;t understand boolean algebra, you either over specify cases which makes code cluttered and disorganized, or you under specify and some cases are not considered at all... The result in either case is always buggy code that crashes. It becomes like a virus. Other lesser programmers are afraid to fix it, because it&#x27;s so complicated. Instead, they just tweak the mess to accomplish their own goals, adding more bad boolean logic along the way. It infects everything it touches.<p>Finally, certain fields of programming, like machine learning, are almost entirely math and statistics. So, yeah, you don&#x27;t need math to (poorly) do programming (in certain fields).
评论 #8053764 未加载
pistlealmost 11 years ago
This does not compute. It&#x27;s obvious.<p>Programming is the human means to get a digital circuit to turn &quot;one&quot; and &quot;zero&quot; in a particular way.<p>Applied programming is to a CS degree as diagnosing and curing disease by a physician is to microbiology.<p>Applied programming is to math what diagnosing and curing disease by a physician is to chemistry&#x2F;physics.<p>For fun, go ask your dev friends to compare and contrast NP-complete and NP-hard today.
评论 #8054498 未加载
CoryG89almost 11 years ago
I think the truth to this depends on the person and their particular motivations for wanting to learn to program jn the first place. This can be very different for different people. For example, if you want to program in order to create 3D video games with custom physics&#x2F;graphics then obviously math is going to have to play a big role in that at some point or another. If your goal is programming for its own sake then math is important for you to learn theory and computer science foundations, however it seems to me that you can learn math <i>as</i> you learn these things. If on the other hand you just want to learn to program to customize your tumblr or even just trying to get an entry level be a web developer position then you probably won&#x27;t need much math. It cant hurt though.
randomdataalmost 11 years ago
Couldn&#x27;t it be said that math itself just another language used to describe deeper processes?
评论 #8053504 未加载
评论 #8053518 未加载
评论 #8053521 未加载
评论 #8053466 未加载
zxcdwalmost 11 years ago
Programming for the most part is about understanding program structure and modifying the said structure.<p>Different people view programming very differently. For example for me programming is mainly a way to <i>understand</i> things. I program things I want to learn about. My understanding of programming helps me understand <i>computers</i> and computing. Then I have a friend who couldn&#x27;t care less about how exactly things work under the hood, or in theory. All he cares about is making a product, and programming is his tool.<p>There&#x27;s a vast difference between computer science and software engineering. I&#x27;m afraid most people with CS degrees, let alone those who want to get one, don&#x27;t even understand this themselves.
platzalmost 11 years ago
The problem is Math is a large topic and means different things to people. Referring to the intended subset may be clearer.<p>However, Everything depends on the purpose of the code.<p>Programming is equally an insanely large topic now, so I must should temper this orignal statement somewhat
pcotealmost 11 years ago
Imperative programming probably isn&#x27;t math. Math describes things and their relationships. It doesn&#x27;t tell other parties what to do.<p>That being said, imperative language has certain limits. When one party gives orders to one or more other people, then human language does the job fine. But when it&#x27;s multiple people telling each other what to do, that&#x27;s when human speech ranges from unpleasant to downright undecipherable.<p>So you get the same thing with imperatively coded programming processes that need to act concurrently in the same area. Confusion and fighting over resources is just the natural result.
pheaalmost 11 years ago
In Canada many parents will enter their children in the bilingual stream, not only for the benefit of knowing another language but also because it acts as a natural filter by removing the trouble-makers and slower kids. I&#x27;m sure if she were to give a math test, she too would find correlation between language and math skills.
ivan_ahalmost 11 years ago
In the language of apt-get, the OP is saying that MATH is not <i>Required</i> for being a coder, but a <i>Suggested</i> package... which is true enough.<p>When learning to code through, it helps to have experience with functions and math procedures, even if it is only for the sake of analogies...
phazmatisalmost 11 years ago
Programming is mostly engineering. You are rearranging abstracted units. Usually, you are piping data from point A to B, in which case there exists one algorithm to do that. Sure, some devs have deeper problems, but the majority of us are simply building data pathways.
ivanmaederalmost 11 years ago
Obviously, computers and programs are machines that do logic. And as programmers we manage symbols (like mathematicians do) that help organise that logic. So I see that part of &quot;programming is math,&quot; which a lot of people have argued.<p>But I don&#x27;t think we&#x27;re getting at the crux of the argument: that for programming well there&#x27;s more of a correlation between communication (e.g., exposing a set of ideas clearly and concisely) than there is in a standard math curriculum.<p>Certainly, some areas of programming and computer science are very math heavy. But where are the arguments that say that knowing math makes you a better programmer in the &quot;best practices&quot; sense?<p><a href="http://en.wikipedia.org/wiki/Best_coding_practices" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Best_coding_practices</a><p>I.e., for most programmers in the world (they&#x27;re mostly applications programmers, right?), how does knowing math help them make better programs?<p>And what kinds of math helps them make better programs?
gnunezalmost 11 years ago
Programming is not math! Math is Math! Math is a tool used in programming, engineering, economics, etc. To reduce a subject to a tool used in the subject is reductionist to the extreme and does not acknowledge the richness and complexity of the subject.
Tloewaldalmost 11 years ago
The same article could be titled &quot;programming is not computer science&quot;.
MrDosualmost 11 years ago
Although there are real world programming jobs out there that dont require deep mathematical knowledge i would be very sceptical about the programming skills of a person that has difficulties actually learning math.
padobsonalmost 11 years ago
I&#x27;m a developer. I got a 1290 on my SATs in high school. 670 verbal and 620 math.<p>I think a good balance makes a good developer. Even more than that, it makes a good software creator - designer, developer, project manager, etc.
评论 #8053855 未加载
thanatropismalmost 11 years ago
I&#x27;m posting this as a separate comment so it gets downvotes separately from my non-snarky points:<p>There _is_ prejudice against women in IT. This isn&#x27;t helping.
mhartlalmost 11 years ago
The story links directly to the comments thread. Could the original poster or an admin please fix?
评论 #8053609 未加载
评论 #8053637 未加载
agumonkeyalmost 11 years ago
Push side-effects away and you have maths. Imperative code conflates all the logical relationships onto big state. When you use functions or `algebraic types` you see the overwhelming presence of simple logic and recursion. Be it Lambda Calc, FP, Relational...
muninalmost 11 years ago
as an aside it&#x27;s kind of interesting why there isn&#x27;t as much research on teaching programming as their is say on refinement types, separation logic or pointer aliasing. I think the reasons are annoying.<p>In academic research, nobody cares about education. The big universities that you think of as education powerhouses like Stanford, MIT, CMU, are all at heart research universities. Their faculty were not hired because of their skill as educators, but as scientists. In the training of research faculty (starting in undergrad through grad school and their postdocs) there is very little emphasis or formal mentoring or training on teaching students. Sure, you might TA a class, but this is usually seen as an inconvenience to be discharged as quickly and efficiently as possible, and some programs allow students to get their PhD without ever TAing a single class.<p>Why do they not care though? Well, educating undergrads won&#x27;t get you tenure or grant money or publications. These are all the yardsticks that we use to measure faculty success. Wait, don&#x27;t we use student evaluations? Oh sure, but you know what gets good student evaluations? Giving everyone good grades.<p>In a larger sense though, most don&#x27;t care about the study of education. Education research is de-prioritized and de-funded and education researchers and grad students are mocked for lacking intellectual rigor. Undergraduate education majors are not helping - walk past an undergrad education classroom and you could find college students creating paper mache volcanoes. No joke. Some of this is because education research is really hard, both scientifically and politically.<p>Politically, education research is undermined by everyone. If you are a researcher and you want to study how K-12 education works, for example, you obviously need the permissions of administrators and teachers at a school. Trying to get this permission will set off a powder keg. The administrators might be supportive, or they might think that your findings will be used by NCLB to justify shutting their school down. Teachers won&#x27;t be supportive at all, they will see your research as an attempt to gather data about their job performance, this will play into the hyper-adversarial relationship between administration and the teachers union, and you will never see the inside of a high school as an education researcher except on PTA nights. I&#x27;m pretty sure that nationally this research is not funded as robustly as say efforts to make robots fight with giant lasers because policy people don&#x27;t really want to know when their efforts are not working and the thought of independent and critical scientists studying the education system terrifies them.<p>So, as a young researcher, when you sit down with your adviser and say &quot;but nobody knows how our students learn programming&quot;, they will forcefully explain the way the world works to you, and &quot;suggest&quot; that you abandon this line of inquiry for something &quot;safer&quot;, something more funded, like perhaps an algorithm to detect cats in photographs on the internet. You can publish on that. It will help your career. Educating undergraduates doesn&#x27;t help anyone&#x27;s career.
评论 #8053590 未加载
评论 #8053731 未加载
评论 #8053562 未加载
badman_tingalmost 11 years ago
Oh, brother.
mamcxalmost 11 years ago
This is something obvious, but lost on some minds -because feel attacked?-.<p>IF programming is math, then math IS programming?<p>That&#x27;s absurd!<p>Math loving people see everything with their math-eyes: Everything is math, everywhere.<p>Math is math. Biology is biology and programming is programming. Nothing can be everything at the same time, because then you need a God-like mind. Everything a human mind produce is a slice of reality&#x2F;imagination, ergo, specialization.<p>Biology can be (partially) explained (sometimes, badly and worse) with math. BUT can be explained <i>far better</i> with language.<p>Math could be considered (or is?) a language, but is a shitty one (like a truly compressed C&#x2F;Perl code) that as one-liner code is great to encode fast some stuff, but at large, is not the best way to convey <i>IDEAS</i>.<p>That is why I&#x27;m using words, here. Not math!.<p>That is why a programming language is made of WORDS, not math symbols. That is why, you don&#x27;t write a app with math, you use symbols and languages.<p>That is why math is based in the kind of symbols derived from language, too.<p>This NOT mean math is useless or bad or something else. Is just a obvious observation: Math is not the focus in programming. Is not the focus in almost anything that happen in the realm of a human mind, UNTIL you need it. And programming stuff you don&#x27;t need much of it, and when you truly need it? Still language dominate the task.<p>Not believe? Go read the source code luke, and see how much math vs words are there. You can check any large codebase, and see it for yourself.<p>When the analogy of &quot;Programming is like a car.. is like building a house, is like ....&quot; fall apart nobody insist that programming is like architecture. So why do the same with math?