Aldo what we have here is a failure to communicate. Or at least a failure for you to listen. Please read the entire message carefully. I am doing the same for you.
First let me congratulate you on starving yourself. However, I am sure that you will get paid to do your research so you will not. Someone has to pay for that research. They do that by making money on previously completed research. Else you would starve for the betterment of man. A manufacturer is not going to pay for research that can it will not get to keep.
You may be a saint but corporations are chartered to make profit.(I swear this is a requirement in thier charter.)
Realistically you may not do it for the money. However, even university professors get a cut (50% at my university). They are doing research for the money. They need it to do more research.
Algorithms like dijkstras, recursive traversal and the like are unpatentable. There is no doubting that.
A new algorithm is not so unpatentable. I don't have an example because I am not researching new algorithms. Let's say a new improved version of recursive traversal was concieved. (this is not going to happen) It has never been thought up in logic, theory, or practice. Say it works better than the version it is based on.
It MIGHT be patentable.
Many of the other things you cite are not patentable because they are simply implementations of things that have been in use for many many years(just packaged or whatever). To patent a software algorithm takes more.
You need

more than you have stuck in your head.
A lot more.
You must have a new idea.
A patentable algorithm is not like the principle of combustion. An algorithm that basic is never to be patentable. Neither would the idea work for patent in the engine.
However, a new engine design(utility patent) would be highly patentable if it was distinguishable over the prior art.
A basic algorithm newly concieved might be patented.
I cannot patent recursive traversal. However, I can restrict the use of my improvement. That is how the law works. I am no more making this up than standing on my head.
Look, you are not going to lose your ability to write code. That cannot happen under the patent laws.
The pressure for advancement is there.
If someone else has the exclusive use of a algorithm(again not something previously known), and you do not, what are you going to do.
You are going to either use the old way to do it or find a better way than the other guys way.
That is life.
It is not like you could never improve on someone elses patented idea either.
Patents are finite for a reason.
I don't want to say it like this but open your eyes. You may be as I said a saint but the rest of the world is not.
In a perfect world you would be right. All advancement would be for the betterment of man. All of it. No one would need money because there would be no need for it because we would all work without reward just for the sheer joy of working.
In the real world corporations control 90% or so of the worlds money. They must follow thier charters that say they are formed for the business of making a profit for thier investors.
A corporation cannot fund research that will be unprofitable to them. If they will not gain a benefit from the research they are not allowed to use it.
As for the Doom Engine example. I said it was not for reality and I didn't really care. It was an example. I figured you have crowned yourself a patent expert you would know what I was really refering to.
What I meant was... the basic principles of something as simple as bubble sort is unpatentable. The use of 50 different algorithms in a new and novel combination is going to be patentable.
Say my renderer with a nonobvious code variation does something yours cannot do. Nonobvious mean others have not thought about it and others would not see the improvement without research as well.
I can keep my renderer. I cannot prevent you from improving on it in a nonobvious way. Hence the improvement of computer science.
As far as your argument that it will hamper computer science. No. You are saying it will hamper the development of applications of the idea. This is true to a small extent.
By your example what you want is when someone invents a hydrogen engine he will not be able to patent it because that would prevent other car manufacturers from using that engine to make thier cars better.
That is utter and complete Bull ****. No one would respect that argument.
No patent will keep you from writing any code you want. A patent may prevent you from using the particular method that someone else thought up first.
Again, that is life. Get over it. That is the law and it will most likely stay the law.
You can petition your congressman to change it. Only the legislature can change the law. Vote for liberal legislatures.
Aldo what you seem to be supporting is open source. I admire that. I too like open source. However, open source does not have the right to keep the rest of the world from keeping our source code to us. It is our intellectual property. Whether it is by patent or copy right or trade secret, it is owned by the maker, inventor, conceiever.
One final thing for you to consider is that without patents, many advances will be trade secrets. Since you cannot see what method I am using to make the program faster(and in a big application it would take years to figure it out), I can hide my advancement for as long as I want to. Reverse engineering it would be difficult. Trade secrets are protectable for as long as you keep them secret and no one else implements the same thing.
Further even if someone else finds the same invention as my trade secret, they too will keep it a trade secret. In the end there will be a sharp divide among software developers. There will no longer be a free exchange of these advancements. There is already not a free use, would it be better to get them to hide it to so that no one can continue working where the patent owner left off.
Do you understand this last part?
EDIT: I am sorry this was a bit too far. I will try to get time to edit to be a little less sarcastic when I am out of class. Again sorry, I was not trying to come off as rude as it seems.