Hacker News new | past | comments | ask | show | jobs | submit login

> It really depends what you mean by "program".

A [computer] program is a sequence of instructions executable by a machine (the computer).

> Would you argue that the Euclidean algorithm from two millenia prior was a program?

It's in the name: EA is an algorithm.




By that definition, Babbage didn't write a program either. He didn't write opcodes. You still need a human "compiler" to translate Babbage's writing into something that could run on the engines.

Btw, this human "compiler" job was for a long time considered to be inferior work and part of the reason why the first professional software developers in mid 20th century were largely women: it was considered clerical work to translate algorithms from paper into computer programs. The Computer Girls is a good article that describes these attitudes.

http://homes.soic.indiana.edu/nensmeng/files/ensmenger-gende...


Looks like you got downvoted into oblivion, but I believe you bring up an important point that needs to be discussed, and that's "intent".

The string "x=1" can both be a computer program, and something intended only for humans to read. The Euclidean Algorithm was written specifically for humans to understand, with no intent for them to ever be interpreted by a machine. The fact that someone at some point did implement it doesn't retroactively make it the first program. Lovelace's "Diagram" was also not something a machine could directly execute. But the key difference was the intention, she specifically intended that her instructions could be interpreted and executed by a machine.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: