Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder how much this has to do with how databases are taught to students.

While I started programming when I was 12, I didn't really do much with databases until I took a db class in college. Databases seemed boring to me, compared to nifty stuff like AI and Lisp.

The class only reinforced that notion. The textbook (and the class) focused mostly on some kinda funky little projects that didn't strike me as useful or fun to build. It wasn't until I started experimenting with web applications that I began to realize the power and intrigue of databases.

Databases truly are cool and powerful. But I don't think they look that way on the surface.



I agree with you. Databases seem boring. I've avoided database classes for exactly that reason, but there's no way to avoid databases themselves. Many applications have database requirements. I've started using ORMs a bit to avoid ugly SQL, but they don't actually simplify things much. They mostly just take care of some caching, transactions, and portability. You still need to understand what's happening below to use them effectively.

If you want to learn how to use databases, look into writing a program backed by SQLite. It's a great little database for desktop applications and it requires almost no setup to use, which is perfect for when you want to learn how to use a database but don't want to mess with actually getting one set up.


I agree that databases seem boring. I'd been using them for about 10 years before last year when I had to write significant parts of one. Once I started getting under the hood I realized how interesting a lot of the database problems are. Turns out, the geek factor is pretty high. Problems like query optimization, fast multi-dimensional indexing, full text search and so on give a nice playground for CS mojo. :-)

Per SQLite: It is probably the simplest SQL database to learn. However, I fear it might give a skewed perspective on SQL to someone just starting with it. While it's fine for the simplest of applications, if you start building up complex queries, its performance is orders of magnitude worse than almost every other SQL DB, potentially leading one to falsely believe that such things were to be avoided.

I personally find MySQL to be user-friendly enough for starting off with. Though, honestly SQL in general is one of those things that I'm glad to know, but find painfully inelegant.


I agree that SQL is painfully inelegant. It's one of those standards you wish had never been established. Like Windows, only worse.

As for starting with MySQL, it does reflect the actual SQL side better, but it's another thing to install and have startup whenever you boot your computer. For just playing around with SQL without committing to anything, SQLite's a nice option.


Thanks jmtulloss, I have played with SQLite a little and thought that might be a good course of action for my learning.

Thanks for the support :)

-Matt


Once I learned that database systemss are an application of relational calculus is when they became interesting to me and it's amazing to me now that nobody ever mentioned this to me during all the years I worked in industry with relational databases.




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

Search: