I note that you ask about *computing* rather than *computers*. This makes me consider computing as an abstract process, separate from the modern usage of "computer" to mean a machine. Before we had such machines, the word computer meant a person who computes. #Human parallel computing The first parallel computation was put into practice without automated computing machines. For example, during the Manhattan project teams of [human computers][human computers] performed calculations for physical simulations. Richard Feynman improved the speed at which these simulations could be completed by finding a way to split up the calculations so that all of the human computers could be simultaneously working on the same simulation in parallel. These calculations were aided by manual electromechanical adding machines, but in principal the same could be done by a group of humans with nothing but pen and paper and a strict set of rules for how to pass messages. So the answer is yes, a society could develop computing, even without any machinery at all. If your society has access to other methods of speeding up calculation that don't require metal (even an abacus can be used for surprisingly high speed calculation) then teams of people can provide high speed computing services. Over time as people work on improving performance by identifying [bottlenecks][bottleneck], more and more of the process may become automated, making use of techniques that we have never had to seek out since we already have metal. In a society without computing machines the people employing these teams of trained human computers would become very wealthy due to demand for the advantages that computing power brings. Similarly to in our world, huge amounts of money could be poured into research into how to improve the computing process. #Example improvements Once individual human computers are capable of completing their assigned calculations incredibly quickly (using aids like an abacus and an extensive knowledge of calculation shortcuts), the bottleneck is likely to be communication. Advances may then include arranging the human computers in geometric patterns that give them quick communication with as many neighbours as possible, and systems for passing messages over longer distances so that they are not restricted to passing messages from one neighbour to the next. For example a system of pulleys and string for connections to a selection of people several metres away, and a system of passing abacus-like temporary stored messages to immediate neighbours. Unlike our electronic computers, which are huge arrays of bits all treated in the same way, human parallel computers may have a large number of separate specialised areas. Perhaps 10 or 20 people arranged to perform a specific function that is used by many other areas of a system of perhaps hundreds of people. #Reliability A system based on humans may sound unreliable, but so is a system based on bits. Errors are common with electronic memory and processors, but error correction is used to make this almost never a problem. Similar approaches could be taken with human computers, including multiple redundancy so that if some people give the wrong results to their step in the calculation there are enough double checks that the overall result is still correct with very high probability. This would also allow for people to leave their position to attend to the need to eat, drink or use the toilet without having to interrupt the larger scale calculation. This makes it simple to arrange for 24 hour calculation - a brief pause at one position while a person is replaced at the end of their shift does not cause problems overall. [human computers]: http://en.wikipedia.org/wiki/Human_computer#Wartime_computing_and_the_invention_of_electronic_computing [bottleneck]: http://en.wikipedia.org/wiki/Bottleneck