News for hackers. Stuff that matters.
Re:Computer science is not software engineering by burtonator on Saturday December 26, 2020 @11:00AM (#25544172)
One of the things that's interesting about modern languages like Java and Typescript is that they target software engineers that want things like generics, type safety, etc.

A lot of data scientists DO NOT want this. They're heavy on the science and less so on the software engineering.

I think this is one of the reasons Python took off.

Having to learn generics, type safety, exception handling, etc turns out to be a real pain when you're also learning about neural networks, AIs, etc.

Re:Computer science is not software engineering by fny on Saturday December 26, 2020 @11:12AM (#25544265)
The data scientists don't know they need it yet just like the JavaScript devs didn't think they n needed it.

I've already started seeing organic adoption of assertions.

Re:Computer science is not software engineering by mattgreenrocks on Saturday December 26, 2020 @11:22AM (#25544322)
2012: “static types restrict my beautiful code”

2019: “static types are amazing!”

I’m still salty about this shift. No one really goes back and admits, “maybe we were all wrong.”

IMO, the best explanation is the high influx of new, young devs results in ideological conformity in lieu of developed aesthetics. This also explains the unnatural amount of sway by so-called “thought leaders.”

Re:Computer science is not software engineering by nthj on Saturday December 26, 2020 @11:32AM (#25544400)
More complicated functionality has moved to integrations/APIs in the past 8 years.

When you’re trying to ship an extensive application and building out features that few customers may ever use, types absolutely slow you down. When you’re integrating with a 3rd-party API, you have two differences:

1. relatively high confidence the API won’t change much, which makes implementing typed code lower risk and higher ROI

2. a slower feedback loop over the “reload the page” of rolling your own, so types catching issues earlier than heavy integration tests is much more valuable

I use untyped Ruby/Rails code for all of the CRUD, and golang AWS lambdas for anything integrating with SDKs/APIs. Best of both worlds, in my experience.

Re:Computer science is not software engineering by zdragnar on Saturday December 26, 2020 @12:10PM (#25544708)
Earlier versions of typescript definitely were far more restrictive than recent ones- changes / updates to unions, enums, generics and inference, etc.

There are still some areas where it falls flat, but it is far more usable than before (very pleasant, in fact).

Re:Computer science is not software engineering by mattgreenrocks on Saturday December 26, 2020 @12:44PM (#25544966)
Agree. Been using TS + Svelte on a side project and it has been very nice. I say this as someone who runs screaming from webdev usually.
Re:Computer science is not software engineering by the_arun on Saturday December 26, 2020 @11:37AM (#25544447)
I think one size doesn’t fit all. Some engineers like static types & some don’t. People who want it will work on adding it. I don’t think same people who disliked earlier changed their mind.
Re:Computer science is not software engineering by chrismeller on Saturday December 26, 2020 @11:38AM (#25544454)
Absolutely. “Anyone can write JavaScript” led to that crap. It also led to having modules that do things like determine if a number is even or odd and get exploited.
Re:Computer science is not software engineering by tylerchilds on Saturday December 26, 2020 @11:47AM (#25544532)
Been using JavaScript for over a decade, we still don't need TypeScript.
Re:Computer science is not software engineering by realisticeater on Saturday December 26, 2020 @12:36PM (#25544904)
Been using flint stones for over a decade, we still don't need match sticks.
Re:Computer science is not software engineering by tylerchilds on Sunday December 27, 2020 @10:56PM (#25556541)
Been using a rube goldberg machine for over a decade, we still don't need a bigger rube goldberg machine.
Re:Computer science is not software engineering by bcrosby95 on Saturday December 26, 2020 @12:53PM (#25545043)
Been using those little hand held gas lighters for over a decade, but sometimes I still need match sticks.
Re:Computer science is not software engineering by joshxyz on Saturday December 26, 2020 @01:36PM (#25545364)
Same here.

Having tried TypeScript and Kotlin, TypeScript is like a half-assed type system that gives you cryptic error messages in compile time and mindfuck stack traces in run time.

Using assert(value, message?) function ends up being more useful and ergonomic.

Re:Computer science is not software engineering by andreareina on Saturday December 26, 2020 @11:56AM (#25544600)
I'll keep that in mind the next time I have to work around pandas automatically converting strings to floats. Or ints to floats (nope, no NaNs in either the inputs or the output). I'm sure it'll make me feel better about my data getting corrupted.
Re:Computer science is not software engineering by chrismeller on Saturday December 26, 2020 @11:07AM (#25544220)
This is also why languages such as R, F#, and many others have emerged. I’m most familiar with F#, so I’ll use it as my example, but it is built on .Net just like C# and VB. That means you not only get access to all of the features they offer, but in a functional language that doesn’t enforce any of them on you.

Microsoft was clearly going for a best of both worlds approach - .Net if you need it, just your data if you don’t. I find it a pain in the ass, but all the data guys at work love it because they can mix and match with our existing code and still do their own thing.

Re:Computer science is not software engineering by aries1980 on Saturday December 26, 2020 @03:12PM (#25546104)
> I think this is one of the reasons Python took off.

Python took off for data because the frameworks and libraries around it. Without IPython/Jupyter, dataframes, Scipy, it would have way less marketshare.