What is the history behind
proj.4 formats for defining coordinate systems? Does one have advantages over the other? Why do both exist? I'm guessing they were developed independently for separate systems, but I'd be curious to know more specific reasons.
What is the history behind
closed as too broad by Fezter♦ Oct 9 '18 at 1:17
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Wikipedia's proj.4 entry has some information. Gerald (Jerry) Evenden wrote the original proj software to convert coordinates with a command-line interface. It focused on map projections so you were converting latitude-longitude values to projected ones or vice versa without doing any geographic coordinate reference system (geoCRS, also called a "datum") conversion.
The proj software accreted more capabilities over time like being able to support geoCRS/datum conversions and support CRS well-known text (WKT) strings to define a coordinate reference system. Because it originated as a command-line interface, you use keywords and abbreviations to specify most objects. If you state +sph=bessel, then interpreting the string means you need to be able to look up the parameters of "bessel."
Esri submitted to the OpenGIS Consortium (OGC) a document describing WKT around 2000. That standard has gone through several iterations, and is currently at 12-063r5. There's now an ISO (International Standard Organization) version as well, 19162. A new version of 19162 is currently in revision (2018) due to changes to the CRS data model in ISO 19111, Spatial Referencing by Coordinates.
So, yes, they were developed for separate software and purposes.
WKT was designed to try to give as much information as possible about the CRS, which could then be stored with a data file (or stored within it), and would need minimal 'external information'. The only thing that needs to be looked up is the map projection itself as you can't include the entire algorithm. Esri also wanted it compact, thus a single string. The data model (how the various objects are constructed) were loosely based on the EPSG and GeoTIFF data models. Esri still uses that 'version 1' style, but it was not very well-defined which has led to a lot of varieties in use by different software packages.
ISO 19162 (AKA CRS WKT 2) is an attempt to better reflect the current ISO 19111 data model and to try to minimize different varieties of CRS WKT.
Disclosure: I work for Esri on the Esri projection engine. I'm on the subcommittee that maintains the EPSG registry. I'm on the current ISO 19111 and 19162 committees.