3 ms·
> "So we could ship a product." This was an alien concept to them. This mentality seems to have carried over to (most) modern FP stacks
by raverbashing 11mo ago
> "So we could ship a product." This was an alien concept to them.
This mentality seems to have carried over to (most) modern FP stacks
- whstl 11mo agoNah, it carried over to scripting languages. Most of them still require a very specific, very special, very fragile environment to run, and require multiple tools and carefully ran steps just so it does same you can do with a compiled executable linked to the OS. They weren't made for having libraries, or being packaged to run in multiple machines, or being distributed to customers to run in their own computers. Perhaps JS was the exception but only to the last part. Sure it mostly works today, but a lot of people put a lot of the effort so we can keep shoving square pegs into round roles.
- raverbashing 11mo agoYou are correct unfortunately
- jacquesm 11mo agoDon't get me started. I tried to use a very simply python program the other day, to talk to a bluetooth module in a device I'm building. In the end I gave up and wrote the whole thing in another language, but that wasn't before fighting the python package system for a couple of hours thinking the solution is right around the corner, if only I can get rid of one more little conflict. Python is funny that way, it infantilized programming but then required you to become an expert at resolving package manager conflicts. For a while Conda seemed to have cracked this, but there too I now get unresolvable conflicts. It is really boggling the mind how you could get this so incredibly wrong and still have the kind of adoption that python has.
- ErroneousBosh 11mo ago[flagged]
- jacquesm 11mo agoThis is such a hilarious comment. Thank you for making my day.
- DonHopkins 11mo agoHey Gen Z, as long as I have you on the line, could you please explain 67 to me? I've heard of "68 and I'll owe you one", so is 67 about owing you two?
- jacquesm 11mo agoI'm having a hard time coping with my social media addiction while doing some fairly hardcore development on an STM32 based platform so sorry :) Incidentally, when will you (multiple) come and visit? It's been too long.
- DonHopkins 11mo agoI owe you at least one or two! Maybe we can test your drones out on that Russian guy with the GoFundMe campaign, then I'll owe you three! ;)
- ux266478 11mo agothats a gen alpha thing sorry unc
- s0sa 11mo agoOh yeah? Well the jerk store called, and they’re running out of you!
- whstl 11mo agoHis wife is in a coma
- iLemming 11mo ago> you're not very good at computers. Yup, I guess I am not. Been coding for over 20 years, went through over a dozen different PLs and only Python - the best fucking friend who doesn't sugar coat it, tells you without stuttering - "you suck at this, buddy" # PEP 9001: Constructive Computing Feedback ## Abstract This PEP proposes a standardized error message for situations where Python interpreters shall inform the user of insufficient computational competence. ## Specification When a user attempts to execute Python code that supposedly should work but it doesn't, the interpreter shall emit: You're suck at computers
- foobarian 11mo agoYou and me both. These days I don't even try, just docker pull python and docker run -v .:/app python /app/foo.py
- arethuza 11mo agoI thought that was just me - I really rather liked Python the language but was completely confused at how the package system seemed to work.... Mind you this was 12 years ago or so but it was enough to put me off using it ever again.
- iLemming 11mo agoYeah, it's still shitty. So often I have to go through some weird hoops to even just run the tests for a project with commits made last week. I can't even ask Claude to explain something about any given repo, it naively tries to run them tests, only to hit the wall. The number of different linters and checkers we have to run on CI just to make sure things are in good state, yet every time I clone something and try to get it running, almost always some kind of bullcrap. Why the fuck we even keep trying to write things in Python, I just don't get it.
- eternityforest 11mo agoI don't generally see this kind of issue with UV, at least not with the ultra popular libraries. With the exception of Gstreamer. I use some awful hacks to break out of virtual environments and use the system Gstreamer, because it's not on PyPi....
- logicprog 11mo agoYeah, anytime I see a useful tool, and then find out it's written in Python, I want to kms — ofc, unless it happens to work with UV, but they don't always
- graemep 11mo agoTCL has good solutions for this, but its not made it a success. Where I see Python used is in places where you do not need it packaged as executables: 1. Linux - where the package manager solves the problem. I use multiple GUI apps written in python 2. On servers - e.g. Django web apps, where the the environment is set up per application 3. Code written for specific environments - even for specific hardware 4. One off installs - again, you have a specified target environment. In none of the above cases do I find the environment to be fragile. On the other hand, if you are trying to distribute a Windows app to a large number of users I would expect it to be problematic.
- whstl 11mo agoYou don't find the environment to be fragile because millions of human hours have been spent fixing those problems or working around them. Which is significantly more than was needed for different technologies to achieve similar results.
- mr_toad 11mo agoBut people start by hacking away with one-off installs written for their specific environments, get it to the point where it’s useful to others, and then expect others to install all the tools and dependencies needed to install it. Quick start guide: works on my machine.
- throwaway81523 11mo agoIt seems the other way to me, maintaining environment consistency is such a pain that even a 5 line Python script ends up getting packaged in its own Docker container.
- rmunn 11mo agoNot the ones I've used. Haskell compiles to executables, F# compiles to the same bytecode that C# does and can be shipped the same way (including compiling to executables if you need to deploy to environments where you don't expect the .NET runtime to be already set up), Clojure compiles to .jar files and deploys just like other Java code, and so on. I'll grant that there are plenty of languages that seemed designed for research and playing around with cool concepts rather than for shipping code, but the FP languages that I see getting the most buzz are all ones that can ship working code to users, so the end users can just run a standard .exe without needing to know how to set up a runtime.
- raverbashing 11mo agoTrue but some still wants me to understand what a monofunctor is or something that sounds like a disease to do things like print to screen or get a random number I feel that is the biggest barrier to their adoption nowadays (and also silly things like requiring ;; at the end of the line) Pure functions are a good theoretical exercise but they can't exist in practice.
- jacquesm 11mo ago> Pure functions are a good theoretical exercise but they can't exist in practice. Well, they can. But not all the way up to the top level of your program. But the longer you can hold off from your functions having side effects the more predictable and stable your codebase will be, with as an added benefit fewer bugs and less chance of runtime issues.
- DonHopkins 11mo agoYes, but they're "Hello world!" hostile, so traditional programming language pedagogy doesn't work well. Q: How many Prolog programmers does it take to change a lightbulb? A: Yes.
- mchaver 11mo agoI imagine LLMs have already thrown traditional programming language pedagogy out the window.
- dbtc 11mo agoWouldn't the whole system be the product then? There's tradeoffs, but that's just integration.
- iLemming 11mo agoThere's 'FP stacks' and "FP stacks" and some aren't expressly similar. Volumes of money/data get handled by FP stacks - Jane Street famously uses OCaml; Cisco runs their entire cybersec backend on Clojure; Nubank covers entire Latin America and about to spread into the US - runs on Clojure on Elixir; Apple has their payment system, Walmart their billing, Netlfix their analytics on Clojure; Funding Circle in Europe and Splash in the US; etc. etc. There are tons of actual working products built on FP stacks. Just because your object-oriented brain can't pattern match the reality, it doesn't mean it's not happening.
- vrighter 11mo agopython comes to mind here. I have almost never had a deployment go smoothly.