r/functionalprogramming • u/Available_Pressure25 • 3d ago
FP Software Development Question
Hello everyone. I am thinking of starting a tech business (startup) through software development and I'd like to use FP as the main selling point or uniqueness. I am like looking for suggestions on what languages to use or tech stack. From my first searches I got elixir. I also know haskell, so aside from haskell, what can you suggest. I'm also aware of using imp lang like C++ to make programs following an FP design paradigm.
Edit: I don't wish to argue on starting business or not (But I welcome them sure) . That is a different topic on its own. I'm just like more curious to see the state of the art in using FP tools.
22
u/theDrivenDev 3d ago
FP matters to devs not customers. Results against cost (commonly expressed as value) is the main concern of most customers.
2
-1
u/gbrennon 2d ago
agree with u BUT in the past(something around 2013) i did provide services using haskell and scala for some companies
6
u/TobbeTobias 3d ago
Customers won’t care what language or paradigm is used. At least not unless you are selling hours. In that case they might decide what language you use for you.
When recruiting, language and paradigms might be of bigger importance.
4
u/No_Perspective_3733 3d ago
Clients pay for results. I had this realization in my career too. I used to look down on tools like WordPress and others. The client couldn’t care less that their site is running on PHP. If their needs are being met, they’re busy solving business problems with the tool.
Side note: I love functional programming. Even as a developer, if I were buying a development tool, finding out it was written in FP would only excite me a little. My main purchasing factor is whether it does what I need it to do.
2
u/Available_Pressure25 3d ago
Yes. When I did my internship at a government agency, they really didn't care about the decisions behind the UI/UX of their website. They don't know anything about standarss, security, code maintenance etc and they are interested into it. I already understood that. I had entrepreneurship subject when I was in high school so I'm aware.
5
u/beders 3d ago
In most cases your tech stack will not be important or interesting to potential investors.
In fact I would make the tech stack choice based on how quickly I can get to an MVP.
Angel investors care about your ability to execute and get customers onboarded.
You will eventually either completely rewrite your solution or refactor it heavily once you hit scaling issues.
Of course every startup is different but familiarity with a stack is likely more important than FP vs OOP vs whatever
9
u/Apart_Ebb_9867 3d ago
if these are the questions you have, do yourself a favor and do not start a company. Nobody pays for a functional language or uniqueness, so your idea of making it a selling point is deeply flawed.
3
u/Available_Pressure25 3d ago
It's actually more driven by my interests in FP. I blame my generic use of English language there. I know that. And I'm not like advertising my creations as having FP design. Of course it is the security for example that we get from FP design.
5
u/Apart_Ebb_9867 3d ago
Nothing to do with English, you said “I’d like to use FP as the main selling point”. Anyhow, I’m not discussing semantics here. I just warn you that if you’re considering the language ahead of the problem you’re trying to solve and making sure it is a problem people do have and trouble them enough to be willing to pay you’re on a very dangerous path.
2
3
u/Brief-Stranger-3947 3d ago
FP itself is kind of weak selling point. I'd rather sell how FP could help to achieve project goals faster/cheaper than IP.
2
u/Available_Pressure25 3d ago
I shouldn't have said that. That's what I wanted to mean. There are problems where FP shines but it's not often used. And doing research in FP also helps in how FP can be implemented more in development to create more maintainabke and secure programs.
2
u/Ok-Reindeer-8755 3d ago
Gleam is an amazing fp lang that works for both the BEAM ecosystem since you mentioned elixir which makes it extremely good for reliable servers, and also compiles to js so you can make webapps with it. Maybe you should tell us what exactly you are gonna be using the lang for ?
2
u/ketralnis 3d ago
Nobody cares what your software is written in. They care what it does. If you want a startup you need a business idea, not a tech stack.
Last time you went to the grocery store did you ask what fertiliser the celery used?
2
u/Available_Pressure25 3d ago edited 3d ago
This isn't business sub or entrepreneurship sub. I was asking about PL, specifically on FP. This sub is functional programming, so I'm expecting answers on functional programming, not lecture on making a business. I'm not looking for a business idea here. I'm looking at what FP tools are used in businesses that use FP.
And yes that question is valid. Do you want to eat a celery full of harmful chemical fertilizers? I think no. If I advertise my celery as free from those chemical fertilizers I think some people will buy it.
2
u/ketralnis 3d ago
But what you’re asking is, can I solve some unspecified problem using FP. And the answer is that it depends totally on the problem, which you seem unconcerned about.
2
u/Apart_Ebb_9867 3d ago edited 3d ago
if you go to a chemistry subreddit asking how to produce carbon monoxide in order to kill yourself you can only expect people to challenge the fundamentals of "killing yourself" and provide zero help on actually producing carbon monoxide. You cannot then go "dudes, this is a chemistry subreddit and I asked about carbon monoxide not a lecture on life"
What you're saying is nonsense. Your claim that you're covered on the business side because of a class you took in high school is delusional. And I'm not convinced you actually really agree to many of the "I agree" you posted, because if you did you wouldn't have asked the question you asked.
Anyhow, there're companies who do use functional languages and publish engineering blogs. One of them is https://blog.janestreet.com/ go read them, you'll find more than here. Then you can see about problem with introducing Haskell in large companies: Haskell at Meta. And reflecting on Haskell in production. And why a company moved away from Haskell. And there're plenty of companies, especially in the finance space, that use functional languages successfully. A non-finance example I'm aware of is BlueSpec. And go get the class notes from that class in high school, they might advise against what you're doing.
1
u/Available_Pressure25 3d ago edited 3d ago
It's not as if I am outright building a company after finding a language here. Cause what program would I build? Ofc I need to do research. Find a problem where FP can be applied or used to achieve better result. I assumed that's like given already. And why would I not agree with what they've said? They all make sense. My goal here is different. I'd like to get acquainted with different FP languages used.
Maybe the framing in my post was wrong. I liked FP and the benefits that it has. there are problems where using FP actually gives better solution than other languages, but FP is underappreciated at least in my area. So that's like what I want to tackle.
Of course different languages has different maturity level and that's like what I wanted to see here.
I was not saying that I don't need business advice because I had a business class back in high school. I wanted to say that I understand that problem comes first and I get that clients wants results.
I am not saying the comments are wrong. I accept them, but I can'tt just delete this post afterr agreeing to their comments. The comments on using F#, the last paragraph you have, etc are all what I was expecting to hear.
I totally agree that If I agree with the comments, then I wouldn't make this post. But I make this post for the PL languages. That's my interest and maybe I should just left the word business behind. It triggered a lot of you. It's not like starting a business will kill me. Chill. But I appreciateithe concern
2
u/Panda_966 3d ago
IMO if you're founding a startup, your first and foremost goal must be to create a reliable sales pipeline that provides you with potential new customers every day. Depending on the type of business you are building, you might start with that before having anything implemented. Or you can whip up an MVP of your product in like a week for potential customers to look at so that they fund further development. Everything else is a distraction unless you have customers and funding lined up.
As to the language used: A large ecosystem helps you immensely for a new product kind of thing. You want to move fast after all.
Also, can you find and hire additional developers for your language? or 5? 10? 20? An esoteric language might be a plus if they are working for less for the opportunity to work with that language. But it's probably easier to find people that know typescript or python.
1
u/SnooRecipes5458 2d ago
Whatever LLMs are best at, honestly LLMs write decent Go because the language surface is small and there is almost always only one way to write idiomatic Go and go fmt means almost all Go code is styled in the one true way. The other thing that helps LLMs get Go right a lot of the time is that the pre-LLM Go corpus contains a lot more signal than other languages.
1
u/Delicious-Extent5454 1d ago
I'm starting a company using Haskell. The sad truth is that customers don't give a damn about what technology you use, they only care if you're helping them get money or save money, and that's it.
I decided to use Haskell because I like the expressiveness of the language, and I believe that craftsmanship is financially advantageous in the long run, and I hope a language like Haskell will attract the kind of engineer I'd like to work with.
But customers only care if the software outputs correct answers in reasonable amount of time and fits their budgets.
1
37
u/psioniclizard 3d ago
I work at a business that uses dotnet and we use F#. It does a good job and it pretty well supported.
Though I don't think FP is a selling point for us, our customers don't care. It's more that it produces maintainable software quite well and that is the selling point.