Live data from Hacker News

Poor, Poor Child. You have no idea.

writing.bryanwoods4e.com

51–60 of 75 posts

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

#51

Has anyone else checked out the main page of the site? http://bryanwoods4e.com/ Be sure to view the HTML code to see the "hail satan" comment. This guy has some personality thats for sure.... Another of his sites linked from the main page: http://www.howtousetwitterformarketingandpr.com/

I don't think http://www.howtousetwitterformarketingandpr.com/ is his site.

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

#52

Earlier quoted context omitted.

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 tim…

Often the greatest take-away is the abstract problem solving capability, not the material itself.

That's why I got a degree in philosophy.

OK, not the only reason, but one of them...

Meanwhile, I think my point stands. Too many people seem to have an "OMG you don't use linear algebra every day? What kind of crap programmer are you?" attitude.

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

#53
I like the layout of the page, nice fonts etc.

The bit about being constrained by your first language is demonstrably not true (read pg's own account!). It can be a burden, but what stops people from progressing isn't this, it's the usual suspects: arrogance and ignorance. Once you stop judging a language purely on its merits and, thinking you've found the best, begin evangelizing it you will have problems seeing more powerful ones (because the language has become part of your id).

You have to treat a programming language like a great chess player treats possible moves: when you find a great one, sit on your hands and look for a better one.

As far as math: in my experience it isn't required. It will make you better and make your work easier. I've had good math people replace whole algorithms of mine with a couple of math statements. But if you really devote yourself to getting better at programming, learning a lot of diverse languages and so on, your math will get better. I've found it easier to learn certain math concepts from related programming concepts that I had already learned.

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

#54

Earlier quoted context omitted.

"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.

No, DBAs tried to come up with a math-like name for writing queries so that they appear to have a more prestigious skillset than they really do. Any high school kid who's written "hello world" can get through databases 101, including expressing queries as relational algebra, in a week.

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

#55
I didn't need any advanced math to program until I started tackling computer vision problems.

Estimating 3D surface normals and depth from multiple photos of an object? Break out the matrix solvers. Computing homographies between images? Better know what an eigenvector is.

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

#56

Earlier quoted context omitted.

AFAIK web development uses SQL, SQL is relational algebra.

No, DBAs tried to come up with a math-like name for writing queries so that they appear to have a more prestigious skillset than they really do. Any high school kid who's written "hello world" can get through databases 101, including expressing queries as relational algebra, in a week.

Try to debug performance problems in queries, or scalability problems across your whole database. Trust me, competence in math will quickly prove very useful.

Of course if you are not competent in math you won't do well at that kind of task, and because you don't know better you won't necessarily recognize your inability for what it is.

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

#57

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.

I suspect that you've had opportunities to use your math, and had you seen those opportunities you would recognize the potential utility.

I say this as someone who periodically finds yet another way to use my math background to help me do things while my co-workers in the same job don't. Which is why I'm the one who got to do the statistics for evaluating A/B testing, eliminated multiple performance problems others had come to accept, and gets tapped to tackle complex "how do we figure this out" problems from time to time.

And yes, I've had the fun of seeing co-workers who theoretically had the same job as me argue that math wasn't useful for programming, while I was sitting there with a list of examples of how I'd recently used my math background. (But then I got promoted into a different job title and in those discussions those programmers were able to respond that of course I needed more math for reporting, but they didn't need it as web developers. Never mind that I was the guy who got asked to help when the database had trouble scaling at peak traffic of several million pages/hour...)

Really this seems to me to be a variant of the blub paradox. If you haven't learned to reflexively see the benefits of thinking in some new way, you won't recognize how thinking that way could help with the problems you are solving day in and day out. Conversely if you have gained those mental skills, you recognize their utility in situations that other people wouldn't dream they are applicable for.

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

#58
post #9
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.

Seconded. As your command of mathematics becomes stronger, many aspects of programming become a lot easier.

I found this particularly true for Set theory and the structuring/interactions of my lists, sets, maps, linked lists, queues, stacks ...

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

#59
post #47

Earlier quoted context omitted.

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."

Hmm, I see. Thanks for pointing that out - I'm still working on getting my intent across properly for this kind of thing.

Since it is too late to edit it and add a disclaimer, I guess this thread will do.

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

#60
post #45

Earlier quoted context omitted.

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.

You are among the rare people which are willing to learn, again and again. You'd be surprised how much people (outside HN :-) just won't learn. They are Blub programmers. They will be stuck with whatever Blub language you give to them, even C++. I'm glad you didn't, because I'm not sure I wouldn't.

EDIT: Maybe there no such thing as a Blub language (right tool for the job etc). However, Blub programmers do exist: half of my co-workers and maybe even myself (to some extent).

Post reply on HN