■ このスレッドは過去ログ倉庫に格納されています
ぶっちゃけ始めるのにいい言語て何?
- 1 :デフォルトの名無しさん:2020/03/03(火) 17:17:13 ID:VgWTKanI.net
- ぶっちゃけていいよ
- 953 :デフォルトの名無しさん:2020/07/13(月) 18:16:04 ID:Bw4cVoP9.net
- >>949
それこそ、普通のプログラミング言語が並列処理に向かない証拠だと思うのだけど・・・。
- 954 :デフォルトの名無しさん:2020/07/13(月) 18:24:42.60 ID:FXKbLn4+.net
- >>950
1週間以上前のレスに返信して顔真っ赤ってwww
ブーメランすぎひん?
- 955 :デフォルトの名無しさん:2020/07/13(月) 18:25:57.71 ID:FXKbLn4+.net
- kentaとか知らんけど
- 956 :デフォルトの名無しさん:2020/07/13(月) 19:02:14.97 ID:/Uo9CCGs.net
- >>953
並列化に夢見ている人がたまにいるけどPCだとメモリバス帯域の限界があるので並列化の数を増やすほどかえって効率が悪くなる
分散コンピューティングとかスパコンならともかく、こんなスレで出しても
- 957 :デフォルトの名無しさん:2020/07/13(月) 19:11:01.81 ID:CP3L/xE2.net
- それこそ並列化の初歩中の初歩じゃん
その程度コンパイラが最適化してくれるでしょ
- 958 :デフォルトの名無しさん:2020/07/13(月) 19:33:23.67 ID:gB4uj1xb.net
- 並列化の初歩中の初歩だけど
コンパイラの最適化は非常に貧弱
レイテンシ、依存関係、キャッシュ、アルゴリズム、データ構造、...
この辺を勉強して手動で最適化しないと
- 959 :デフォルトの名無しさん:2020/07/13(月) 20:58:08.22 ID:7vLZz4H7.net
- Rubyによる実行時最適化を富岳で実証するプロジェクトに520億科研費付いたぞ。
富岳の目玉プロジェクトだ。
- 960 :デフォルトの名無しさん:2020/07/13(月) 22:09:02.22 ID:ravMuO45.net
- >>956
そう言う最適化したかったら普通の言語と同じく手動で最適化も出来るし、最適化と手軽さのバランス取ってチャンク数指定する手間を増やすだけってのも有る。
取り敢えずシステムモニターで全コアが処理してるのを見てニヤニヤしたいとかなら>>933の様な手軽な方法も用意されてる。
(普通の言語より、手軽さと最適化の両面でライブラリの幅が広く用意されてる)
メモリ帯域は普通の言語でもスレッドプールとかでコア数以上のスレッドが生産されても無駄に同時に動かない仕組みだと思うけど・・・。
メモリ帯域心配なら、>>933みたくスレッド数を指定すればおk。
単純なシングルでの速度では遅いけど、マルチスレッドも含めた速度と手軽さのバランスは非常に良い。
(実はシングル性能上げる為のアセンブラっぽい関数群があるけど、それだったら素直にCやアセンブラで書けば良いとは思う)
- 961 :デフォルトの名無しさん:2020/07/14(火) 02:21:27.92 ID:5rX6+9jh.net
- Haskellの本買うわ
- 962 :デフォルトの名無しさん:2020/07/14(火) 07:54:10.38 ID:i9nYbez+.net
- なんだニヤニヤしたいだけか
- 963 :デフォルトの名無しさん:2020/07/14(火) 12:09:33.53 ID:8mSChQTw.net
- 分かったかカス ← お前が言うなハゲ
- 964 :デフォルトの名無しさん:2020/07/14(火) 12:33:23.45 ID:wxNuZUMy.net
- Ruby には、JIT があるから、
実行時に100万回ループすると、ネイティブコードにコンパイルされる
RSpec のような、サーバーテストツール・Serverspec の作者は宮下剛輔。
こういう技術を、宇宙・ロケット開発などで使えばよい
有名なYouTuber には、雑食系エンジニア・KENTA。
他には、たにぐちまこと・くろかわこうへい
Ruby では、伊藤淳一・とだこうき
反Ruby では、モローw
その中でも、KENTA は登録者数など、突出している!
プログラミング動画のレベルではない!
- 965 :デフォルトの名無しさん:2020/07/14(火) 12:36:01.12 ID:0gi5Wu3Z.net
- RubyやHaskell使う人は与えられた課題をできないことが理解できるスレ
- 966 :デフォルトの名無しさん:2020/07/14(火) 12:53:07.49 ID:nYZ+ew0u.net
- >>962
自分の環境だと、(一番手軽な方法でも)概ねHaskellの速度は2コア使ってCのシングルと同程度。(なので4コアで2倍くらいか?)
もちろん、Cを始めとする普通の言語でマルチスレッドすれば勝ち目は無いんだけど、>>949の言う通りベテランでも難しい。
手軽にCを超えられるし、AMDのEPICとかの鯖用CPUは64コア128スレッドだから、普通の言語で使い切れるマルチスレッドプログラミングはほぼ不可能なのをHaskellで目一杯使ったら凄いことになりそう。
(買えるお金無いが)
- 967 :デフォルトの名無しさん:2020/07/14(火) 12:56:17.94 ID:nYZ+ew0u.net
- >>937
Haskellはむしろ手続き型言語の考えに染まる前の初心者の方が覚え易い言語なんだけど、その初心者向け入門書が無いって言う・・・。
その辺がHaskellの課題。
- 968 :デフォルトの名無しさん:2020/07/14(火) 14:23:32.71 ID:6KNOtJR0.net
- >>966
何もしないで複数コア使えるところが良いのでは?
2コア使ってやっとCと同等という見方も出来る。
しかし別の見かたをすると、128コアのシステムではCの64倍。
富岳においては、何もすることなくCの8266752倍の性能が出せるとも言える。
- 969 :デフォルトの名無しさん:2020/07/14(火) 14:46:49.92 ID:y+G53Dzy.net
- >>968
うむり。
ネガティヴに読むかポジティブに読むかやね。
自分がHaskell勉強したての頃は、ここまで簡単な並列処理の方法が無くて理想(関数型言語は書き換え無しでマルチスレッド対応出来る)と現実(実際には普通の言語よりマシだけど、結構書き換える)に苦しんでマルチスレッド諦めてたけど、いつの間にかほぼほぼ理想に追い付いてたのは嬉しい。
- 970 :デフォルトの名無しさん:2020/07/14(火) 14:53:20.52 ID:9oJM7eZI.net
- >>967
For great good はわかっている人には楽しいHaskell入門書だけど、普通の入門書には数えられないのか。まあ、そう言われると納得してしまうが。
- 971 :デフォルトの名無しさん:2020/07/14(火) 16:47:28.18 ID:6KNOtJR0.net
- スマホ用のARMは8コアが普通だし、今後は32コアが標準になる。
したがってスマホ用のソフトウェアはHaskellを使う時代が来るだろう。
- 972 :デフォルトの名無しさん:2020/07/14(火) 18:15:15.31 ID:cK2vbctV.net
- こないこない
- 973 :デフォルトの名無しさん:2020/07/14(火) 18:27:49 ID:qW/Sr3KF.net
- >>971
来ないフラグだよねそれ
- 974 :デフォルトの名無しさん:2020/07/14(火) 18:31:45 ID:6KNOtJR0.net
- セガール最新作・沈黙のHaskell!
- 975 :デフォルトの名無しさん:2020/07/14(火) 20:48:16.84 ID:Dzg5ZsQq.net
- 手軽に始められる、わからなくなったらググればすぐわかる、求人の需要が高い
Haskellはこの3つに該当しない珍しい言語
>>5で終わっているはずなのによく続いたなこのスレ
- 976 :デフォルトの名無しさん:2020/07/14(火) 21:05:57.89 ID:sb7kFyOo.net
- >>976
前の2つは該当すると思うけどね
手続き型からはじめるとわかりにくいのかも
- 977 :デフォルトの名無しさん:2020/07/14(火) 21:12:15.38 ID:TLg82kn3.net
- 何でlispにしない
- 978 :デフォルトの名無しさん:2020/07/14(火) 22:14:16.11 ID:6KNOtJR0.net
- Lispの一種と見做されるJavascriptも良いかもしれませんね。
Javascriptで関数型の神髄を学び、それからHaskellと富岳でLinuxプログラミングへ移行する。
- 979 :デフォルトの名無しさん:2020/07/15(水) 03:33:03.74 ID:dHLT77Bw.net
- 俺今Javaやってるけど、おすすめしない
どうしても静的型付け言語をやりたいなら、Goをやるべき
- 980 :デフォルトの名無しさん:2020/07/15(水) 08:27:42.38 ID:1GUyXVwD.net
- 手軽に始められて情報も多い、スマホもPCもいけるC#でええやん
- 981 :デフォルトの名無しさん:2020/07/15(水) 09:02:44.48 ID:yrzZGj8C.net
- 奈良JS
- 982 :デフォルトの名無しさん:2020/07/15(水) 09:37:45.34 ID:MIZxT0kc.net
- JSってLispの一種ってマジ?
- 983 :デフォルトの名無しさん:2020/07/15(水) 09:57:41.30 ID:yrzZGj8C.net
- Lispの方言のひとつでScheme(スキーム)の影響を受けている
- 984 :デフォルトの名無しさん:2020/07/15(水) 10:58:04.08 ID:KZXXAVqP.net
- Yes, JavaScript is a Lisp
http://raganwald.com/2013/07/19/javascript-is-a-lisp.html
そうか、JavaScriptはLispだったのか!
https://qiita.com/derui/items/6e8de68cc1b7295de3a6
- 985 :デフォルトの名無しさん:2020/07/15(水) 11:37:15.19 ID:kb1h0ta6.net
- JavaScript, Python, Ruby, PHP, Lua, Perlなど
汎用的なインタプリタ型の言語はVBScriptを除くとほぼすべてLispの影響を強く受けてる
どの言語をとっても>>984の2つ目の記事にあるくらいの類似性はあるので
Lispを知ってる人間が他言語を理解しようとする文脈以外では「〜はLispの一種」と言っても無意味
- 986 :デフォルトの名無しさん:2020/07/15(水) 11:38:17.97 ID:kb1h0ta6.net
- >>984
>Yes, JavaScript is a Lisp
こっちの記事はまるで中身がない
Qiitaのほうがマシっていう
- 987 :デフォルトの名無しさん:2020/07/15(水) 11:51:54.81 ID:g+rqft1p.net
- Rubyなんか関数からして第一級構成要素じゃないのにlispと言えるの?
def aaa 〜
bbb = aaa
bbb()
これもできない。二行目aaaが関数呼び出しになっちゃってるからだが…
jsどころかpythonでもできるのに。
- 988 :デフォルトの名無しさん:2020/07/15(水) 12:03:21.05 ID:sBHz+ETb.net
- AKBは「会いに行けるアイドル」というコンセプトですが、富岳は「購入できるスパコン」というコンセプトです。
- 989 :デフォルトの名無しさん:2020/07/15(水) 12:52:26.73 ID:gwK3CNky.net
- AKBは購入できるアイドル
- 990 :デフォルトの名無しさん:2020/07/15(水) 12:53:38.38 ID:gwK3CNky.net
- >>985
> Lispの影響を強く受けてる
どの部分が?
Lispの影響を強く受けてると
人づてに聞いたって言いたいだけ?
- 991 :デフォルトの名無しさん:2020/07/15(水) 12:54:47.91 ID:gwK3CNky.net
- >>987
Lispは逐次実行ができる
Rubyも逐次実行ができる
似てる!
こういう理由じゃね?w
- 992 :デフォルトの名無しさん:2020/07/15(水) 13:25:38.36 ID:2nKcdNnM.net
- >>987
そんな表面的な理解しかできてないからどの言語も碌に使えずバカにされるんだぞ
パイソン使いが頭悪いと思われて迷惑
- 993 :デフォルトの名無しさん:2020/07/15(水) 14:36:50.21 ID:KZXXAVqP.net
- そうだねrubyがパクったのはlispの表面的なとこだけだったね。
関数が第一級じゃないとか笑うw
procに変換したり、最初からlambdaで作って変数にバインドしなきゃいけなんだっけ?ww
後付けでもこの体たらくwww
最初から本質をパクれていればなぁwwww
もうdefをobsoleteにしちゃいなよwwwww
- 994 :デフォルトの名無しさん:2020/07/15(水) 14:45:36.72 ID:cL9c5hZ8.net
- >>984
別にやるなとは言わないけど
何で本人が「わかりにくい」と認定しているものを
敢えてやるんだろう
自分が判らないものを他人には薦めないで欲しい
- 995 :デフォルトの名無しさん:2020/07/15(水) 14:52:11.09 ID:sBHz+ETb.net
- ガンダムはファーストしか認めない派いがいと多いな。
- 996 :デフォルトの名無しさん:2020/07/15(水) 17:24:52 ID:IqfNcqeZ.net
- 第一級関数は、単なるオブジェクトだから、
外側の変数が内側で見えるから、ダメ
Ruby の関数は、C の関数と同じで、
強固なスコープがあって、外側の変数を内側へ通さない
だから、バグりにくい
- 997 :デフォルトの名無しさん:2020/07/15(水) 17:40:37.26 ID:BCgwBnY5.net
- 自分の勉強してきた体験談を書く人がほぼ見当たらず怪しい上っ面の知識だけが飛び交うスレ
- 998 :デフォルトの名無しさん:2020/07/15(水) 17:44:10.17 ID:2PJdiH7v.net
- >>996
え?Rubyってクロージャーもないの
使えない言語だな
- 999 :995:2020/07/15(水) 19:36:34 ID:IqfNcqeZ.net
- Ruby では関数内に、ブロックを書く。
ブロックはクロージャだから、ブロックの外側の変数を内側へ通す
count = 1 # 外側の変数
[ "a", "b", "c" ].each do |char|
puts "#{ count } : #{ char }"
count += 1
end
出力
1 : a
2 : b
3 : c
- 1000 :デフォルトの名無しさん:2020/07/15(水) 20:33:21.39 ID:sBHz+ETb.net
- 簡単に言うとRubyは関数型言語って事ですね。
- 1001 :デフォルトの名無しさん:2020/07/15(水) 20:36:36.88 ID:BqRMiA+O.net
- 無理だってそんな言語。
のちの人が見て分からんだろ。
- 1002 :2ch.net投稿限界:Over 1000 Thread
- 2ch.netからのレス数が1000に到達しました。
総レス数 1002
239 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★