Grandmaster (or Grand Master) and Master are titles used to describe or address some senior or experienced martial artists. Typically these titles are honorific in nature, meaning that they do not confer rank, but rather distinguish the individual as very highly revered in their school, system, or style.

History

Asian martial arts traditionally use terms that are usually translated as "teacher"[1] and the use of "master" was a Western invention derived from 1950s United States war veterans returning home[1] with stories of the incredible martial feats of certain individuals and groups. Subsequently, they found their way into martial arts culture as marketing tactics to the extent that the titles are aligned to the 'elderly martial arts master' stock character. In Asian countries, such titles are more commonly reserved for religious leaders and saints.[1]

Modern use

The use of "master," "grandmaster," etc. is decided within an individual art or organization. The use may be self assigned; for example having promoted a student to 'teacher' level, or may be assigned by a governing body in arts with a more formalised structure, and some do not use it at all, for historic reasons or to avoid the 'elderly master' stereotype. The modern use of Dan rankings and Black belt and Red belt in martial arts both derive from Judo where they were adopted by its founder Kanō Jigorō.[2]

Traditional systems

There are many terms similar or equivalent to 'grandmaster' used by various martial arts traditions. Some of these terms derive from older systems, while others are relatively modern.

Japan

Bujinkan, Kodokan (Judo), and Shodokan Aikido, use the term shihan for high-ranking or highly distinguished instructors. Sōke (宗家), means "the head family [house]."[4] is sometimes used to refer to "founder of a style" because many modern sōke are the first generation headmasters of their art, but most correctly refers to the current head. A sōke is considered the ultimate authority within their art and has the authority to issue a menkyo kaiden certificate indicating that someone has mastered all aspects of the style.[5]

Korea

The actual Korean word for a student's master is suseung-nim. This term is only used by the student when speaking to the instructor. The student is hakseang.[6] (학생 HakSaeng 學生) Many Korean titles are often mistakenly translated as "grandmaster" (태사님 TaeSaNim 太師님). Sonseang-nim (선생님 SeonSaengNim 先生님) is a general term for a teacher of any subject as well as a respectful form of the word "you". Martial arts instructors (in Korea 4th Dan and above) are called Sabom-nim (사범님 SaBeomNim 師範님).

China

Various dialects of the Chinese language use different terms.

"Sifu" is a common romanization, although the term and pronunciation are also used in other southern languages. In Mandarin Chinese, it is spelled "shifu" in pinyin. Using non-rhotic British English pronunciation, in Mandarin it would sound something similar to "sure foo". Using IPA, 'shi' is pronounced 'ʂɨ'. The 'i' is a short vowel. Many martial arts studios incorrectly pronounce this like "she foo". In Cantonese, it is said as "see foo" (almost like "sea food", without the "d" on the end). (師傅 or 師父; Pinyin: shīfu, Standard pinyin: si1 fu6) a modern term for "teacher".

The term Shifu is a combination of the characters "teacher" and "father" (師父) or a combination of the characters "teacher" and "mentor" (師傅). The traditional Chinese martial arts school, or kwoon (館, guǎn) is an extended family headed by the Shifu. The Shifu's teacher is the "師公 honorable master" or Shigong. Similarly the Shifu's wife is the Shimu "teacher mother" and the grandmaster's wife is known as: 師姥 shi lao; or 師婆 shi po. Male and female students who began training before you and are thus senior, are Shixing "teacher older brothers" and 師姑 shi gu "teacher's sisters". Women in traditional society did not have the same status as males (despite what modern movies depict). Students junior to you are your Shidi and Shimei. The pattern extends to uncles, aunts, cousins, great uncles, and so forth (see above for a complete list of relational terms).[1]

Popular culture

Such titles may be, to some extent, aligned to the elderly martial arts master stock character in fiction. In Oriental martial arts, traditional titular systems vary between nations and arts, but terms such as "teacher"[1] were more common than "master." The modern use came from Eastern to Western society in the 1950s with stories of martial feats seen in Asia.

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ a b c d e f Master vs. Sifu in Chinese Martial Arts Traditional Asian Health Center
  2. ^ Ranking Systems in Modern Japanese Martial Arts: Modern vs. Classical by Donn F. Draeger, Lecture on 1 April 1976.
  3. ^ a b What is a Sensei? Neil Ohlenkamp, judoinfo.com
  4. ^ Kenkyusha's New Japanese-English Dictionary
  5. ^ Soke: Historical Incarnations of a Title and its Entitlements by William M. Bodiford
  6. ^ Korean Terminology Martial Arts Fitness Centers, Inc.