ぶっちゃけ始めるのにいい言語て何?
レス数が1000を超えています。これ以上書き込みはできません。
>>948
それこそ、普通のプログラミング言語が並列処理に向かない証拠だと思うのだけど・・・。 >>949
1週間以上前のレスに返信して顔真っ赤ってwww
ブーメランすぎひん? >>952
並列化に夢見ている人がたまにいるけどPCだとメモリバス帯域の限界があるので並列化の数を増やすほどかえって効率が悪くなる
分散コンピューティングとかスパコンならともかく、こんなスレで出しても それこそ並列化の初歩中の初歩じゃん
その程度コンパイラが最適化してくれるでしょ 並列化の初歩中の初歩だけど
コンパイラの最適化は非常に貧弱
レイテンシ、依存関係、キャッシュ、アルゴリズム、データ構造、...
この辺を勉強して手動で最適化しないと Rubyによる実行時最適化を富岳で実証するプロジェクトに520億科研費付いたぞ。
富岳の目玉プロジェクトだ。 >>955
そう言う最適化したかったら普通の言語と同じく手動で最適化も出来るし、最適化と手軽さのバランス取ってチャンク数指定する手間を増やすだけってのも有る。
取り敢えずシステムモニターで全コアが処理してるのを見てニヤニヤしたいとかなら>>932の様な手軽な方法も用意されてる。
(普通の言語より、手軽さと最適化の両面でライブラリの幅が広く用意されてる)
メモリ帯域は普通の言語でもスレッドプールとかでコア数以上のスレッドが生産されても無駄に同時に動かない仕組みだと思うけど・・・。
メモリ帯域心配なら、>>932みたくスレッド数を指定すればおk。
単純なシングルでの速度では遅いけど、マルチスレッドも含めた速度と手軽さのバランスは非常に良い。
(実はシングル性能上げる為のアセンブラっぽい関数群があるけど、それだったら素直にCやアセンブラで書けば良いとは思う) Ruby には、JIT があるから、
実行時に100万回ループすると、ネイティブコードにコンパイルされる
RSpec のような、サーバーテストツール・Serverspec の作者は宮下剛輔。
こういう技術を、宇宙・ロケット開発などで使えばよい
有名なYouTuber には、雑食系エンジニア・KENTA。
他には、たにぐちまこと・くろかわこうへい
Ruby では、伊藤淳一・とだこうき
反Ruby では、モローw
その中でも、KENTA は登録者数など、突出している!
プログラミング動画のレベルではない! RubyやHaskell使う人は与えられた課題をできないことが理解できるスレ >>961
自分の環境だと、(一番手軽な方法でも)概ねHaskellの速度は2コア使ってCのシングルと同程度。(なので4コアで2倍くらいか?)
もちろん、Cを始めとする普通の言語でマルチスレッドすれば勝ち目は無いんだけど、>>948の言う通りベテランでも難しい。
手軽にCを超えられるし、AMDのEPICとかの鯖用CPUは64コア128スレッドだから、普通の言語で使い切れるマルチスレッドプログラミングはほぼ不可能なのをHaskellで目一杯使ったら凄いことになりそう。
(買えるお金無いが) >>936
Haskellはむしろ手続き型言語の考えに染まる前の初心者の方が覚え易い言語なんだけど、その初心者向け入門書が無いって言う・・・。
その辺がHaskellの課題。 >>965
何もしないで複数コア使えるところが良いのでは?
2コア使ってやっとCと同等という見方も出来る。
しかし別の見かたをすると、128コアのシステムではCの64倍。
富岳においては、何もすることなくCの8266752倍の性能が出せるとも言える。 >>967
うむり。
ネガティヴに読むかポジティブに読むかやね。
自分がHaskell勉強したての頃は、ここまで簡単な並列処理の方法が無くて理想(関数型言語は書き換え無しでマルチスレッド対応出来る)と現実(実際には普通の言語よりマシだけど、結構書き換える)に苦しんでマルチスレッド諦めてたけど、いつの間にかほぼほぼ理想に追い付いてたのは嬉しい。 >>966
For great good はわかっている人には楽しいHaskell入門書だけど、普通の入門書には数えられないのか。まあ、そう言われると納得してしまうが。 スマホ用のARMは8コアが普通だし、今後は32コアが標準になる。
したがってスマホ用のソフトウェアはHaskellを使う時代が来るだろう。 手軽に始められる、わからなくなったらググればすぐわかる、求人の需要が高い
Haskellはこの3つに該当しない珍しい言語
>>5で終わっているはずなのによく続いたなこのスレ >>975
前の2つは該当すると思うけどね
手続き型からはじめるとわかりにくいのかも Lispの一種と見做されるJavascriptも良いかもしれませんね。
Javascriptで関数型の神髄を学び、それからHaskellと富岳でLinuxプログラミングへ移行する。 俺今Javaやってるけど、おすすめしない
どうしても静的型付け言語をやりたいなら、Goをやるべき 手軽に始められて情報も多い、スマホもPCもいけるC#でええやん Lispの方言のひとつでScheme(スキーム)の影響を受けている JavaScript, Python, Ruby, PHP, Lua, Perlなど
汎用的なインタプリタ型の言語はVBScriptを除くとほぼすべてLispの影響を強く受けてる
どの言語をとっても>>983の2つ目の記事にあるくらいの類似性はあるので
Lispを知ってる人間が他言語を理解しようとする文脈以外では「〜はLispの一種」と言っても無意味 >>983
>Yes, JavaScript is a Lisp
こっちの記事はまるで中身がない
Qiitaのほうがマシっていう Rubyなんか関数からして第一級構成要素じゃないのにlispと言えるの?
def aaa 〜
bbb = aaa
bbb()
これもできない。二行目aaaが関数呼び出しになっちゃってるからだが…
jsどころかpythonでもできるのに。 AKBは「会いに行けるアイドル」というコンセプトですが、富岳は「購入できるスパコン」というコンセプトです。 >>984
> Lispの影響を強く受けてる
どの部分が?
Lispの影響を強く受けてると
人づてに聞いたって言いたいだけ? >>986
Lispは逐次実行ができる
Rubyも逐次実行ができる
似てる!
こういう理由じゃね?w >>986
そんな表面的な理解しかできてないからどの言語も碌に使えずバカにされるんだぞ
パイソン使いが頭悪いと思われて迷惑 そうだねrubyがパクったのはlispの表面的なとこだけだったね。
関数が第一級じゃないとか笑うw
procに変換したり、最初からlambdaで作って変数にバインドしなきゃいけなんだっけ?ww
後付けでもこの体たらくwww
最初から本質をパクれていればなぁwwww
もうdefをobsoleteにしちゃいなよwwwww >>983
別にやるなとは言わないけど
何で本人が「わかりにくい」と認定しているものを
敢えてやるんだろう
自分が判らないものを他人には薦めないで欲しい ガンダムはファーストしか認めない派いがいと多いな。 第一級関数は、単なるオブジェクトだから、
外側の変数が内側で見えるから、ダメ
Ruby の関数は、C の関数と同じで、
強固なスコープがあって、外側の変数を内側へ通さない
だから、バグりにくい 自分の勉強してきた体験談を書く人がほぼ見当たらず怪しい上っ面の知識だけが飛び交うスレ >>995
え?Rubyってクロージャーもないの
使えない言語だな Ruby では関数内に、ブロックを書く。
ブロックはクロージャだから、ブロックの外側の変数を内側へ通す
count = 1 # 外側の変数
[ "a", "b", "c" ].each do |char|
puts "#{ count } : #{ char }"
count += 1
end
出力
1 : a
2 : b
3 : c 無理だってそんな言語。
のちの人が見て分からんだろ。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 134日 3時間 19分 24秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。