17 Nov 2009
Learning Hiragana

hiragana ha In a moment of insanity, I decided I would attempt to learn Japanese, at least to the extent I could decipher the written language.

Japanese is one of the hardest languages for westerners to learn. The written language is exotic and entirely opaque to me. Before even getting into simple syntax and grammar, I have to overcome the barrier of a truly foreign writing system.

The Japanese writing system uses three different components: hiragana (a rounded script), katakana (an angular script), and kanji (Chinese characters), along with some Latin alphabet and Arabic numerals thrown in for effect. Romaji is the writing of Japanese phonetically with the Latin alphabet — for example, the names of the components just listed.

The kana (hiragana and katakana) both consist of 46 basic symbols (roughly, representing syllables) and minor modifiers to extend the them. Hiragana is used primarily for syntax/grammar markup, native words, and annotating kanji. Katakana is used primarily for foreign words and emphasis (similar to italics in English).

Kanji are essentially Chinese characters. Basic literacy requires knowing about 2000 kanji — which doesn’t sound quite so bad if you consider them as (roughly) words rather than characters. Much better than the 50,000 or more for Chinese!

From what I’ve read, it appears that it is best to learn hiragana first, then katakana. Finally, learn kanji “as you go” through your language study.

Web Resources

Here’s what Wikipedia has to say about Hiragana:

Hiragana (平仮名, ひらがな or ヒラガナ) is a Japanese syllabary, one component of the Japanese writing system, along with katakana, kanji, and the Latin alphabet (Rōmaji). Hiragana and katakana are both kana systems, in which each character represents one mora. Each kana is either a vowel such as “a” (あ); a consonant followed by a vowel such as “ka” (か); or “n” (ん), a nasal sonorant which, depending on the context, sounds either like English m, n, or ng (IPA: [ŋ]), or like the nasal vowels of French. — from the Wikipedia article “Hiragana

The “HA” image that opens this post is taken from a table showing the stroke order for hiragana. Stroke order is even more important in kanji.

Googling for “learn hiragana” or “learn japanese” will lead you to many resources, so I won’t repeat that information here.

Hardcopy Resources

I got started on this rather casually — I printed out the hiragana table and over several days, as I had time, practiced writing the characters. Once I determined I really wanted to learn Japanese, I decided I’d better get some real learning material.

Not too systematically, I scanned Amazon and decided on a set of workbooks: “Let’s learn X” for each of hiragana, katakana, and kanji. These seem good enough to begin with — I can always get additional texts as I need them.

The first book “Let’s Learn Hiragana”, by Yasuko Kosaka Mitamura, is only 70 some odd pages, but covers technique, drills, and provides a small vocabulary. The publisher’s book page is at Kodansha International, but is available from Amazon.

Flash Cards

Even more important, I believe, is a good set of flash cards. Don’t make them yourself — buy a set. The “Kana Flashcards” from White Rabbit Press are excellent and are also available from Amazon. You can see full-size samples of the cards at the White Rabbit Press link.


While the workbook and flash cards are good resources, nothing beats practice, practice, practice. You can find a number of web-based and desktop applications for practice, but I threw together a quick and dirty perl script that I can use in a terminal window (click on image for full-sized view):

I simply slide it partially off-screen to hide the right-hand column. I copy (for practice) the left-hand column to paper and write the answers, then slide the screen back into view to check my answers. This version only displays one line per keypress, but could be easily altered to scroll N lines at a time.

Notice that it displays items in random order and mixes both the hiragana and romaji representations, so that I get practice in both directions. At the moment, at least, I prefer this over more sophisticated software because I need the physical writing practice.

The perl source is available here: hiragana-drill.txt. I’d recommend getting the text file rather than trying to cut and paste it from here.

  1. #! /usr/bin/perl
  2. # @(#) $Id$
  4. use strict;
  6. my @basic = qw(
  7.     a   あ  i   い  u   う  e   え  o   お
  8.     ka  か  ki  き  ku  く  ke  け  ko  こ
  9.     sa  さ  shi し  su  す  se  せ  so  そ
  10.     ta  た  chi ち  tsu つ  te  て  to  と
  11.     na  な  ni  に  nu  ぬ  ne  ね  no  の
  12.     ha  は  hi  ひ  fu  ふ  he  へ  ho  ほ
  13.     ma  ま  mi  み  mu  む  me  め  mo  も
  14.     ya  や          yu  ゆ          yo  よ
  15.     ra  ら  ri  り  ru  る  re  れ  ro  ろ
  16.     wa  わ                         (w)o を
  17.     n   ん
  18. );
  20. my @dakuon = qw(
  21.     ga  が  gi  ぎ      gu  ぐ      ge  げ  go  ご
  22.     za  ざ  ji  じ/ぢ   zu  ず/づ   ze  ぜ  zo  ぞ
  23.     da  だ                          de  で  do  ど
  24.     ba  ば  bi  び      bu  ぶ      be  べ  bo  ぼ
  25. );
  27. my @handakuon = qw(
  28.     pa  ぱ  pi  ぴ  pu  ぷ  pe  ぺ  po  ぽ
  29. );
  31. my @yoon_basic = qw(
  32.     kya きゃ        kyu きゅ        kyo きょ
  33.     sha しゃ        shu しゅ        sho しょ
  34.     cha ちゃ        chu ちゅ        cho ちょ
  35.     nya にゃ        nyu にゅ        nyo にょ
  36.     hya ひゃ        hyu ひゅ        hyo ひょ
  37.     mya みゃ        myu みゅ        myo みょ
  38.     rya りゃ        ryu りゅ        ryo りょ
  39. );
  41. my @yoon_voiced = qw(
  42.     gya ぎゃ        gyu ぎゅ        gyo ぎょ
  43.     ja  じゃ/ぢゃ   ju  じゅ/ぢゅ   jo  じょ/ぢょ
  44.     bya びゃ        byu びゅ        byo びょ
  45. );
  47. my @yoon_semivoiced = qw(
  48.     pya ぴゃ        pyu ぴゅ        pyo ぴょ
  49. );
  51. my @hiragana = (
  52.     @basic, @dakuon, @handakuon,
  53.     @yoon_basic, @yoon_voiced, @yoon_semivoiced
  54. );
  57. print "\n";
  59. my $count = 0;
  60. do {
  61.     $count++;
  62.     my $i = int(rand(@hiragana));
  63.     my $j = ($i % 2) ? $i1 : $i + 1;
  64.     printf "%4d:\t%-5s\t\t\t\t\t%-5s\n", $count, $hiragana[$i], $hiragana[$j];
  65. } while (my $junk = <> );
  67. __END__
Category: Uncategorized
Tags: , ,
(comments closed) | (trackbacks closed) | Permalink | Subscribe to comments |

Site last updated 2015-01-12 @ 13:31:07; This content last updated 2009-11-17 @ 03:24:14