Live data from Hacker News

Poor, Poor Child. You have no idea.

writing.bryanwoods4e.com

41–50 of 75 posts

Re: Poor, Poor Child. You have no idea.

#41
post #10

Earlier quoted context omitted.

I think it really depends on what you want to make. How does math help you make a CRUD application, for example?

The thing is the answer is YES, but you won't even understand why unless you have the appropriate math knowledge. There would be a lot less terrible code written out there if people had a better grasp of discrete math, knew how to make their O(n) analysis, knew how to create and implement provably correct algorithms, knew lambda calculus and e.t.c. and that's just for general programming. I would say a basic grasp of…

I have discrete under my belt. And a bunch of other stuff too (came a bit short of having a minor in math in college).

And... well, I can't say that I've ever explicitly used any of it in programming. I suspect you're falling into the trap of generalizing from a field you're familiar with to all fields, and that's a generalization that doesn't hold up.

Re: Poor, Poor Child. You have no idea.

#42
post #27

>As a linguistics major, you're no stranger to the idea that a person is only capable of having thoughts and ideas that can be expressed in their language As a linguistics major, you have no excuse for not knowing that Sapir-Whorf is utterly discredited.

Replying to your post in the recent discussion, http://news.ycombinator.com/item?id=1033741 , I don't understand your reasoning. Sure, you can extend a language introduce a concept. But the lack of that concept can still have molded speakers' thinking.

The problem is that there isn't one "Sapir-Whorf hypothesis". There's a spectrum of such hypotheses, running the gamut from the mild "language has an affect on how we think" up to the extreme "if your language uses the same word for blue and green then you'll be blue/green colorblind".

The extreme forms have been rather thoroughly debunked at this point. The milder forms verge on tautologies.

Re: Poor, Poor Child. You have no idea.

#43
post #40

My first experiences with programming must have been very different than his, with respect to the first section in particular. I always knew that programming was supposed to be hard - I grew up knowing no programmers, teaching myself the esoteric art of C++ from a copy of "Sams Teach Yourself Visual C++ 6 in 21 Days". So when I understood it reasonably well, I felt I must be above average. Indeed, I've never felt the…

Seriously dude....

Yes? My point was simply that where he struggled with frustration, I struggled with my ego. Considering he is probably a better programmer than me, I thought this was an interesting contrast to bring up. What is the problem?

Re: Poor, Poor Child. You have no idea.

#44
post #39
post #37

Earlier quoted context omitted.

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." - Edsger Wybe Dijkstra

It is always amazing to me how much of a mix Dijkstra was. Many of the hand-written articles of his I read are filled with valuable insights, and are absolutely worth the read. And then there's those other sets of comments (like this one) that make me want to pay no attention to anything he had to say. Of course, this is the guy who said "Computer Science is no more about computers than astronomy is about telescopes.…

If Dijkstra was still alive and well, and you put him...

No harm, Dijkstra never struck me as the kind of person that would want to spend a day in a room with anyone, either. Computer Science is about studying the computation which can be done in hardware - not just Python, not just on one chipset, not just on a von Neuman machine, but in general. "Programming" as I think you mean it is a very small subset of that.

Re: Poor, Poor Child. You have no idea.

#45

While there are clearly differences between languages, I think it is rather deterministic to put that much weight on the first language? My first language was GW Basic. By your logic, there wouldn't be much hope for me I guess..

I think it's much more important what you choose as a second language. If it is significantly different from the first language in adding new concepts and ways thinking about programming, there is a good chance that between the two of them learning any other new programming language as needed won't seem as daunting. And you will have a wide range of techniques at your disposal regardless of which language you happeni…

My first language was C, my second was C++, my third Java. I lost all love for them the moment I learned Scheme, and the all practical use the moment I learned Python.

I don't think it really matters what language is first/second/etc, just that you keep searching and finding new ways of thinking.

Re: Poor, Poor Child. You have no idea.

#46
post #39
post #37

Earlier quoted context omitted.

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." - Edsger Wybe Dijkstra

It is always amazing to me how much of a mix Dijkstra was. Many of the hand-written articles of his I read are filled with valuable insights, and are absolutely worth the read. And then there's those other sets of comments (like this one) that make me want to pay no attention to anything he had to say. Of course, this is the guy who said "Computer Science is no more about computers than astronomy is about telescopes.…

> If Dijkstra was still alive and well, and you put him, Guy Steele, and Don Knuth in a room and asked me to pick two of the three to spend the day with

Or -- and more relevant to their professional competence -- to develop a large, complex and safety-critical system, such as air traffic control; I wouldn't choose Dijkstra over Knuth or Steele for that job either.

Re: Poor, Poor Child. You have no idea.

#47
post #40

Earlier quoted context omitted.

Seriously dude....

Yes? My point was simply that where he struggled with frustration, I struggled with my ego. Considering he is probably a better programmer than me, I thought this was an interesting contrast to bring up. What is the problem?

Maybe you should clarify your posting. It reads as

"Well I never had any problems learning to program. I am pretty much the smartest person in the world I guess. My "problem" is that I am so great I have too big of a head."

Re: Poor, Poor Child. You have no idea.

#48
post #33

What about game programming? Nobody mentioned it. It's the ultimate test. Try to hack together a simple pool game. You'll be amazed of how much maths and physics go into a simple game that millions use and enjoy.

Let me quote a co-author of Quake: 'At this point in the book, I was originally going to present a BSP-based renderer, to complement the BSP compiler I presented in the previous chapter. What changed my plans was the considerable amount of mail about 3-D math that I’ve gotten in recent months. In every case, the writer has bemoaned his/her lack of expertise with 3-D math, and has asked what books about 3-D math I’d r…

[deleted]

Re: Poor, Poor Child. You have no idea.

#49
post #2

Well, I'm sorry to say I strongly disagree with the mathematics part. Basis in linera algebra are a definitive plus and helped me approach programming in a sensible way.

"especially for a web developer" is the important part. As a fellow web developer, I agree. I'd certainly like to get into the mathier side of programming someday, but it's rarely necessary for my day-to-day operations. Remember, he's writing a letter to his former self, so the advice applies more to his life than it does in general.

AFAIK web development uses SQL, SQL is relational algebra.

Re: Poor, Poor Child. You have no idea.

#50

Earlier quoted context omitted.

The thing is the answer is YES, but you won't even understand why unless you have the appropriate math knowledge. There would be a lot less terrible code written out there if people had a better grasp of discrete math, knew how to make their O(n) analysis, knew how to create and implement provably correct algorithms, knew lambda calculus and e.t.c. and that's just for general programming. I would say a basic grasp of…

I have discrete under my belt. And a bunch of other stuff too (came a bit short of having a minor in math in college). And... well, I can't say that I've ever explicitly used any of it in programming. I suspect you're falling into the trap of generalizing from a field you're familiar with to all fields, and that's a generalization that doesn't hold up.

In part the key word here is "explicitly." I have a PhD in Combinatorics and Graph Theory, and I have lectured in Calculus, Group Theory, Functional Analysis and Topology. In my daily work for the past 18 years I have explicitly used that background exactly once.

But the ongoing influence, the style of thought, the ability to visualise and the ability to abstract away from the details - these things I use all the time, every day. They have been enhanced and honed by all that math.

I use my math background implicitly all the time, and I don't know how I'd do what I do without it.

And this is perhaps the most important point about studying math. Often the greatest take-away is the abstract problem solving capability, not the material itself. I've never had to analyse the genus of a manifold in real life, but I have thought about objects moving in an 11 dimensional space with holes, because while everyone else was stuch in the detail, I was seeing things differently. It turned out that the combination of styles was critical to solving the problem.

Post reply on HN