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

Beware of "The Problem Of Schemaless" can occur with a relational DB when you start defining columns as nullable. You end up with the same problem.


I wouldn't call it the same problem. Something nullable is similar to an Optional type (i.e. in scala Option[String] would map to a nullable varchar). That is not the same as being schemaless, you at least still have types that are being enforced, even if they might be empty.

I would agree that having too many nullable fields could indicate a problem with the schema, i.e. you should break things up into more tables.


Agree. I'll rephrase to "similar" problem.


"Explicit is better than implicit"

I think making the implicit explicit is also a belief of most logical devs outside of the Python community.


I read the whole blog post disagreeing with almost everything right up until the end when I read:

"This is the one shining negative here: .NET stunted my knowledge of HTML/CSS/Javascript."

This is the whole point of the blog post. And this is in fact true. But terminology that is not pointed out is that ASP.NET WEBFORMS are what "stunted" your knowledge. WebForms made developers oblivious of how the web actually works. .NET, C#, or VB.NET isn't the problem.

Also, living in a Microsoft world can be insulating, but only if you aren't looking for a better way. "Alt.NET" was really a belief in outside the box thinking.


In 2001 - 2008 there was no ASP.NET "WEBFORMS". We had VS, CodeBehind, and Server Components - that was the world I lived in.

Yes, Alt.NET came along in 2009 or so and managed to do some good things, not soon enough really and all the silly flame wars actually did more harm than anything.


Focus on Principles, Patterns, and Practices. Ask yourself "why" regarding everything. Understand the problems and solution a technology/pattern/framework/library solves rather than blindly using said solution.


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

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

Search: