2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ぶっちゃけ始めるのにいい言語て何?

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 ★