As a former “types are overrated” person, Typescript was my conversion moment.
For small projects, I don’t think it makes a huge difference.
But for large projects, I’d guess that most die-hard dynamic people who have tried typescript have now seen the light and find lots of benefits to static typing.
I was on the other side, I thought types are indispensable. And I still do.
My own experience suggest that if you need to develop heavily multithreaded application, you should use Haskell and you need some MVars if you are working alone and you need software transactional memory (STM) if you are working as part of a team, two and more people.
STM makes stitching different parts of the parallel program together as easy as just writing sequential program - sequential coordination is delegated to STM. But, STM needs control of side effects, one should not write a file inside STM transaction, only before transaction is started or after transaction is finished.
Because of this, C#, F#, C++, C, Rust, Java and most of programming languages do not have a proper STM implementation.
For controlling (and combining) (side) effects one needs higher order types and partially instantiated types. These were already available in Haskell (ghc 6.4, 2005) at the time Rust was conceived (2009), for four years.
Did Rust do anything to have these? No. The authors were a little bit too concerned to reimplement what Henry Baker did at the beginning of 1990-s, if not before that.
Do Rust authors have plans to implement these? No, they have other things to do urgently to serve community better. As if making complex coordination of heavily parallel programs is not a priority at all.
Edit: I was pleasantly surprised to see that they don't add any tracking cookies from what I can tell, regardless of how you "vote". Still feels rather tasteless.
Sounds like ads will just get replaced with covert word of mouth enticements. Want to get people to know about your product? Send free samples to influencers. Maybe even fly them out to CES and put them in nice hotels so they can experience your product announcements/demos. All of this is "unpaid", of course.
Assuming the influencers pay taxes, this doesn’t seem like something that can’t be addressed - we should be requiring influencers to prominently disclose incentives that could result in conflicts of interest.
I would prefer a world that returned to the older '30 second blip (for the only) sponsor of the program' ad, which also seemed to be of the limited form: Here's Product X, it does Y, which makes your life better because Z. Informative, dry, stated by an announcer in a calm and not demanding way.
You weren't asking me, but I'll chime in anyhow. If by "backfire" you mean have I suffered any adverse consequences, then no.
Interestingly, in several cases, I've had other engineers talk to me privately to express gratitude that I said something. They had the same concerns as I, but were too afraid to speak up for fear of consequences.
My attitude has always been that if I'm being punished for doing my job then I'm in the wrong job anyway, so I don't worry about it.
I have encountered people who don’t want to hear advice and repeatedly have a sort of knee-jerk negative reaction. It’s very rare though and I’d leave an org if this was the norm. I can count these people on one hand in my 10-year career.
I’ve also encountered people who have an initial negative reaction but considered the advice over the next few days or weeks and later thanked me.
I don't think that I've ever had an actual negative initial reaction (ignoring them thinking I'm wrong -- I don't think that's negative, that's an opportunity for growth and learning, maybe by me). I am, however, careful in how I say things. Specifically, I'm careful to avoid any criticism of other people's judgement. I talk about the project and the project only, never the people working on it. Handling people is the job of a manager, and I'm not a manager.
I’ve generally had more good outcomes than bad, as long as I don’t take on the emotional burden myself.
Some people don’t actually want advice. In those cases, the issue isn’t technical, it’s interpersonal. In my experience, engineers who refuse to hear advice tend to struggle the most for obvious reasons.
Where I’ve gone wrong is taking on the emotional weight of other people’s projects. When I do that, the balance shifts toward more bad outcomes than good ones.
> You shouldn’t ignore a problem when you’re in a position to help.
is incompatible with
> not put emotional investment into it
I'll only help because I care (maybe it's the person, the larger goal, etc). To me, everything behind the experience that I call "care" is an emotional one. If I don't care, then that means it doesn't matter to me, which literally means there's no emotional response/motivation to do it. Is this odd?
The Claude subscription (i.e. the pro and max plans, not the API) is sold at what appears to be well below cost in what appears to be a blatant attempt to preserve/create market dominance for claude code, destroying competitors by making it impossible to compete without also having a war chest of money to give away.
You’re making a big assumption. LLM providers aren’t necessarily taking a loss on the marginal cost of inference. It’s when you include R&D and training costs that it requires the capital inputs. They’ve come out and said as much.
The Claude Code plans may not be operating at a loss either. Most people don’t use up 100% of their plan. Few people do. A lot of it goes idle.
For small projects, I don’t think it makes a huge difference.
But for large projects, I’d guess that most die-hard dynamic people who have tried typescript have now seen the light and find lots of benefits to static typing.
reply