Why is learning programming so hard for some people?

I’ll try to explain based on my experience explaining Java to some friends. I never been through formal programming training which probably hence made me a poor teacher.

To me, it is because they cannot accept the language as it is. They question why are things done this way? Why not another way? The modern programming language is so abstract. It’s hard to see how the lower level components interact.

Some learners need to fiddle with the lower layers to accept and understand the higher level components. We just build tools on top of the lowest layer and then establish more and more layers thinking it is making life simple.

I lost my patience before and said to a friend, “Why can’t you just memorize it? It’s by design, if you don’t like then design your own language.” Actually it’s just an excuse because the real reason is too long to explain. It’s like telling a primary school kid that light travels in a straight line even though you well know it doesn’t and thank god it doesn’t.

Perhaps it does make life simple for the already programmers, but it makes learning a lot harder.

Worst language I wrote in – Fortran

One of the worst programming languages I ever wrote in is Fortran. It’s got a rather limited set of features. I dreaded to go work every day staring at the lines of codes that basically represent a cholesterol research paper’s equations.

I was using the g77 compiler. The only thing that I can remember is all the nonsensical representation of while loops. It has got the most basic support for structural programming. I had the impression that programmers in the 1970s are like artists, they paint a first layer and paint a second then the third and if there’s a mistake they cover it up with a thick coat of paint. The whole software is like a gibberish piece of code and no amount of comment ever made my life easier the next day.

However it is through Fortran that I start appreciating the more modern programming languages. I look at for each loops imagining how confusing would it be to represent the same code in Fortran.

Every time I hear people whine about how many lines of codes and how confusing a code chunk looked, I wish those people could see things from my point of view. Imagine the number of mistakes made and later corrected for the supposed better.

Obama campaign introduces Al the shoesalesman

This is a brilliant ad by the Obama campaign. For those of you who ain’t familiar with what’s going on, American politics is really interesting. McCain-Palin (Republicans) brought in phrases into American newspapers such as “hockey moms”, “Joe Six Pack” and “Joe the plumber”. These phrases are used to stereotype the typical American.

The thing that got me interested in politics is not the results the politicians are going to deliver. After all, staying thousands of miles away from the USA makes little difference on who’s elected anyway. What made me look at politics is the speeches, or more precisely, the ingenious use of the English language to reach people emotionally.

Introducing characters is just one way of doing so. As stupid as these phrases sound, people actually remember them. You can laugh at time but as long as you talk about it (even in a negative way), you are spreading the point of the politicians indirectly.

I think of these characters as stock characters (in the theater arts way) as they’re recycled time and again for every election. And politicians would just rebrand them in some little ways to make them sound new again.

McCain-Palin campaign has numerous such characters. I’m sick of them but I still laugh at them (alone, since no one bothers about US in Singapore). Anyway, here’s one endorsed by the Obama campaign:

Obama campaign introduces Al the shoesalesman

Find out your tax cut under Barack’s plan at http://taxcut.barackobama.com whether you’re single or married with children.

[ad#highlight]

Previously John McCain repeated mentioned Joe the Plumber during his speeches, claiming he is a concern citizen who prefers the McCain tax plans.

Just to digress

For those people who knows the location of my other blog, it’s a tough decision if I want to put this post in this blog or that which is rather US. In the end I figured I should put it here since I want this blog to have more of my opinion. The other blog is visited by McCain supporters and they blast me even when I post a video that’s pro-Obama. That’s freedom of expression for me I guess.

And speaking of “plumber”, Uzyn corrected me on my pronunciation. I had always been pronouncing it as “plumb-ber”. Read it wrong for many years. “Plum-er,” he corrected me.

What English sounded like to Japanese

This is interesting. It’s a recording of a Japanese kid trying to sound like he is speaking English. He speaks in what he thinks English sound like.

I hear people trying to speak inventive Tamil language before so hears how others think English sounded like.

This is what English REALLY sounds like

English is evolving, nothing wrong with Singlish

Wired wrote something that got me tinking a bit. I’ll quote in excerpts, the full article is here. I’m more interested in the Singlish portions.

How English Is Evolving Into a Language We May Not Even Understand

An estimated 300 million Chinese — roughly equivalent to the total US population — read and write English but don’t get enough quality spoken practice. The likely consequence of all this? In the future, more and more spoken English will sound increasingly like Chinese.

It’s the 1.3 billion people can’t be wrong thing. If more Chinese speak in their Chinglish, they would be the majority. We can’t say the majority of English language speakers are speaking it wrongly, can we?

In Singaporean English (known as Singlish), think is pronounced “tink,” and theories is “tee-oh-rees.”

Dude, it’s Singapore English, not Singaporean English. I never heard of tee-oh-rees in Singapore anyway. Do we say that? I don’t tink so!

One noted feature of Singlish is the use of words like ah, lah, or wah at the end of a sentence to indicate a question or get a listener to agree with you. They’re each pronounced with tone – the linguistic feature that gives spoken Mandarin its musical quality – adding a specific pitch to words to alter their meaning. (If you say “xin” with an even tone, it means “heart”; with a descending tone it means “honest.”) According to linguists, such words may introduce tone into other Asian-English hybrids.

I haven’t thought of the ah, lah, loh stuff this way leh. To me, it was added to sound more casual and to fit in. If everyone doesn’t add this, no one would use it. It’s just to fit in. But our government launched a campaign to go against it – clearly not fitting in well enough.

And it’s possible Chinglish will be more efficient than our version, doing away with word endings and the articles a, an, and the. After all, if you can figure out “Environmental sanitation needs your conserve,” maybe conservation isn’t so necessary.

I tink we’re in some sort of transition. If the Chinese can end up standardizing English by bastardizing the current standard of English, so be it. We would see a bunch of English purist crying but hey, we switched old English to middle English to our modern English. Yeah, it took ages but today we are experiencing an acceleration on technology advancements, globalization etc.. Maybe we forgotten that language developments can accelerate too.

Welcome to post-modern Asianglish.

We use the f*ckhead pattern

This made me laugh, sorry I couldn’t reduce the length. Reducing any parts weakens the effect of the following:

Not to be Confused with the Abstract F*cktory Pattern

Recently I (a Java architect) and one of our IT managers were interviewing a guy for a Java developer position. He was pretty bright, but unfortunately English was his second (or perhaps even third) language.

It was the usual interview story, asking the guy to tell us about the system that he’s currently working on. He went on to describe in some detail their Hibernate persistence layer, how they used Spring, and how their business layer worked. I was very impressed with his knowledge.

Then he said “and this is where we used the f*ckhead pattern.”

…silence…

Regaining my composure, I asked what was on everyone’s mind. “The what?”

“The f*ckhead pattern” was the response, enunciated perfectly.

…prolonged silence…

After taking a few moments to think of how to phrase the question, I finally asked “…would you mind spelling that for us?”

“F-A-C-A-D-E. F*ckhead.” he replied.

I had to bite my tongue not to laugh. You couldn’t make up stuff like this. Despite the hilarity of the situation, he was actually very sharp technically, so we ended up offering him the job. (Source: DailyWTF)

Salary of programmers by programming languages

TheUnixGeek compiled a list of salaries of programmers. It’s of course not reflective in Singapore but it’s interesting to do some comparison as always. All salaries are in United States currency.

Programming Languages

  • Objective-C: $82,000
  • C++: $80,000
  • TCL: $80,000
  • C#: $79,000
  • Java: $79,000
  • Python: $78,000
  • Perl: $77,000
  • Ruby: $74,000
  • JavaScript: $72,000
  • Delphi: $64,000
  • PHP: $64,000
  • Visual Basic: $64,000
  • C: $60,000

[ad#highlight]

Objective C? Erm… Okay, don’t think we use that a lot in Singapore. And well, I search some additional languages just for fun. COBOL programmers are said to be paid $72,000. ActionScript, an average of $73,000. Lisp people get $77,000. And of course, I can’t help it but to search for FORTRAN, apparently those people are still in demand – $75,000. I used to do FORTRAN for 4 months. I cried every day.

Fatty frog crying emoticon

No for loops. Continue reading Salary of programmers by programming languages

Singlish or no Singlish?

Well, this is a really old argument. But the minister pointed out something quite true.

Minister Balakrishnan cautions against promoting use of Singlish

SINGAPORE: Community Development, Youth and Sports Minister Vivian Balakrishnan has cautioned against promoting the use of Singlish.

Speaking at the Pre-University Seminar 2008 on Tuesday, Dr Balakrishnan said the move to promote the lingo is a “pet project” by “linguistic elites” that can cause more harm than good.

He said those championing the local lingo are mostly highly educated individuals who are able to effortlessly switch from Singlish to proper English.

“But very few of us, to be honest with you, really have the ability. For most of us, we can only speak one way. So I’ve often felt there’s a bit of intellectual snobbery on the part of people who push Singlish,” Dr Balakrishnan said. (Source: ChannelNewsAsia)

That actually is pretty true now to think of it. But if you think of it from a different point of view, could this be also something to do with the fact that only the people who speak well dare to voice out in public?

And if that is the case, wouldn’t that be a good reason to encourage people to speak in better english?

Google moving to Unicode 5.1

More and more pages in unicode. Remember those times where you open a web page full of question marks? This just shouldn’t happen. Hopefully everyone moves to unicode soon. Lots of Chinese websites are still not on unicode actually.

Moving to Unicode 5.1

Just last December there was an interesting milestone on the web. For the first time, we found that Unicode was the most frequent encoding found on web pages, overtaking both ASCII and Western European encodings—and by coincidence, within 10 days of one another. What’s more impressive than simply overtaking them is the speed with which this happened; take a look at the blue line in this graph. (Source: Google blog)

Unicode growth

Unicode growth chart from Google blog.

[ad#simple]