Hacker Newsnew | past | comments | ask | show | jobs | submit | kaens's commentslogin

you call it defund the police because they are disproportionately overfunded.


> The duty and role of a government is to act in the best interest of their citizens which that government represents.

According to who? I understand that this is a kind of framing used here often, but the federal government has been concerned primarily with itself for a long time now at least to my eyes.


According to ground realities. In a well functioning representative democracy, voters will kick out politicians/administrations that don’t represent their interests well.

So if you want to be the one politician that values non-citizens’ rights over citizens’ rights, good luck getting re-elected.

Or you could set up an autocracy and try to manage this anyway. For further reading, I recommend the book The Dictator’s Handbook or CGP Greg’s 20 minute summary of it.


ground realities are that, for example, flint michigan barely has clean water after seven years.

if you are claiming the usa is not a well functioning representative democracy, i agree.


Obviously the Flint water crisis is a tragedy and an embarrassment, and I can understand how the issue might cause you to question the competence of the local leadership, but in what way is it an indictment of the functionality of America's representative democracy?


>in what way is it an indictment of the functionality of America's representative democracy?

To a certain extent, I can see it as a case study against the functionality of representative democracy.

One one hand, elected leaders were fiscally irresponsible enough to enact policies that bankrupted the administration leading to a change to the water supply to save money. If I were playing devil's advocate, this could be seen as representative democracy incentivizing short-term political thinking leading to this outcome. E.g., it's easier to get elected on promises that benefit voters while ignoring harsh realities of how those promises will be paid for.

On the other hand, the decisions that led directly to the water crises were made by emergency managers appointed by the governor. This means non-elected officials overruled elected officials. Playing devil's advocate here can lead one to believe the displacement of elected officials is an indictment of the functionality of the system to truly be able to select those who govern the constituency.


it's just one example of many of huge swaths of people in this country not being treated in the way they they would be treated if they were in a well functioning representative democracy.

see if:

> In a well functioning representative democracy, voters will kick out politicians/administrations that don’t represent their interests well.

and "half of this country is a very small bill from crisis for their entire lives, people do things like describing the insurance agent as the most traumatizing part of the bear attack they survived" are both true, in what way can it be considered well functioning?


>don’t represent their interests

Can you put a finer point on what you mean by "their interests"? Is this relegated to just economic interests?

If it extends beyond economics, I see no reason why those two statements can't coexist. For example, I can vote against my own economic interest if I vote for higher taxes that I don't directly benefit from on the grounds that I want to support a more equitable society. Or I can vote against government run healthcare that I may also benefit from if I don't think that is the role of government. Both can be examples of voting against my economic interests to reflect my moral interests.


food, water, shelter, and healthcare are universal human interests. it's fine for you to believe the government shouldn't have a hand in them, but then in my view you are simply not in favor of what has been defined in this thread as a "healthy representative democracy"

you could argue that it's not your fault if lots of people don't vote so they get what they get, but you would be oversimplifying things for a HUGE section of the populace who don't vote because they have no one to represent their interests, where their interests are not starving or getting thrown on the street or being in debt for years and years because they slipped on the ice. these people not only do not have a meaningful way to vote, they also often do not have the time or energy to engage in local politics or trying to massage the system. they are currently risking their lives at metaphorical gunpoint every day to deliver "essential" services. minus the pandemic, it's been this way for a long time.

This:

> The duty and role of a government is to act in the best interest of their citizens which that government represents.

and this

> In a well functioning representative democracy, voters will kick out politicians/administrations that don’t represent their interests well.

do not describe this country, even if you assert that only those who vote are represented. There's zero accountability to the people, the gaps are too large for people who do represent our interests to get through the door (and when they come close the rules tend to change suddenly) Something being against the rules has never stopped someone from doing it if they really wanted to when they are the enforcers or writers of the rules.

if i lie to you a bunch and you vote me in, i'm not representing you. i have no intention on acting in your interests. politics is a crooked game, and ours is a particularly easy one to fix.

and what of the rest of the citizens who didn't vote because they risk losing their job or because of a million other reasons? are they not still citizens? most of them didn't choose to be, and regardless of whether that gives them some sort of moral obligation to participate to their best in the politics of their situation it does not remove their need for food, water, shelter, and healthcare which has been an increasingly difficult need to meet with essentially zero assistance from the system that is supposed to represent them.

to me it seems a lot like the conclusion is either that they are simply lesser for whatever reason and too bad for them or that the institution is just insisting on itself the way that institutions tend to do when they've been around long enough, and maybe a lot of people are actually very out of touch with what it is like to live in america for about half of our populace.


There's a lot here, so I'll try to summarize your point and you can tell me if I'm off.

>food, water, shelter, and healthcare are universal human interests.

I'm assuming you mean this is in the governments purview as part of promoting the general welfare clause. While I would agree, I can also understand those who do not because they take a more Jeffersonian view that the point of the government is to protect individual rights. At times, I can see where promoting general welfare and protecting individual rights can be at odds. I didn't see that specific definition of "healthy representative democracy" so it's may be too broad a reach (or I may have just missed it within the thread).

>if i lie to you a bunch and you vote me in, i'm not representing you.

This feels like a contradiction to the previous point that "voters will kick out politicians/administrations that don’t represent their interests well.". Maybe a lying politician gets to do this once, but after that it's the populace's job to hold them accountable. The people have a responsibility in a democracy as well. I agree it's not easy and opportunists will try to rig the system. Being difficult doesn't absolve us of the responsibility. I get the impression we fundamentally disagree that there's "zero accountability to the people". I think there is, but people may just not have the fortitude to do it for a variety of reasons. In many ways, I think the adage of "People get the government they deserve" is true. If you want to tolerate rigged systems or lying politicians, or don't want to get actively engaged, what kind of system do you think you deserve?


you're off by a little bit.

> The duty and role of a government is to act in the best interest of their citizens which that government represents.

> In a well functioning representative democracy, voters will kick out politicians/administrations that don’t represent their interests well.

part of what i'm saying is that if these statements are true, then we are not in a functioning representative democracy.

>if i lie to you a bunch and you vote me in, i'm not representing you.

>This feels like a contradiction to the previous point that

correct. it is an argument against it.

> Maybe a lying politician gets to do this once, but after that it's the populace's job to hold them accountable. The people have a responsibility in a democracy as well. I agree it's not easy and opportunists will try to rig the system. Being difficult doesn't absolve us of the responsibility.

regardless of whether or not i agree that in "the way its supposed to work" this is the case, it's been a lot more than once and for a lot longer than a little bit of time. longer than i've been alive.

with what time, resources, or authority are you suggesting the populace hold them accountable with? don't answer that just yet.

> I get the impression we fundamentally disagree that there's "zero accountability to the people". I think there is, but people may just not have the fortitude to do it for a variety of reasons.

We don't disagree in the sense you are talking about, technically. Zero accountability that the accountable will accept as valid though.

If i am born into a life with zero political agency and a constant threat of not having food or shelter in a populace that is largely entirely alienated not only from their peers but from also what they produce and consume how is that me getting what i deserve? In what way do you expect the hypothetical me to be organized or able to organize? How successful do you think someone like that could be at doing what you are suggesting when they don't have more than a $400 buffer and no supply chain?

> In many ways, I think the adage of "People get the government they deserve" is true.

I don't think the adage you're referring to is true at all; on the contrary I think that the responses you are speaking of simply take a long time to bubble up into enough of the populace to make them inevitable. Once that threshold is crossed you may as well swap the adage around. The structures and superstructures of societal organization are things that exist prior to you, it's natural for them to be baked into assumptions of "just how things are".

> If you want to tolerate rigged systems or lying politicians, or don't want to get actively engaged, what kind of system do you think you deserve?

I don't think that inaction in face of miserable conditions that have been part of your experience of reality since day one makes someone "deserve" those conditions. It just makes them someone living in the reality they've been presented with. Engagement however, of all sorts, has been rising


>If i am born into a life with zero political agency

Genuinely curious, what would you cite as evidence of "zero political agency"? If it's the de facto sense of it being prohibitively hard for one person/group than another as you allude to in your previous posts, this is a very different thing than zero agency. Again, I think it's dangerous to conflate hard with impossible.

The $400 buffer hurdle is a loaded topic that would be difficult to get into without being drawn into more walls of text, but I think this is often an artifact of poorly aligned priorities and choices. I actually tend think the counter is true; lower economic strata tend to have more free time than higher strata, etc. But I'm afraid this would turn into a long digression to get into.

I can agree that a government deserves it's constituency. However, I think can be true without negating the previous statement about a populace deserving it's government as well. It's hard to be both an advocate for empowerment while also absolving oneself of responsibility.

I do appreciate you taking the time to elaborate, but a common thread seems to be an almost infantilizing of a constituency. While I can empathize with the marginalized, I don't think it does any pragmatic good if it just stops at hand-wringing. If we resign ourselves to a lack of agency, ironically it's a good way to guarantee not to get it. It's a personal viewpoint, but I think those who will take ownership of these problems are in a much better position to affect change than those who constantly say it's out of their control.


I spent a decade homeless in appalachia and the general midwest for a decade, and another largely below the poverty line. I'm fine with citing my life and the lives of everyone I knew for the amount of political agency that was present in our lives.

I would not describe that period of my life as having more "free time" but I can understand how that may look the case.

I agree with you in spirit in some ways here and I do not believe in absolution of responsibility. Material conditions, however, often skew the will in ways rather extreme, possibility is not probability and it's a fool that eats shit after watching 20 people take a bite of a cake and realize it's shit.


>I would not describe that period of my life as having more "free time" but I can understand how that may look the case.

It’s more than just perception. It’s been awhile since I’ve read it, but The Meritocracy Trap gives the actual stats. Obviously, the higher strata have an abundance of other resources (chiefly money, by definition) but not free time because of the competitive nature of maintaining within that economic level.

I do think that the middle class is attainable for most as long as they do a few essentially things, like graduating high school, avoiding massive debt, avoiding addictions, and avoiding becoming a parent before financially secure. I also believe we should, as a society, help those who are disadvantaged by things outside their control. However, there will always be consequences for life choices and some of those can’t be completed mitigated.

I didn’t grow up with money but I also eventually learned comparison is the thief of joy


uh because presumably if you ask people if they want safe water, they say yes, and yet ...

if Flint isn't an indictment of US democracy, what would be?


Sanctioned government violence against its citizens by the police comes to mind. Weak environmental policies that are leading to things like wildfires on the west coast. The president* making his Dex fueled escape from Walter Reed and immediately taking off his mask telling people to not worry about COVID. The same president* profiteering off the presidency and 40% of the country unquestioningly supporting it. The same 40% refusing to wear masks in public because somehow being a spoiled brat is patriotic.

This is what I imagine the Roman Empire felt like right before it collapsed on itself. The US has grown too big and too spoiled and is ripping at the seams.


Can you give me an example of the kind of “weak environmental policy” you are talking about? One which would lead to more wildfires on the west coast? Because the only policy I know of that leads to more wildfires, is the 20th century mistake of putting them out, which led to runaway undergrowth leading to hotter fires, such that trees were destroyed that would normally survive. The policy that best protects the environment long term is to let the fires burn. So again, what is the strong environmental policy you are envisioning that would prevent wildfires?


Several. Pulling out of the Paris climate accords is one such policy. Prohibition on further nuclear power plant building. Policy of subsidies for coal power plants. Current policies regarding vehicle efficiency requirements that amongst other things let you classify your 8 mpg SUV or pickup that you drive all by yourself as a light truck instead of a commuter vehicle that it actually is which lets it legally be on the road with its dismal emissions rating. Keystone pipeline. Rolling back environmental regulations. Removing the words “climate change” and “science” from the EPA website because this administration finds science inconvenient. Prohibition on studying climate change by NASA as well as putting gag orders on any other agency from NASA to EPA to CDC on talking about it. Public policy of denying climate change (see last night’s debate as a prime example). Want me to keep going?

Fires are burning not because we have too much forest (though of course finding better forest management instead of Wall Street would be a much better investment). They are burning because global warming (climate change was a conservative TV talking about because they used the fact that global warming could include local cooling to confuse the matter) means longer dry seasons, draughts, lots of dry underbrush. Wildfires have always been a thing. Wildfires that span such areas and can’t be put out like this have not existed on this scale in recorded human history. Those who pretend that this isn’t happening should put a plastic bag with a large zip tie over their heads and tell us how they can breathe just fine in there. It will be just as effective at not suffocating as continuing down this path for another 10-20 years.


40% is a high estimate. Because voter turnout in 2016 was about 60%, only 27% of eligible voters voted for Trump. And probably a significant portion of those are not unquestioning supporters.


His approval has been well tracked by polls that target both likely voters and registered voters with the same 40% +/- 4% result.


>if you are claiming the usa is not a well functioning representative democracy, i agree.

A claim on the intent of a government can be made without making a claim whether that intent is being fulfilled


right, that's why i put "if" there :P


Imagine that you are a politician in that area and you have a crisis with the water supply, you aren't going to win votes by promising to first fix the water supply problems somewhere else that's not in your electorate. Even if things are broken there's always pressure to campaign on addressing local needs first in order to get (re)elected, hence the phrase "all politics is local".


The duty and role of a government is to act in the best interest of their citizens even if a particular government fails at this duty. When a government does not properly fulfil their role, that is the direction towards which we push them, to better represent the interest, desires and choices of their citizens - not to act for the benefit of everyone else in the world.


That's a pretty basic tenant of democracy. The government is by the people and for the people.


Perhaps just a typo, but since I've seen this mistake before: it's "tenet" rather than "tenant".


if i write "bees" on a box, does the box contain bees?


these are rules of thumb, not laws


The trouble is they get presented as laws and then some jobsworth will make damn sure you are following the rules.


Rules of thumb are just low-fidelity windows allowing glimpses of poorly researched, not yet understood laws.


if you were explicitly asked to, why not?


People are explicitly asked to wear masks too ...


If I could reduce the spread of a disease by starting my professional emails with "Heyyyyyyyy" I totally would.


i have found larger real world fp codebases to have essentially the same organizational problems as OOP codebases, just expressed in different ways.

most of the problem wrt code organization has to do with communicating meaning to humans, fp codebases written by people with a weak and evolving understanding of their problem domain are prone to the same sort of spaghettish expression of intent as OOP codebases in similar spaces, albeit often less verbosely by LOC.

the assumption that all you have to think about is the implementation of the transformation of the function you are currently looking at's inputs to its outputs is often incorrect, or only true in small or idealized cases.

this isn't a diss on FP styles as a whole, i prefer them, but it is not in my experience a great model for everything nor do i find it to significantly aid clarity of purpose in many cases. it is well suited to a lot of shapes of problems that currently pop up often, particularly stream transformation / aggregation types of things.

edit: for clarity, the thing that happened in this industry where "OOP" became synonymous with "how you write code / how you model problems" was a terrible mistake and the influence of fp mindsets on the whole has been a positive, especially considering that context. anything that disconnects seriously thinking about how what you're writing is being understood by humans and ran by machines and how that intersects with your domain is imo a mistake, however this is a bit idealistic of me.


One of the reasons Linus cites for disliking C++ is he dislikes C++ programmers. He considers the average C++ programer to be of much lower quality than the average C programmer. And I don't really doubt him.

I think the same can be said for FP vs. OOP. People really into FP have passed through a filter. If you take a very mediocre OOP programer and track them over the next 5 years, they are unlikely to get into FP. But if you take a very bright, motivated, curious OOP programmer who likes to test limits and explore, they are a prime candidate for maybe drifting into FP. So I think it's obvious the caliber of FP programmers is higher on average than C++ or Java programmers.

As you say, though, it's possible to write bad code in any language using any programming paradigm. Not just possible, it's trivial! So I don't think FP magically solves all your problems. I think FP has some great properties and does 100% avoid some specific pitfalls that plague OOP, but it's not magic.

Great FP programmers can write amazing programs, but great OO programmers can as well. Just like you can write great (or horrible) literature in English, French, German, or Chinese.


While I recognize what you're saying here wrt types of programmers and what they're likely to get into, I am not convinced that this doesn't have more to do with relative popularities of terms + the tendency for people who are "into" a subject to explore the subject / be open to explorations of different ways of thinking about the subject.

neither fp or oop are well defined terms in actual usage, more of smears of approaches really. moods almost. We have an awful lot of this sort of thing and often a term will get smeared out into a kind of emotional suggestion + some things that help you avoid types of bugs or accomplish a specific sort of goal.

I don't like this much but for a lot of situations it just means you have to understand things well enough to talk about them without using their name or take the time to establish contexts of meaning w/whoever you are talking to, both of which are good things to have in programmers in general.

That is to say: I think you are correct they have passed through a filter, particularly if they came from an oop background, but I suspect that filter isn't much related to fp vs oop principles as a matter of comparison

edit: just noticed you're the author of the article. here's a thought: the reason you want to avoid mutability can be framed in terms of it causing the number of things you have to hold in your head to very quickly exceed nine, often in ways you may not be aware of unless you have pretty comprehensive knowledge about the runtime characteristics of your entire system's stack.


I disagree that FP and OOP are aren't sufficiently distinguished from each other. There is substantial academic literature on both methodologies, and they are very different worlds in theory and in practice.

I do agree though it's possible and commonplace to do a blend of both, plus structured programming, plus just general hackery. I've often seen OO systems with a big pile of pure functions, particularly math functions, because math mostly is just functions. And it's quite nice! You don't have to worry about the interactions, the advantages of pure functions are quite clear.

I agree with you that mutability can explode the amount of state you need to be aware of. Milewski just tweeted in response to the article "The problem with OO is that, even if you expose 7 things on the surface, there are hidden dependencies that you cannot ignore: object A may store a pointer to B. You can write complex functional programs, but the syntax forces ugliness to the surface for all to see."

https://twitter.com/BartoszMilewski/status/12946650880543784...

However that's the nice thing about small objects, they better contain the mutability chain reaction. A small inner object cannot see anything else. Whereas in a big kitchen sink object every attribute and every method is in play.


not saying they aren't distinguished, am saying that a huge amount of the discussion around them in the workforce is being done by people who couldn't define them for you, and that a lot of everything in our field is driven by people who don't understand things copying the shape of them and repeating stuff they heard from people who sound like they do. in general, these aren't people who are going to cross-paradigm as a matter of honing their craft and the ones that are tend towards being good programmers in the end.

i'd further say that that mass lack of understanding is closer to the reason for there being such a mess in many oop systems, in combination with economic pressures, despite common OOP practices being not good for lots of things they got used for.

to quote you elsewhere in the thread:

> The reason bad OO is so common is some codebases become economically valuable right around when they start falling apart due to poor design, but you can hire more and more people if the software is bringing in more and more money.

this is a good insight, but i assure you this happens in fp codebases written by inexperienced programmers or poorly managed inexperienced businesses who hired someone to burn them out as well, in exactly the same way, for the same reasons, and that those fp codebases are just as bad, especially now that fp is a "attract the 10xers" item for companies. (would you rather figure out where the thing mutating the state under your nose is or where the hidden assumption that this state will mutate is? i'd prefer doing neither)

Milewski is correct with the caveat that people write the ugliness and build and maintain upon it, producing systems that themselves have tons of spooky action at a distance and get mitigated by bugpatch burn marches just the same


I guess I’ve lost the plot here. Sturgeon’s Law says 90% of everything is crap. Half of programmer’s and their programs are below average. The article is just saying that objects with lots of attributes can be problematic and so we should avoid doing that. I stand by that suggestion.


oh yeah i absolutely agree with you there honestly i just got too in the weeds here, sorry


Simplified and abstracted, Great programmers think things through. They don't just figure out how to make things work. They think about the tools itself (in this case their tools are the programming language) and see whether certain pattern in a PL produce the best outcome, either the semantic or the performance.

I think what Linus saw was the pattern where bad programmers tend to intersect with the demographic of c++ and java

It is an unfortunate generalization, since I have one person in mind who is very mature in software development and spends a lot of time in c++ due to job and experience circumstances.

But since it's Linus, it might be a valid generalization for us to watch out for, regardless if it is accurate or not


I wonder if the "filter" is because OOP is the default way of teaching programming at the moment. If we changed to FP being the default, then only the great programmers would become OOP programmers, and the mediocre ones would be stuck in FP.


i think so, largely yes. large industry immersion for a long time (still) lead to, in my view,teaching people wage work skills as opposed to, say, trade or craft skills if that makes sense.

i don't think they'd necessarily become OOP programmers if fp was the default, but i do think we would see a similar trend of fp becoming a distasteful term. all approaches have edge cases and pain points, all those edge cases and pain points get amplified very loudly when they're not accounted for. a lot of fp requires at least as much subtlety in this regard as anything else.

within the framings of software development, i think it is the maintaining of rotting systems that ultimately causes distaste. it is not hard to imagine someone only ever running into, eg, oop systems that are a mess because that's basically all there was for many companies building many things under burnout schedules with no one with more than 5 years of experience working on them.

the problems that fp makes go away easily, the big wins, particularly things like mutability, are things that just happen to fit very well in the problem spaces a lot of software in "the discourse" is written for. if and when those spaces change, so will favored approaches, whatever they end up being.

all that said, i do not think that everyone writing software needs to be a mega computing wizard. the industry is very broad in terms of what types of skillsets are wanted or needed where. i don't think we support this idea very well as a whole.


> I don't think they'd necessarily become OOP programmers if fp was the default, but i do think we would see a similar trend of fp becoming a distasteful term.

Inevitable! You only have to see how the abuse of GOTO has traumatized memories with very dogmatic contrary reactions. While used well there is no harm.

> because that's basically all there was for many companies building many things under burnout schedules with no one with more than 5 years of experience working on them.

Not only. There are people who will never learn even after 15 years of career. It doesn't interest them or they don't have strong enough fundamentals and will never catch up.


That's a different way to approach the challenge though.

You're hoping that some technique or tool can be so rigid and fool proof that no one can write a bad program in it.

Where as I'm hoping to find some techniques and tools that let me write programs with better designs.

Nothing fulfills the former, even though lots of people are researching it. On the other hand, I'd say FP fulfills the latter.

So the questions for me become about the spread of quality. Is the worst FP program worse or better than the worse OO program? And what about the best?

I'd personally say the worst of FP is better than the worst of OO, and similarly, the best of FP is better than the best of OO. That makes me prefer it overall as my paradigm of choice.

Even though this does mean you will find FP code bases that are worse than some OO code bases, but if you wanted to pick a paradigm in order for you to write a well designed program, FP would probably be a better choice, obviously, in my own opinion, so that's why I personally pick FP over OO.


If you grow up with no experience of not being stepped on, exactly what would you be giving up on? How exactly do you expect people on average to not accept the general state of the world as it has been for their entire existence?

Acceptance is the default. People, by and large, often do not have the experience of holding ideals of which to give up on that do not in one way or another map onto their experiences in a way suggesting they are living in-line with their ideals.


Well others have pushed back.

What I would like is for you guys to at least say this, instead of all the tiresome "freedom" stuff. Acceptance is the first step.


oh i'm with you there


Because it is extremely difficult to control ADHD to your advantage. It is your entire experience of reality.


> You’ll end up creating highly biased or illogical laws that cater to the culture of the times

yes this has often happened

> and need to be changed again

the thing is, they often don't get changed.


i see them literally all the time.

there's plenty in this thread.

there's plenty on reddit.

there's plenty on twitter.

what are you talking about?


he donated in support of prop 8 in california (banning same sex marriage)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: