develop7
If you ever tried to have multiple WIP features merged in a Git working copy, I have a great news — with jujutsu complexity of the workflow increases linearly over the number of branches, if ever: it's almost trivial. Otherwise I very much encourage you to try — in and of itself the workflow is extremely effective, it's just Git makes it complex af.
I'm familiar with numerous people who _like_ C and there's one thing that stands out about them is they don't think in abstractions, effectively ruining the whole point of abstraction as a concept. You offer them, say, an STM¹, and they are like "oh, right, a semaphore here, a mutex there, that's an easy one" and so on.
> The problem comes when the Haskell types (pun intended) think that everyone else just needs to use/study Haskell more, and then they'll have their enlightenment moment.
I'm a Haskell type and ex-C type, and I don't think it is correct. To get Haskell, you have to step back and unlearn some of your knowledge about computers, no matter how hard you've acquired it. The problem with the abstractions offered by p^Wmainstream programming languages, is they leak, one way or another, so you inevitably end up not trusting any abstraction ever at all. In Haskell, abstractions are more reliable (dare I say rock-solid?), compared to mainstream, thanks to effects isolation, referential transparency, laziness and other merits and properties of the language.
Another mistake I did when starting Haskell was I expected the same words to mean the same things, `class` in particular. That cost me months of struggling to understand why it didn't work.
The bottom line is Haskell is significantly different from anything mainstream you've programmed in before and expecting it to work the same way is, uh, not very efficient.
¹: https://en.wikipedia.org/wiki/Software_transactional_memory
Hadolint
1: https://ruby-doc.org/core-2.5.3/doc/syntax/refinements_rdoc....
Another attempt to explain Git implementation details & lingo, because rewriting Git end user docs to not refer those is borderline insurmountable.
In fact, it's every fucking version control system other than Git.
> Git is truly the Dark Souls of version control systems
Yeah, but in a bad way. In my 10-years-experience with DVCS, Git requires orders of magnitude more attention than any other (D)VCS (except, maybe, monotone), offering nothing in return.
edit: closed parent
I'd love to help you with the roadblocks, but I need more specifics to do that.
Google “wontfix” a “panic pin code to wipe device” issue in Android
Destroying C with 20 lines of Haskell: wc
© https://programmingisterrible.com/post/65781074112/devils-di...