nimとは? わかりやすく解説

≪韓国語≫ニム

別表記:ニム、nim、님

韓国語「ニム」とは、「ニム」の意味

韓国語の「ニム」は、「~様」という意味を表す丁寧なかしこまった表現だ。例えば、接客する相手のことを日本語では、「お客様」という。「お客さん」は、そんざい印象与え言い方だと考えられている。日本語感覚でいえば、この「お客様」の「様」に当たるのが、「ニム」なのである韓国語では、お客様のことを「손님(ソンニム)」または、「고객님(コゲンニム)」と表現する。この二つには、使い分けがあって、「손님(ソンニム)」は、家に来る客に対しても使うし、食品マーケット飲食店の客に対しても使う。一方、「고객님(コゲンニム)」のほうは、銀行はじめとしてビジネスシーンでの客に対して使われている。会員登録して利用する顧客」といったイメージもある。また、百貨店の客も「고객님(コゲンニム)」と呼ばれる

ニム」は、人の名前につけて、「~様」という意味を表現する場合にも、使われる例えば、「田中様」という場合には、「다나카님(タナカニム)」と表記される

ところで、日本では自社社員に対しては、役職上のに対してであっても「様」はつけないのが一般的である。「社長様」「会長様」などという言い方自社社員に対して使うのは、違和感のある表現となる。「様」をつけるのは、他社社員に対してだけだ。しかし、上下関係厳し韓国においては、自社社員であっても役職上のに対しては、「役職名ニム」という形でこの「ニム」を使う。

韓国語「ニム」のハングル表記

ニム」は、ハングル表記すると、「님」となる。子音「ㄴ」と母音「ㅣ」、それにパッチムとして子音「ㅁ」が組み合わされ構成されている。いくつか、「님」を使った例をあげてみる。坂本様は、「사카 모토님(サカモトニム)」。先生は、「선생님(ソンセンニム)」。理事は、「이사님(イサニム)」。などがある。

韓国語「ニム」の発音

韓国語の「ニム」の発音は、〔nim〕である。日本語の「ム」の場合とちがい、母音「u」はないことに注意必要だパッチム「ㅁ」は、口を閉じて発音する「m」の音の子音だ。そもそも19文字あるとされている子音のうちの16文字パッチムとなることができるわけなので、パッチムには、母音含まれることはない。カタカナ発音表記されていると、日本語文字性質上、どうしても母音含んだ発音想定してしまう。正し発音近づくためには、発音記号を見ることや、パッチム特性覚えておくことを心がけることも大切だ

Nim

名前 ニム

Nim

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/10/29 04:18 UTC 版)

Nim
Nim crown のロゴ
パラダイム マルチパラダイム: コンパイル言語並行プログラミング言語手続き型命令型オブジェクト指向
登場時期 2008年 (17年前) (2008)
設計者 アンドレアス・ランプフ
最新リリース 2.2.4 / 2025年4月22日[1]
型付け 静的型付け[2]強い型付け[3]型推論、構造的な型付け
影響を受けた言語 AdaModula-3, LispC++Object PascalPython, Oberon
プラットフォーム クロスプラットフォーム
ライセンス MIT[4][5]
ウェブサイト nim-lang.org
拡張子 .nim
テンプレートを表示

Nim (旧称Nimrod[6]) とは命令型マルチパラダイムコンパイル言語という特徴を持つプログラミング言語[7]であり、アンドレアス・ランプフにより設計・開発された。Nimは「効率的で表現豊かで優雅」であるように設計されている[8]メタプログラミング関数型プログラミングメッセージパッシング[4]手続き型プログラミングオブジェクト指向プログラミングをサポートしており、 コンパイル時のコード生成、代数的データ型C言語Foreign function interface (FFI)、JavaScriptへのコンパイルなどの機能を提供している[9]Pythonのようなシンプルな構文で書かれるが、C言語並みの高いパフォーマンスを有している。Nimは様々な用途に使用可能なシステムプログラミング言語である[10]が、Nimのように比較的新しい(C/C++以降に発表された)言語としては他にもRustGoD言語などの言語がある[11][注釈 1]

概要

Nimはシンプルな構文による静的型付き言語である[12]構文マクロ項書き換えマクロなどのコンパイル時のメタプログラミング機能をサポートしている[13]。項書き換えマクロは例えばBignumMatrixなどのデータ構造の効率的ライブラリ実装を可能にしており、BignumMatrixなどがあたかも元々の言語機能に組み込まれていたかのような効率的な実装を可能にする[14]イテレータもサポートしており、このイテレータはNimの中で第一級オブジェクトとして用いることができ[13]、これら機能は関数プログラミングを可能にする。オブジェクト指向プログラミングは継承多重ディスパッチによってサポートされている。関数はジェネリックになりうるし、オーバーロードも可能である。またTypeクラスがサポートされており、これはジェネリクスを促進するものである。演算子オーバーロードもサポートされている[13]。Nimは循環参照検出つきの遅延参照カウントに基づくガベージコレクタを搭載している[15][16]。アンドリュー・ビンストック[注釈 2]はNimに関して「(Nimは)PascalおよびPythonにまたがる非常に独創的なデザインを提供し、CやJavaScriptのコードにコンパイルすることができる[17]」と述べた。

