Baguhan Biyernes: Bakit ang daming terminology na binabato sa iyo pag nag-aaral ka ng programming?

(Susubukan kong gumawa ng isang “weekly column” tungkol sa pag-aaral ng programming at software development. Bukod sa extra advertising para sa Pangkaraniwang Developer, mahahasa ko rin ang aking pagsusulat sa Tagalog.)

May isang magandang thread ngayong linggo sa r/learnprogramming kung saan nagrereklamo ang isang nag-aaral ng programming hinggil sa rami ng terminology na nakikita niya sa isang tutorial. To paraphrase/translate:

Isa akong baguhan na sinusubukang matuto ng jQuery, pero noong ini-introduce ako sa kanya ng kakilala ko, maraming lumabas na mga terminology na hindi ko alam sa 5 minutong usapan na iyon:

  • bind
  • delegation
  • node
  • handler
  • listener
  • event
  • bubbling

Ganito ba talaga kahirap matuto ng programming?!?

Pag binasa ninyo yung thread, madaling mahalata yung problema nung nagtatanong: hindi pang-baguhan ang jQuery, pero gusto parin niya itong matutunan kahit hindi pa siya bihasa sa JavaScript.

Gaya nga ng sabi ng ibang commenter, parang pumasok siya sa isang Calculus class kahit hindi pa siya dumaan sa Algebra at Trigonometry, at ngayon umaangal siya na hindi pinapaliwanag ng propesor ang sine at logarithm. Kaya nga may mga terminology tayo — hindi lang para hindi tayo magsayang ng oras sa pagpapaliwanag kung ano iyon, sa paggamit ng terminology, ipinapalagay na ng kung sinumang gumamit noon na maiintindihan na ng nakikinig/nagbabasa kung ano ang gusto niyang ipahiwatig kahit hindi siya simple.

Halimbawa, maraming pwedeng ibig-sabihin ang “node” kahit sa computer science, pero pag lumabas siya sa usapan tungkol sa jQuery, dapat naiintidihan ng lahat ng nasa usapan kung aling “node” iyon.

Sang-ayon ako sa huling payo ng mga commenter: dapat unti-untiin niya ang pag-aaral ng programming. Sa web development, medyo marami kang dapat matutunan bago ka mag-jQuery: HTML, CSS, at intermediate JavaScript. Hindi magandang sumabak sa isang tool o framework na ginawa para sa mga experienced developers kung ikaw mismo ay hindi experienced developer.

Pero kung tutuusin may punto rin naman siya. Hindi mo maiiwasan na dumiretso sa mga intermediate topics ang mga baguhan kaya mabuti kung mayroon kang mga paraan para mas mapadali yung buhay nila.

Kaya nga sa simula palang ginawa ko yung PD na may mga “Previous Lesson” links para malaman ng mga student kung ano yung mga kailangan nilang malaman bago nila pag-aralan yung current lesson. Balang araw, magkakaroon rin ng glossary of terms bawat lesson para hindi mahirapan ang mga student sa paghanap ng kanilang kahulugan. (Pero saka na iyon, tinatamad pa ako ;P)

Tax for the poor and mathematically challenged

lotto simulator

The Lottery: another way for the government to tax the (typically tax-exempt) poor.

As much as I’d like to shy away from yet-another-“greed is evil” post, recent circumstances have led me to mingle with people who still think spending money on the lottery is a good idea. So instead of being a jerk IRL, I’ll just post the arguments against the lottery here online.

The first argument against the lottery is that the odds are stacked waaaaay against you. Anyone who has even the basic knowledge of Combinatorics and ROI knows that the lottery is a loser’s game.

Don’t believe me? Why not try this little app I made using Rails 3 and a dash of jQuery. You could even check the source code to see if the drawing algorithm is sound.

(It’s not an original idea, though. I just based it on a Hacker News link last week.)

The second argument is that the people likely to win the lottery are the people least likely to have the financial literacy to handle such a large amount. But I guess you already knew that.