I know it seems like a silly question but I've googled it several times and I just couldn't find the answer. The experiments I found always assume knowing the specific heat of another metal, and by using the calorimeter experiment you can calculate the specific heat of water. And there are other experiments that use the specific heat of water to determine the specific heat of other metals. So my question is, what was the experiment used to determined the specific heat of water? Or was it determined theoretically?
Orignally by James Prescott Joule in 1843. It is on his thombstone!
Joule did this mechanically, with a weight that dropped driving a "mill" in a calorimeter with water: https://commons.wikimedia.org/wiki/Category:Mechanical_equivalent_of_heat
Such values are measured by national laboratories such as the National Institute of Standards and Technology (NIST) (formerly National Bureau of Standards) in the USA, and National Physical Laboratory in the UK.
They re-measure such physical standards from time to time, mainly to demonstrate the use of new technology and methods in measurement, and to improve accuracy.
You can find out from their publications how they do so. For example this from 2001 (you will need access to the Journal of Chemical and Engineering Data for the text, or it may be requested from the authors in ResearchGate) or this from 1939.