4 ms·
Programming and programming languages are in a big portion subject of social sciences anyway. Made for the needs of humans used by humans in groups with practic
by mihaaly 7y ago
Programming and programming languages are in a big portion subject of social sciences anyway. Made for the needs of humans used by humans in groups with practices and methods addressing the particularities of humans and human groups. Not ordinary humans but humans indeed. Probably it is more of social science than mathematics or other human independent matters. Social science that is using other disciplines, similar to economics, but at least an interdisciplinary subject.
- sgt101 7y agoThis is a great take, and one that I wish framed more of the research in programming languages than is currently the case.
- raxxorrax 7y agoWhere I see social sciences is on the formalization of ontologies for specific applications or laying the ground work for general AI. Perhaps some thought will help us go from higher concepts of knowledge to imperative languages, which most programming languages still are. We often talk about learning systems that gain knowledge and improve themselves. But there is probably more to it than adding another table row. Given, that is probably very hard. That said, I think the article mentions science being "social" in the context of how we weight scientific research depending on the authors standing and expression, not the absolute truth behind it. Which actually is probably quite a shame.
- throwaway17_17 7y agoI just can not agree with this concept. Using the standard you propose, architecture for instance is a social science, and I’d argue most non-computer engineering fields would be classified as social sciences as well. Computer Science is by traditional applied mathematics, at least the theoretical courses of study treat it so. But there is a reason Computer Engineering is the predominantly understood title of the overarching software field. Programming languages do not exist in some philosophical vacuum, they are created to be implemented in the real world, on real hardware, and deal with the very real physical capabilities and drawbacks of that real world hardware. While programming, and software design as it is generally practiceD, is not as rigorous as other engineering fields, it is the application of the sciences to create or implement technology. So I just can not agree that programming languages and programming are in any way a social science. Also, just to be clear, there can be social science fields which inquire into aspects of the engineering field of Computer Science, but that doesn’t effect the underlying character of the field. Also, also, I would strenuously argue against the proposition that mathematics is in any way ‘human independent.’ But that argument is not entirely relevant.
- TheOtherHobbes 7y agoArchitecture is very much about culture. I'm not sure I'd call it a social science, but the science part of architecture - making sure that buildings don't fall down - is left to structural engineers. If you read how architects justify their designs, they're full of references to culture, philosophy, and occasionally - too rarely - practical research into how people move through and live/work in spaces. It's a social activity in that architects design for other architects. Clients are secondary. CS is actually no different, it's just far less culturally self-aware. There's nothing objective about CS. It grew out of a specific philosophical current, and it could easily have gone in other directions, emphasising other kinds of entity relationships - e.g. less atomised and sequential, more contextual and associative. That in turn would have influenced the design of the hardware.
- boyobo 7y agoYou can say the exact same thing about mathematics.
- tonyarkles 7y agoI half agree and half disagree. I’m assuming that by architecture you’re referring to system/enterprise architecture and not eg CPU architecture. For a given system, the viable solution space is massive, and the decision on which approach to use is a mixture of science (analyzing and meeting numerically-defined requirements), art (meeting soft requirements), politics (making everyone happy about the unquantifiable choices), and taste (choosing between different similar solutions when no other constraints makes one better than the other). Two organizations facing the exact same problem can come up with two vastly different solutions that both effectively solve the same problem. How those decisions get made is, I believe, an extraordinarily interesting social sciences question! There are huge seats of computer science that do, to me, fall under the umbrella of “hard science”, but not all of it. Philosophy, taste, and social dynamics play a huge role in “industrial computer engineering”, and to try to pretend that’s not the case is setting ourselves up for failure.
- scott_s 7y ago> But there is a reason Computer Engineering is the predominantly understood title of the overarching software field. This is not true. The software field side also falls under computer science. Computer engineering is understood to mean the engineering of computers. Someone with a degree in computer engineering will have a strong electrical engineering background as well as digital circuit design, plus the lower-level side of software (operating systems, device drivers, general systems).
- Optimal_Persona 7y agoSo true! Worth noting that Larry Wall - creator of Perl - is a linguist, it shows in how the language permits (and encourages) diverse modes of expression ;-). Also, Yukihiro Matsumoto's motivation in creating Ruby was focused on fulfilling a basic human need - to bring programmers happiness.
- mihaaly 7y agoPython binds semantic structure to visual appearance (indentation defines blocks)
- boyobo 7y agoI wonder why you decided to contrast programming and programming languages with mathematics. Your second sentence makes perfect sense if you replace programming with math.