215 Comments
- monarch00, on 06/02/2008, -7/+97Hello World
- voxel, on 06/02/2008, -2/+68This is programming:
http://www.youtube.com/watch?v=Ni_rAamVP2s - inactive, on 08/11/2008, -3/+49Take a look at turing machines or lambda calculus to see where modern computer programming got its roots - it wouldn't hurt some people these days to learn that programming is more than just hacking some class methods together ; )
- Neticule, on 06/02/2008, -5/+31I programmed my cat!
- voxel, on 06/02/2008, -0/+24Screenshot of this revolutionary new IP tracker just leaked!!
http://img166.imageshack.us/img166/7976/csivbguigh ... - someguy92, on 06/02/2008, -0/+22That made me want to vomit.
- ironeus, on 08/01/2008, -5/+26The original definition is out of date, or applied out of context. If programming is simply: "planning how to solve a problem" then nearly every professional is a programmer, from a nurse to a firefighter to a CEO.
- plamoni, on 06/02/2008, -4/+24I find that people often give computers too much credit. They get this idea that programming is like taking a problem and explaining it to some higher being who may, if asked politely and correctly, do what you want.
I feel that it's more like explaining the problem to a very stupid 5-year-old. You have to tell the computer exactly what you want, and exactly how to perform every step of the process. Otherwise it's bound to just give up, throw a tantrum, and go off to play with its toys... - ajbl, on 06/02/2008, -0/+18A very, very quick witted stupid 5-year-old.
- talonstriker, on 06/02/2008, -1/+19"it wouldn't hurt some people these days "
Yes it does. I learned lambda calculus last semester and it made me cry. - Neticule, on 06/02/2008, -1/+17(he runs on linux)
- inactive, on 06/02/2008, -11/+25Anybody else wondering how this makes front page news?
- inigomntoya, on 06/02/2008, -0/+13I think that is the very point of the article.
FTA - "Programming is planning how to solve a problem. No matter what method is used -- pencil and paper, slide rule, adding machine, or computer -problem solving requires programming. Of course, how one programs depends on the device one uses in problem solving."
A firefighter uses a hose. A CEO uses a, uh. Uhmm. 9 iron? Of course Enron's CEO used a shredder... - DraxusD, on 06/02/2008, -0/+11if (user == mikefitz2)
{
kill(self);
} - jaythree9, on 06/02/2008, -1/+12Way back when, in the mid-2000's, this used to be a tech site, lady.
- mojoel, on 06/02/2008, -1/+12Someone commented below that vid that she should have used MS Paint instead. :)
- jokr004, on 06/02/2008, -0/+11no, thats scripting
- ilikesboobs, on 06/02/2008, -0/+10I do not think it means what you think it means.
- cotaskmemalloc, on 06/02/2008, -1/+11Amen. I find most programmers I work with look at me strange when I mention things like lambda calculus.
- skidooer, on 06/02/2008, -1/+10Definitely. Programming is the art of expressing your ideas in a manner that is easily understandable by both humans and computers. There are no hard and fast rules that can be followed to make that happen.
- CrackyJSquirrel, on 06/02/2008, -0/+9Jealous much?
- inactive, on 06/02/2008, -1/+10Not trying to sound like an advertisement here but a good book to read before trying to define programming is Code: The Hidden Language of Computer Hardware and Software: by Charles Petzold. It tells you everything you need to know about how software really works. It's a great read if you're interested in how many different processes it takes to display one letter on the screen and the microcode involved.
Everyone can benefit from a complete understanding of how it all works. - suckanucka, on 06/02/2008, -8/+16"Programming" is the mission statement of Fox News.
- dtfinch, on 06/02/2008, -0/+7Debugging's a pain. (deflea, deworm)
- jdoggz316, on 06/02/2008, -1/+8what do you suppose sum(range(1,10001)) is doing behind the scenes?
- BlakeEM, on 06/02/2008, -5/+12Isn’t programming simply to issue commands to a system that interprets the commands as action?
- billizm, on 06/02/2008, -1/+7You just programmed digg.com!
- f3l1x, on 06/02/2008, -3/+9Programming is taking information and turning it into new, more relatively useful information.
Digital alchemy.
Logic. Poetry. Art... - thcobbs, on 06/02/2008, -0/+6and it's a pain in the ass for the tape worms.
- jfreeman, on 06/02/2008, -0/+6type system = lambda calculus
metaprogramming (one kind of polymorphism) = lambda calculus
compilers = formal languages (which should also cover Turing machines)
Also, I might argue that the functional programming paradigm comes from lambda calculus. - SatansSpatula, on 06/02/2008, -0/+6But it'll take us ten minutes to parse what you wrote. :-p
- Takuro, on 06/02/2008, -1/+7I "lol"ed as the prospect of an infinite loop involving a shower. That computer would have one pruney... er... logic board.
- ted_hosmann, on 06/02/2008, -2/+7FTA you could have done the same example in Python like so: sum(range(1,10001))
- inactive, on 06/02/2008, -2/+7An alternative activity to sleeping, exercising, socializing, going out and getting laid. All for the same price.
- eldridgea, on 06/03/2008, -0/+5oops
digg me down - Cronikeys, on 06/02/2008, -2/+7Courtesy of Digg's programming, jerk.
- Matt2k, on 06/02/2008, -0/+5That's one of my favorite books. Consider this a second endorsement, a "me too" post. Highly recommended.
- Archcoder, on 06/02/2008, -4/+8Programming is scripting a series of events which produce a desired outcome.
- wpi97, on 06/03/2008, -0/+4"when you program in your favourite language (C, Java, C#, php..) do you help yourself by using lambda calculus/turing machine knowledge?"
Yes you do. A friend of mine was asked this question during an interview at Microsoft: why do we need to have people who test programs? His answer: because of the halting problem. The halting problem is the question whether or not it is possible to build a Turing machine that can determine whether another Turing machine will ever stop (halt) given some input. It turns out that it is not possible to build such a machine, which means that in general one cannot write a program (A) that will take another program (B) as input and determine whether B will ever stop. This, in turn, implies that fully automatic testing of software is impossible, which is why there are people who do QA.
Another example: when you write software it really helps to understand the asymptotic behavior of the algorithms you are using (the big-O). It is especially useful to know what NP-complete means, which will not make sense at all if you have never heard of a Turing machine. A seemingly trivial problem of satisfiability (given a boolean expression in n variables, find a truth assignment for the variables that makes the expression true) is NP-complete, i. e. the time it takes is proportional to 2^n. You may not be able to do a proper reduction to prove that a given problem is NP-complete, but you certainly need to know if the algorithm you are using takes exponential time.
And if you do functional programming, then you _are_ doing lambda calculus. You could be using a purely functional language, e. g. Scheme, a language that supports functional programming, such as Matlab or JavaScript, or you may be passing around function pointers in C. Lambda calculus is what gives you the understanding of things like recursion.
IMHO the difference between a programmer, who has no background in theory (lambda calculus, Turing machines, computability, complexity...) and a programmer, who does, is the same as the difference between a technician and an engineer. - Takuro, on 06/02/2008, -0/+4You can never program something to do anything you aren't capable of doing via brute force mathematics. You might get lucky and wind up stumbling upon a solution through trial and error, but even so, chances are you had at least an educated guess at the right direction to take. I doubt there will ever be a type of AI that could deduce things in a manner beyond the scope of the mind of the creator, or at least not without some flaw in logic.
As Steve Jobs said, "Computers are bicycles for the mind." It leverages a machine to amplify a quality that already exists: Human intellect. - inactive, on 06/02/2008, -0/+4My puppy runs Puppy Linux.
- jaythree9, on 06/02/2008, -0/+4Long ago, I would've said, "Well then WTF are you doing on digg?" ...but all that's changed.
*sniff* - DteK, on 06/02/2008, -1/+5learning x86 assembly will do the same for you and its hands on which is better for some people.
- maninalift, on 06/02/2008, -0/+4Good work. This was a pointless Digg story but this thread has made me very happy.
- GTPilot, on 06/02/2008, -3/+7wow, programming topics and programming related websites on front page? what's going on?
- tolgafiratoglu, on 06/02/2008, -0/+4without experience, you can't tell what's programming: forget textbooks, believe in experimental progress + some quick google-ing capacity + some coffee or whatever keeps you awake and focused.
Some important quotes: (not exactly, I'm writing as I remember them):
"Measuring coding progress with number of code lines is like measuring ship-construction with ships weight. " - Bill Gates
"80% of coding takes 20% of the time spent...and remaing 20% takes the %80 of the time" (I don't remember exactly who was)...
Well, isn't everything in life that way? - erichw1504, on 06/02/2008, -0/+4HELLO WORLD
- buckrogers1965, on 06/02/2008, -1/+5I tried to explain to someone once that if they couldn't explain the steps in how to solve a problem in simple english, that they couldn't program a computer to solve it.
They didn't get it.
I had to fix all their programs later, they would have the general outline right, but the details were never finished. And forget about any error handling. - 1longtime, on 06/02/2008, -0/+4Silly person, you both programmed your cat and simultaneously did not program your cat.
http://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_ ... - loconet, on 06/02/2008, -3/+7I think that a more useful definition _you_ should be looking up is "debate".
-
Show 51 - 100 of 217 discussions



What is Digg?
Digg is coming to a city (and computer) near you! Check out all the details on our