6 ms·
Went to his website. There was an interview of him from 2022. The answer that really stroke me was not about Vim, but about software craftmanship vs professiona
by lolive 3y ago
Went to his website.
There was an interview of him from 2022.
The answer that really stroke me was not about Vim, but about software craftmanship vs professional programming:
« I have been working for a company where quite a few managers, educated in physics and mechanics, thought the software was just the same as what they knew and they could decide how to make it. That company went downhill and was eventually taken over. The same happens in places where decision-makers can get away with failure, such as in government. The people writing the code probably just make sure they get paid and then run away from the crime scene. On the other end of the scale are people who want to write beautiful code, spend lots of time on it, and don’t care if it actually does what it was intended to do or what the budget was. Somewhere in between, there is a balance. »
I am not so sure about the last sentence. But the rest is SO true!
- bennyschmidt 3y ago> people who want to write beautiful code, spend lots of time on it, and don’t care if it actually does what it was intended to do There was a funny React framework a while back that has all kinds of cool state management and this and that, but it renders nothing. For the developers who spend more time theorizing, migrating, refactoring, than shipping. It's funny when people go back and forth about the time complexity of a click handler (that is debounced anyway), and they arrive at the optimal solution, but when you use the app the entire thing is super clunky lol where is the concern for time complexity of me using the product xD
- asveikau 3y agoI feel it's much more common to create abstractions without regard for performance cost of the abstraction. So keeping time complexity down, even for a piece that doesn't matter much, is above average for this sort of thing.
- hock_ads_ad_hoc 3y agoCreating abstractions without considering performance is probably the correct approach. It’s much better to at least start with a program with enough abstraction to allow reasoning about how things should work. Save performance concerns for when optimization is seen to be necessary.
- geodel 3y agoThis is how we get software that run ten times slower consumes ten times more resources and this happens on occasion when software works, more often it doesn't.
- eru 3y agoBig-O notation lets you conveniently ignore constant factors like 'ten times'. (I'm only half joking. A system that's always ten times slower than the optimal solution, can still be beneficial to one that's quadratically slower than the optimal solution. Or it can be worse, it depends on how big your instances are.)
- KerrAvon 3y agoThis is how you wind up with fundamentally slow systems that can’t be easily sped up. You need to take some account of performance in systems design. Just don’t micro-optimize too soon.
- regular_trash 3y agoHard disagree. Abstractions are nice when they match the mental model of a problem domain, but the odds you have the right set of abstract primitives in mind from the outset is practically 0.
- kykeonaut 3y agoThis is why TDD is not good when starting from scratch. Your abstractions might change in a way that they break your tests in a major way, and not only do you end up re-writing a great part of your code but also of your test set.
- Gibbon1 3y agoAlso creating abstractions without considering the mental overhead of reasoning about what the code is doing. Not enterprise: event --> action. Enterprise: event --> abstraction --> abstraction --> abstraction --> abstraction --> abstraction --> abstraction --> abstraction --> abstraction --> action_parta --> abstraction --> abstraction --> abstraction --> action_partb abstraction --> abstraction --> abstraction --> action_finalizer.
- The_Colonel 3y agoI sometimes wonder if people believe that enterprise devs create abstractions for "fun" without having any rational reason.
- dragonwriter 3y agoNo, but they often do it out of cargo culting (sometimes by the individual dev, sometimes by the bureaucratic conmittee of ex-enterprise-coders and managers-who-have-read-about-coding that adopted the mandatory coding standards) without any rational reason. Source: seeing it from the inside.
- imoverclocked 3y agoA paycheck and a re-org are pretty rational reasons. Maybe they aren’t the ones that create concise software but they can certainly be the ones taken en masse.
- tonyedgecombe 3y agoIn my experience enterprise devs don't really like what they are having to create either. They feel boxed into it because of all the petty rules that large organisations create.
- twism 3y agoRe-frame?
- gemstones 3y agoThis was immediately what I thought of, too.
- taneq 3y ago> people go back and forth about the time complexity of a click handler (that is debounced anyway) This is the modern software world in a nutshell.
- cxr 3y agoWhat's wrong with the last sentence? For ease of consumption, the context again: > On the other end of the scale are people who want to write beautiful code, spend lots of time on it, and don’t care if it actually does what it was intended to do or what the budget was. Somewhere in between, there is a balance.
- sillysaurusx 3y agoIt’s remarkably uncommon to find an employee who strikes a balance between the two. But I think this doesn’t make the sentence wrong.
- myst 3y agoLiterally everyone strikes the balance. According to their experience. The older, the more experienced, the more balanced.
- Denvercoder9 3y agoThere's a difference in the balance that people like to do, and what's best for the organization. I definitely can't deny that I've sometimes gone for the side that made my job better for me, but not necessarily helped the organization the most.
- 1letterunixname 3y agoThe problem is corporate interests usually demand expedience and individual, short-term output while dismissing any notion of craftsmanship, completeness, correctness, or long-term investment. More and more corporations have completely stopped investing in employee education, career, and professional development apart from harassment and privacy training videos.
- creer 3y agoI'll go with: the sentence takes this as a dimension, this at one end, that at the other. While perhaps what matters is on an entirely different dimension. From a point of view of usefulness to its users, is there a strong correlation with whether the project was "thrown over the fence" or is a work of software artistry?
- WalterBright 3y agoI understand wanting to write beautiful code, it's a major motivator for me. But it does have to actually do something useful - or there's no point.
- The_Colonel 3y agoThe code itself, its elegance and cleverness can be a point in itself. I'd argue it's a stupid point (with a few exceptions ala CCC), but for some people it does seem to be the main driver.
- aerique 3y agoBut that's the whole point, isn't it?
- deleted 3y ago[deleted]
- 1letterunixname 3y agoI've worked with enough "professional" programmers to know I don't want to work with them and their sloppy, reckless, uncurious, and inconsiderate ways.
- Exoristos 3y agoSo what do you do for a living?
- 1letterunixname 3y agoWell from your low karma, I know you're a troll.
- SpaghettiCthulu 3y agoThey have 1.0303 points for every comment compared to your 1.0407. That's not a difference to be boasting about. What you might want to criticize instead is how young their account is (first comment was mid June).
- 1letterunixname 3y agoSo you're a moralizing stalker. Do you work in law enforcement or have a need to control people? Or is this your other account?
- SpaghettiCthulu 3y ago> So you're a moralizing stalker. Do you think I went through and counted everything? No, the app I use just tells me the total points and comment count for users. Does that really make me a stalker? > Do you work in law enforcement or have a need to control people? What an utter waste of words. > Or is this your other account? Not quite sure what this is supposed to mean. Are you accusing me being the other guy's alt? What would the point of that even be?
- ugh123 3y agoThe last sentence was the point. Either end of the spectrum are people who are not caring about the right things (typically about themselves, egos, etc).
- tonyedgecombe 3y agoI'm pretty sure that company was Océ, I worked there at the same time Bram was there (although I don't think I ever met him). They were a photocopier company that struggled with technology in general, not just software. I suspect the root of their problem was that they had been taken over by sales and marketing people. That's never good for a technology company.