HN user

alayne

1,645 karma
Posts8
Comments577
View on HN

I use OrderedDict in code that generates JSON records so the key orders are preserved to help human readability. LRU caches are another use case.

As mentioned in The Friendly Orange Glow, it was started by people who worked on the PLATO system at the University of Illinois which added its Notes discussion system in 1973. PLATO ran until 2015.

Checked exceptions don't work right with streams/functional programming. They prevent abstractions that couldn't possibly be aware of custom checked exceptions. That's why Scala doesn't have them.

It was though

https://www.artima.com/intv/pyscale.html

"So I never intended Python to be the primary language for programmers, although it has become the primary language for many Python users. It was intended to be a second language for people who were already experienced programmers, as some of the early design choices reflect. On the other hand, intuitively I probably stuck to many of ABC's design principles. Because although I had my criticisms of ABC, I borrowed many of its valuable elements, which eventually made Python a great language for people who aren't ace programmers or who are just learning. We now have a large community of people using Python as an educational language, teaching Python in schools. These people aren't and may never be professional programmers, but they still find some programming skills useful." -GvR

The O(1) amortized access of a hash table is for the number of entries, not key hashing or comparison. Doubling the number of entries does not double the retrieval time.

As a hash table gets larger, the cost of key hashing (for the same domain of keys) does not increase. Of course hashing and comparison performance can still be important, it's just not what is generally being analyzed with basic complexity theory.

The linked post is about Python startup being a problem with thousands of invocations. Is Python startup really a problem for the niches you mention, or is it a problem in some extreme edge cases? I would argue this is the latter and perhaps signals that an architecture change for the build or tests would be best.

I have been using Python for small scripts for 20+ years and haven't had this issue. The JVM on the other hand was historically slow to start.

You're just asserting that though. There was a study done on the removal of two of the racist/hate subreddits on reddit that indicated a positive affect.

"In this paper, we studied the 2015 ban of two hate communities on Reddit, r/fatpeoplehate and r/CoonTown. Looking at the causal effects of the ban on both participating users and affected communities, we found that the ban served a number of useful purposes for Reddit. Users participating in the banned subreddits either left the site or (for those who remained) dramatically reduced their hate speech usage. Communities that inherited the displaced activity of these users did not suffer from an increase in hate speech. While the philosophical issues surrounding moderation (and banning specifically) are complex, the present work seeks to inform the discussion with results on the efficacy of banning deviant hate groups from internet platforms."

http://comp.social.gatech.edu/papers/cscw18-chand-hate.pdf

Ignoring these external factors isn't going to make them go away and studying them could lead to ideas about removing bias and having more meritocratic systems.

Netflix developed new software architectures to support its products. It's more rocket science than most of what people work on in the industry.