Hacker News new | past | comments | ask | show | jobs | submit | more methodover's comments login

Do we have any idea at all about how many users were affected?


I'm wondering about this too. The GDPR requires a public notification. Why the hell is this coming from flippin' Google?! Why don't we have numbers on how many users were affected? Why isn't there a way to see if you're the one affected?


There was no Apple data breached. User endpoints were attacked, using various well crafted exploits against their software. This isn't a GDPR (privacy) issue, no company data was leaked, its end user data from their device. Apple tries to protect your data on their devices, but all software has bugs. Bad guys will try to exploit these bugs to reach their goals.

Google does research into making it hard for attackers to compromise user devices. That is the purpose of PZ team. There are no numbers because nobody has these numbers except for the attacker. I am guessing Google has some ball park numbers based on search traffic or web analytics.

If you want to know if you were affected, you need to ask yourself if powerful adversary wants access to your data, possibly because of civil unrest occurring in their territory; and if you visit strange websites related to this. Only the adversary knows for sure, not Apple, Not Google.


The GDPR doesn’t care where the personal data is stored, I thought. It makes no distinction as far as I can tell between data stored on a web server and data stored on a device. You seem to be making a distinction. Is there a source you could reference?


> If alternative structures worked well then we would've seen them by now

Well let’s not go this far. Human civilization has existed for a tiny portion of time, modern civilization even less so. There’s PLENTY of time for better structures to be discovered.


Within current historical and cultural context, legal and technology frameworks etc the dataset is big enough to give some confidence that better structures won’t be found tomorrow or in the next 5 years.


Somebody probably said that just before an innovation is made. Many times.


For every time someone said it and was wrong, I bet there were a hundred times someone said it and was right.


Come on, this isn’t a pissing contest. You can both sit down and relax without arguing through such subjective and unsubstantiated opinions.


It's not a pissing contest; it's a misunderstanding of giving equal weight to two incredibly different probabilities. When Fox News says it's important to have a discussion about climate change and give 50% time to those for and against it, they are conveniently ignoring that 98% of scientists believe in climate change and 2% don't. But they are essentially saying both viewpoints are equally important, even though one is widely accepted to be true by the scientific community.

Yes, it's certainly possible that thinking different (or being contrarian, or stubborn, or creative, or whatever you want to call it) will lead to something great! It is also extremely unlikely unless you are in a brand new field such as quantum physics 100 years ago that whatever idea you had has already been considered by countless people before you and you are not special.

The reason most startups fail is more than just bad execution. It's because most startups weren't meant to exist because they just don't solve a problem people are willing to pay enough to make the company a profit. That doesn't mean you shouldn't try it if you really think you're onto something - but you should be aware the odds are wildly against you.


It's odd that when it comes to social issues, this site suddenly becomes conservative and doesn't even think progress is possible.


this site suddenly becomes conservative and doesn't even think progress is possible

Progress is possible. The thing is, that progress doesn't necessarily take the form that people wish it would take in their utopian fantasies. If we use history as a guide, we find that progress almost always takes a form with would have been unimaginable to past generations, if not at times even a little shocking to them. For example: The progress of agricultural technology, and its ability to feed people with unprecedented efficiency would have been considered wonderful and utopian by our forebears, until they started looking into some of the disturbing details.

A realistic, nuanced view of issues involving human factors and group psychology often incorporates elements of both the progressive and conservative mindsets. Both viewpoints are needed for effective, balanced government.


These platitudes are of course correct but quite irrelevant here.


Corporate structures are created by and serve human civilizations, so I think we've reached an optimal solution given our current societies.

We will need to wait for an evolution in human interaction before any new developments follow in corporate design.


Uhh, he never campaigned for a single payer model.


In what way is a "public option"[0] not socialised medicine?

> In the 2008 Obama-Biden health care plan on the campaign’s website, candidate Obama promised that “any American will have the opportunity to enroll in [a] new public plan.”

[0]https://thinkprogress.org/flashback-obama-repeatedly-touted-...


Correct! At least not when he was running for the presidency.

https://www.politifact.com/truth-o-meter/statements/2009/jul...


People forget that his healthcare proposal as a candidate was to the right of Clinton's.


I think I might be the only person on HN optimistic about WeWork.

Remote work is on the rise here in the US. Startups and entrepreneurship continue to grow. Finding traditional office space sucks and is a massive waste of money, and probably always will. Co-working spaces make sense, and it’s baffling to me that it wasn’t the default way to work in 2010, when I started programming, let alone 2019.

I feel like if somehow fast food hadn’t been invented til now, and MacDonalds just got started, we’d be reading pessimistic threads about how it’s a real estate business masquerading as a food business and is destined for collapse.

But like, it actually does work, as a business, to provide some necessary service (office space, food) at scale with a big central marketing apparatus. The fundamentals here seem sensible to me.


WeWork != Coworking

Coworking will grow and prosper. WeWork, I don't know. I don't know how long any company can survive the egregious investor-fleecing WeWork's founder seems to wantonly engage in. Perhaps if a clear stop is put to that, and if every other part of the business plan goes flawlessly, then it has a future.

But coworking is about alot more than WeWork, and the industry will do fine whatever WeWork's shenanigans imply for the latter's future. There are currently around 20,000+ coworking spaces worldwide, of which less than 5% are WeWork's:

http://www.deskmag.com/en/2019-state-of-coworking-spaces-2-m...

https://www.wework.com/locations


I'm surprised churches aren't involved in coworking. Many of them have great downtown locations with space that's only used on weekends.


Only if by fundamentals you mean the fundamental idea behind coworking spaces. Sure, that makes sense. But the WeWork company fundamentals are out of whack. Nobody is arguing that coworking spaces are a bad idea. WeWork is a company that turns 2$ into 1$.


Nearly $3 into $1 actually last quarter


The professor that wrote the analysis distinctly says WeWork as a business has value (worth maybe $2b). The issue is with the valuation of the company that is 26 times the revenue, and priced as a tech company even though it has no tech. It’s a real-estate company (these trade at x3 revenue).


If McDonalds lost money on their restaurants and their executives profited from multiple conflicts of interest, McDonalds wouldn’t have become a successful business.


If the corporate history is to be believed, McDonald's created a profitable system for running a single restaurant and then scaled it. That concept seems quaint today, when people scale without any idea of profitability.


I think most people here think the value of WeWork is definitely not $0, but believe it’s well well well south of their last private valuation, and certainly well below what they’ll try to dump it on the market at.


Plenty is said about it, you may have not been paying attention.

Take some money from everyone who can afford it, and more from the rich than everyone else. Redistribute it into education, roads, healthcare, food, research, national defense, police, and other things that benefit society as a whole (including the rich).

You might want to do some research on what socialism actually means, because though it includes the above, it is not defined by the above. You can tax and spend that money on social (and other) services, while retaining a capitalist economy. Which is what we and every other developed nation does.

Socialism is state control of the means of production, which though it does happen with certain industries in some countries (usually energy related), it's pretty rare.


I cannot see Trias11's original comment as it has been flagged to death, but based on the reactions to it, I'd like to offer some insight.

Whenever there is a post about CEO pay (or the success of any other wealthy individuals) the reaction from the socialists/progressives always leaves us non-socialists wondering if whether our left-leaning compatriots are motivated more by an envy of the rich than by compassion for the poor.

The truth is, I very much doubt that we actually know what CEO pay "should" be. Nor do we know how much taxes should be. People (especially the rich) are taxed a probably a higher rate than at any other point in history, and yet there are stills calls to make them pay their "fair share". How much is fair? If you don't have a good answer in mind then the escalation continues until the answer becomes "all of it" and then you get the liquidation of the kulaks.


I lived in socialist society for 30 yrs and I know what it means and what are the consequences for people.

What you learn about it by flipping TV remote and checking your favorite social media is not what you'll actually be getting at the end.

And it's not going to be pretty.


> I lived in socialist society for 30 yrs and I know what it means and what are the consequences for people.

The only organized societies (at a state level) that have called themselves “socialist” are Leninist or descendants of Leninism; Leninism was (viewed generously) an attempt to adapt Marxist Communism to bypass the necessary (in Marx’s view) development through mature capitalism on which the socialist society, the next stage in the evolution to the communist end-state. Part of that adaptation is moving the development of a broad-based educated distributed ruling class from a prerequisite to the socialist transition to something which was to be built afterwards, with a narrow educated and ideologically pure vanguard assuming authoritative direction of the movement in the interim.

Modern Western forms of socialism, whether rooted in or identifying as Marxist or not (and many of them are neither) almost never are ideologically rooted in Leninism—for which there is no need, even if it worked well in its motivating case, in the developed world—or its descendants (with the exception that some of the far fringes are Maoist, but they are just a fragment of the fringes) and tend particularly to strongly reject vanguardism and authoritarianism in favor of more robust development of the democratic institutions of liberal democratic states. Western socialism is a continuation of the long arc of change in developed Western economies since Marx first described capitalism, not a recreation of the Leninists rejection of development through capitalism.

Whether Leninism is genuinely a socialism is a matter of fairly heated debate among self-styled socialists, but it is very clearly a very different thing than modern Western socialism, and it'd outcomes have limited, if any, value in assessing the merits of modern Western socialisms.


So something that has really confused me lately — I thought socialism had a relatively strict definition. AOC for example claims the label socialist, but as far as I can tell she’s not actually taken any socialist policy positions. It feels more like she, and others, are reclaiming the label. Basically attempting to change the meaning to mean nothing more than a liberal welfare state.

Am I on the right track there or not so much?


> I thought socialism had a relatively strict definition.

It does. It is social ownership of the means of production. As a democratic socialist AOC believes in worker ownership and democratically controlled market entities. Accordingly, she is very pro-union and pro government jobs programs. The GND has many aspects of a socialist jobs program. Free trade and higher education is a socialist position as well as a welfare position. Medicare for all is socialized insurance. 70% marginal tax rate is a way to limit the concentration of individual wealth and market/political control and while it is not inherently socialist it is extremely consistent with socialist values.


Most of developed capitalist countries have effectively "medicare for all". Making it about "socialism" is basically redefining socialism to be anyplace which is not USA.


No, it is not. In practice all governments have capitalist and socialist aspects. Having a single socialist program does not define a country as socialist.

The UK has nationalized healthcare- doctors are literally employees of the government. It doesn't really get more socialist than that, but it's still just a single program. The government as a whole, and the country as a whole, leans significantly more towards liberal capitalism.


> So something that has really confused me lately — I thought socialism had a relatively strict definition.

Very few terms that refer to current (as opposed to purely historical) movements or identity groups have single, universally accepted, strict definitions. That's true or “socialism”, it's true of “capitalism”, it's true of “Christianity”.

> AOC for example claims the label socialist, but as far as I can tell she’s not actually taken any socialist policy positions.

AOC is a member of the Democratic Socialists of America, which recently left the Socialist International because it viewed the latter as having slipped too far to the right and abandoned socialism by endorsing what the DSA saw as neoliberal economic policies. So, the DSA is to the left, ideologically, of the main global organization of socialist parties and groups.

Now, the DSA is also very much an incrementalist organization that sees socialism as a long-range goal, favoring what could easily be seen as evolutionary socialism. And AOC is one of I think three socialists between both houses of Congress, so it's not like even if she was an “as fast as possible” socialist ideologically she’d achieve much by, say, tabling a resolution to amend the Constitution to abolish private property in the means of production.


We should require employee representation on Board of Directors. Germany requires half the board to be represented by the company's employees: https://en.wikipedia.org/wiki/Codetermination_in_Germany

I believe German CEOs typically make around 1/3rd of what American CEOs make (having trouble finding the source on that, but that's the number I've seen cited before), possibly in part due to these laws.


Note that there is a difference in corporate management between USA and many european countries, where there is two boards: https://en.wikipedia.org/wiki/Dual_board

The requirement for half representatives for company's employees is for (secondary) supervisory board of directors, not for (primary) management board.


I didn’t realize this. Cool, thank you for the information.


Something that’s missing from this analysis, I feel like, is this:

There needs to be a passionate owner. A technical leader who understands customers and their needs, understands what’s technically possible, and has the imagination to connect those two things.

I don’t know what you call that person, but it sure helps if he’s got a c in front of his name. CTO, CPO, whatever.

This something the article kinda glosses over, but maybe shouldn’t.

(I’m not sure if this person is great for the CEO role, by the way, just because of how freaking busy the CEO tends to be. There’s too much for her to do to also fulfill this role.)


I work from home full time. And I’m single; and I live alone.

I often go through the whole workweek without saying more than a couple words to another person in real life.

I wonder what this does to me over time. It probably isn’t good.

It’s funny, too, I actually tend not to mind stretches of alone time. I get used to it. It’s when I oscillate between a day of being alone, and then a night out, then a day alone again, a night out, etc., that I feel the loneliness during the day. Mondays tend to suck for the same reason, since now I’m suddenly alone again after spending the weekend with people in the real world. I usually start to feel OK again by Tuesday.

I admit to in the past wanting to say no to offers to hang out just because I know I’ll miss the human contact after.

This probably all sounds crazy but (shrug emoticon was here, I guess HN doesn’t like emoticons :( )


Same here, though I really really enjoy living + working alone (5+ years now).

Tip: get a dog. Having a dog forces me to leave the house at least twice a day to go on walks, plus it's a great conversation starter with people around the neighborhood. Dogs are social animals and it's amazing how the simple act of loving and receiving love in return can improve emotional well-being.


Minor adjustment:

Dogs are wonderful companions. But they do come with needs and stress of their own. They are no replacement for therapy, mental health, or social engagement. Get a dog because you want to care for and love a dog. Animals aren't remedies.


Or get a spouse and some kids.


This is me except I'm married. That's just how my wife and I are. I lived like this single too. For me, people are draining and a lot of work. I usually don't think about others, I'm wrapped up in my own life. I don't like social situations, I'm always waiting to get back home, so I just stay home. To me, it's not a problem because that's what I prefer.


I have a religious studies degree.

I wonder if it’s prepared me better than a CS degree for the actual work I do.

What did I learn with my RELS degree? Hermeneutics— understanding ancient texts written by lots of different authors in their original historical contexts, often which has been deeply redacted over time. Anyone who’s worked on any production code can see the benefit of being trained in that kind of thinking.

The classes I took on theology and philosophy helped train my brain to organize ideas. I had no trouble understanding object oriented programming — Plato would’ve loved it too, I think.

Classes on ethics have come in handy too.

Oh and just, we did a TON of writing in college. Lots and lots of writing, lots of research papers. I had to learn something new, read all about it, and put together a document carefully explaining the idea, with lots of evidence and citations. That skill has come in SUPER handy for everything from bug reports to API clients, to customer-facing documentation, to internal memorandums.


"understanding ancient texts written by lots of different authors in their original historical contexts, often which has been deeply redacted over time"

That's brilliant and obviously useful for software engineers. Don't forget that you've probably also studied holy wars in considerable depth, too.


> Don't forget that you've probably also studied holy wars in considerable depth, too.

This prepared him/her to understand the great conflict of vim and emacs users no doubt.


tabs v spaces may be an even greater conflict.


Here is a pretty good explanation of why tabs are superior: https://www.reddit.com/r/javascript/comments/c8drjo/nobody_t...


I'm a bit worried that both the coworkers, the writer of that comment and everyone else in that thread all somehow don't know to put one line of sed in a githook to fix that problem?

Easily the most trivial objection I've ever seen in the never ending spaces/tab debate.

Many people I know customise their local environment to suit.

https://githooks.com/


It’s not a conflict. A huge portion of the population is just still in denial.


And on a lesser note, The Cult of Vi vs The Church of Emacs


Still ongoing with no end in sight


I felt a disturbance in the force. It was as though 1000 angry hn users cried out in pain.

It is amusing to see how directly those skills taught in a religious context apply towards being a good engineer. Perhaps they're more universal than many realize?


I often used to do this to save myself from sinking feeling of how I made a bad choice and wasted precious time that I could never get back. But let's face it... You can make this argument pretty much with any degree, let it be art, humanities, literature or whatever. But, no it didn't prepare you better than actual CS degree. All those things you described could be perfectly done as part of CS degree as well. Most good CS programs are much more than just code and equations and these days even includes bit of ethics and humanities. However, the point is that the time you could have spent in learning actual CS material, strengthening the foundation and acquiring advanced skills was instead spent in memorizing and rationalizing virtually unrelated minutia about largely outdated and mostly unverified beliefs. It's one thing if you loved this field and wanted to study anyway but quite another if you ended up there without knowing what you are getting in to. It's better to understand this so if someone comes to you for advice or if you are making these decisions for your child, you don't repeat the same mistakes again.


I would say it prepared you differently. The argument is between specialisation and generalisation. It could be argued that a large proportion of a CS degree is useless for one particular application. Who cares about assembly when you do python all day? Or how does that computer graphics module help you with a back end server? Especially when most people have forgotten it when they did it 5,10, 20 years ago. Ah but one might argue there is transferable knowledge in these areas! Your knowledge of assembly helps you to know what’s actually happening to the computer and why that bug happened; or that algorithm for graphics is very similar to this one for a server. These are very valid arguments, and a similar thing is true for an even broader education. Deciphering ancient religious texts gave him a similar skill set as needed for programming, and potentially a different one to most other programmers. So much of life is learning how to reason in different ways, often they come in handy, and different experience leads to a diversity in thoughts, which gives an edge in solving new problems. I am very much a proponent of generalisation and then specialisation (along with variety in this path) for optimal performance.


> instead spent in memorizing and rationalizing virtually unrelated minutia about largely outdated and mostly unverified beliefs.

That’s not what my religious studies degree was about. It wasn’t expensive Sunday school. They didn’t teach apologetics. They taught scholarship, empiricism and critical inquiry. Philosophy and theology were taught from a historical/critical/contextual perspective, not a devotional/didactic one.

I remember one asking a RELS professor about his internal religious beliefs once (in private) and got a stern talking to about how deeply inappropriate that was.

I appreciate and agree with your comment generally, but your characterization of my degree is not factual.


I repeatedly encounter engineers who struggle to write even the most basic JIRA tickets. It was a real eye-opener on how many technical people, while brilliant, tend to take writing skills (or communication skills in general) for granted.

Funny thing is that it's deemed unimportant when they have to do it themselves, but appreciate it when presented with well-documented tooling/libraries.


A lot of technical people don't care to be good at writing.

Not that they actively want to be bad at it, but they do not see it as a priority, they hate doing it, and they are unwilling to put effort into being decent at it.

In more extreme cases, they will even make somewhat absurd excuses to justify it. My favorite is, "We shouldn't write documentation. It's harmful because it just goes out of date." True, documentation gets out of date, but you can plan to maintain it, or you can just mark it as out of date so people aren't misled.


Many are bad at communicating in general, e.g. selectively ignoring/missing parts of an email, incomplete sentences, typos. Some also have the nasty habit of skimming stuff and replying to what they thought they read.

I've seen this from interns to CTOs and remain baffled by its prevalence.


> Many are bad at communicating in general, e.g. selectively ignoring/missing parts of an email, incomplete sentences, typos. Some also have the nasty habit of skimming stuff and replying to what they thought they read.

I've seen this as well. It really makes one wonder how they're able to code properly since programming is, in a sense, also the expression of ideas as text.


Maybe they are used to compilers telling them all the typos before it actually compile.


Well, it's human nature to try and efficiently summarize. You may have to adjust your communication methods to account for that. For example, I almost always try to write emails that contain one central point.


I have a colleague who's a brilliant developer, but trying to wade through his codebase is literally like going through a session of Chinese water torture. And the 'comments' in his code are more mind-boggling than explanatory.


My philosophy degree has been extremely helpful throughout my software engineering career, for many of the same reasons. Clear, concise writing is crucial in code reviews, documentation, product requirements documents, and all sorts of ad hoc communication (Slack, emails, wiki comments, Jira cards, etc). This is doubly true for remote work.

Just like writing code, written communication is a difficult skill requiring lots of practice and feedback. A liberal arts degree provides that in spades!


philosophy degree here too. in general, the ability to approach a problem from multiple angles is helpful, not only in software, but (imo) for life in general.

I'd started with software well before university (5th grade - maybe 6th?) and there were not many resources. Our school had a computer, but no classes as such - the staff weren't really even sure what to do with the 3 we had. HS - there were some "computer classes" - intro to BASIC sort of things. I'd already been programming (mostly BASIC, a bit of z80 and 6502) by the time those classes were available.

CS was a thing in university, but just taking one class (some Pascal class), I was generally put off doing it "professionally" by the difficult social nature of the people in the main computer departments. I was not the social butterfly, and they were really offputting (and I may have been not very helpful as well) but I never clicked in that class or the lab, and so dropped that idea as a profession, but fell in to it years later accidentally.


wow, now wondering what that accident might really be.. ;)


long time followup. i'd programmed (basic, a touch of z80 machine code, etc) since the early 80s, and after school just started applying (via newspaper classifieds) to anything that sounded vaguely computerish. I got a letter back saying "I've never met anyone with a philosophy degree before - come on in for an interview". And I started doing low-end work for a company reselling OS/2 stuff...


> Oh and just, we did a TON of writing in college. Lots and lots of writing, lots of research papers. I had to learn something new, read all about it, and put together a document carefully explaining the idea, with lots of evidence and citations. That skill has come in SUPER handy for everything from bug reports to API clients, to customer-facing documentation, to internal memorandums.

IMHO the worst bottleneck in both practical computing and even much of computer science is the struggle to explain/document the work in, say, English.


Funny, I'm similar. I have an English Degree (Fiction Writing emphasis) and minored in Religious studies. It's proven to be a positive in so many ways, mostly because I am an excellent communicator and able to explain complex subjects to non-tech folk. I've also been told that I stand out as totally different from every candidate they've interviewed, prior. I started programming on my own at age 11 and have been passionate about coding my entire life.


What is your opinion of Inform 7?


I just posted some rambling thoughts in this thread about not having a CS degree (or any real degree) and being successful as a self-taught software engineer.

I briefly mentioned how my non-formal studies of religion and philosophy have helped to inform me - mainly in the context of "machine learning".

Your thoughts about how such studies apply to CS in general, though, are interesting. I noted that there are extreme overlaps between CS and many, many other areas of study that I believe both informs and is informed by those areas (whether known consciously or not).

We may actually be doing a disservice to ourselves (and perhaps for the world) by having (though rightly, I suppose) tying Computer Science so tightly with that of Mathematics.

Of course, that could just mean that mathematics also in turn informs and is informed by those subjects, I suppose...? Which is arguably true from what I understand of mathematics and the history of mathematics!

I guess, though, is what I am getting at is that we - humanity that is - have somewhat "enclosed" CS as a subset or adjunct of mathematics. Many don't seem to understand or "see" that so many other subjects and topics are involved. Not having that understanding may be hindering our advancement (both in CS and perhaps even as a species).


From my (limited) knowledge, CS as a formal academic discipline largely emerged from the renamed Applied Mathematics departments of universities.


Yes. But cs degrees are not about learning coding. We have coding schools for that. It’s about learning the intersection of computing and math. But having science in the name sounds cooler so people take that instead.


Anyone with a CS degree will be able to tell you there's a huge difference between being a programmer/coder, and being a Computer Scientist.

Yes, most people can learn to code without a degree but to be able to fully understand the scientific/mathematical foundation of why things are the way they are, and to use those skills to create something scientifically new, probably requires a degree.


> I had no trouble understanding object oriented programming

Indeed, Object-Oriented Programming is harder to learn for programmers who have experience with other languages already (no pun intended) ;-)

When you know a language like C/C++/Java and you learn about OOP you think you understand, but in fact, you don't. So while functional programming was probably the easiest course for me in university, it took me 1,5 semesters to actually understand OOP. In the end, it is not that complicated, it is just that you have to think more on the meta-level than on the implementation-level and I think, for someone who doesn't have access to the implementation-level, it is easier because it doesn't get in the way.


These programming paradigms are really all about impedance match with a model that's already in some human's brain -- going from the brain-space model to code with the least amount of transformation. So if you're struggling to get to the mind-model, something is wrong! It definitely doesn't make sense to begin looking at the implementation details. They're only there to facilitate that simple transformation from thoughts to code.


I dunno I think it might be kinda like quantum mechanics. If you think you understand OOP, then you definitely don't understand OOP.


Do you have a tl;dr you would care to share?


Well, my attempt to summarize OOP:

OOP is a concept. It doesn't care about the implementation and neither should you. So if you are talking about integers, don't care about the implementation which might have limitations like MAX_INT, care about the idea of having a number which you can increase and decrease. That is a concept and it can be implemented in different languages and with different limitations.

Next, understand the idea of 'Everything is an Object'. This means that you have a class hierarchy and at the top is the class 'Object' (so everything can do, what 'Object' can do). Objects can receive so-called 'Messages'. When an Object receives a Message, it calls the corresponding method. So for example, in Smalltalk (the mother of Object-Orientation) the expression '1 + 2' means, you have an Object '1' (always the first thing) which receives a message '+ 2' and when the method '+' is being called, it returns an Object ('3').

This leads to some odd situations like

  1 + 2 * 3
  = 9
because

Object 1 receives message + 2 returns object 3. Object 3 receives message * 3 returns object 9.

I think that is part of the secret sauce that many tutorials are missing. You can read a lot about the class hierarchy (inheritance, class variables, instance variables, ...), but few seem to care to explain what 'Everything is an Object' really means.

So your OOP program is basically sending different messages to different objects.

Finally, what makes OOP so powerful is that there are some attributes which are being enabled by placing your classes in the right spot of the class hierarchy, so that an object of that class does not just inherit all the attributes, but can also be used as one of its superclasses (polymorphism). That way you can write code that works with a wide variety of objects.

I am sure I missed a few things, but for me, understanding the clean syntax of Smalltalk and the implications of 'Everything is an Object' changed my perception of the OOP concept.


Frankly and in retrospect, I consider this difficulty a sign of the unsoundness if OOP. While with typed FP you can get entangled into some seriously complex mathematical models, in OOP it’s just a bunch of metaphors and mental models you have to convince yourself are true. The effort poured into memorizing one rarely transfers to unrelated frameworks or different languages, or at least does so to such a high level that it doesn’t help that much anyway.

OOP is easier to use when describing a mental model as-is, without the analytical deconstruction that (typed) FP would demand.


>1+2*3=9

I think this is a failure of Smalltalk, not OOP. I tried it in Ruby and Python (languages where everything is an object), both return 7.


You could certainly see it that way, but I found that it is a good example to illustrate the intention of having a very simple syntax and processing logic (up to the point where arithmetic expressions are not what you expect them to be).


That's really interesting! Want to do an interview?


I have a degree in New Testament studies. I totally agree. Learning Koine did the most to help me


Well, Paul Graham did write in "Beating The Averages" that programming languages are "half technology, half religion".


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: