I’m a developer with an MSc in Computer Science, from a University with a heavy focus on theory.
My understanding is that anyone who wants to build on the Cardano platform must use Haskell. Is that correct?
That depends what you’re actually asking. If you’re asking what language to use when submitting pull requests to the open-source blockchain, then the answer is Haskell. If what you’re asking is what language to use when writing code for the Cardano Computational Layer (CCL), then there will be multiple options available as best I can tell, including but not limited to: Solidity (which Ethereum uses) and Plutus (Cardano’s own suggested language).
I think relatively few devs use Haskell?
If so, wouldn’t this drive up the price of development for anyone wanting to develop on the platform (smaller pool of talent)? And also make development a slower and more difficult process?
It’s hard to measure programming language popularity / use in general. PYPL lists Java, Python and PHP as the three most popular searched-for languages, but really it depends on domain. You will find lots of C and C++ in games programming, operating systems and embedded devices (lots of Java in devices too), and so on.
In general, Haskell is definitely less widely used than say Java, C or Python. But this actually doesn’t have the consequences you think it does. What it also means is that the people who DO know the language generally have a deeper understanding of it, and many of them have known it for a long time - leading to a smaller pool of much better developers. Especially in the functional community, where there’s a measurably better understanding of maths and core computer science fundamentals (algorithms and data structures).
I can’t cite you any sources for that, but I interviewed with a company a few months back who use OCaml, Erlang and JavaScript and have been using those languages for over 10 years. They’ve had exceedingly good results from their OCaml/Erlang developers, and a very, very high retention rate. Yes, they’re more expensive, but they also do amazing work and are generally more talented than your average ‘web developer’ by miles and leagues.
Seems to me this combination of factors will hinder real-world uptake?
Like I allude to above, I don’t think so - at all. Blockchains require a very specific skillset to work on, one which ideally involves a very solid understanding of linear algebra, practical statistics, cryptography and game theory. These are not skills your typical Javascript web-developer will look into (favoring instead other, more relevant skills for that), but are definitely likely to be close to home for many professional functional programmers, myself included.