タグ「Nim」を含む投稿[8件]
整理すべき課題はいくつか残っていますが、Nimで書けそうな感じになってきました。RaspbrryPiに環境を作って実践に入れそうです。
#Nim
#Nim
とあるアーティストのツアー仮組に来ております。最近では珍しく若人が大半なのでジジイは楽であります。
そんな現場は休憩が長い傾向にあります。もちろんNimの勉強です。
課題を広げても散漫になるのでプラグマについて集中的にやってます。補助的な機能に見えますが、Nimの核心かもしれない面白い機能です。
#Nim
そんな現場は休憩が長い傾向にあります。もちろんNimの勉強です。
課題を広げても散漫になるのでプラグマについて集中的にやってます。補助的な機能に見えますが、Nimの核心かもしれない面白い機能です。
#Nim
Nim を勉強していますとちょいちょいオブジェクト指向が見え隠れします。イテレータのことを整理していてこれはオブジェクト指向だなと思ったワケです。
ですが、無制限に継承を重ねて手を付けられない迷宮にならないように抑えている感じがあります。ふんわりとしたオブジェクト指向とでも呼んだらいいのでしょうか。むしろイイですね。
ただ、達人たちには不足で初心者には理解し難いと思います。私の感覚ではバランスが良いと思うのですが、悪く言えば中途半端なこの感じこそ Nim が普及しない理由かもしれません。
Nim の使用率(普及率)については Github に上がっているソースなのか、専門家向けのアンケートなのか、どの様なサンプルを元にしたのかわかりませんが、低レイヤーの扱いをここまでスッキリ書けてバグが出にくいプログラム言語も他に無いと思うので不思議です。C言語は現代プログラム言語の祖であり、自由度が高く低レイヤーのプログラムを得意としますが、注意しないとバグというか無自覚に地雷を埋めてしまいます。Rust 程ではありませんが、Nim は地雷を埋めにくいプログラム言語だと思います。
勉強中の私が言うことではありませんが、C言語やC++を操る人が「この程度のこと、もっとスッキリ書けないのかよ!?」って感じたことに応えるっぽい構成なので、初心者向けかと聞かれたら違うような気がします。C言語を扱える人向けのスクリプト言語ってのが今日時点での私の評価です。
#Nim
ですが、無制限に継承を重ねて手を付けられない迷宮にならないように抑えている感じがあります。ふんわりとしたオブジェクト指向とでも呼んだらいいのでしょうか。むしろイイですね。
ただ、達人たちには不足で初心者には理解し難いと思います。私の感覚ではバランスが良いと思うのですが、悪く言えば中途半端なこの感じこそ Nim が普及しない理由かもしれません。
Nim の使用率(普及率)については Github に上がっているソースなのか、専門家向けのアンケートなのか、どの様なサンプルを元にしたのかわかりませんが、低レイヤーの扱いをここまでスッキリ書けてバグが出にくいプログラム言語も他に無いと思うので不思議です。C言語は現代プログラム言語の祖であり、自由度が高く低レイヤーのプログラムを得意としますが、注意しないとバグというか無自覚に地雷を埋めてしまいます。Rust 程ではありませんが、Nim は地雷を埋めにくいプログラム言語だと思います。
勉強中の私が言うことではありませんが、C言語やC++を操る人が「この程度のこと、もっとスッキリ書けないのかよ!?」って感じたことに応えるっぽい構成なので、初心者向けかと聞かれたら違うような気がします。C言語を扱える人向けのスクリプト言語ってのが今日時点での私の評価です。
#Nim
Nim はC言語でやれることを全て出来るのに凄くシンプルな記述です。Python と同じではないけど近い感覚で書けるのがいいですね。
中間言語的にC言語に吐き出(トランパイル)してから gcc などでバイナリまで作る構成ですが、C++ や JavaScript にもトランスパイル出来るのだそうです。C++ も JavaScript も知らない自分にとってはC言語として保存出来るならそれでいいのですけどね。
C言語を経由するのでC言語を知っていた方がいいみたいです。C言語で作れる低レイヤー(ハードウェアにより近い部分)の処理を Python みたいな記述で比較的簡単に書けることがメリットですが、途中でC言語になるのですからそれを知らずに使えるかと問われればどうなんでしょう。C言語の概念が刷り込まれてしまった私の脳ミソではそれを外した評価など出来ません。
今日勉強していた内容ではポインタの概念が必要でした。C言語の要素の中で最も理解し難いと言われるポインタです。わかってしまえば大したことではなく、私の場合は長く書いてきた PIC16 のアセンブラに置き換えながら抽象化の意味を探ってみたら解決しましたが、アセンブラの概念が無い人にポインタをわかってもらう説明ってどうやったらいいんだろうって考えるとなーんにもイメージ出来ませんでした。
他人に Nim を教えようなんて思ってもいませんが、C言語を全く知らずに低レイヤーのプログラミングをするのは無茶だと思った今日の休憩時間でした。
Nim と共にC言語の勉強も継続した方が良さそうです。Rust の世界からは退場することにします。
#Nim #C言語
中間言語的にC言語に吐き出(トランパイル)してから gcc などでバイナリまで作る構成ですが、C++ や JavaScript にもトランスパイル出来るのだそうです。C++ も JavaScript も知らない自分にとってはC言語として保存出来るならそれでいいのですけどね。
C言語を経由するのでC言語を知っていた方がいいみたいです。C言語で作れる低レイヤー(ハードウェアにより近い部分)の処理を Python みたいな記述で比較的簡単に書けることがメリットですが、途中でC言語になるのですからそれを知らずに使えるかと問われればどうなんでしょう。C言語の概念が刷り込まれてしまった私の脳ミソではそれを外した評価など出来ません。
今日勉強していた内容ではポインタの概念が必要でした。C言語の要素の中で最も理解し難いと言われるポインタです。わかってしまえば大したことではなく、私の場合は長く書いてきた PIC16 のアセンブラに置き換えながら抽象化の意味を探ってみたら解決しましたが、アセンブラの概念が無い人にポインタをわかってもらう説明ってどうやったらいいんだろうって考えるとなーんにもイメージ出来ませんでした。
他人に Nim を教えようなんて思ってもいませんが、C言語を全く知らずに低レイヤーのプログラミングをするのは無茶だと思った今日の休憩時間でした。
Nim と共にC言語の勉強も継続した方が良さそうです。Rust の世界からは退場することにします。
#Nim #C言語
AI/Geminiさんに Art-Net の送受信について聞いてみましたが簡単です。ソースコードなんて呪文ですが、EtherNetのUDPの扱いは基本中の基本なのかややこしいことはありません。
Nim を書くにあたっては、人が書いた教科書で基礎を学び、応用というか機能の使い方は AI/Geminiさんに聞くのが良さそうです。これまで通りっちゃこれまで通りですけど。
受信して共有メモリに蓄えることから始めましょう。
#[Art-Net] #Nim
Nim を書くにあたっては、人が書いた教科書で基礎を学び、応用というか機能の使い方は AI/Geminiさんに聞くのが良さそうです。これまで通りっちゃこれまで通りですけど。
受信して共有メモリに蓄えることから始めましょう。
#[Art-Net] #Nim
Nim の教科書が入荷しましたので勉強開始です。
一通り勉強するのに半月はかかりそうですが、良くも悪くも他の言語で右往左往したことが役立ってます。
Python に驚くほど似ています。全く同じではないのですが、すごく似ています。スクリプト言語っぽい表現で低レベルのことが書けるのはイイですね。
複数人での大規模開発には Rust に比べて不向きかもしれませんが、一人で作る用途にはおススメ出来ます。
他の言語に比べネットに情報は少ないですが、使っている人が少ないためか読み手を混乱させるゴミ情報が少ない感じがします。情報は量ではなく質ですからイイことです。
#Nim
一通り勉強するのに半月はかかりそうですが、良くも悪くも他の言語で右往左往したことが役立ってます。
Python に驚くほど似ています。全く同じではないのですが、すごく似ています。スクリプト言語っぽい表現で低レベルのことが書けるのはイイですね。
複数人での大規模開発には Rust に比べて不向きかもしれませんが、一人で作る用途にはおススメ出来ます。
他の言語に比べネットに情報は少ないですが、使っている人が少ないためか読み手を混乱させるゴミ情報が少ない感じがします。情報は量ではなく質ですからイイことです。
#Nim
Nim のことを少しかじってみましたがイイですね。
普及率が低い言語なので情報が少ないですし、個人レベルのコミュニティで開発されているので配布やメンテが突然終わってしまうかもしれませんが、C言語に変換してから gcc でコンパイルするってのがいいですね。Nim で書けなくなってもC言語としては残るのです。今やC言語は古代語みたいな存在感ですが、私が生きている間に消え去ることは無いでしょう。扱える言語として残せるなら問題なかろうと思います。
それにも増して、初めて眺めた Nim のコードが何となく読めることがイイです。自分が勉強したのは Python3、C言語(ANSI)、Rust ですが、Pythonに他の言語の方言が少しずつ混じったと思えば済んでしまいそうです。変数の型指定が必須の Python と思えばいいようです。
コード書きで飯を食おうなんて思っていませんし、自分で組んだハードウェアを動かすことが目的ですので、Nim の普及率が低くても問題はありません。少ない学習コストで短期間で書けるならそちらの方にメリットがあります。もちろん、RaspberryPi でも使えます。
AI/Geminiさんにお聞きしたところ、コンパイルには注意が必要っぽいです。コンパイルにはデバックレベルとリリースレベルがありますが、リリースレベルは最適化が強いので、デバックレベルでは動いたコードがリリースレベルでは動かないことがあるそうです。これはメモリキャッシュに代表される挙動の違いらしいので、この辺りをキチンと追い込む必要はありそうです。
何にしても、Python 並みに書きやすく読みやすく、C言語で出来ることはほぼ100%実現可能で、C言語やC++並みの速度で動くなら願ったり叶ったりです。
追記
Nim の教科書をポチりました。明日入荷だそうです。
まずは読んでみましょう。
#Nim #C言語
普及率が低い言語なので情報が少ないですし、個人レベルのコミュニティで開発されているので配布やメンテが突然終わってしまうかもしれませんが、C言語に変換してから gcc でコンパイルするってのがいいですね。Nim で書けなくなってもC言語としては残るのです。今やC言語は古代語みたいな存在感ですが、私が生きている間に消え去ることは無いでしょう。扱える言語として残せるなら問題なかろうと思います。
それにも増して、初めて眺めた Nim のコードが何となく読めることがイイです。自分が勉強したのは Python3、C言語(ANSI)、Rust ですが、Pythonに他の言語の方言が少しずつ混じったと思えば済んでしまいそうです。変数の型指定が必須の Python と思えばいいようです。
コード書きで飯を食おうなんて思っていませんし、自分で組んだハードウェアを動かすことが目的ですので、Nim の普及率が低くても問題はありません。少ない学習コストで短期間で書けるならそちらの方にメリットがあります。もちろん、RaspberryPi でも使えます。
AI/Geminiさんにお聞きしたところ、コンパイルには注意が必要っぽいです。コンパイルにはデバックレベルとリリースレベルがありますが、リリースレベルは最適化が強いので、デバックレベルでは動いたコードがリリースレベルでは動かないことがあるそうです。これはメモリキャッシュに代表される挙動の違いらしいので、この辺りをキチンと追い込む必要はありそうです。
何にしても、Python 並みに書きやすく読みやすく、C言語で出来ることはほぼ100%実現可能で、C言語やC++並みの速度で動くなら願ったり叶ったりです。
追記
Nim の教科書をポチりました。明日入荷だそうです。
まずは読んでみましょう。
#Nim #C言語