News for hackers. Stuff that matters.
Re:So you're using a weird language by bmitc on Thursday October 06, 2022 @01:55AM (#33104853)
It can be really, really frustrating to work with people and companies with this opinion. I have seen quite a few projects either fail or nearly fail or being slower or less reliable than they should because of the choice to use something like Python, where it was basically the wrong choice from nearly every perspective other than it being what people have heard of.

I'm perfectly happy letting other people work in the middle of the bell curve, but I cry a little inside when I see a super cool application be ruined by highly conservative software thinking. I have never been able to understand that, usually hardware-oriented, companies will be doing something super advanced and novel with physics, engineering, biology, and other "hardware" related things, but then will bury their heads in the sand unless the most common denominator programming language is used because they supposedly can't hire people otherwise. But yet they're perfectly willing to hire and train people on the novel hardware designs. It doesn't add up.

There is a very strange uncomfortability with software ideas that are new to people that I do not see when it comes to even the most novel and cutting-edge hardware-related topics. I have experienced this in internal talks, where hardware-related talks will generate a huge amount of buzz and questions, despite often being well beyond the audience, and the software-oriented talks seem to attract crickets. Honestly, I think it's a bit of hidden hubris, in that many scientists and engineers consider themselves to understand software, and in showing interest in new software-related things, they fear showcasing that they don't know something they fancy themselves as knowing. The other possible answer is that people are just afraid of software in some sense.

I found this in a recent interview where it seemed to be expected to solve a problem using objects and either interfaces or inheritance. I solved the problem with discriminated unions and pattern matching, and there seemed to be some uncomfortability with the solution because it wasn't what they were used to as being the "right answer", when in reality it was just another spot in the solution space of the expression problem.

Re:So you're using a weird language by lewisjoe on Thursday October 06, 2022 @02:11AM (#33104949)
I usually use Rich Hickey's phrase when dealing with arguments over solutions: "Don't confuse familiarity with simplicity"

It's such an insightful phrase.

Re:So you're using a weird language by cglotr on Thursday October 06, 2022 @03:43AM (#33105594)
This might also applies to code. I have always think that I write simple, readable code but I wonder how much of that is just familiarity to my code style. I typically don't have problem understanding code that I wrote months a go though
Re:So you're using a weird language by bmitc on Thursday October 06, 2022 @01:01PM (#33110890)
That’s a great paraphrase of a sentiment that I have also tried communicating to people. I have tried convincing people that just because something is lesser used doesn’t mean that it isn’t more simple.

In general, people are afraid of simplicity. When you show them a technique or programming language or method or perspective or whatever that is new to them but also simplified the problem, people are inherently bothered that it isn’t as complex as they’re used to, which convinces them that it isn’t a valid solution.

Re:So you're using a weird language by seer-zig on Thursday October 06, 2022 @02:04AM (#33104914)
> I have seen quite a few programs either fail or nearly fail because of the choice to use something like Python

I'm not surprised, it is very difficult to scale Python to larger teams and projects. I mean people have done it to some degree, but at what cost?

It's much better to stick with a static language like Java or C#. You mentioned pattern matching and discriminated unions at the end of your post, which Java has recently gained, and C# to an extent as well.

Re:So you're using a weird language by bmitc on Thursday October 06, 2022 @02:06AM (#33104925)
The projects I have in mind actually struggled even with small teams. Python is not good for anything besides scripting and small programs, what it was originally intended for.
Re:So you're using a weird language by paganel on Thursday October 06, 2022 @04:04AM (#33105711)
Granted, I earn my money writing Python code among other things, but surely there have been a few successful Python projects in the past that were more than scripting and small programs.
Re:So you're using a weird language by AstralStorm on Thursday October 06, 2022 @02:19AM (#33104999)
Well, it is good at times for prototyping DSP and ML algorithms. And for embedding in a bigger application for scripting.

Its value decreases swiftly the less glue you require, since that is its real niche.

Re:So you're using a weird language by int_19h on Thursday October 06, 2022 @02:49AM (#33105211)
If the only thing that's familiar is Python, then yeah, this approach doesn't scale well.

But mainstream languages also include C++, C#, Go and many others. It's a good thing to have several different tools in your toolbox, but a few tools can cover pretty much any scenario outside of really extreme corner cases (where something like e.g. Prolog might be of use).