探検
nim
2018/03/01(木) 18:32:18.16ID:vh/yy2VS
2019/04/17(水) 21:27:30.51ID:TZqApRQS
雑魚コテハンは死ねや
49 ◆P0jSlC5fJs
2019/06/08(土) 18:55:31.57ID:TM/rrlxa2019/06/17(月) 03:05:34.50ID:7cCtTFkx
開発が止まっているLuaJITの代わりにこれを使いたい
2019/06/18(火) 05:06:07.86ID:DNE6sIuH
じゃ使えばいいじゃん。
52デフォルトの名無しさん
2019/06/18(火) 11:00:03.52ID:6YVmUs6+ nimがCにトランスパイルできるとしても
nimを通してクラス設計とかしたらその分のオーバーヘッドは残りますよね?
nimを通してクラス設計とかしたらその分のオーバーヘッドは残りますよね?
53デフォルトの名無しさん
2019/06/18(火) 12:35:30.19ID:1CtlGReK そもそもそういう用途じゃない
54デフォルトの名無しさん
2019/06/18(火) 12:45:57.35ID:6YVmUs6+ どういうことですか?
C並の性能を出すためにあるものではないと?
Nimでカーネルを書くとか無理なのかなーと思ってたんですが
実際やるわけじゃないけど、いまのところ
C並の性能を出すためにあるものではないと?
Nimでカーネルを書くとか無理なのかなーと思ってたんですが
実際やるわけじゃないけど、いまのところ
55デフォルトの名無しさん
2019/06/18(火) 12:48:21.44ID:1CtlGReK C++でカーネル書いたひとはいるね
56デフォルトの名無しさん
2019/06/18(火) 14:22:47.46ID:6YVmUs6+ 実際Linuxカーネルのコードは疑似OOPだみたいな説明を見かけたので
NimやC++で書いても良いのかもしれない。
個人的にCへのトランスパイラとしてのNimにひじょーに興味がある
NimやC++で書いても良いのかもしれない。
個人的にCへのトランスパイラとしてのNimにひじょーに興味がある
57デフォルトの名無しさん
2019/06/18(火) 14:25:52.94ID:6YVmUs6+ https://forum.nim-lang.org/t/2261
>So let's say that implementing your game in Nim instead of C++ means 20% larger binary sizes, 20% more RAM usage, and 20% more CPU/GPU usage.
NimよりC++の方が速いって言ってる。
ベンチだと真逆なのに
>So let's say that implementing your game in Nim instead of C++ means 20% larger binary sizes, 20% more RAM usage, and 20% more CPU/GPU usage.
NimよりC++の方が速いって言ってる。
ベンチだと真逆なのに
58デフォルトの名無しさん
2019/06/18(火) 14:44:50.57ID:6YVmUs6+ 続き読んだら他の人が否定してた
59デフォルトの名無しさん
2019/06/19(水) 01:56:19.31ID:8qBvJS/J nimはgcを使っている。でもCへのトランスパイルができる。
gcということはメモリ解放が暗黙的ということだろう。
Cでは明示的に解放する必要がある。
どうやって解放タイミングを調べてるんだ?
GC言語から非GC言語へのトランスパイルがなぜ可能なのか?
gcということはメモリ解放が暗黙的ということだろう。
Cでは明示的に解放する必要がある。
どうやって解放タイミングを調べてるんだ?
GC言語から非GC言語へのトランスパイルがなぜ可能なのか?
60デフォルトの名無しさん
2019/06/19(水) 02:09:28.92ID:8qBvJS/J var name: string = readLine(stdin)
なんでvarと書きつつstringと型指定するのか
変な言語仕様だな
string name =
でいいだろ
なんでvarと書きつつstringと型指定するのか
変な言語仕様だな
string name =
でいいだろ
61デフォルトの名無しさん
2019/06/19(水) 02:10:39.50ID:8qBvJS/J var name = readLine(stdin)
型推論だっていってるけどこれ可読性低下してる
string name = readLine(stdin)
これがベスト
型推論だっていってるけどこれ可読性低下してる
string name = readLine(stdin)
これがベスト
62デフォルトの名無しさん
2019/06/19(水) 02:52:19.54ID:8qBvJS/J nimでデバドラ作ったりできるんだろうか
63デフォルトの名無しさん
2019/06/19(水) 02:57:44.38ID:8qBvJS/J https://forum.nim-lang.org/t/2541
Nim also can produce a program that will be put in an embedded system. In such environment, usually there is no OS or only primitive OS, and Nim produced program have higher chances to access hardware directly.
できそうだ
Nimは流行りそうな気がする
なんで組み込みでC++なんか使ってるんだ
Nim also can produce a program that will be put in an embedded system. In such environment, usually there is no OS or only primitive OS, and Nim produced program have higher chances to access hardware directly.
できそうだ
Nimは流行りそうな気がする
なんで組み込みでC++なんか使ってるんだ
64デフォルトの名無しさん
2019/06/19(水) 04:14:19.61ID:8qBvJS/J https://forum.nim-lang.org/t/3223
>Basically, 10 OS for 10 CPUs would contain 100 sets of C source code, that get bundled up over in csources.git
どうやらNimが適切なCソースコードを作成するには
ターゲットのCPUとOSを指定する必要があり、
その組み合わせ全てに何かファイルを用意する必要がある。
これじゃダメだな・・・
>Basically, 10 OS for 10 CPUs would contain 100 sets of C source code, that get bundled up over in csources.git
どうやらNimが適切なCソースコードを作成するには
ターゲットのCPUとOSを指定する必要があり、
その組み合わせ全てに何かファイルを用意する必要がある。
これじゃダメだな・・・
65デフォルトの名無しさん
2019/06/19(水) 04:24:41.25ID:8qBvJS/J 勘違いした。ダメってことはないか
Nimコード自体は環境非依存、Cコードにするとき環境依存、ということか
Nimコード自体は環境非依存、Cコードにするとき環境依存、ということか
66デフォルトの名無しさん
2019/06/19(水) 14:31:42.44ID:Yoy0IPRe LLVMω
67デフォルトの名無しさん
2019/06/21(金) 05:13:28.08ID:gJOJvtBY Nimってめちゃすごなんじゃないかなあ
細かい言語仕様で嫌いなところがあるけど
細かい言語仕様で嫌いなところがあるけど
68デフォルトの名無しさん
2019/06/21(金) 14:29:00.17ID:HK0kbqVP 漏れも D がすごいと思ってた時期があるよ
69デフォルトの名無しさん
2019/06/21(金) 14:55:07.18ID:GHyPzIJc70デフォルトの名無しさん
2019/06/22(土) 05:26:38.53ID:ecTKxvDL https://nim-lang.org/
The Nim compiler and the generated executables support all major platforms like Windows, Linux, BSD and Mac OS X.
executablesは機械語?Cコード?
いずれにせよ環境依存してると思うけど、大抵のプラットフォームをサポートしてます、ってどういうこと?
大抵のプラットフォームに向けてトランスパイルできますってこと?
The Nim compiler and the generated executables support all major platforms like Windows, Linux, BSD and Mac OS X.
executablesは機械語?Cコード?
いずれにせよ環境依存してると思うけど、大抵のプラットフォームをサポートしてます、ってどういうこと?
大抵のプラットフォームに向けてトランスパイルできますってこと?
71デフォルトの名無しさん
2019/06/22(土) 09:58:00.49ID:fiI8bn9U You Nim で Tensorflow が使えるアプリ造っchina YO
2019/06/24(月) 09:23:40.70ID:4pk2usGN
>>69
var name : string = readLine(stdin)
#nameは変更可能
let name : string = readLine(stdin)
#nameは初期化後は変更不可
というletとvarに違いがある。
型推論使ったほうがコード読みやすい、書きやすいという人もいるんだよ。
readLineの戻り値の型はstringに決まってるんだから毎回型を書く必要ないと思うけど
var name : string = readLine(stdin)
#nameは変更可能
let name : string = readLine(stdin)
#nameは初期化後は変更不可
というletとvarに違いがある。
型推論使ったほうがコード読みやすい、書きやすいという人もいるんだよ。
readLineの戻り値の型はstringに決まってるんだから毎回型を書く必要ないと思うけど
2019/06/24(月) 09:43:12.98ID:4pk2usGN
>>70
NimはC言語に変換してからgcc等のCコンパイラを呼んで実行ファイルを作るんだよ。
C言語は大抵のプラットフォームで使える言語だからマルチプラットフォーム化しやすい。
なので一度書いたNimコードをそれぞれのプラットフォーム上でコンパイルするかクロスコンパイルするだけでだいたいは動く。
けどNimから出力されるCコードは特定のCコンパイラ、OS、CPU向けに書かれているので、それだけでマルチプラットフォームな実行ファイルは作れないらしい。
Nimの標準ライブラリのソースコードを読むとOS、CPUによる違いを吸収するためのコードがときどきあるよ。
NimはC言語に変換してからgcc等のCコンパイラを呼んで実行ファイルを作るんだよ。
C言語は大抵のプラットフォームで使える言語だからマルチプラットフォーム化しやすい。
なので一度書いたNimコードをそれぞれのプラットフォーム上でコンパイルするかクロスコンパイルするだけでだいたいは動く。
けどNimから出力されるCコードは特定のCコンパイラ、OS、CPU向けに書かれているので、それだけでマルチプラットフォームな実行ファイルは作れないらしい。
Nimの標準ライブラリのソースコードを読むとOS、CPUによる違いを吸収するためのコードがときどきあるよ。
2019/06/24(月) 09:53:12.36ID:4pk2usGN
Nimのソースコードのcompiler/extccomp.nimにNimが対応しているC/C++コンパイラの情報がまとまっていて、compiler/platform.nimにはOSとCPUの情報がまとまってる。
75デフォルトの名無しさん
2019/06/24(月) 11:40:11.26ID:eHWTfFeZ2019/06/24(月) 15:58:18.33ID:4pk2usGN
>>59
NimのGCについてはここに情報がある。
メモリ確保時にいらなくなったメモリを走査して解放しているらしい。
https://nim-lang.org/docs/gc.html
NimでGCを使わずにメモリ管理する話もある。
https://github.com/nim-lang/Nim/wiki/Destructors,-2nd-edition
>>71
Nimで実装されたTensorflowに相当するらしいlibrary
https://github.com/mratsim/Arraymancer
NimのGCについてはここに情報がある。
メモリ確保時にいらなくなったメモリを走査して解放しているらしい。
https://nim-lang.org/docs/gc.html
NimでGCを使わずにメモリ管理する話もある。
https://github.com/nim-lang/Nim/wiki/Destructors,-2nd-edition
>>71
Nimで実装されたTensorflowに相当するらしいlibrary
https://github.com/mratsim/Arraymancer
2019/08/11(日) 11:51:35.55ID:coNgBae3
2次元配列って、
var a: array[10,array[10,int]] とか書くしかないの?
var a: array[10,array[10,int]] とか書くしかないの?
78デフォルトの名無しさん
2019/09/24(火) 21:02:48.66ID:WLUvX9Jg nim1.0でた〜〜
2019/09/25(水) 05:43:15.78ID:rQhNlpv9
Version 1.0 released
23 September 2019 The Nim Team
https://nim-lang.org/blog/2019/09/23/version-100-released.html
Nim Programming Language Hits Stable Milestone With v1.0 Release
https://www.phoronix.com/scan.php?page=news_item&px=Nim-1.0-Programming-Language
23 September 2019 The Nim Team
https://nim-lang.org/blog/2019/09/23/version-100-released.html
Nim Programming Language Hits Stable Milestone With v1.0 Release
https://www.phoronix.com/scan.php?page=news_item&px=Nim-1.0-Programming-Language
80デフォルトの名無しさん
2019/09/25(水) 06:16:02.11ID:vl5hNqVG ついでにwandboxのnim
ttps://wandbox.org/permlink/npG9hbKwZyKQTXgI?source=post_page-----5d0f58d21e7e----------------------
ttps://wandbox.org/permlink/npG9hbKwZyKQTXgI?source=post_page-----5d0f58d21e7e----------------------
81デフォルトの名無しさん
2019/09/25(水) 10:58:52.25ID:U8qLrE8v GJ
2019/09/26(木) 04:03:18.19ID:9xzqPVF9
1.0おめでとう!
ちなみに
echo NimVersion
echo(NimVersion)
NimVersion.echo
は同じ意味のコードだよ。Uniform Function Call Syntaxってやつだ
ちなみに
echo NimVersion
echo(NimVersion)
NimVersion.echo
は同じ意味のコードだよ。Uniform Function Call Syntaxってやつだ
83デフォルトの名無しさん
2019/10/27(日) 16:17:57.05ID:IkTaChA0 windows 10
Nim 1.0.2 入れてみた
tdmgcc は前から使ってて gcc は既に path 通してあったので
nim 側はファイル展開しただけで何もしなくても良かった
(nim.cfg の書き換え(書き足し)も不要だった)
path 通さなくても
C:\nim\bin\nim c hogehoge
で動いた
Nim 1.0.2 入れてみた
tdmgcc は前から使ってて gcc は既に path 通してあったので
nim 側はファイル展開しただけで何もしなくても良かった
(nim.cfg の書き換え(書き足し)も不要だった)
path 通さなくても
C:\nim\bin\nim c hogehoge
で動いた
84デフォルトの名無しさん
2019/10/27(日) 16:18:39.88ID:IkTaChA0 あと
日本語の参考書籍ってなんか出てる?
Nim in Action とかはどうだった?
日本語の参考書籍ってなんか出てる?
Nim in Action とかはどうだった?
2019/10/30(水) 20:48:12.27ID:obI8HGMc
>>83
最近のは勝手に gcc 入れてくれるよ。
最近のは勝手に gcc 入れてくれるよ。
86デフォルトの名無しさん
2019/11/06(水) 15:17:56.57ID:o3tEvZiY HANDLEもこっそりtypedefに_PTR変えたんだっけ
87デフォルトの名無しさん
2019/11/06(水) 15:20:05.05ID:o3tEvZiY 誤爆った
88デフォルトの名無しさん
2019/11/09(土) 00:06:35.30ID:LGMQokS+2019/11/09(土) 03:28:50.22ID:fORTWFTH
https://wandbox.org/
こちらでもNim使えますよ。
こちらでもNim使えますよ。
2019/11/10(日) 11:17:11.92ID:ddnKE8WS
>>85
distフォルダにmingwの7z玉入れておけば、オフラインでのインストールもできるね。
distフォルダにmingwの7z玉入れておけば、オフラインでのインストールもできるね。
2019/11/10(日) 11:25:43.54ID:ddnKE8WS
>>84
日本語の書籍はないが、原著のドキュメントは割とわかりやすい。docs/tut1.htmlから読み始めるといいかもしれない。
NIAは評判が良いらしいのと、製本版を買うと電子書籍版が無料で付いてくるらしい。
国内でのNimの翻訳は有志が約二名ほど作業しているが、まだ始まったばかり。時間かかりそうだね。
日本語の書籍はないが、原著のドキュメントは割とわかりやすい。docs/tut1.htmlから読み始めるといいかもしれない。
NIAは評判が良いらしいのと、製本版を買うと電子書籍版が無料で付いてくるらしい。
国内でのNimの翻訳は有志が約二名ほど作業しているが、まだ始まったばかり。時間かかりそうだね。
92デフォルトの名無しさん
2019/11/18(月) 09:38:29.23ID:ahZzeXy3 DLLのCの関数を呼ぶ方法はいくつかあるようですが
なぜいくつもあるのでしょうか?
どれが一番効率が良いのかとか新しいのかとか判りにくい
なぜいくつもあるのでしょうか?
どれが一番効率が良いのかとか新しいのかとか判りにくい
2019/11/18(月) 15:24:43.91ID:g/bdYEbz
単純にdll内の関数を呼びたいならdynlibプラグマを使うのが一番楽。
少し低レベルな機能が必要ならdynlibモジュウルにあるプロシイジャアを使えばいいんじゃなかろうか
少し低レベルな機能が必要ならdynlibモジュウルにあるプロシイジャアを使えばいいんじゃなかろうか
94デフォルトの名無しさん
2019/11/18(月) 17:09:32.08ID:wQWkNxVm 成る程。
2019/12/10(火) 23:17:13.67ID:DeryhXpR
nimに対応したソースコード可視化ツールってある?
96デフォルトの名無しさん
2019/12/12(木) 17:09:11.38ID:Lo+C9eAO nimってあまりかっこよくないね
2019/12/13(金) 23:01:47.25ID:sYt6sihU
Cにコンパイルしてからコード解析ツールに。
98デフォルトの名無しさん
2020/03/25(水) 04:10:40.05ID:k6zngd1F nimコードはトランスパイルする前ならクロスプラットフォームなんだろうか?
99デフォルトの名無しさん
2020/03/27(金) 15:59:22.92ID:6mKroLAz こんないい言語なのに結局欠点はCに依存してる点
100デフォルトの名無しさん
2020/03/27(金) 16:10:13.08ID:9RtDMjhb あんまり本出ないね
むしろチャンスか
むしろチャンスか
101デフォルトの名無しさん
2020/03/27(金) 22:55:09.53ID:2CmTFgv1 あの糞マクロ以外大して面白みのない言語だしなぁ
102デフォルトの名無しさん
2020/04/07(火) 05:01:02.90ID:FPXvnSDp 逆にマクロの完成度高い言語ってなに?
103デフォルトの名無しさん
2020/04/07(火) 07:46:31.57ID:CJzGmfMl common LISP
104デフォルトの名無しさん
2020/04/07(火) 14:00:10.17ID:izX7gbjy Schemeは?
105デフォルトの名無しさん
2020/04/07(火) 19:47:26.61ID:fJ0U2d01 nimのマクロは完成度高いと思う。でも完成度高いマクロという存在自体が糞。
106デフォルトの名無しさん
2020/04/08(水) 12:06:55.28ID:lWfV0IAd MACRO-80
107デフォルトの名無しさん
2020/04/10(金) 23:13:42.18ID:mN42vwgW108デフォルトの名無しさん
2020/04/10(金) 23:14:33.21ID:mN42vwgW >>101>>105が同じってことだろ
common lispなんてはるかに糞になるし
common lispなんてはるかに糞になるし
109デフォルトの名無しさん
2020/04/10(金) 23:15:34.44ID:mN42vwgW マクロならrustのが定評あると思うが
110デフォルトの名無しさん
2020/09/19(土) 22:27:13.04ID:9NR8PjVh 小数の配列作りたいんだけどやり方教えてください。
[0.0, 0.1, .. 0.9, 1.0] みたいな。
Python なら hoge = [i/10 for i in range(11)] かな。気持ち悪いけど。
[0.0, 0.1, .. 0.9, 1.0] みたいな。
Python なら hoge = [i/10 for i in range(11)] かな。気持ち悪いけど。
111デフォルトの名無しさん
2020/09/22(火) 12:29:56.17ID:w8JrpHTT lc[i*0.1 | i<-0..10 ]
112デフォルトの名無しさん
2021/01/10(日) 21:59:51.09ID:HIznKotv >>69
var name = readLine stdin
var name = stdin.readLine
で完結してるよ、型推論で>>72にも言った通り型を何回も書く意味がない。付け加えれば()カッコも
要らない。第一引数クロージャーのラムダ式で言えばカッコが必要ないのに書く意味が無い。そして
varとletとは不変性だが、rustやVの様にたかがGCを搭載したく無いだけで、どこでもmut mutして
プログラマに負担を強いるより良い(あくまで個人の感想です)
さらに、procとfuncも、片方が純関数なのはキーワードとして明示できる統一性としてありだね。
まあpragmaが多すぎる気もするけど、if likely(true)/unlikely(false)の様にCPUキャッシュ分岐予測に
直接関与出来る高級言語としては、他に類を見ない。GCが嫌ならOFFに出来るし、そして重い
Stop the Worldが嫌ならそれをしないGCに変えることが出来る、言語としては機能が多くて
Goの様に究極なシンプル(なのに統一性が微妙)じゃ無いけど、こりゃ良いわ
var name = stdin.read LineEnum
var name = readLine stdin
var name = stdin.readLine
で完結してるよ、型推論で>>72にも言った通り型を何回も書く意味がない。付け加えれば()カッコも
要らない。第一引数クロージャーのラムダ式で言えばカッコが必要ないのに書く意味が無い。そして
varとletとは不変性だが、rustやVの様にたかがGCを搭載したく無いだけで、どこでもmut mutして
プログラマに負担を強いるより良い(あくまで個人の感想です)
さらに、procとfuncも、片方が純関数なのはキーワードとして明示できる統一性としてありだね。
まあpragmaが多すぎる気もするけど、if likely(true)/unlikely(false)の様にCPUキャッシュ分岐予測に
直接関与出来る高級言語としては、他に類を見ない。GCが嫌ならOFFに出来るし、そして重い
Stop the Worldが嫌ならそれをしないGCに変えることが出来る、言語としては機能が多くて
Goの様に究極なシンプル(なのに統一性が微妙)じゃ無いけど、こりゃ良いわ
var name = stdin.read LineEnum
113デフォルトの名無しさん
2021/01/10(日) 22:14:35.92ID:HIznKotv 付け加えるとHaskellみたいなproc() = の宣言が微妙キモいけどfunc(): T =があるから、まあ妥当だね
rubyの様なreturnを書かないのは良い。result=xは便利だけど微妙....でそこまでやるならOptionと
Future、そして例外を統一して欲しかったな。
普通にtry: except: finally:があるのも点数が高い。Araqが言う様に例外と(Label)goto based exceptは
ほとんど同じ何だから、今どきの言語が例外が無いのはおかしい。まあ他を悪く言う気はないけど
Goの様に意味合い的に同じでfinallyに対応するdeferがあるのも良いよね
rubyの様なreturnを書かないのは良い。result=xは便利だけど微妙....でそこまでやるならOptionと
Future、そして例外を統一して欲しかったな。
普通にtry: except: finally:があるのも点数が高い。Araqが言う様に例外と(Label)goto based exceptは
ほとんど同じ何だから、今どきの言語が例外が無いのはおかしい。まあ他を悪く言う気はないけど
Goの様に意味合い的に同じでfinallyに対応するdeferがあるのも良いよね
114デフォルトの名無しさん
2021/01/12(火) 15:33:30.76ID:LUlB/OIG 超時空ロングパス
115デフォルトの名無しさん
2021/01/12(火) 15:57:17.72ID:kyPiY518 この言語がJsと比較で優れてる点ってあるの?
116デフォルトの名無しさん
2021/01/13(水) 08:29:44.80ID:oKh8381v JavaScript?であれば、JavaScriptはECMAScriptのバージョンとともに型無しのダックタイプから
クラス定義で見られるように型を導入して大規模コードを書く際に静的な安全性を求めてきた、
言語的な特徴でもあった動的なメソッド上書きやapply/callは悪とみなされつつ、改良が進む。
TypeScriptもその特徴であろう、altJSあるいはJSX派生と呼ばれる一種の方言が多量に誕生した
一方でJavaScriptの遅さや1言語依存からwasmが考え出されて多くのコンパイラでwasm開発が
できるようになった。Nimも例に漏れずJSバックエンド及びwasmコンパイルが可能である。
Rustもwasm開発はそうだがJSバックエンドは無い、Goもwasmは出来るがサイズが大きい
NimはGoに比べても型チェックが厳しい、Rustはそれに借用いわゆるボローチェックがそれに
加わるRustもそうだが型安全性はばつぐんだ
クラス定義で見られるように型を導入して大規模コードを書く際に静的な安全性を求めてきた、
言語的な特徴でもあった動的なメソッド上書きやapply/callは悪とみなされつつ、改良が進む。
TypeScriptもその特徴であろう、altJSあるいはJSX派生と呼ばれる一種の方言が多量に誕生した
一方でJavaScriptの遅さや1言語依存からwasmが考え出されて多くのコンパイラでwasm開発が
できるようになった。Nimも例に漏れずJSバックエンド及びwasmコンパイルが可能である。
Rustもwasm開発はそうだがJSバックエンドは無い、Goもwasmは出来るがサイズが大きい
NimはGoに比べても型チェックが厳しい、Rustはそれに借用いわゆるボローチェックがそれに
加わるRustもそうだが型安全性はばつぐんだ
117デフォルトの名無しさん
2021/01/14(木) 18:15:15.39ID:ZgCcmsal jsって割と底辺だと思うから
Nimはそれより上だろ
Nimはそれより上だろ
118デフォルトの名無しさん
2021/02/25(木) 19:45:58.25ID:twDFYCAL 1.4.4 age
119デフォルトの名無しさん
2021/04/17(土) 20:22:19.25ID:f1G9K9An 1.4.6 age
120デフォルトの名無しさん
2021/04/30(金) 20:42:36.52ID:+hB3gYz3 Windows defenderでウイルス判定される
121デフォルトの名無しさん
2021/05/01(土) 12:24:15.54ID:afQILYPs それはどうしようもない
https://forum.nim-lang.org/t/7830
https://forum.nim-lang.org/t/7830
122デフォルトの名無しさん
2021/05/10(月) 13:57:34.01ID:FH4+0Y9S 頼むからもう少し流行ってください。Dropトレイト、Rcトレイトと戯れてあいつのコードを直したくない
123デフォルトの名無しさん
2021/05/10(月) 15:07:45.08ID:lCZGOQhN 明日に向かって吠えろ
124デフォルトの名無しさん
2021/05/13(木) 14:29:40.54ID:pHijDXLB Software Design に記事持ち込め
125デフォルトの名無しさん
2021/05/15(土) 12:35:34.04ID:eYtIld1h126デフォルトの名無しさん
2021/05/19(水) 07:49:19.67ID:mvJC2+U+ 2015年2月なんて大昔だろ…Version 0.11頃の話、貼る奴w
127デフォルトの名無しさん
2021/05/19(水) 07:53:15.04ID:mvJC2+U+ 間違えた。
2月だから0.11さえ出てないわ、0.10.2…
2月だから0.11さえ出てないわ、0.10.2…
128デフォルトの名無しさん
2021/05/26(水) 22:06:31.04ID:5a/xy4zx >>120-122
バージョン1.4.8がリリースされました
2021年5月25日ニムチーム
Nimチームは、Nim1.4の4番目のパッチリリースであるバージョン1.4.8を発表できることを
嬉しく思います。バージョン1.4.8は、1か月のハードワークの結果であり、23のコミットが
含まれており、最も重要なバグが修正され、ORCメモリ管理がさらに改善されています。
すべてのユーザーにバージョン1.4.8をアップグレードして使用することをお勧めします。
リリースのハイライト
develブランチと同様に、v1.4.8はcsources_v1を使用して構築されています。つまり、
AppleM1チップで使用できます。
バージョン1.4.6は、いくつかのウイルス対策ソフトウェアでいくつかの誤検知を引き
起こしました。私たちのテストによると、これはv1.4.8では発生しないはずです。
バージョン1.4.8がリリースされました
2021年5月25日ニムチーム
Nimチームは、Nim1.4の4番目のパッチリリースであるバージョン1.4.8を発表できることを
嬉しく思います。バージョン1.4.8は、1か月のハードワークの結果であり、23のコミットが
含まれており、最も重要なバグが修正され、ORCメモリ管理がさらに改善されています。
すべてのユーザーにバージョン1.4.8をアップグレードして使用することをお勧めします。
リリースのハイライト
develブランチと同様に、v1.4.8はcsources_v1を使用して構築されています。つまり、
AppleM1チップで使用できます。
バージョン1.4.6は、いくつかのウイルス対策ソフトウェアでいくつかの誤検知を引き
起こしました。私たちのテストによると、これはv1.4.8では発生しないはずです。
129デフォルトの名無しさん
2021/06/24(木) 16:12:27.31ID:IeJQfUil なんか結局流行らなかったな
2019ごろはちょっと来そうな雰囲気出してたのに
2019ごろはちょっと来そうな雰囲気出してたのに
130デフォルトの名無しさん
2021/06/24(木) 16:13:02.76ID:IeJQfUil 今でも一番書いてて気持ちいい言語ではあるけど
131デフォルトの名無しさん
2021/06/24(木) 17:25:26.02ID:70oiT5zZ Luaといい勝負?
132デフォルトの名無しさん
2021/06/27(日) 14:10:40.69ID:YLAmOs9U Luaの理念は、簡素、高効率、高移植性(simple, efficient, extensible)、現在はpowerfulとかに変えた。
JITもあるが型の概念が希薄で基本はNativeではない。GCあり、プロトタイプベースのOOPSもC/C++の
相互運用も図られているが、主な用途は本体のプログラムを拡張するスクリプト、ゲームの拡張や
3Dモデリングソフトなどの拡張。
一方、Nimは「Efficient, expressive, elegant」(効率的、表現力豊か、エレガント)であり、型は厳格。
関数、あるいはプロシージャ呼び出しも厳密。Goにあるinterface{}のようなものは無く、Cというか
リンケージ指定、オブジェクトコピー方法、インライン展開など明示するような言語と一体化されたプラグマ。
言語と一体化されたマクロ・テンプレート。状況で選べるGC、例外try-catchとdeferを全否定をしない。
RustのようにGCを排除したためプログラマに押し付けた借用チェックは無い。
Goよりも小さくて速いGC、それによる速度低下は最小限、Rustは学ぶ価値が確かにあるが非常に高い敷居。
Nimは非常に低い敷居(Goほどではないが)、表現力はC/C++そのもの、限りなく抑え込まれたタイプ量。
JITもあるが型の概念が希薄で基本はNativeではない。GCあり、プロトタイプベースのOOPSもC/C++の
相互運用も図られているが、主な用途は本体のプログラムを拡張するスクリプト、ゲームの拡張や
3Dモデリングソフトなどの拡張。
一方、Nimは「Efficient, expressive, elegant」(効率的、表現力豊か、エレガント)であり、型は厳格。
関数、あるいはプロシージャ呼び出しも厳密。Goにあるinterface{}のようなものは無く、Cというか
リンケージ指定、オブジェクトコピー方法、インライン展開など明示するような言語と一体化されたプラグマ。
言語と一体化されたマクロ・テンプレート。状況で選べるGC、例外try-catchとdeferを全否定をしない。
RustのようにGCを排除したためプログラマに押し付けた借用チェックは無い。
Goよりも小さくて速いGC、それによる速度低下は最小限、Rustは学ぶ価値が確かにあるが非常に高い敷居。
Nimは非常に低い敷居(Goほどではないが)、表現力はC/C++そのもの、限りなく抑え込まれたタイプ量。
133デフォルトの名無しさん
2021/06/27(日) 20:05:41.95ID:ytkGpeVG そんなにヒドいかな?
134デフォルトの名無しさん
2021/08/21(土) 08:23:43.68ID:7GAoG1Iq Nimにガベージコレクション(GC)有りは事実なのですが、
NimはオプションでGC無しにできるので、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証する
ことによってメモリ安全性を保証しつつ高速化して
C/C++/Rustの代替に出来ますか?
NimはオプションでGC無しにできるので、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証する
ことによってメモリ安全性を保証しつつ高速化して
C/C++/Rustの代替に出来ますか?
135デフォルトの名無しさん
2021/08/21(土) 08:47:50.25ID:7GAoG1Iq136デフォルトの名無しさん
2021/08/21(土) 22:20:40.33ID:7GAoG1Iq Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
137デフォルトの名無しさん
2021/08/22(日) 08:04:08.99ID:0Cz6ueFz Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
138デフォルトの名無しさん
2021/10/02(土) 12:07:48.96ID:nsqRCPBa139デフォルトの名無しさん
2021/10/27(水) 21:47:06.11ID:6tzLPjk/ const str = [0, 1, 2, 3, 4]
for i in 0||str.high: echo str[i]
# nim --passC:"-fopenmp" --passL:"-fopenmp" c main.nim
for i in 0||str.high: echo str[i]
# nim --passC:"-fopenmp" --passL:"-fopenmp" c main.nim
140デフォルトの名無しさん
2021/10/28(木) 12:20:10.25ID:hM84Yf/1 >>92
Cの関数だけでもいろいろなコンパイラーにより規約が違うから、ダイナミックなリンケージを非常に素直に
書ける言語はこれくらいだと思う。rustもFFIで呼べるけど
https://ja.wikipedia.org/wiki/呼出規約
Cの関数だけでもいろいろなコンパイラーにより規約が違うから、ダイナミックなリンケージを非常に素直に
書ける言語はこれくらいだと思う。rustもFFIで呼べるけど
https://ja.wikipedia.org/wiki/呼出規約
141デフォルトの名無しさん
2021/10/29(金) 07:15:01.84ID:pQzUwhXN Nim言語の開発者が$100k相当のBitcoinの寄付を受け取ったことが話題になっています。
www.reddit.com/r/programming/comments/qg2srd/nim_receives_100k_in_bitcoin_donations/
www.reddit.com/r/programming/comments/qg2srd/nim_receives_100k_in_bitcoin_donations/
142デフォルトの名無しさん
2021/11/11(木) 20:14:42.95ID:sY0aXUs3 >>99
公式での処理系は基本的にはC/C++のトランスコンパラですがJSのトランスコンパラとしても動作します。
言語的には依存している分けではなく、gccやclangの最適化の恩恵を受けるためにあえてそのようにして
いるようです。
また直接バイナリを吐き出す別のコンパイラarnetheduck/nlvmもあります。CrystalやRust、Swiftなどの
LLVMバックエンドと同じです。コンパイル時間を短縮しllvmバイナリとして僅かに小さくなります。
公式での処理系は基本的にはC/C++のトランスコンパラですがJSのトランスコンパラとしても動作します。
言語的には依存している分けではなく、gccやclangの最適化の恩恵を受けるためにあえてそのようにして
いるようです。
また直接バイナリを吐き出す別のコンパイラarnetheduck/nlvmもあります。CrystalやRust、Swiftなどの
LLVMバックエンドと同じです。コンパイル時間を短縮しllvmバイナリとして僅かに小さくなります。
143デフォルトの名無しさん
2021/11/22(月) 17:33:11.29 RustよりC++より速いんですか? 始めてみようかな
144デフォルトの名無しさん
2021/11/22(月) 20:36:44.15ID:Jhs76KRN いろんな意味で早いと思う
145デフォルトの名無しさん
2021/12/17(金) 19:10:05.51ID:XHqHc5Ln Version 1.6.2 released
https://nim-lang.org/blog/2021/12/17/version-162-released.html
https://nim-lang.org/blog/2021/12/17/version-162-released.html
146デフォルトの名無しさん
2022/02/10(木) 01:19:39.92ID:OVWQX5q0 Version 1.6.4 released
https://nim-lang.org/blog/2022/02/08/version-164-released.html
https://nim-lang.org/blog/2022/02/08/version-164-released.html
147デフォルトの名無しさん
2022/03/29(火) 04:55:27.78ID:cbyFlglW 1.6.x系だけDLしようとするとマルウェア警告出るんだけどこれ大丈夫なんかね
148デフォルトの名無しさん
2022/03/29(火) 14:58:47.55ID:mXbypgy+ Nimの公式サイトから入手したものなら大丈夫なはず。
Nimに含まれている実行ファイルやNimでコンパイルしたプログラムがアンチウィルスソフトウェアに誤検出される問題は多くの人々から報告されている。
Nim言語でマルウェアを書いてる人がいるせいで誤検出さるようになったらしい。
アンチウィルスソフトウェアは悪いことしないプログラムでもマルウェアと似たようなビットパターンを見つけるとマルウェアとみなすっぽい。
Nimに含まれている実行ファイルやNimでコンパイルしたプログラムがアンチウィルスソフトウェアに誤検出される問題は多くの人々から報告されている。
Nim言語でマルウェアを書いてる人がいるせいで誤検出さるようになったらしい。
アンチウィルスソフトウェアは悪いことしないプログラムでもマルウェアと似たようなビットパターンを見つけるとマルウェアとみなすっぽい。
レスを投稿する
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【正論】玉木雄一郎「高市さんの答弁は米軍が攻撃を受けた場合を前提としており、撤回するのは難しい」特定野党を完全論破 [519511584]
- タイで中国人観光客が激減でもタイ人は大喜び、タイの人はネトウヨだった [605029151]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
