HackerTrans
TopNewTrendsCommentsPastAskShowJobs

willtim

no profile record

comments

willtim
·6 jaar geleden·discuss
Not really a valid comparison. If you buy a pair of high-end Sennhiesers, they'll last many many years. I still use my HD580 from the 90s. They also sell all the necessary spare parts and are easy to repair (mine have had new cables and pads). An Apple product be will be e-waste in less than 10 years, the glued-in battery will start failing in less than 5.
willtim
·6 jaar geleden·discuss
> It doesn't matter if your functions are pure if they return a unique data type for your API or library that is not understood easily by the caller.

If it's an abstract data type, it doesn't have to be understood by the caller, it just has to be passed to another "lego brick" which understands the abstract interface. If it's a structured data-type, then there's no reason why it shouldn't be understood by the caller, the type should tell you how to consume it. I do not understand your point.

> So the solution is to make that data easily convertible or generic.. and guess what? That's no different than doing the same in an OO language

I guess you mean structured data types here? But you have missed my point completely about side-effects, it is side-effects (coupling via back-channels) that prevent composition, in general, in an OO language. OO languages also typically have an obsession with nominal types that can impede reuse.

> The key ingredient in making software reusable and portable is the talent and experience of the engineer, regardless of language.

You appear to be suggesting that languages/tools don't matter? Why not aspire towards languages that encourage safe composition and re-usable software? Your argument reduces down to "good motorcyclists don't need helmets".
willtim
·6 jaar geleden·discuss
If languages adopted structural typing, rather than nominal as the default, then it would be much easier to align the types (e.g. projection/renaming of columns). Most FP languages have a limited form of structural typing with tuples.
willtim
·6 jaar geleden·discuss
It has to be pure functional programming to get the full benefits of compositionality. Most mainstream "functional programming" is not necessarily pure and side-effects are not controlled/tracked. Analogous to how "mostly secure" is not secure, "mostly functional" does not get the full benefits.

Pure functional programming is complex, one has to compose effectful functions differently to pure functions. But the pieces do really fit like Lego bricks, especially when the same mathematical abstractions are used consistently. The Haskell community has been extremely effective at creating such consistency, by promoting various abstractions using category theory as a guide. The object-oriented community is not so different in this regard with their promotion of "patterns".

I've been writing Haskell professionally for 8 years. The problems with Haskell are the tooling, language stability, the learning curve and the difficulty of reasoning about performance, especially space usage. But composition and re-use works.
willtim
·8 jaar geleden·discuss
Time machine is really a consumer gadget, I'd be surprised if IT departments were deploying it within organisations. Crashplan would be more appropriate, but I'm not sure how smooth the restore would be. IMHO not having a swappable SSD really sucks.
willtim
·8 jaar geleden·discuss
For our VPN details, I would have to get my IT dept involved. My point is that machines often need a lot of additional software and configuration. If the world ran NixOS then perhaps a loan machine with "backups" would be almost as convenient as an SSD swap.
willtim
·8 jaar geleden·discuss
A loaned machine would be useless to me if they cannot swap the SSD. I wouldn't even be able to connect it to our company network.
willtim
·8 jaar geleden·discuss
If you buy a business-class machine like a ThinkPad, you will get a modular and repairable machine with typically 3 years on-site support as standard, in most countries. This is not true with Apple. Apple machines are essentially unrepairable in the field and even with the expensive AppleCare option, you will likely lose possession of your machine for a significant amount of time.
willtim
·8 jaar geleden·discuss
Well, in my office, we have both OSX and Linux users and it's only the Linux users who can daisy chain our monitors using displayport MST!