I’m conducting a survey on the functional programming paradigm and would really appreciate if you could spare a min to take it! All comments/feedback are welcome.
Polling is hard, but a definition of “functional programming” should be a prerequisite before trying to do a study on the term. As an example Erlang and Agda are often both referred to as functional languages but share almost nothing in common semantically. Trying to compare the two based on vague criterion like ‘intuitiveness of syntax’ is just going to produce noise.
@gragtah I’m curious about the reason for this poll. What information are you looking for?
This is just a general developer survey to get a sense of how functional programming stands today and I’ve reached out to industry as well as academic communities.
Got over 180 responses, survey is now closed. Thanks everyone who took time to fill it out!
I’ll share the results soon.
@sdiehl: The most general definition revolves around first class functions, so I let it be that general.
‘Intuitiveness of syntax’ is very subjective, but I’m keeping that as a caveat. This is more to see what personal reasons people have for picking a language. So Erlang can seem to have a more intuitive syntax to one person, and Agda might to another person, but I’m trying to gauge how much weight this (vague) sense of intuitiveness has in people choosing between languages.
It’s the most general, but it’s also the most useless as nearly every language has first class function. By this chosen definition Fortran is a functional programming language.
I would phrase that more along the lines of Fortran 95, for instance, technically supporting pure functions and the FP paradigm. Going from that to calling the language a functional language seems like it requires a bit more - and I’m uncertain there.
It’s possible to use a functional programming style in languages that are not considered functional languages conventionally, so I’ve left it a little open-ended. I’d appreciate suggestions for additions or modifications to the survey questions/options for a follow-up.