Skip to main content

Posts

Showing posts from October, 2012

Why Ruby is the perfect* teaching language.

I was reading Avdi's post on a new programming langauge designed for learning called Grace, like Skitch, LOGO and others before it, it fails. It fails because computer language designers keep looking in the wrong place. In the PDF on their presentation they discard python because it has "inconsistent method syntax" like that is a point of contention in learning a language.

Look at normal speaking languages. Are they consistent? Heck no. They're full of exeptions and irregularities. The more regular the easier it can be to learn yes, but irregularity doesn't equal difficulty. Some irregularity is expected.

The number one thing a learning language needs to be is readable. It's like the difference between html and markdown. HTML is simple, consistent and easy to understand but it's near unreadable. It's deeply nested, it's interrupted by obtrusive markup and closing tags. While markdown is eminently readable. That makes it easy to learn.

So languages…

Why Markdown is awesome

Markdown for those that don't know is a type of file encoding (extension .md) that can be easily converted to HTML. To use Markdown, you just need a text editor but some programs make using it easier by showing you the rendered output in HTML. For Windows there is the excellent Markdown Pad which is a great example of a small light program that does what it does best. And for Mac, I suggest Textmate but there are others like Mou. I haven't found a great one for Linux but once you get the hang of Markdown you don't need a specialized text editor for it, any will do. For the iphone/ipad I suggest NOCS, which I got for free on a sale and is great.

# Why is Markdown so awesome? #

1. It can be rendered easily into HTML, but also LaTex, and PDF. But that's a given right.
- It makes writing HTML easy. Especially lists. It makes it so easy I use it for writing my TODO list. I love that after you establish  the first number every dash get's converted to the next number with…