Hacker News new | ask | show | jobs
Commandments of Good Code (zachgoldberg.com)
24 points by zgoldberg 3990 days ago
3 comments

These are actually quite good. I was expecting some cargo cult Agile related nonsense "always do 100% test coverage, blah blah".
Thanks!
I'm down with "All (ok most) programming languages are simultaneously good and bad". I assumed it would go on to discuss Javascript, but nope. Which really goes to show how true the statement is.
Ah! Good point! A complete brainfart on my end. Definitely should've included javascript as an example.
> * Key Value Stores Redis / Memcache

> * No-SQL land: MongoDB/Cassandra etc.

> * “Traditional” Schema’d SQL: Oracle/Postgres/MySQL/Amazon RDS Etc.

> * Hosted DBs: AWS RDS / DynamoDB / AppEngine Datastore

> * Heavy lifting: Amazon MR / Hadoop (Hive/Pig) / Cloudera / Google Big Query

> * Batshit crazy stuff: Erlang’s Mnesia, iOS’s Core Data

Cringeworthy to be sure.

Do you disagree with the point?
1. "No-SQL land" - Most of those things are NoSQL databases? 2. ""Traditional" Schema'd SQL" - Amazon RDS isn't a database, and those are relational databases. 3. DynamoDB has effectively the same data model as Cassandra. 4. "Hadoop" isn't a database. Cloudera is a database vendor. EMR (what you call Amazon MR?) is Hadoop as a Service. 5. I don't even know what to say about the "batship crazy" thing.

Every data store has a model. Typically we classify them based on their model.

ah, ok, I understand your complaint. I actually agree with you, I was definitely playing fast and loose with classifications there. That said, my point wasn't about how to classify data storage systems, so much as to emphasize the fact that there are many options and that the architect should be thinking really hard about existing options before rolling their own.