プログラミング言語を知ってるだけでは何一つプログラムなんて書けないわけで.
数学に苦手意識持っている初学者が,数学要らないに希望を持ってプログラミング言語**だけ**を学んでもそのあとどこにも出て行けなくなっちゃうじゃない.
数学勉強してサーバーを0から構築すれば良いのでは???
[これを言ってくるエンジニア、老害です。すぐに縁を切りましょう。 | 【テックジム】授業をしないプログラミング教室]( https://techgym.jp/colmn/mingra38/ )
Rubyの動かないコード (初級編) ブロックとクロージャの性質 - 主に言語とシステム開発に関して https://language-and-engineering.hatenablog.jp/entry/20101118/p1
ファイルを開く場合が分かりやすいけど,
File.open("hoge.txt", "w") do |f|
f.puts "hogehoge"
end
みたいにブロック(≒クロージャみたいなもん)を受け取るメソッドを使って,前後に何か処理をする,ってスタイルが多い気がする.
オブジェクトごとのデストラクタは確かにないかも知れない.
RubyでDirectXを使うライブラリのドキュメント見つけたけど、
リソースの解放について http://mirichi.github.io/dxruby-doc/tips/release_resources.html
こんな書き方されてるってことは、Rubyにはこまめに明示的にリソースを解放すべき処理を書く標準的な仕組みが用意されてないって事っぽいかも?><
これって無駄にハードウェアフットプリントが大きくそして狙いに反して(※1 )性能が悪いソフトウェアが書かれまくる原因のひとつにもなってるんでは?><
(※1 あまりにも富豪的に書かれ過ぎてGCによる遅延解放のメリットをも覆い隠して本末転倒になる(パフォーマンス低下する)んでは?>< って言いたい><)
ファイナライザはこれにあるっぽい><
module ObjectSpace (Ruby 3.0.0 リファレンスマニュアル) https://docs.ruby-lang.org/ja/latest/class/ObjectSpace.html
こまめに解放すべき処理(C# で言うとIDisposable.Dispose()、GC無い言語環境でいうとデストラクタに書く処理)ってどう書くんだろ?><;