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

■ このスレッドは過去ログ倉庫に格納されています
2021/09/12(日) 12:56:23.75ID:5CNhVmk1
前スレ

ぶっちゃけ始めるのにいい言語て何 part6
https://mevius.5ch.net/test/read.cgi/tech/1628771431/
2021/09/12(日) 13:05:25.48ID:Svhq8lc9
Go「初心者でも理解しやすいです。静的型付け言語です。処理が速いです。コードがシンプルです。ライブラリ豊富です」←こいつ以外を勧める理由
3デフォルトの名無しさん
垢版 |
2021/09/12(日) 13:08:56.73ID:s6SsW7NG
goは触れたことないけどなんとなくイヤ

package main // ←なにこれ
import "fmt" // fmtって約し方がイヤ
func main() { // funcがイヤ
fmt.Println("Hello, World") // Pが大文字なのがイヤ
}
4デフォルトの名無しさん
垢版 |
2021/09/12(日) 14:35:13.60ID:ZUoLzWeA
あわしろ氏がお勧めするHaskell。
2021/09/12(日) 14:43:37.82ID:q/A4LK0H
大手IT企業たちの方針

プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/

Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
6デフォルトの名無しさん
垢版 |
2021/09/12(日) 15:40:00.69ID:s6SsW7NG
rustは難しいからイヤ
2021/09/12(日) 15:51:24.59ID:lBuMyCBZ
>>5
Rustはプログラミング言語の集大成といった感じだな
まず基本のC言語と同じくネイティブにコンパイルされガベージコレクションも無く最高速かつ低水準も記述できるのでOSや組み込みまで全ての分野で使える
それに加えてHaskellなどから強力な静的型付けを導入し高度でかつわかりやすいプログラミングによりミスを避けられ保守性も高い
それらの良い特性にも関わらず他のモダンなプログラミング言語などと同様の利便性や記述が出来てプログラムが非常に書きやすい
これら良いとこ取りをしただけではなくRustの独自性としてコンパイラに通った段階でメモリ安全性の保証をGCなく実現したことが大手IT企業たちから強い支持を得るに至った
8デフォルトの名無しさん
垢版 |
2021/09/12(日) 16:26:43.73ID:29O/ChGl
もう一つのスレとどっちが本スレなん?
2021/09/12(日) 16:28:40.56ID:8xE5osSS
最初の言語なんてBASIC程度のものでいい
始めから何もかもやらせようとすると高確率で挫折する
2021/09/12(日) 16:34:33.79ID:UrK9UNLE
>>9
スレタイ見ればわかるように最初の言語とか初心者などに限定したスレではない
プログラミング経験あるけど久々に始める人でもいいし
現役プログラマーが次に始める言語でもいい
11デフォルトの名無しさん
垢版 |
2021/09/12(日) 16:44:09.02ID:s6SsW7NG
rustとgoならrustのほうが勢いあるよね?
2021/09/12(日) 16:51:29.65ID:ebayK9RV
日本の企業でRustはそんなに定着してない
まだ数年はGoやってた方がいい
2021/09/12(日) 16:54:09.01ID:5CNhVmk1
>>8
向こうがなんか臭いのでこっち建てました
タイトルも勝手に変えてるし
148
垢版 |
2021/09/12(日) 17:15:04.62ID:29O/ChGl
>>13
了解です
15デフォルトの名無しさん
垢版 |
2021/09/12(日) 17:18:53.40ID:s6SsW7NG
>>12
たしかにgoやってるの話は直接耳に入ってくるけど
rustやってる話は直で聞いたこと無いな

>>13
スレたてありがとうございます
2021/09/12(日) 19:32:27.23ID:1emsEJL3
滅茶苦茶CPUバウンドでかつGCあると困る用途でない限りはGoでいいんちゃうの
生産性はやっぱ正義
17デフォルトの名無しさん
垢版 |
2021/09/12(日) 20:49:28.49ID:ZUoLzWeA
あわしろ氏はHaskellを強く勧めてる。
これからの若者は数学志向プログラミングに触れるべき。
2021/09/12(日) 21:03:10.06ID:tQsPNQZc
>>16
Go信者は、Go以外の言語は生産性が悪い、と本気で思い込んでいて恥ずかしいと思います。
2021/09/13(月) 14:09:06.93ID:ml8LdEkP
無難にPythonかな

アルゴリズム本はPythonで書かれてることも多いから初心者向けだし

Juliaに進むにしてもPython知っといたほうが良い

いずれにせよPython完璧に覚える必要はないかな多分
20デフォルトの名無しさん
垢版 |
2021/09/13(月) 14:21:33.73ID:kAzx+Vi2
Pythonは癖が強いとおもってたけど
今や使ってる人めちゃ多いからいいかもね
21デフォルトの名無しさん
垢版 |
2021/09/13(月) 19:35:07.28ID:Wc4bEdJ2
REPLがあったほうが良い?
やっぱチョコチョコ反応みながら書いていくのがやりやすそうだけど
2021/09/13(月) 20:30:43.52ID:O39UsyXw
>>21
REPLあったほうが学習効率は断然いい

ただ最近は動的言語だけじゃなく静的言語でもだいたいREPLあるよ
使いやすいかどうかは別だけど
2021/09/13(月) 21:32:31.16ID:HGulW+Fz
REPL は、いらない

VSCode の拡張機能・Code Runner で、右クリックメニューから、
選択したコード片か、またはファイル全体を実行できる

JavaScript なら、拡張機能・Quokka.js で、リアクティブに表示される
2021/09/13(月) 21:47:23.68ID:v07DQ1Fe
>>21
行単位REPLは制御文や関数など複数行になると修正も大変かわかりにくくなってしまうから
初心者にはウェブブラウザ上で書いて実行できるタイプの方がオススメかな
例えばRustでも公式でプログラムをブラウザ上で書いて実行できるplay環境を用意してくれてるね
https://play.rust-lang.org/?code=fn%20main%28%29%20%7B%0A%20let%20a%20=%201;%0A%20let%20b%20=%202;%0A%20println%21%28%22%7B%7D%22,%20a%20%2B%20b%29;%0A%7D%0A
2021/09/14(火) 11:47:27.90ID:PQGozmWM
>>7
なんか皮肉にしか聞こえない
2021/09/14(火) 18:26:12.08ID:kyozNdb6
黙ってC言語だけやってりゃいい
ポインタを分かるとこまでやってりゃいい
27デフォルトの名無しさん
垢版 |
2021/09/14(火) 18:33:01.83ID:LPCz95Z4
Haskellで数学志向プログラミングに触れてはどうか。
28デフォルトの名無しさん
垢版 |
2021/09/14(火) 19:09:49.45ID:kyozNdb6
なんだよ数学志向てw
29デフォルトの名無しさん
垢版 |
2021/09/14(火) 19:30:32.94ID:LPCz95Z4
あわしろ氏がお勧めする数学志向プログラミング。
知らないとは言わせない。
2021/09/14(火) 19:32:10.27ID:51EJuG+f
じゃあリンクよろ
31デフォルトの名無しさん
垢版 |
2021/09/14(火) 19:33:33.49ID:kyozNdb6
オブジェクト指向は「指向」であり
数学志向は「志向」であり謎が謎を呼ぶ
2021/09/14(火) 19:36:25.38ID:kyozNdb6
https://www.weblio.jp/content/%E6%8C%87%E5%90%91
し‐こう〔‐カウ〕【指向】
[名](スル)ある方向・目的に向かうこと。また、方向や目的を指示してその方に向かわせること。志向。「輸出先として指向する国」「主力を激戦地に指向する」

https://www.weblio.jp/content/%E5%BF%97%E5%90%91
し‐こう〔‐カウ〕【志向】
[名](スル)意識が一定の対象に向かうこと。考えや気持ちがある方向を目指すこと。指向。「高い志向をもつ」「音楽家を志向する」「上昇志向」

ふむふむ
33デフォルトの名無しさん
垢版 |
2021/09/14(火) 19:39:01.12ID:LPCz95Z4
ほむほむ。
勉強になるスレですな。
2021/09/14(火) 20:08:33.77ID:yDfeC3hP
Haskellから型クラスやモナドなどを参考に採り入れたRustをまず学ぶのも進みやすい道かもね
Rust自体はそれでいてベースがC言語の手続き型言語だから多くの人が入りやすい
2021/09/14(火) 20:21:19.76ID:hZFcoaP0
おばあちゃんが今から始めるのもHaskellとかRustがいいんですか?
こないだ有線リモコンの冷房から無線のエアコンに買い換えて驚いてたおばあちゃんなんですが
36デフォルトの名無しさん
垢版 |
2021/09/14(火) 21:16:44.39ID:LPCz95Z4
Rustは手続き型ベースなので、最初の言語として相応しくない。
2021/09/14(火) 22:12:21.32ID:8CGuNQvu
数学は関数であり工学の基礎なので、最初の言語として相応しい
2021/09/14(火) 22:42:03.53ID:yDfeC3hP
>>36
大半のプログラミング言語が手続き型なんだけど
本当に手続き型は最初の言語として相応しくないの?
39デフォルトの名無しさん
垢版 |
2021/09/14(火) 22:48:39.60ID:kyozNdb6
というわけで黙ってC言語やっとけば間違いないんすわ
2021/09/14(火) 23:59:09.65ID:BSh8VTqx
C→Rustと進むのがベスト
2021/09/15(水) 02:05:47.26ID:RFAuOAsn
2Fe+O2→2FeO と進むのが化学言語
2021/09/15(水) 07:27:12.46ID:itygeFef
プログラミングの初心者が参照する
どんなテキストや動画コンテンツでも
最初は手続き型でしか教えない
最初からオブジェクト指向とか
構造化とかコンポーネントとか関数型とか教えない

どんな言語も構文は大体同じなので
学習コストが安く
学ぶ情報環境が整っている言語がいい

ただしjavascriptは言語構造は混乱しやすいので
Ruby,Pythonあたりがお手軽でおすすめ

C系やRustは学習コストが高め
javascriptは文法があやふや(互換性)
なので、避けたほうがいいでしょう
2021/09/15(水) 08:33:58.26ID:jolMkSx3
JavaScriptは触れ合いやすいけど
ちょっと癖が強いわなぁ
Foo.prototype.bar = とか
これを覚えたところで他に生かせなくて無駄
2021/09/15(水) 08:35:32.96ID:jolMkSx3
あとそれと「巻き上げ」とかな
JavaScriptって入り組んでくるとことごとく捻じ曲がってる印象
2021/09/15(水) 08:53:31.96ID:NuhKh3Ob
古いJavaScriptで書かれたソース読む機会あったけど呪文みたいだったわ

設計もめちゃくちゃだったしクソコードに触れる機会を減らしたいならサーバサイドを中心にした方がいい
2021/09/15(水) 12:37:47.92ID:6EsPXkcj
C#かkotlinに一票
Rustはいい言語だけどはじめての人がいきなりはちょっとやめたほうがいい
47デフォルトの名無しさん
垢版 |
2021/09/15(水) 12:48:42.29ID:KK7W2oGB
やっぱPython→Juliaとクラスチェンジするのが良いよな
2021/09/15(水) 12:55:34.83ID:jolMkSx3
PythonとJuliaって別物すぎん?
2021/09/15(水) 15:25:40.60ID:NtEFpCgv
javascriptはHTMLを動的に扱うために作られたので
発想はマークアップを装飾するためのアクセント言語だったのが
その時代の言語構造を引き継ぎながら
ブラウザプログラミング言語を志向したので
互換性やらなんやらで、最終的に学習コストが高くなった

始めるのなら最初から軽量で
言語構造もシンプルに洗練されている手続き型の言語で
学習情報が豊富なPythonがおすすめ
そこで基本を学んでから関数型やオブジェクト指向や
いろいろ広げるのが正解
50デフォルトの名無しさん
垢版 |
2021/09/15(水) 16:09:40.84ID:bOA0y0+v
pythonは昔はオフサイドルールが癖強すぎて避けてたけど
今となったら癖とかなんとか以前にユーザが増えすぎて
そういう意味で有利になっちゃったな
ネット上に文章が多いし求人でも有利だろうし
51デフォルトの名無しさん
垢版 |
2021/09/15(水) 18:29:03.83ID:uFhh3dTk
あわしろ氏がお勧めするHaskell。
52デフォルトの名無しさん
垢版 |
2021/09/15(水) 18:31:36.33ID:uFhh3dTk
Javascriptでバグ無くせとかなんの修行なのか。
バグりやすく作られた言語なんだから、バグ入れるのが正しいのではないのか。
バグ入れたらダメなら、何でバグりやすい言語仕様にしたのか。
謎が謎を呼ぶ。
だれかコナン呼んできて。
53デフォルトの名無しさん
垢版 |
2021/09/15(水) 18:55:39.82ID:bOA0y0+v
昔はカーソルの形変えるための言語だったのにねw
あのころのことがあるからイマイチ信頼できない
応援してるし頑張ってほしいけど
2021/09/15(水) 18:57:44.65ID:itygeFef
ブラウザ言語でバグっても誰も損しない
バグはCSSでかっこよく装飾して見栄えでごまかす
エラーが出たらCSS装飾に飛ばすようにトラップかければ
クライアントも気が付かないで喜ぶこと間違えなし
55デフォルトの名無しさん
垢版 |
2021/09/15(水) 20:04:34.41ID:bOA0y0+v
○ほほのjavascriptとか見て頑張ってたよ
56デフォルトの名無しさん
垢版 |
2021/09/15(水) 21:40:59.44ID:J9j45kj/
Pythonは入門は簡単だけど、使いこなそうと思ったら難しいから途中で他の言語もやるのが良いと思う
57デフォルトの名無しさん
垢版 |
2021/09/15(水) 21:44:49.49ID:TPuce9ot
馬鹿には無理
2021/09/15(水) 22:32:13.88ID:itygeFef
>>56
手っ取り早くプログラミングの構文を学んだら
あとは必要な言語やプログラミング志向を学んで
好きな分野で活動すればいい

基礎的構文は
データ型、変数、関数、インスタンス程度
癖なくそれを学べる言語をチョイスすればいいよ
59デフォルトの名無しさん
垢版 |
2021/09/15(水) 22:45:43.19ID:uFhh3dTk
Haskellで数学志向プログラミングに触れてみては。
2021/09/15(水) 22:48:38.39ID:3BflzJ3C
>>43
それはclass導入前の凄く古い記述方法ですよ
今は便利になりました

>>44
「巻き上げ」もlet導入前の凄く古い話ですね
あなたは時間が止まっているようなので勉強し直したほうが良いでしょう

>>49
それは昔の話
現在のJavaScriptは非常に分かりやすい言語になりました
そのためブラウザの外でも使われることが増えました

>>52
それはJavaScriptの話ではなく動的型付けなスクリプト言語(Python, Ruby, JavaScript, ...)全てでそうですね
しかしJavaScriptなら静的型付けできるTypeScriptがあるのでその中で最も有利です
2021/09/15(水) 23:29:04.02ID:6EsPXkcj
それは昔の〜とかが本当にムダ

何か調べようと思った時に古い情報がでてきたり、
そのやり方を継承するような方法がでてくるのは効率が悪い

JavaScriptが(現在は)悪い言語とは言わないが、
始めるのに良い言語では、ぶっちゃけない
62デフォルトの名無しさん
垢版 |
2021/09/15(水) 23:34:42.85ID:uFhh3dTk
いや、悪い言語ですよ。
2021/09/15(水) 23:40:48.24ID:XqwyDbmC
JavascriptはWebサイトの後方互換性のために仕様が汚れまくっていてTypescriptで延命してるが早急に滅びるべき言語なんだよ
そろそろブラウザ用の機能もコトリンやGoで書いてWebasmで動かす時代になる
2021/09/15(水) 23:51:04.43ID:3BflzJ3C
>>62 >>63
現在のJavaScriptは非常に筋の良い良い言語だよ
だから利用者数がどんどん伸びている
サーバーサイドでもデスクトップアプリにも使われるようになっている
2021/09/15(水) 23:54:39.04ID:pLOaSwL8
>>63
それは絶対に無理
夢物語
2021/09/16(木) 08:12:11.46ID:MJA6DJit
>>60
なっ!?
JavaScriptでもclass宣言かけるようになってんだな
有難いけどTypeScriptの立場どうなっちゃうの
2021/09/16(木) 08:21:09.61ID:MJA6DJit
言語として良いか悪いかはさておき
プロトタイプベースのOOPLに触れようと思ったら
すぐこれに触れる手軽さはいいかと
これはこれで面白いもんね
2021/09/16(木) 09:01:46.96ID:r6JlLKQD
JavaScriptってすごく便利で強力だけど
習得が難しい言語のように思える
プログラミング初心者には厳しいのでは
2021/09/16(木) 09:12:14.38ID:qq0w47QU
>>68
Pythonよりは簡単だし
JavaScriptは文法記述もいわゆるC言語系の王道プログラミング言語標準だから
Pythonを学ぶよりJavaScriptを学んだ方がその先も有利かと
2021/09/16(木) 09:16:10.72ID:X9teLw9G
JavaScriptは色々ふわふわしすぎて苦手だわ
ブラウザで挙動変わったりするしこんなもんに時間掛けたくねえ
71デフォルトの名無しさん
垢版 |
2021/09/16(木) 09:20:21.61ID:I3VTO38j
jsはVBやPHPよりはましだとは思うが
どっちかというとそいつらは全部カス
2021/09/16(木) 09:26:31.27ID:MJA6DJit
arguments.calleeなんかあるのも面白い
再帰の関数式を書ける
[1, 2, 3, 4, 5].map(function(n) {
return !(n > 1) ? 1 : arguments.callee(n - 1) * n;
});
でも今じゃ
[1, 2, 3, 4, 5].map(function factorial(n) {
return !(n > 1) ? 1 : factorial(n - 1)*n;
});
こう↑書けるしこっちがオススメみたいだけど
前者の場合は完全に無名関数の再帰になるんで凄みがある(個人の感想です)
2021/09/16(木) 09:27:01.96ID:qq0w47QU
>>70
なぜそこで嘘をつくんだよw
ブラウザでJavaScriptの挙動が変わるって何の話だ??
2021/09/16(木) 09:39:47.11ID:HWkOYpXj
>>73
Chrome、Firefox、Safariで挙動変わるだろ。特にSafariはクッキー関連厳しくて動かないことが多い
古いプロジェクトだとここにIEが加わって地獄化するよ
2021/09/16(木) 09:49:18.48ID:w56kdS0a
>>74
え??
それはJavaScriptとは一切関係ない話
クッキーはHTTPの一部でありプログラミング言語と何ら関係がない
その区別ができてないのはちょっとマズいと思う
2021/09/16(木) 10:01:08.12ID:MJA6DJit
ぐぐったけどイベント付近で差異があるね
これが「JavaScriptの挙動が変わる」に値するかどうかは不明

https://codezine.jp/article/detail/158
Internet Explorerの場合マウスダウンX座標はwindow.event.offsetX
Mozilla系ブラウザの場合はf(e)のe.pageX
2021/09/16(木) 10:06:18.83ID:wbqs1W10
もう2021年だぞおじいちゃん
2021/09/16(木) 10:09:32.24ID:kZVWWHOE
>>75
うるせえオタク
俺が変わるって言ってるんだから変わるんだよ
2021/09/16(木) 10:16:43.09ID:w56kdS0a
>>76
16年前の記事を見付けてきて何をしたいの?
はるか昔に統一されていますよ

ちなみにそれもJavaScriptの言語仕様とは全く無関係な話
ブラウザ上でのWeb APIの話です
いずれにせよ大昔に統一されています
2021/09/16(木) 10:36:16.70ID:o+ptaNmt
>>72
それは昔の仕様なのでarguments.calleeは現在strictモードで使用不可となっている
arguments自体も使用不推奨となっていて今はrest引数(いわゆる...restArgs)形式が使われている
現在のJavaScriptはすっきり洗練されていてわかりやすく初心者にもオススメ
2021/09/16(木) 10:42:20.64ID:s2Vg/LPM
JavaScript大好きアスペルガーもいるね
2021/09/16(木) 11:15:05.47ID:5v2yv6GZ
こうも書けるしああも書ける、10年前はこう書いたけど今は違う書き方をするがどっちも動く
こういう言語のクソっぷりはPerlで懲りたでしょうに
2021/09/16(木) 11:29:51.29ID:o+ptaNmt
>>76
2005年の記事を持ち出してきてる時点でJavaScriptを叩きたいためにワザとやってるんだな
例えば2005年には現在のPython3も当然ないから2005年のPython記事を見たら仕様が違っていて混乱するのは当たり前
Rubyだって当時はRuby1であり現在のRuby2やRuby3ではない
今後もこのスレで古い話を持ち出して叩いている人が現れたらキチガイであると断言できる
2021/09/16(木) 11:33:32.93ID:MJA6DJit
>>79
> 16年前の記事を見付けてきて何をしたいの?
> いずれにせよ大昔に統一されています

失礼しました
不勉強で申し訳ないです

>>80
> それは昔の仕様なのでarguments.calleeは現在strictモードで使用不可となっている

勉強になりますサンクス
ド素人なので参考になります
2021/09/16(木) 11:35:23.20ID:MJA6DJit
>>83
ワザとじゃないし叩きたいなんて思ってないよ
ただ単に俺がド素人で知識が古いだけ
みなさんにはご迷惑かけるんで今後JavaScriptについては発言を控えるよ
2021/09/16(木) 12:12:48.00ID:Zqtnrczb
>>85
他のプログラミング言語でも同様だけど古い仕様を持ち出すのは意味がないのでそれぞれ現在の言語の話をすれば控える必要ないでしょう
現在のJavaScriptはもちろん初心者にも最適な一つですが初心者が辿る動的型付けから静的型付けへ進む時にTypeScriptへとほとんど学習コストなく進めるのも大きな推奨点ですね
2021/09/16(木) 12:13:31.58ID:s2Vg/LPM
JavaScript()にも熱心な信者が居るんだな
88デフォルトの名無しさん
垢版 |
2021/09/16(木) 12:25:30.92ID:I3VTO38j
>>41
Fe → FeO → Fe3O4 → Fe2O3 と進む
2021/09/16(木) 12:28:01.75ID:1hyR7qdb
C++だって仕様の隅から隅まで覚えようとすると激難しいのであって
初心者が触りの言語として四則演算するのに大して影響は無い
2021/09/16(木) 12:29:00.37ID:szb6q3uV
C#最強説
Webサイト作れます
デスクトップソフト作れます
Windowsストアのアプリ作れます
AndroidとiPhoneのアプリ作れます
PCゲーム作れます
91デフォルトの名無しさん
垢版 |
2021/09/16(木) 12:30:30.25ID:I3VTO38j
>>82
だよな

js は捨てていい
2021/09/16(木) 12:44:05.39ID:MJA6DJit
C#は色々嫌いだけど値型だけは好き
in/out/refつけてみたりつけなかったりで自分の好きにできて嬉しい
これを用意しなかったJavaも割り切っててスッキリしてて悪くは無いと思うけど
93デフォルトの名無しさん
垢版 |
2021/09/16(木) 13:02:16.16ID:OOI2XObq
へー じゃあc#にします
2021/09/16(木) 13:19:33.65ID:HON91t9p
>>92
in/out/refなんて飾りに過ぎないよ
コンパイル結果のコードが変わるわけではないしref付けてなくてinでも配列の中身書き換え通ってしまう
しかもoutなんて本来は返り値でやればいいものであってC#は1つしか返り値を返せなかった名残りで無理矢理に引数にしている失敗策
C#は中途半端なところが多いので避けたほうがよい
2021/09/16(木) 13:48:24.90ID:jpojhm2T
C#って言語は良くてもあんまりモダンな感じがしないのがなぁ
色んなクラウド技術使ってるプロジェクトとは無縁そう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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