I am seeking an algorithm, not GIS software.
To find the shortest path between two points at sea with land between them, you can consider land as a polygon shaped obstacle between these. The concept of finding the shortest path avoiding obstacles is outlined here: http://alienryderflex.com/shortest_path/
Is there a publicly available algorithm to find the shortest path between two points at sea, but going along the coast and not across land?
I am working with thousands of points, so it has to be an algorithm, not a workaround using GUI software.
Creating optimised path between nodes avoiding polygons entities using QGIS asks and gets help to do this in QGIS, but it currently has only one answer and that is not applicable for this problem. To do this manually, as proposed in the answer in that question is not an answer to my problem as that solution is unfeasible with high amount of data. I am asking for an algorithm, not a method to do it in QGIS.