2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

nim

1 :デフォルトの名無しさん:2018/03/01(木) 18:32:18.16 ID:vh/yy2VS.net
https://nim-lang.org/

60 :デフォルトの名無しさん:2019/06/19(水) 02:09:28.92 ID:8qBvJS/J.net
var name: string = readLine(stdin)

なんでvarと書きつつstringと型指定するのか
変な言語仕様だな
string name =
でいいだろ

61 :デフォルトの名無しさん:2019/06/19(水) 02:10:39.50 ID:8qBvJS/J.net
var name = readLine(stdin)

型推論だっていってるけどこれ可読性低下してる
string name = readLine(stdin)
これがベスト

62 :デフォルトの名無しさん:2019/06/19(水) 02:52:19.54 ID:8qBvJS/J.net
nimでデバドラ作ったりできるんだろうか

63 :デフォルトの名無しさん:2019/06/19(水) 02:57:44.38 ID:8qBvJS/J.net
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++なんか使ってるんだ

64 :デフォルトの名無しさん:2019/06/19(水) 04:14:19.61 ID:8qBvJS/J.net
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を指定する必要があり、
その組み合わせ全てに何かファイルを用意する必要がある。

これじゃダメだな・・・

65 :デフォルトの名無しさん:2019/06/19(水) 04:24:41.25 ID:8qBvJS/J.net
勘違いした。ダメってことはないか
Nimコード自体は環境非依存、Cコードにするとき環境依存、ということか

66 :デフォルトの名無しさん:2019/06/19(水) 14:31:42.44 ID:Yoy0IPRe.net
LLVMω

67 :デフォルトの名無しさん:2019/06/21(金) 05:13:28.08 ID:gJOJvtBY.net
Nimってめちゃすごなんじゃないかなあ
細かい言語仕様で嫌いなところがあるけど

68 :デフォルトの名無しさん:2019/06/21(金) 14:29:00.17 ID:HK0kbqVP.net
漏れも D がすごいと思ってた時期があるよ

69 :デフォルトの名無しさん:2019/06/21(金) 14:55:07.18 ID:GHyPzIJc.net
>>61
name : string := readLine(stdin)
のほうがいい。

70 :デフォルトの名無しさん:2019/06/22(土) 05:26:38.53 ID:ecTKxvDL.net
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コード?
いずれにせよ環境依存してると思うけど、大抵のプラットフォームをサポートしてます、ってどういうこと?
大抵のプラットフォームに向けてトランスパイルできますってこと?

71 :デフォルトの名無しさん:2019/06/22(土) 09:58:00.49 ID:fiI8bn9U.net
You Nim で Tensorflow が使えるアプリ造っchina YO

72 :デフォルトの名無しさん:2019/06/24(月) 09:23:40.70 ID:4pk2usGN.net
>>69
var name : string = readLine(stdin)
#nameは変更可能
let name : string = readLine(stdin)
#nameは初期化後は変更不可
というletとvarに違いがある。
型推論使ったほうがコード読みやすい、書きやすいという人もいるんだよ。
readLineの戻り値の型はstringに決まってるんだから毎回型を書く必要ないと思うけど

73 :デフォルトの名無しさん:2019/06/24(月) 09:43:12.98 ID:4pk2usGN.net
>>70
NimはC言語に変換してからgcc等のCコンパイラを呼んで実行ファイルを作るんだよ。
C言語は大抵のプラットフォームで使える言語だからマルチプラットフォーム化しやすい。
なので一度書いたNimコードをそれぞれのプラットフォーム上でコンパイルするかクロスコンパイルするだけでだいたいは動く。
けどNimから出力されるCコードは特定のCコンパイラ、OS、CPU向けに書かれているので、それだけでマルチプラットフォームな実行ファイルは作れないらしい。
Nimの標準ライブラリのソースコードを読むとOS、CPUによる違いを吸収するためのコードがときどきあるよ。

74 :デフォルトの名無しさん:2019/06/24(月) 09:53:12.36 ID:4pk2usGN.net
Nimのソースコードのcompiler/extccomp.nimにNimが対応しているC/C++コンパイラの情報がまとまっていて、compiler/platform.nimにはOSとCPUの情報がまとまってる。