歴史

Nimの開発は2005年にアンドレアス・ランプフ[18]によって始まった。NimのコンパイラはPascalによって書かれていた[19]。2008年にはNimで書かれたコンパイラがリリースされた[20]。Nimのコンパイラはオープンソースであり、アンドレアス・ランプフに加えてボランティアのグループが開発を行っている[21]

言語設計

Nimに影響を与えた言語

コンパイラ

Nimのコンパイラは最適化されたCのコードを吐くことができ、Cのコンパイラなどの外部コンパイラに従ったコンパイルを選択することもできる[22]ClangGNU Compiler Collectionなどの多くのコンパイラがサポートされており、これらコンパイラの最適化や移植能力を利用することができる)。Nimのコンパイラは加えてC++Objective-Cのコードを吐くことができ、これらの言語で書かれたアプリケーションプログラミングインタフェース(API)を備えた簡易なインターフェイスを提供する[7]。この機能によってNimによるiOSAndroidのアプリケーションの開発も可能である[23][24]

パッケージシステム

Nimble はNimによってNimモジュールをパッケージするのに用いられているパッケージマネージャーである。これは構成にNimScriptを用いている。NimbleはGitリポジトリ上でパッケージの主要ソースとして働く。パッケージのリストはJSONファイルに保存され、nim-lang/packages repositoryから自由にアクセス可能である。このJSONファイルはNimbleに要求されたGit URLを与え、パッケージをクローンし、インストールする。

ツール

Nimble

Nimble[25]はNimモジュールのパッケージに使われているパッケージマネージャである。Nimbleの構成にはNimScriptが使われている。Nimbleのパッケージは主にGitで管理されており、NimbleはGitリポジトリ上で動作する。NimbleのパッケージのリストはJSONファイルに保管されており、nim-lang/packagesリポジトリで自由にアクセス可能である。このJSONファイルはNimbleにGit URLを提供し、そのURLからパッケージがクローンされインストールされる。

c2nim

c2nimはAnsi CのコードからNimのコードに変換するときに新たなBindingを生成するのに寄与する。出力は人間に読むことが可能なNimのコードになり、これにより変換後に人の手での改善・改良が可能になる。

ライブラリ

NimのプログラムはC言語で使われているものであれば、どんなライブラリでも使用することが可能である。GTK2、SDL2、CairoOpenGLWinAPIzlib、libzip、OpenSSLcURLなど多くの言語に言語バインディング (Language binding) が存在する[26]。NimはPostgreSQLMySQLSQLiteのデータベースを使用することができる。NimはLuaインタープリタおよびPythonインタープリタとインターフェースをとることができる。

コードの例

以下のコードサンプルはNim 0.13.0.のシンタックスで有効であり、バージョンが新しくなるにつれて記法が変わる可能性がある[27]

Hello world

NimによるHello worldのプログラム:

echo "Hello World!"

Stringをひっくり返す

Nimの機能を知るためのシンプルな例。

proc reverse(s: string): string =
  result = "" # 暗黙的なresult変数
  for i in countdown(high(s), 0):
    result.add s[i]

var str1 = "Reverse This!"
echo "Reversed: ", reverse(str1)

もっともエキゾチックな機能は暗黙的なresult変数である。すなわち、returnの型がvoidではないNimのすべてのプロシージャは暗黙的なresult変数を持っており、result変数は返される(returnされる)値を保持している。Forループでは、countdownという呼び出しが見られ、このcountdownはイテレータである。もしFor loopに際して型が定義され、またイテレータが省略されればNimのコンパイラはitemsイテレータの使用を試みる。

メタプログラミング

これはNimのテンプレート機能を使ったメタプログラミングの例である。

template genType(name, fieldname: untyped, fieldtype: typedesc) =
  type
    name = object
      fieldname: fieldtype

genType(Test, foo, int)

var x = Test(foo: 4566)
echo(x.foo) # 4566

genTypeはコンパイル時に呼び出され、Test型が作成される。

Cの関数をラップする

次のプログラムは既存のCのコードがNimで直接使うことができることを示す例である。

proc printf(formatstr: cstring)
  {.header: "<stdio.h>", varargs.}

printf("%s %d\n", "foo", 5)

この例では有名なCの関数printfがインポートされ使用されている[28]

コミュニティ

NimはGitHubおよびフォーラムによって主催されているバグのトラッキングをするコミュニティがある[29][30]O'Reilly Open Source Convention (OSCON)でのプレゼンテーションが2015年に行われた[31]。 O'Reilly Community: Essential Languages: Nim, Scala, Python.[32][33]

関連項目

  • D言語
  • UFCS ‐ Nimによってサポートされている機能。

脚注

注釈

参考文献

  1. ^ 出典URL: https://github.com/nim-lang/Nim/releases/tag/v2.2.4
  2. ^ Nim by example”. GitHub. 2014年7月20日閲覧。
  3. ^ Караджов, Захари; Станимиров, Борислав (2014). Метапрограмиране с Nimrod. VarnaConf (ブルガリア語). 2014年7月27日閲覧.
  4. ^ a b FAQ”. Official website. 2015年3月27日閲覧。
  5. ^ copying.txt”. Nim. GitHub. 2015年3月27日閲覧。
  6. ^ Version 0.10.2 released - Nim Blog”. 2020年12月11日閲覧。
  7. ^ a b Rumpf, Andreas (2014年2月11日). “Nimrod: A new systems programming language”. Dr. Dobb's Journal. 2014年7月20日閲覧。
  8. ^ The Nim Programming Language”. Official website. 2014年7月20日閲覧。
  9. ^ What's so special about Nim?”. Hookrace blog. 2015年3月27日閲覧。
  10. ^ nim-lang.org”. nim-lang.org. 2020年12月17日閲覧。2020年12月17日時点でトップページに「Nim is a statically typed compiled systems programming language.」とある。
  11. ^ BEST SYSTEMS PROGRAMMING LANGUAGES”. slant. 2020年12月17日閲覧。
  12. ^ Nim Syntax”. akehrer. 2015年3月27日閲覧。
  13. ^ a b c Nim Manual”. Official website. 2014年7月20日閲覧。
  14. ^ Strangeloop Nim presentation”. 2015年4月30日閲覧。
  15. ^ Nim's Garbage Collector”. Nim documentation. 2015年4月3日閲覧。
  16. ^ A Quick Comparison of Nim vs. Rust”. 2015年5月8日閲覧。
  17. ^ The Rise And Fall of Languages in 2013 By Andrew Binstock, January 07, 2014 Dr. Dobb's
  18. ^ : Andreas Rumpf
  19. ^ Nim Pascal Sources”. Nim. GitHub. 2013年4月5日閲覧。
  20. ^ News”. Nim-lang.org. 2016年6月11日閲覧。
  21. ^ Contributors”. Nim. GitHub. 2013年4月5日閲覧。
  22. ^ Rumpf, Andreas (15 January 2014). Nimrod: A New Approach to Metaprogramming. InfoQ. 該当時間: 2:23. 2014年7月20日閲覧.
  23. ^ Hankiewicz, Grzegorz Adam (2014年3月10日). “Nimrod for cross platform software”. Rants from the Ballmer Peak. GitHub. 2014年7月20日閲覧。
  24. ^ Nimrod-on-android failure” (2012年7月28日). 2015年2月28日閲覧。
  25. ^ Nimble
  26. ^ Nim Standard Library”. Nim documentation. 2015年4月4日閲覧。
  27. ^ Nim code examples at Rosetta Code
  28. ^ What is special about Nim?”. HookRace (2015年1月1日). 2015年2月17日閲覧。
  29. ^ Primary source code repository and bug tracker”. GitHub. 2015年5月4日閲覧。
  30. ^ Nim Forum”. nim-lang.org. 2015年5月4日閲覧。
  31. ^ Nim at OSCON 2015”. OSCON (2015年7月20日). 2015年5月4日閲覧。
  32. ^ Essential Languages: Nim, Scala, Python”. 2015年5月8日閲覧。
  33. ^ Presentation of Nim by Andreas Rumpf on OSCON 2015 - YouTube

外部リンク


-nim

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/09 09:10 UTC 版)

朝鮮語の文法」の記事における「-nim」の解説

-nim( ハングル : 님 )敬語の上記の最高の形である- SSI、それでも客、顧客クライアント、および不慣れな人のための一般的敬語として使用される。-nimはまた、かなりの量のスキル知性知識などを持っていることで尊敬され賞賛されている人に使用され自分よりも高いランクの人に使用される。 例には、家族( eomeo-nim 어머님 & abeo-nim 아버님)、教師( seonsaeng-nim 선생님)、聖人(例:牧師– moksa-nim 목사님)、および神 ( haneu-nim 하느님/ hana-nim하나님)が含まれます。-nimは、手紙/電子メールおよび郵便小包受取人の名前に従う。

※この「-nim」の解説は、「朝鮮語の文法」の解説の一部です。
「-nim」を含む「朝鮮語の文法」の記事については、「朝鮮語の文法」の概要を参照ください。

ウィキペディア小見出し辞書の「nim」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「nim」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「nim」の関連用語

nimのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



nimのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 All Rights Reserved.
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのNim (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの朝鮮語の文法 (改訂履歴)、3DCGソフトウェア (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS