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

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:17:13.89ID:VgWTKanI
ぶっちゃけていいよ
2020/07/13(月) 13:40:16.88ID:LmgOQRQZ
並列処理なら、Ruby → Elixir
Elixir の小プロセスは、10万ぐらい起動できる

YouTube で有名な雑食系エンジニア・KENTA は、Ruby → Go。
この路線でも、並列処理できる
2020/07/13(月) 13:46:08.68ID:Ee4teTF9
なるほど、rubyは並列処理できないのか…φ(..)メモメモ
2020/07/13(月) 13:56:58.69ID:If4RhwQF
Rubyはすばらしい!おすすめ!
Haskellはすばらしい!おすすめ!
アホだ
2020/07/13(月) 14:20:42.66ID:DMnEFDl7
職業としてやっていきたいなら
年収500万円まで→算数ができればいける
年収1000万円まで→高校の数学レベルの思考ができればいける
年収1000万円以上→大卒レベルの数学の知識・思考が必要。高学歴である必要もある

金持ちになりたいとか無いなら数学の勉強なんてしなくていい
944デフォルトの名無しさん
垢版 |
2020/07/13(月) 14:26:51.74ID:WBkWHxcT
もう次スレ要らないよね?
945デフォルトの名無しさん
垢版 |
2020/07/13(月) 14:35:03.63ID:WZ5wyq49
次スレなんて要るわけないだろ。
まずスレ題名がおかしい。

始めるのにいい言語とか、馬鹿じゃねーの?
946デフォルトの名無しさん
垢版 |
2020/07/13(月) 15:11:25.42ID:7w0Qfwbj
>>939
どうして入出力を伴っても参照透明性を保てるのかとかの、裏で動いてる仕組みを理解するには大学数学が必要だけど、言語として、プログラミングの道具として使うだけなら算数程度でおk

結局、お受験する様な小学生向け(一般で言う中学生向け?)になったが、一応、小学生向けのHaskell入門書も書いた。

パソコンが買えなくてもプログラマーを諦めない君へ-〜小学生のHaskell入門〜
絶賛発売中です。出版社が拾ってくれたら安く出来るんだけど・・・。

Haskellが素晴らしいのは、参照透明性がある事。
これは動く数学といって良い。
手元にPCが無くても、GUIやマルチスレッドでも、処理の流れを把握し易いのは、初心者にとっても利点だろう。
2020/07/13(月) 17:00:03.19ID:iuKMJmSh
ハスケルってGUIも簡単に作れるの?
2020/07/13(月) 17:18:53.19ID:e1MWMie4
>>932
GUI作るのに非同期なら必須だけど並列化、並列処理は命令が用意されている言語でも実務レベルで使われることはほとんどないのに
>>936
初心者どころかベテランでもめったに使わないんじゃね
管理難しい上に期待したほどの処理速度にならないことが多いからな
「俺様の知っている言語知識を聞けー」ってこんなレスばっかりだなここ
2020/07/13(月) 17:33:06.13ID:QraSqhYV
>>848
はいはい、わざわざ顔真っ赤にして頑張ってんね。

自分の好きな言語ベラベラ語って、嫌いな言語disってりゃいいんだよ、このスレは。
kentaがRuby勧めてるのもwebプログラマを目指してる初学者向けに勧めてるだけだ。どこにでも現れてRubyの宣伝すんな。

わかったかカス?
2020/07/13(月) 17:35:00.46ID:aaJV9hNQ
新入部員募集のビラ配りみたいなもんでしょ
2020/07/13(月) 17:43:19.31ID:wgMdCM9I
まあそのkentaはrubyに拘泥するやつは伸びないさっさと卒業しろ言ってるけどね
952デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:16:04.24ID:Bw4cVoP9
>>948
それこそ、普通のプログラミング言語が並列処理に向かない証拠だと思うのだけど・・・。
953デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:24:42.60ID:FXKbLn4+
>>949
1週間以上前のレスに返信して顔真っ赤ってwww
ブーメランすぎひん?
954デフォルトの名無しさん
垢版 |
2020/07/13(月) 18:25:57.71ID:FXKbLn4+
kentaとか知らんけど
2020/07/13(月) 19:02:14.97ID:/Uo9CCGs
>>952
並列化に夢見ている人がたまにいるけどPCだとメモリバス帯域の限界があるので並列化の数を増やすほどかえって効率が悪くなる
分散コンピューティングとかスパコンならともかく、こんなスレで出しても
956デフォルトの名無しさん
垢版 |
2020/07/13(月) 19:11:01.81ID:CP3L/xE2
それこそ並列化の初歩中の初歩じゃん
その程度コンパイラが最適化してくれるでしょ
2020/07/13(月) 19:33:23.67ID:gB4uj1xb
並列化の初歩中の初歩だけど
コンパイラの最適化は非常に貧弱

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

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

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

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

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

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

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

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

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

自分がHaskell勉強したての頃は、ここまで簡単な並列処理の方法が無くて理想(関数型言語は書き換え無しでマルチスレッド対応出来る)と現実(実際には普通の言語よりマシだけど、結構書き換える)に苦しんでマルチスレッド諦めてたけど、いつの間にかほぼほぼ理想に追い付いてたのは嬉しい。
2020/07/14(火) 14:53:20.52ID:9oJM7eZI
>>966
For great good はわかっている人には楽しいHaskell入門書だけど、普通の入門書には数えられないのか。まあ、そう言われると納得してしまうが。
970デフォルトの名無しさん
垢版 |
2020/07/14(火) 16:47:28.18ID:6KNOtJR0
スマホ用のARMは8コアが普通だし、今後は32コアが標準になる。
したがってスマホ用のソフトウェアはHaskellを使う時代が来るだろう。
2020/07/14(火) 18:15:15.31ID:cK2vbctV
こないこない
2020/07/14(火) 18:27:49.63ID:qW/Sr3KF
>>970
来ないフラグだよねそれ
973デフォルトの名無しさん
垢版 |
2020/07/14(火) 18:31:45.13ID:6KNOtJR0
セガール最新作・沈黙のHaskell!
2020/07/14(火) 20:48:16.84ID:Dzg5ZsQq
手軽に始められる、わからなくなったらググればすぐわかる、求人の需要が高い
Haskellはこの3つに該当しない珍しい言語
>>5で終わっているはずなのによく続いたなこのスレ
2020/07/14(火) 21:05:57.89ID:sb7kFyOo
>>975
前の2つは該当すると思うけどね
手続き型からはじめるとわかりにくいのかも
2020/07/14(火) 21:12:15.38ID:TLg82kn3
何でlispにしない
977デフォルトの名無しさん
垢版 |
2020/07/14(火) 22:14:16.11ID:6KNOtJR0
Lispの一種と見做されるJavascriptも良いかもしれませんね。
Javascriptで関数型の神髄を学び、それからHaskellと富岳でLinuxプログラミングへ移行する。
2020/07/15(水) 03:33:03.74ID:dHLT77Bw
俺今Javaやってるけど、おすすめしない
どうしても静的型付け言語をやりたいなら、Goをやるべき
2020/07/15(水) 08:27:42.38ID:1GUyXVwD
手軽に始められて情報も多い、スマホもPCもいけるC#でええやん
2020/07/15(水) 09:02:44.48ID:yrzZGj8C
奈良JS
2020/07/15(水) 09:37:45.34ID:MIZxT0kc
JSってLispの一種ってマジ?
2020/07/15(水) 09:57:41.30ID:yrzZGj8C
Lispの方言のひとつでScheme(スキーム)の影響を受けている
2020/07/15(水) 10:58:04.08ID:KZXXAVqP
Yes, JavaScript is a Lisp
http://raganwald.com/2013/07/19/javascript-is-a-lisp.html

そうか、JavaScriptはLispだったのか!
https://qiita.com/derui/items/6e8de68cc1b7295de3a6
2020/07/15(水) 11:37:15.19ID:kb1h0ta6
JavaScript, Python, Ruby, PHP, Lua, Perlなど
汎用的なインタプリタ型の言語はVBScriptを除くとほぼすべてLispの影響を強く受けてる

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

Lispの影響を強く受けてると
人づてに聞いたって言いたいだけ?
2020/07/15(水) 12:54:47.91ID:gwK3CNky
>>986
Lispは逐次実行ができる
Rubyも逐次実行ができる
似てる!

こういう理由じゃね?w
2020/07/15(水) 13:25:38.36ID:2nKcdNnM
>>986
そんな表面的な理解しかできてないからどの言語も碌に使えずバカにされるんだぞ

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

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

だから、バグりにくい
2020/07/15(水) 17:40:37.26ID:BCgwBnY5
自分の勉強してきた体験談を書く人がほぼ見当たらず怪しい上っ面の知識だけが飛び交うスレ
2020/07/15(水) 17:44:10.17ID:2PJdiH7v
>>995
え?Rubyってクロージャーもないの
使えない言語だな
998995
垢版 |
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
999デフォルトの名無しさん
垢版 |
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秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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