75 :デフォルトの名無しさん:2019/06/24(月) 11:40:11.26 ID:eHWTfFeZ.net
https://github.com/nim-lang/Nim/blob/devel/compiler/extccomp.nim
https://github.com/nim-lang/Nim/blob/devel/compiler/platform.nim
https://github.com/nim-lang/Nim/wiki/Consts-defined-by-the-compiler

76 :デフォルトの名無しさん:2019/06/24(月) 15:58:18.33 ID:4pk2usGN.net
>>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

77 :デフォルトの名無しさん:2019/08/11(日) 11:51:35.55 ID:coNgBae3.net
2次元配列って、
var a: array[10,array[10,int]] とか書くしかないの?

78 :デフォルトの名無しさん:2019/09/24(火) 21:02:48.66 ID:WLUvX9Jg.net
nim1.0でた〜〜

79 :デフォルトの名無しさん:2019/09/25(水) 05:43:15.78 ID:rQhNlpv9.net
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

80 :デフォルトの名無しさん:2019/09/25(水) 06:16:02.11 ID:vl5hNqVG.net
ついでにwandboxのnim
ttps://wandbox.org/permlink/npG9hbKwZyKQTXgI?source=post_page-----5d0f58d21e7e----------------------

81 :デフォルトの名無しさん:2019/09/25(水) 10:58:52.25 ID:U8qLrE8v.net
GJ

82 :デフォルトの名無しさん:2019/09/26(木) 04:03:18.19 ID:9xzqPVF9.net
1.0おめでとう!
ちなみに

echo NimVersion
echo(NimVersion)
NimVersion.echo

は同じ意味のコードだよ。Uniform Function Call Syntaxってやつだ

83 :デフォルトの名無しさん:2019/10/27(日) 16:17:57.05 ID:IkTaChA0.net
windows 10
Nim 1.0.2 入れてみた
tdmgcc は前から使ってて gcc は既に path 通してあったので

nim 側はファイル展開しただけで何もしなくても良かった
(nim.cfg の書き換え(書き足し)も不要だった)
path 通さなくても
C:\nim\bin\nim c hogehoge
で動いた

84 :デフォルトの名無しさん:2019/10/27(日) 16:18:39.88 ID:IkTaChA0.net
あと
日本語の参考書籍ってなんか出てる?

Nim in Action とかはどうだった?

85 :デフォルトの名無しさん:2019/10/30(水) 20:48:12.27 ID:obI8HGMc.net
>>83
最近のは勝手に gcc 入れてくれるよ。

86 :デフォルトの名無しさん:2019/11/06(水) 15:17:56.57 ID:o3tEvZiY.net
HANDLEもこっそりtypedefに_PTR変えたんだっけ

87 :デフォルトの名無しさん:2019/11/06(水) 15:20:05.05 ID:o3tEvZiY.net
誤爆った

88 :デフォルトの名無しさん:2019/11/09(土) 00:06:35.30 ID:LGMQokS+.net
Nim playground
https://play.nim-lang.org/
次スレから>>1に入れといてよ

しかしver1到達したのに全然盛り上がらんのなお前ら

89 :デフォルトの名無しさん:2019/11/09(土) 03:28:50.22 ID:fORTWFTH.net
https://wandbox.org/
こちらでもNim使えますよ。

90 :デフォルトの名無しさん:2019/11/10(日) 11:17:11.92 ID:ddnKE8WS.net
>>85
distフォルダにmingwの7z玉入れておけば、オフラインでのインストールもできるね。

91 :デフォルトの名無しさん:2019/11/10(日) 11:25:43.54 ID:ddnKE8WS.net
>>84
日本語の書籍はないが、原著のドキュメントは割とわかりやすい。docs/tut1.htmlから読み始めるといいかもしれない。
NIAは評判が良いらしいのと、製本版を買うと電子書籍版が無料で付いてくるらしい。

国内でのNimの翻訳は有志が約二名ほど作業しているが、まだ始まったばかり。時間かかりそうだね。

92 :デフォルトの名無しさん:2019/11/18(月) 09:38:29.23 ID:ahZzeXy3.net
DLLのCの関数を呼ぶ方法はいくつかあるようですが
なぜいくつもあるのでしょうか?
どれが一番効率が良いのかとか新しいのかとか判りにくい

93 :デフォルトの名無しさん:2019/11/18(月) 15:24:43.91 ID:g/bdYEbz.net
単純にdll内の関数を呼びたいならdynlibプラグマを使うのが一番楽。
少し低レベルな機能が必要ならdynlibモジュウルにあるプロシイジャアを使えばいいんじゃなかろうか

94 :デフォルトの名無しさん:2019/11/18(月) 17:09:32.08 ID:wQWkNxVm.net
成る程。

95 :デフォルトの名無しさん:2019/12/10(火) 23:17:13.67 ID:DeryhXpR.net
nimに対応したソースコード可視化ツールってある?

96 :デフォルトの名無しさん:2019/12/12(木) 17:09:11.38 ID:Lo+C9eAO.net
nimってあまりかっこよくないね

97 :デフォルトの名無しさん:2019/12/13(金) 23:01:47.25 ID:sYt6sihU.net
Cにコンパイルしてからコード解析ツールに。

98 :デフォルトの名無しさん:2020/03/25(水) 04:10:40.05 ID:k6zngd1F.net
nimコードはトランスパイルする前ならクロスプラットフォームなんだろうか?

99 :デフォルトの名無しさん:2020/03/27(金) 15:59:22 ID:6mKroLAz.net
こんないい言語なのに結局欠点はCに依存してる点

100 :デフォルトの名無しさん:2020/03/27(金) 16:10:13.08 ID:9RtDMjhb.net
あんまり本出ないね
むしろチャンスか

101 :デフォルトの名無しさん:2020/03/27(金) 22:55:09 ID:2CmTFgv1.net
あの糞マクロ以外大して面白みのない言語だしなぁ

102 :デフォルトの名無しさん:2020/04/07(火) 05:01:02 ID:FPXvnSDp.net
逆にマクロの完成度高い言語ってなに?

103 :デフォルトの名無しさん:2020/04/07(火) 07:46:31.57 ID:CJzGmfMl.net
common LISP

104 :デフォルトの名無しさん:2020/04/07(火) 14:00:10 ID:izX7gbjy.net
Schemeは?

105 :デフォルトの名無しさん:2020/04/07(火) 19:47:26 ID:fJ0U2d01.net
nimのマクロは完成度高いと思う。でも完成度高いマクロという存在自体が糞。

106 :デフォルトの名無しさん:2020/04/08(水) 12:06:55 ID:lWfV0IAd.net
MACRO-80

107 :デフォルトの名無しさん:2020/04/10(金) 23:13:42 ID:mN42vwgW.net
>>102
糞マクロを褒めてるのであって
逆じゃないと思うんだが

108 :デフォルトの名無しさん:2020/04/10(金) 23:14:33 ID:mN42vwgW.net
>>101>>105が同じってことだろ
common lispなんてはるかに糞になるし

109 :デフォルトの名無しさん:2020/04/10(金) 23:15:34 ID:mN42vwgW.net
マクロならrustのが定評あると思うが

110 :デフォルトの名無しさん:2020/08/07(金) 22:39:20.68 ID:r3mpGCFQ6
https://marimay.jp
ここで麻雀作ってる

111 :デフォルトの名無しさん:2020/09/19(土) 22:27:13.04 ID:9NR8PjVh.net
小数の配列作りたいんだけどやり方教えてください。
[0.0, 0.1, .. 0.9, 1.0] みたいな。

Python なら hoge = [i/10 for i in range(11)] かな。気持ち悪いけど。

112 :デフォルトの名無しさん:2020/09/22(火) 12:29:56.17 ID:w8JrpHTT.net
lc[i*0.1 | i<-0..10 ]

113 :デフォルトの名無しさん:2021/01/10(日) 21:59:51.09 ID:HIznKotv.net
>>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

114 :デフォルトの名無しさん:2021/01/10(日) 22:14:35.92 ID:HIznKotv.net
付け加えるとHaskellみたいなproc() = の宣言が微妙キモいけどfunc(): T =があるから、まあ妥当だね
rubyの様なreturnを書かないのは良い。result=xは便利だけど微妙....でそこまでやるならOptionと
Future、そして例外を統一して欲しかったな。
普通にtry: except: finally:があるのも点数が高い。Araqが言う様に例外と(Label)goto based exceptは
ほとんど同じ何だから、今どきの言語が例外が無いのはおかしい。まあ他を悪く言う気はないけど
Goの様に意味合い的に同じでfinallyに対応するdeferがあるのも良いよね

115 :デフォルトの名無しさん:2021/01/12(火) 15:33:30.76 ID:LUlB/OIG.net
超時空ロングパス

116 :デフォルトの名無しさん:2021/01/12(火) 15:57:17.72 ID:kyPiY518.net
この言語がJsと比較で優れてる点ってあるの?

117 :デフォルトの名無しさん:2021/01/13(水) 08:29:44.80 ID:oKh8381v.net
JavaScript?であれば、JavaScriptはECMAScriptのバージョンとともに型無しのダックタイプから
クラス定義で見られるように型を導入して大規模コードを書く際に静的な安全性を求めてきた、
言語的な特徴でもあった動的なメソッド上書きやapply/callは悪とみなされつつ、改良が進む。
TypeScriptもその特徴であろう、altJSあるいはJSX派生と呼ばれる一種の方言が多量に誕生した
一方でJavaScriptの遅さや1言語依存からwasmが考え出されて多くのコンパイラでwasm開発が
できるようになった。Nimも例に漏れずJSバックエンド及びwasmコンパイルが可能である。
Rustもwasm開発はそうだがJSバックエンドは無い、Goもwasmは出来るがサイズが大きい
NimはGoに比べても型チェックが厳しい、Rustはそれに借用いわゆるボローチェックがそれに
加わるRustもそうだが型安全性はばつぐんだ

118 :デフォルトの名無しさん:2021/01/14(木) 18:15:15.39 ID:ZgCcmsal.net
jsって割と底辺だと思うから
Nimはそれより上だろ

119 :デフォルトの名無しさん:2021/02/25(木) 19:45:58.25 ID:twDFYCAL.net
1.4.4 age

120 :デフォルトの名無しさん:2021/04/17(土) 20:22:19.25 ID:f1G9K9An.net
1.4.6 age

121 :デフォルトの名無しさん:2021/04/30(金) 20:42:36.52 ID:+hB3gYz3.net
Windows defenderでウイルス判定される

122 :デフォルトの名無しさん:2021/05/01(土) 12:24:15.54 ID:afQILYPs.net
それはどうしようもない
https://forum.nim-lang.org/t/7830

123 :デフォルトの名無しさん:2021/05/10(月) 13:57:34.01 ID:FH4+0Y9S.net
頼むからもう少し流行ってください。Dropトレイト、Rcトレイトと戯れてあいつのコードを直したくない

124 :デフォルトの名無しさん:2021/05/10(月) 15:07:45.08 ID:lCZGOQhN.net
明日に向かって吠えろ

125 :デフォルトの名無しさん:2021/05/13(木) 14:29:40.54 ID:pHijDXLB.net
Software Design に記事持ち込め

126 :デフォルトの名無しさん:2021/05/15(土) 12:35:34.04 ID:eYtIld1h.net
https://www.akiradeveloper.com/post/give-up-nim/

127 :デフォルトの名無しさん:2021/05/19(水) 07:49:19.67 ID:mvJC2+U+.net
2015年2月なんて大昔だろ…Version 0.11頃の話、貼る奴w

128 :デフォルトの名無しさん:2021/05/19(水) 07:53:15.04 ID:mvJC2+U+.net
間違えた。
2月だから0.11さえ出てないわ、0.10.2…

129 :デフォルトの名無しさん:2021/05/26(水) 22:06:31.04 ID:5a/xy4zx.net
>>121-123
バージョン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では発生しないはずです。

130 :デフォルトの名無しさん:2021/06/24(木) 16:12:27.31 ID:IeJQfUil.net
なんか結局流行らなかったな
2019ごろはちょっと来そうな雰囲気出してたのに

131 :デフォルトの名無しさん:2021/06/24(木) 16:13:02.76 ID:IeJQfUil.net
今でも一番書いてて気持ちいい言語ではあるけど

132 :デフォルトの名無しさん:2021/06/24(木) 17:25:26.02 ID:70oiT5zZ.net
Luaといい勝負?

133 :デフォルトの名無しさん:2021/06/27(日) 14:10:40.69 ID:YLAmOs9U.net
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++そのもの、限りなく抑え込まれたタイプ量。

134 :デフォルトの名無しさん:2021/06/27(日) 20:05:41.95 ID:ytkGpeVG.net
そんなにヒドいかな?

135 :デフォルトの名無しさん:2021/08/21(土) 08:23:43.68 ID:7GAoG1Iq.net
Nimにガベージコレクション(GC)有りは事実なのですが、
NimはオプションでGC無しにできるので、
Nimバージョン:1.5.1でRustのボローチェッカー
に似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証する
ことによってメモリ安全性を保証しつつ高速化して
C/C++/Rustの代替に出来ますか?

136 :デフォルトの名無しさん:2021/08/21(土) 08:47:50.25 ID:7GAoG1Iq.net
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

137 :デフォルトの名無しさん:2021/08/21(土) 22:20:40.33 ID:7GAoG1Iq.net
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 は我々に教えてくれます

138 :デフォルトの名無しさん:2021/08/22(日) 08:04:08.99 ID:0Cz6ueFz.net
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 は我々に教えてくれます

139 :デフォルトの名無しさん:2021/10/02(土) 12:07:48.96 ID:nsqRCPBa.net
いつの間にかJetBrainsのプラグインが出てたね。今更気がついたよ
これもかなり良いんじゃない?
https://plugins.jetbrains.com/plugin/15128-nim

140 :デフォルトの名無しさん:2021/10/27(水) 21:47:06.11 ID:6tzLPjk/.net
const str = [0, 1, 2, 3, 4]
for i in 0||str.high: echo str[i]
# nim --passC:"-fopenmp" --passL:"-fopenmp" c main.nim

141 :デフォルトの名無しさん:2021/10/28(木) 12:20:10.25 ID:hM84Yf/1.net
>>92
Cの関数だけでもいろいろなコンパイラーにより規約が違うから、ダイナミックなリンケージを非常に素直に
書ける言語はこれくらいだと思う。rustもFFIで呼べるけど
https://ja.wikipedia.org/wiki/呼出規約

142 :デフォルトの名無しさん:2021/10/29(金) 07:15:01.84 ID:pQzUwhXN.net
Nim言語の開発者が$100k相当のBitcoinの寄付を受け取ったことが話題になっています。
www.reddit.com/r/programming/comments/qg2srd/nim_receives_100k_in_bitcoin_donations/

143 :デフォルトの名無しさん:2021/11/11(木) 20:14:42.95 ID:sY0aXUs3.net
>>99
公式での処理系は基本的にはC/C++のトランスコンパラですがJSのトランスコンパラとしても動作します。
言語的には依存している分けではなく、gccやclangの最適化の恩恵を受けるためにあえてそのようにして
いるようです。
また直接バイナリを吐き出す別のコンパイラarnetheduck/nlvmもあります。CrystalやRust、Swiftなどの
LLVMバックエンドと同じです。コンパイル時間を短縮しllvmバイナリとして僅かに小さくなります。

144 :デフォルトの名無しさん:2021/11/22(月) 17:33:11.29 .net
RustよりC++より速いんですか? 始めてみようかな

145 :デフォルトの名無しさん:2021/11/22(月) 20:36:44.15 ID:Jhs76KRN.net
いろんな意味で早いと思う

146 :デフォルトの名無しさん:2021/12/17(金) 19:10:05.51 ID:XHqHc5Ln.net
Version 1.6.2 released
https://nim-lang.org/blog/2021/12/17/version-162-released.html

147 :デフォルトの名無しさん:2022/02/10(木) 01:19:39.92 ID:OVWQX5q0.net
Version 1.6.4 released
https://nim-lang.org/blog/2022/02/08/version-164-released.html

148 :デフォルトの名無しさん:2022/03/29(火) 04:55:27.78 ID:cbyFlglW.net
1.6.x系だけDLしようとするとマルウェア警告出るんだけどこれ大丈夫なんかね

149 :デフォルトの名無しさん:2022/03/29(火) 14:58:47.55 ID:mXbypgy+.net
Nimの公式サイトから入手したものなら大丈夫なはず。
Nimに含まれている実行ファイルやNimでコンパイルしたプログラムがアンチウィルスソフトウェアに誤検出される問題は多くの人々から報告されている。
Nim言語でマルウェアを書いてる人がいるせいで誤検出さるようになったらしい。
アンチウィルスソフトウェアは悪いことしないプログラムでもマルウェアと似たようなビットパターンを見つけるとマルウェアとみなすっぽい。

150 :デフォルトの名無しさん:2022/03/29(火) 15:37:13.13 ID:j1iUrhcV.net
>>149
なるほどね?
サンキュー😉👍🎶

151 :デフォルトの名無しさん:2022/03/29(火) 20:54:07.21 ID:/9JyHlX1.net
マルウェアと誤検知されたくなければnimで開発しない方が無難か。

152 :デフォルトの名無しさん:2022/03/31(木) 21:33:49.63 ID:3qPlBVYz.net
多くの人が使っているプログラムでない限り誤検出される可能性はある。
C++使ってたころにビルドが完了してすぐに誤検出されことがあったし。

153 :デフォルトの名無しさん:2022/03/31(木) 21:54:44.97 ID:EY1WgKK4.net
そういうどっちもどっち論じゃないだろ。>>149は有意に誤検知が多いと言っているように見えるが。

154 :デフォルトの名無しさん:2022/04/01(金) 11:47:01.52 ID:3pastURm.net
Nimコンパイラ自体がマルウェア扱いだからな。

155 :デフォルトの名無しさん:2022/04/03(日) 00:58:55.13 ID:29whmEYr.net
Nimを書き初めて1ヶ月...procの第一引数に設定したオブジェクトにprocがバインドされる謎構文にはたまげたけど書き味がいいし気に入ったなあ

156 :デフォルトの名無しさん:2022/04/03(日) 10:37:31.39 ID:Ng2sRKnM.net
>>155
ちょっと誤解しているようだけど、a.foo()って書いたら自動的にfoo(a)に変換されるだけだよ。
第一引数の型にそのprocがバインドされるわけじゃないよ。
X.nim:
type
 Foo* = object
  x: int
proc foo*(f: Foo) = echo f

Y.nim:
import X
proc bar*(): Foo = Foo()

Z.nim:
import Y
#X.nimをインポートしてないとfoo()は呼べないよ
bar().foo()

157 :デフォルトの名無しさん:2022/04/03(日) 10:53:58.62 ID:Ng2sRKnM.net
Nimではプロシージャの呼び出し方が何通りかある。
echo("Hello")
# Command invocation syntax
echo "Hello"
# Method call syntax
"Hello".echo
"Hello".echo()
# Generalized raw string literals
# 引数が文字列リテラル一個のときのみ
echo"Hello"

158 :デフォルトの名無しさん:2022/04/03(日) 20:20:01.30 ID:29whmEYr.net
>>156
なるほど👀
それでも変わった感じですよねえ

159 :デフォルトの名無しさん:2022/04/09(土) 11:44:54.12 ID:P+77Yson.net
>157
Method call syntax はスマートだから他言語でも流行ってほしいところ。
特にPythonは真っ先に採用して欲しいわ。

111 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200