What does war mean? > An argument. > A desire for more cows. I feel like a piece just fell into place watching the movie Arrival. I can't just translate requirements into software from text based descriptions. I have to be more immersed in the final goal. It's about having access to the whole range of the human experience to draw upon to understand what someone means. Though addentionally, my struggles with the English language might be causing extra strain on text based communication.
I see war and my first thought is a web archive file like you use with Tomcat π
If you have a war Iβll lend you an earβ¦
Drat @slipset - you beat me to it on the olβ Java enterprise jokes! π Does anyone still use J2EE servers these days?β¦
Apropos Arrival, please read the short story it is based on. Author is Ted Chiang, has only done a few short stories but they are completely mind blowing.
That makes web engineers warriors π
it's now at least two collections of short stories iiuc :)
Speaking of brainy Chinese sci-fi: https://media.netflix.com/en/company-blog/the-three-body-problem-netflix-original-series The people behind GoT will produce it π
Read that about a year ago, it was mind-blowing
Not sure I dare read the second one π
Any suggestions for a backward-compatible typed functional language? I played around with Haskell a lot some time ago but was bummed out that half of the recipes in Real World Haskell did not compile XD
Type systems foster breakage, so good luck finding that.
I agree with you, but I think I would learn a lot from going to beginner/intermediate typed functional programmer to expert. I guess I should just use Haskell. Not for real world stuff, but to expand my mind further π
For solving puzzles, Haskell is a nice language :)
Yeah, I think that Eric Raymond quote applies to Haskell, not LISP.
But despite their shortcomings, some typed languages like Java are very backward-compatible. Why are typed functional languages so notoriously bad at it?
Maybe because we are kids, and we like to break things
On topic: the category theory course on http://purelyfunctional.tv is free right now. See https://purelyfunctional.tv/courses/category-theory/
Because typed functional languages are often test beds for research, which leads to lots of new and interesting ideas, but types are inflexible so things break when you implement the new and exciting ideas
@endrebak85 SPJ talks about Haskell's deliberate breakages and how its users accept this as part of https://www.youtube.com/watch?v=re96UgMk6GQ
The types lead to information rich code, which the compiler can do all sorts of stuff to, but as soon as the types change the compilers assumptions are invalidated
the second one was imho better than the first
and equally as mind-blowing
He also talks about why there's really only one implementation of Haskell (GHC) and how most real world Haskell code relies on so many GHC extensions.
Thanks, I'll make sure to watch it.
I'm about halfway through the 3rd one, it is also good, will reserve judgement till the end!
He's a very entertaining speaker π
I watched a few talks by him a long time ago and I agree :thumbsup:
I knew Haskell had its origins in academia, but F# is presumably a more pragmatic language. Still, from what I can gather it is not backwards compatible. Neither is Elm, OCaml nor any other.
It isn't academia as such, just research, there is a lot of new stuff in f#, active patterns (or whatever they are called), type providers, etc
And type analysis tends to be done by compilers assuming a closed world, which doesn't hold when new things are added
And once you accept that sort of thing from your compiler you start to accept it other places
All good points :thumbsup:
I know Elm had some fairly serious breakages in the early days, as it developed its (very opinionated) "Elm Way" to solving architectural issues, but I had assumed it had settled down recently? (I learned it in the early days, when it was still finding its way and stopped using it around the time that "ports" were formalized as the JS interop story)
Time for a trip to the bookstore then.
apparently there is also a 4th story written by someone else but applauded by the author
β¦ also one of the very few that can reliably pull off Comic Sans or horrid slide colour combinations without losing any of his credibility
(SPJ is one of those programmer heroes!)
How long was that? When I did a few things with it, a few years ago, they completely removed any way to interact with JS other then ports, and they removed websockets. With types new things don't have to break. Like with Rust it took a while for async/await to become part of stable. It's just an additional thing. Also you use builders to not break users when you add things.