X



ぶっちゃけ始めるのにいい言語て何?
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:17:13.89ID:VgWTKanI
ぶっちゃけていいよ
0952デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:16:04.24ID:Bw4cVoP9
>>948
それこそ、普通のプログラミング言語が並列処理に向かない証拠だと思うのだけど・・・。
0953デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:24:42.60ID:FXKbLn4+
>>949
1週間以上前のレスに返信して顔真っ赤ってwww
ブーメランすぎひん?
0954デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:25:57.71ID:FXKbLn4+
kentaとか知らんけど
0955デフォルトの名無しさん
垢版 |
2020/07/13(月) 19:02:14.97ID:/Uo9CCGs
>>952
並列化に夢見ている人がたまにいるけどPCだとメモリバス帯域の限界があるので並列化の数を増やすほどかえって効率が悪くなる
分散コンピューティングとかスパコンならともかく、こんなスレで出しても
0956デフォルトの名無しさん
垢版 |
2020/07/13(月) 19:11:01.81ID:CP3L/xE2
それこそ並列化の初歩中の初歩じゃん
その程度コンパイラが最適化してくれるでしょ
0957デフォルトの名無しさん
垢版 |
2020/07/13(月) 19:33:23.67ID:gB4uj1xb
並列化の初歩中の初歩だけど
コンパイラの最適化は非常に貧弱

レイテンシ、依存関係、キャッシュ、アルゴリズム、データ構造、...

この辺を勉強して手動で最適化しないと
0958デフォルトの名無しさん
垢版 |
2020/07/13(月) 20:58:08.22ID:7vLZz4H7
Rubyによる実行時最適化を富岳で実証するプロジェクトに520億科研費付いたぞ。
富岳の目玉プロジェクトだ。
0959デフォルトの名無しさん
垢版 |
2020/07/13(月) 22:09:02.22ID:ravMuO45
>>955
そう言う最適化したかったら普通の言語と同じく手動で最適化も出来るし、最適化と手軽さのバランス取ってチャンク数指定する手間を増やすだけってのも有る。
取り敢えずシステムモニターで全コアが処理してるのを見てニヤニヤしたいとかなら>>932の様な手軽な方法も用意されてる。
(普通の言語より、手軽さと最適化の両面でライブラリの幅が広く用意されてる)

メモリ帯域は普通の言語でもスレッドプールとかでコア数以上のスレッドが生産されても無駄に同時に動かない仕組みだと思うけど・・・。
メモリ帯域心配なら、>>932みたくスレッド数を指定すればおk。

単純なシングルでの速度では遅いけど、マルチスレッドも含めた速度と手軽さのバランスは非常に良い。
(実はシングル性能上げる為のアセンブラっぽい関数群があるけど、それだったら素直にCやアセンブラで書けば良いとは思う)
0960デフォルトの名無しさん
垢版 |
2020/07/14(火) 02:21:27.92ID:5rX6+9jh
Haskellの本買うわ
0962デフォルトの名無しさん
垢版 |
2020/07/14(火) 12:09:33.53ID:8mSChQTw
分かったかカス ← お前が言うなハゲ
0963デフォルトの名無しさん
垢版 |
2020/07/14(火) 12:33:23.45ID:wxNuZUMy
Ruby には、JIT があるから、
実行時に100万回ループすると、ネイティブコードにコンパイルされる

RSpec のような、サーバーテストツール・Serverspec の作者は宮下剛輔。
こういう技術を、宇宙・ロケット開発などで使えばよい

有名なYouTuber には、雑食系エンジニア・KENTA。
他には、たにぐちまこと・くろかわこうへい

Ruby では、伊藤淳一・とだこうき
反Ruby では、モローw

その中でも、KENTA は登録者数など、突出している!
プログラミング動画のレベルではない!
0965デフォルトの名無しさん
垢版 |
2020/07/14(火) 12:53:07.49ID:nYZ+ew0u
>>961
自分の環境だと、(一番手軽な方法でも)概ねHaskellの速度は2コア使ってCのシングルと同程度。(なので4コアで2倍くらいか?)
もちろん、Cを始めとする普通の言語でマルチスレッドすれば勝ち目は無いんだけど、>>948の言う通りベテランでも難しい。

手軽にCを超えられるし、AMDのEPICとかの鯖用CPUは64コア128スレッドだから、普通の言語で使い切れるマルチスレッドプログラミングはほぼ不可能なのをHaskellで目一杯使ったら凄いことになりそう。
(買えるお金無いが)
0966デフォルトの名無しさん
垢版 |
2020/07/14(火) 12:56:17.94ID:nYZ+ew0u
>>936
Haskellはむしろ手続き型言語の考えに染まる前の初心者の方が覚え易い言語なんだけど、その初心者向け入門書が無いって言う・・・。
その辺がHaskellの課題。
0967デフォルトの名無しさん
垢版 |
2020/07/14(火) 14:23:32.71ID:6KNOtJR0
>>965
何もしないで複数コア使えるところが良いのでは?
2コア使ってやっとCと同等という見方も出来る。
しかし別の見かたをすると、128コアのシステムではCの64倍。
富岳においては、何もすることなくCの8266752倍の性能が出せるとも言える。
0968デフォルトの名無しさん
垢版 |
2020/07/14(火) 14:46:49.92ID:y+G53Dzy
>>967
うむり。
ネガティヴに読むかポジティブに読むかやね。

自分がHaskell勉強したての頃は、ここまで簡単な並列処理の方法が無くて理想(関数型言語は書き換え無しでマルチスレッド対応出来る)と現実(実際には普通の言語よりマシだけど、結構書き換える)に苦しんでマルチスレッド諦めてたけど、いつの間にかほぼほぼ理想に追い付いてたのは嬉しい。
0969デフォルトの名無しさん
垢版 |
2020/07/14(火) 14:53:20.52ID:9oJM7eZI
>>966
For great good はわかっている人には楽しいHaskell入門書だけど、普通の入門書には数えられないのか。まあ、そう言われると納得してしまうが。
0970デフォルトの名無しさん
垢版 |
2020/07/14(火) 16:47:28.18ID:6KNOtJR0
スマホ用のARMは8コアが普通だし、今後は32コアが標準になる。
したがってスマホ用のソフトウェアはHaskellを使う時代が来るだろう。
0973デフォルトの名無しさん
垢版 |
2020/07/14(火) 18:31:45.13ID:6KNOtJR0
セガール最新作・沈黙のHaskell!
0974デフォルトの名無しさん
垢版 |
2020/07/14(火) 20:48:16.84ID:Dzg5ZsQq
手軽に始められる、わからなくなったらググればすぐわかる、求人の需要が高い
Haskellはこの3つに該当しない珍しい言語
>>5で終わっているはずなのによく続いたなこのスレ
0977デフォルトの名無しさん
垢版 |
2020/07/14(火) 22:14:16.11ID:6KNOtJR0
Lispの一種と見做されるJavascriptも良いかもしれませんね。
Javascriptで関数型の神髄を学び、それからHaskellと富岳でLinuxプログラミングへ移行する。
0978デフォルトの名無しさん
垢版 |
2020/07/15(水) 03:33:03.74ID:dHLT77Bw
俺今Javaやってるけど、おすすめしない
どうしても静的型付け言語をやりたいなら、Goをやるべき
0984デフォルトの名無しさん
垢版 |
2020/07/15(水) 11:37:15.19ID:kb1h0ta6
JavaScript, Python, Ruby, PHP, Lua, Perlなど
汎用的なインタプリタ型の言語はVBScriptを除くとほぼすべてLispの影響を強く受けてる

どの言語をとっても>>983の2つ目の記事にあるくらいの類似性はあるので
Lispを知ってる人間が他言語を理解しようとする文脈以外では「〜はLispの一種」と言っても無意味
0986デフォルトの名無しさん
垢版 |
2020/07/15(水) 11:51:54.81ID:g+rqft1p
Rubyなんか関数からして第一級構成要素じゃないのにlispと言えるの?
def aaa 〜
bbb = aaa
bbb()
これもできない。二行目aaaが関数呼び出しになっちゃってるからだが…
jsどころかpythonでもできるのに。
0987デフォルトの名無しさん
垢版 |
2020/07/15(水) 12:03:21.05ID:sBHz+ETb
AKBは「会いに行けるアイドル」というコンセプトですが、富岳は「購入できるスパコン」というコンセプトです。
0989デフォルトの名無しさん
垢版 |
2020/07/15(水) 12:53:38.38ID:gwK3CNky
>>984
> Lispの影響を強く受けてる
どの部分が?

Lispの影響を強く受けてると
人づてに聞いたって言いたいだけ?
0991デフォルトの名無しさん
垢版 |
2020/07/15(水) 13:25:38.36ID:2nKcdNnM
>>986
そんな表面的な理解しかできてないからどの言語も碌に使えずバカにされるんだぞ

パイソン使いが頭悪いと思われて迷惑
0992デフォルトの名無しさん
垢版 |
2020/07/15(水) 14:36:50.21ID:KZXXAVqP
そうだねrubyがパクったのはlispの表面的なとこだけだったね。
関数が第一級じゃないとか笑うw
procに変換したり、最初からlambdaで作って変数にバインドしなきゃいけなんだっけ?ww
後付けでもこの体たらくwww
最初から本質をパクれていればなぁwwww
もうdefをobsoleteにしちゃいなよwwwww
0993デフォルトの名無しさん
垢版 |
2020/07/15(水) 14:45:36.72ID:cL9c5hZ8
>>983
別にやるなとは言わないけど
何で本人が「わかりにくい」と認定しているものを
敢えてやるんだろう
自分が判らないものを他人には薦めないで欲しい
0994デフォルトの名無しさん
垢版 |
2020/07/15(水) 14:52:11.09ID:sBHz+ETb
ガンダムはファーストしか認めない派いがいと多いな。
0995デフォルトの名無しさん
垢版 |
2020/07/15(水) 17:24:52.87ID:IqfNcqeZ
第一級関数は、単なるオブジェクトだから、
外側の変数が内側で見えるから、ダメ

Ruby の関数は、C の関数と同じで、
強固なスコープがあって、外側の変数を内側へ通さない

だから、バグりにくい
0996デフォルトの名無しさん
垢版 |
2020/07/15(水) 17:40:37.26ID:BCgwBnY5
自分の勉強してきた体験談を書く人がほぼ見当たらず怪しい上っ面の知識だけが飛び交うスレ
0998995
垢版 |
2020/07/15(水) 19:36:34.08ID:IqfNcqeZ
Ruby では関数内に、ブロックを書く。
ブロックはクロージャだから、ブロックの外側の変数を内側へ通す

count = 1 # 外側の変数

[ "a", "b", "c" ].each do |char|
puts "#{ count } : #{ char }"
count += 1
end

出力
1 : a
2 : b
3 : c
0999デフォルトの名無しさん
垢版 |
2020/07/15(水) 20:33:21.39ID:sBHz+ETb
簡単に言うとRubyは関数型言語って事ですね。
1000デフォルトの名無しさん
垢版 |
2020/07/15(水) 20:36:36.88ID:BqRMiA+O
無理だってそんな言語。
のちの人が見て分からんだろ。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 134日 3時間 19分 24秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況