5.15.2008

Lawmakers

I never intended for this blog to be political in any way, and I'm not trying to change that now. But I do have one question. Here are some quotes from 365gay.com's article on today's historic California Supreme Court decision:

The dissenting opinion to Thursday's ruling was penned by Justice Marvin Baxter.

While he agreed with many arguments of the majority he said that any changes to the state marriage law should be decided by voters.

[...]

Schwarzenegger has previously vetoed bills that would have legalized gay marriage. Both times Schwarzenegger said that the courts or the people through a plebiscite should decide the issue.


I'm not an expert on how government works, but these two people, a California Supreme Court justice, and an actor-slash-governor, should both know a little something about how it works. If I'm not mistaken, we have three branches of government, just like the federal government does. One of them, the legislative branch, is responsible for making laws. We, the people of the state, are responsible for, among other things, electing the members of the legislative branch. The only reason for having the voters decide an issue directly is if the legislative branch is not responding to a pressing issue for some reason, and the citizens need to take things into their own hands. Now, it may be that the legislature is unwilling or unable to act on some issue, and in that case, it might be a good idea to have a ballot initiative. However, this is not that issue. The legislature has tried to make a decision, and, as it says in the article, Schwarzenegger vetoed their decision twice. I see no reason that this issue ought to be decided by the voters directly. Except perhaps that Schwarzenegger doesn't want to have a bunch of conservative anti-SSM people mad at him.

I'm not even looking at this from a gay rights point of view. I'm just saying, there are people in Sacramento whose job it is to make laws, and while there are other ways of doing that, I see no reason those other ways should be invoked now.

5.12.2008

Writing "code"?

My friend from freshman year, Elliot, has recently started a new blog, Anyone Can Code. I guess he's going to teach some programming courses over the summer, partly because he, like me, doesn't like the way most of the courses he's taken at USC have been taught. And because he believes that, well, anyone can code.

His first post on the Anyone Can Code blog lamented the people who are somewhat interested in computer science, but think they can't code. I've always thought that "people who can't do math" were just people who had terrible math teachers and never took them time to learn any math on their own. There isn't really anything wrong with this, but it's now become relatively socially acceptable to know almost no math. It's also socially acceptable to know literally no coding, since most people never take any computer science classes.

I've digressed a little, but the point I wanted to make here is that perhaps referring to programming as "coding" is not good for making it accessible to the general public. Code, in everyday language, is a message which is unreadable until a person or machine performs some kind of operation on it to decode it, so that humans can read it. Back in the days of punchcards, that may have been somewhat accurate, but now writing computer programs is (or at least should be) almost the opposite. You write down what you want the computer to do, in as clear and straightforward a way as possible. Then the computer compiles or interprets it, which is when it becomes completely unreadable. But the programmer isn't writing "code". They're just writing down a set of instructions, in another language. So maybe instead of "coding," we should look at programming as writing in another language. Because that's all programming languages are--they're just languages, where the rules of grammar must be followed much more strictly than in languages like English or Spanish.

Oh great, you say, so coding is just like learning a language, except with even more emphasis on grammar? Sounds lovely. Well yes, but there's very little emphasis on learning new vocabulary. In fact, most of the important words in most languages are actually words you already know. And the grammar rules are much clearer and completely unambiguous, especially in languages like Ruby and (from what I hear, although I haven't used it myself) Python, which were deliberately intended to be easier to use. I think Elliot is right that anyone can code. It doesn't mean everyone will find it fun. But if we stop thinking of code as "code," perhaps everyone will be able to do it.