次世代言語13 Go Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/20(月) 21:55:53.03ID:JBCtYT+G
スレタイ以外の言語もok

前スレ
次世代言語12 Go Rust Swift Kotlin TypeScript
http://mevius.5ch.net/test/read.cgi/tech/1530664695/
2018/09/01(土) 19:51:19.20ID:8XWt4TWp
>>290
任意個数のオペランドを持ったノードとして左から順に評価すればいいだけだぞ
CやJSのカンマ演算子なんかと一緒
292デフォルトの名無しさん
垢版 |
2018/09/01(土) 19:52:39.70ID:/wwW4VSs
a < bは
普通にブーリアン返す演算子だからな
普通にブーリアン返すのが正しい演算だ
293デフォルトの名無しさん
垢版 |
2018/09/01(土) 19:53:45.56ID:/wwW4VSs
aho ? baka1 : baka2
全然違う
2018/09/01(土) 19:56:29.75ID:4l6T8pEq
a < b の値は最初はintだったのをboolに変えたんなら次はMaybeに変えてもいいぞ
295291
垢版 |
2018/09/01(土) 19:56:58.30ID:8XWt4TWp
カンマ演算子と一緒は間違いだな、撤回する
例えば配列リテラル式と一緒だと考えればいい
あれは任意個数のオペランドを引数にとって全体として配列型を返す演算子であると解釈できる
296デフォルトの名無しさん
垢版 |
2018/09/01(土) 19:57:48.29ID:/wwW4VSs
非ゼロを非ゼロでないかを
真偽にしても別に問題はない
297デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:00:11.15ID:/wwW4VSs
真偽値をどういう値にするかどうかなんか関係ないからな
式の評価で真偽判定を行わないという解釈の問題になるからな
298デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:01:12.82ID:/wwW4VSs
とりあえず低学歴知恵遅れは
とてつもなくオツムに問題があるのが
このスレみててもよく分かる

適切な問題の分離のしかたが分かってない
2018/09/01(土) 20:03:28.96ID:8XWt4TWp
アホだなあ
演算記号が単独で式を構成しなければならないなんて決まりはない
全体で式を構成すると考えれば何の問題もない
300デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:06:47.42ID:/wwW4VSs
a < b < c
まず a < b を評価して
その評価結果を
(a < b) < c
で評価するという決まりだからな
コレが正しい解釈になる

それ以外は不適切な解釈
2018/09/01(土) 20:07:36.43ID:Lo8welT8
Iconという言語だとこれが、a < b という式は成功した場合の値がbになるから a < b < c が
自然に実現できるんだよな。
2018/09/01(土) 20:13:43.79ID:8XWt4TWp
>>300
じゃあ関数呼び出し式 (f)(a, b) はどう解釈する?
君のいう正しい解釈のように ((f)(a))(b) と解釈する言語も実際に存在するけど、あまり一般的ではないよね
2018/09/01(土) 20:22:54.83ID:rtR930fJ
>>300
この辺レガシーな言語なら最初の比較で出るのはbool型になるからcと比較してまともな結果になるはずがないんだよね
2018/09/01(土) 20:25:39.05ID:Lo8welT8
>>302
二項演算子 a < b と三項演算子 a < b < c が同時に存在するというイメージなんだろうか。
a < b がコンテキストによってboolを返すかbを返すか変化するという方がまだ無理がないな。
2018/09/01(土) 20:32:20.02ID:4l6T8pEq
if(対象 == オブジェクト)
if(事象)
対象コンテキストと事象コンテキスト
すべてがオブジェクトといったな、あれは嘘だ
306デフォルトの名無しさん
垢版 |
2018/09/01(土) 20:50:05.62ID:/wwW4VSs
関数呼出規約なんかこの話となんの関係もない
まともなオツムしてたら関数呼出で順序の副作用がおきるような書き方なんかしないからな

昔のMCSのコンパイラでも例えば、cdeclとpascal呼出規約があった
cdeclとpascal呼出規約をかえると、結果が変わるような知恵遅れなコード書くヤツなんか
このスレにいるような低学歴知恵遅れしかいない

わかった?
2018/09/01(土) 20:56:58.84ID:1LBe8Cyr
>>304
C言語的な演算子の概念に拘るなら、比較式はn項演算だと考えれば理解しやすいかな
実際scalaやF#のmatchとかRubyのifとかはn項演算の例だし、そんなに珍しいもんじゃないよ
2018/09/01(土) 21:36:47.04ID:Lo8welT8
>>307
構文解析の難易度の話なんだけど、matchなどといった開始語を欠いているうえに
<=や>など他の演算子との混在も考慮しなければならないとなったら、かなり
困難なものになる思うが。
309デフォルトの名無しさん
垢版 |
2018/09/01(土) 21:39:24.86ID:/wwW4VSs
それは可変引数をもった特定の関数呼び出しと意味的同じだからな
低学歴知恵遅れにそんなこといってもしょうがない
2018/09/01(土) 21:49:16.31ID:4l6T8pEq
学校で教えるのはプログラムではなく物理とか微分とかなので
学歴重視はハードウェア重視や機械学習重視になりがち
2018/09/01(土) 21:57:05.44ID:OmCLr4/c
>>308
>>289で終わりじゃね
312デフォルトの名無しさん
垢版 |
2018/09/01(土) 22:17:22.89ID:/wwW4VSs
知恵遅れに理解はムリ
知恵遅れの自覚がまったくいない
2018/09/01(土) 22:26:51.47ID:Lo8welT8
>>289はshiftexprの定義がないんで厳密なところがわからんけど、後者のshiftexprは
ineqexprじゃないの?
2018/09/01(土) 22:39:41.95ID:bEXb+lmV
>>313
合ってるよ
これでわかるか?
比較式 ::= 低優先順位の式 {比較演算子 低優先順位の式}
{}はEBNFで一回以上の繰り返し
2018/09/01(土) 22:40:56.19ID:bEXb+lmV
失礼
低優先順位じゃなくて高優先順位の式の間違いだな
316デフォルトの名無しさん
垢版 |
2018/09/01(土) 22:41:42.09ID:/wwW4VSs
>>300でオワリ
それ以外は知恵遅れの寝言だからな
317デフォルトの名無しさん
垢版 |
2018/09/01(土) 22:45:20.98ID:/wwW4VSs
構文解析できればなんでもできると思い込んでるからな
低学歴知恵遅れには、その先の解釈のレベルまでおとしこむ知能がない
2018/09/01(土) 22:56:42.31ID:NoXfDUjm
オペランドを順に評価しながらandで繋ぐだけだろ?
半角クンにとっては難しいのかな
319デフォルトの名無しさん
垢版 |
2018/09/01(土) 22:58:45.07ID:/wwW4VSs
そういう問題じゃないからな
やはり知能の問題
2018/09/01(土) 23:23:52.10ID:Omwrv276
小学校でプログラミング教育ってチューリングマシンとか
ラムダ計算とかするわけでしょ
すごいよね
2018/09/01(土) 23:34:33.99ID:0V80T0Sa
ブーリアンヴォーイズは、いい加減パーキンソンの凡俗法則でググろうな
322デフォルトの名無しさん
垢版 |
2018/09/01(土) 23:44:33.13ID:33FbYz6y
流れ本体とは関係ないが
>>286のレスが意味不明
とくに
> 0 < x and x<100になるからセンス悪いと思った
この部分

>>281へのレスとしては
最後の一行もさっぱり意味分からんが
2018/09/01(土) 23:59:16.46ID:siIpxtD6
>>280
a < b and b < c
2018/09/02(日) 00:22:13.35ID:W5ilUQmj
上座と下座みたいなセンスかな
OOPでは引数の中で一番偉いやつを左に書くよな
2018/09/02(日) 00:30:30.37ID:KFJPmGJr
a < b > c が合法になるぐらいなら a < b && b < c でいい
2018/09/02(日) 00:33:32.41ID:2XQmbsmV
>>322
比較するときにつねに左に変数がないと気持ち悪いタイプなんだろう
個人的にはそれはそれで分からなくはない
俺はこの場合は数直線順のほうが読みやすいと思うが
2018/09/02(日) 00:40:47.30ID:ssHYSt2l
> 比較するときにつねに左に変数がないと

プログラミングエアプか?
変数と変数を比較するケースを>>286以外のみんなは当然想定したわけで
2018/09/02(日) 01:37:29.19ID:tqSo+8/2
不等号をカリー化しようや
2018/09/02(日) 02:01:29.06ID:Vtrj0PDM
a < b < c
Pythonが採用して、Rubyが採用しなかった
そう言うことだと思う
330デフォルトの名無しさん
垢版 |
2018/09/02(日) 05:30:33.71ID:4Jf6YH6e
>>288
愚か者はその愚かさ故に自分が愚かであることがわからず思い上がって傲慢になる。
賢い者はその賢さ故に自分が愚かであることがわかり遜って謙虚になる。
2018/09/02(日) 06:00:58.71ID:7CaEiwfk
常にってわけじゃないけど
RangeやRectなどで繋がりのある組を明示すると意図を読みやすいと思う
シンプルなケースは a < b で良いけど、複雑になる程inとかも使わず普通にメソッドで

if (a ..< c).contains( b ) {
  print("含まれる")
}

if (a ..< c).contains( a ..< b ) {
  print("含まれる")
}

if (10 ..< 30).overlaps( 20 ..< 40 ) {
  print("重なっている")
}

if Rect(x:10, y:20, w:100, h:100).contains( Point(x:50, y:50) ) {
  print("含まれる")
}
2018/09/02(日) 06:48:37.78ID:5WqNet32
以下の2つの書き方がある

左に、小さく方を書く
0 < x and x < 100

左に定数を書く。
定数には代入できないため、すぐにエラーが発見できる
0 < x and 100 > X
2018/09/02(日) 07:13:44.39ID:HcdhtgGT
スレチかもしれないけど
人工知能が今後発展していくにつれて、CとかJavaとかRubyみたいな言語って廃れていって、人工知能に関連しない分野のプログラミングスキルは無価値になって、人工知能に特化したPython一強みたいな感じになるの?
プログラミング始めたばかりなんだけどふと疑問に思った(同じくらい初心者であるはずの知人がこれからは人工知能に関わる言語だけやっていればいい、それ以外じゃ食っていけない、みたいなこと言ってたから)
こういう話題は何度も出ていてうんざりしてたらごめん
2018/09/02(日) 08:18:58.41ID:Y3BoGqKi
>>332
下はヨーダ記法って言ってな
時代遅れなんだよ池沼
335デフォルトの名無しさん
垢版 |
2018/09/02(日) 08:33:01.84ID:KdakvMsf
人工知能というか機械学習な
その中でも深層学習ってやつね
pythonは特化してるわけじゃなくて深層学習に必要な行列計算が簡単に書けるnumpyというライブラリがあるから使われている
未来のことは分からないが、気にしても仕方ないように思える
プログラマにとって技術の陳腐化は日常的なことだし
機械学習やりたいならプログラミングじゃなくて統計を学んだ方がいいよ
2018/09/02(日) 08:46:50.28ID:RsxSrY9y
>>333
世の中の全てのコンピュータが人工知能とやらになればそうなるかも知れんが
物理的にあり得ないので、その他の言語が廃れることはないよ
それどころか、コンピュータが多様化してるからどんどん新しい言語も必要になってくる

だから、このスレが存在してる
2018/09/02(日) 08:59:02.89ID:KFJPmGJr
>>333
そのpythonが今強い理由がCで書かれたライブラリなんだよなあ
2018/09/02(日) 09:00:04.40ID:W5ilUQmj
囲碁と画像処理のスキルが無価値になったから言語は滅亡するというのは意味不明だな
0 < x はセンス悪い説よりももっと意味不明
2018/09/02(日) 09:11:23.18ID:TkJi8FAz
まぁCythonってあるもんな
https://www.oreilly.co.jp/books/images/picture_large978-4-87311-727-0.jpeg

大体それの知識だけっていう狭い視野の人間は碌なもの作れない
プログラミングに絞って言えばOSとかネットワークの事もっと知ってろよってな
2018/09/02(日) 09:12:14.22ID:2NNLLZ0f
>>336
>だから、このスレが存在してる

カッコイイ(゚∀゚)
2018/09/02(日) 09:15:33.58ID:9dGgsJL0
>>333
人工知能によってプログラミングが要らない時代になったとしたらそもそもPythonも不要だから無駄
例えばメルカリみたいなシステムを作るとして、今だとAIって写真を画像認識して自動的にカテゴリ分けしたりするのに使うわけ
一方、出品などシステムの「仕組み」の部分は人間が手作りしてて、こういうのは前者よりも遥かに複雑でAIには難しいの
後者がAIに置き換わる頃には「AIを使う」プログラミングなんてとっくにAI化されてるよ
「AIを作る」側になるなら話は別だけど、後者をAI化できるほどのレベルになれば今みたいに個別にAI利用システムを開発するんじゃなくて
どっかが開発した汎用的なAIをサービスやパッケージとして利用する形になるだろうから、
最終的にAIベンダーとして残るのは本当に1つか2つの企業だろうね
2018/09/02(日) 10:00:25.05ID:ceygCyU3
>>333

知り合いもどうせ大学生とかそんなレベルなんだろ

mac使って自称データサイエンティスト()とか名乗ってる意識高い系の方々は自分がバカだと気づかない
2018/09/02(日) 10:02:50.62ID:ceygCyU3
mac使ってカタカタターンってやって
これをこうしたらいいだけなんですよと謎の上から目線

あなたたちのやってることは間違ってました
でも自分がなにか失敗したら顔真っ赤にして老害ガーとか言い出すゆとり世代
2018/09/02(日) 10:24:08.52ID:W5ilUQmj
GUIブームの時も、グラフィックがあるから文字は無価値になるとか言われていたような
2018/09/02(日) 10:30:13.21ID:KFJPmGJr
幅が広すぎて無意味だということに誰もが気づいて廃れた言葉である「ゆとり世代」を未だに使っている人がいるのか。
2018/09/02(日) 11:00:08.66ID:W5ilUQmj
登場人物の心を読むスキルを使うための登場人物
心を読めるから言葉は無価値になるという
2018/09/02(日) 13:46:55.56ID:TkJi8FAz
>>342
学生よりも分野外のおっさんの方が変な夢見過ぎな気がする
2018/09/02(日) 14:46:45.62ID:u8rOx+S9
AI妄想を差し引いたPythonはごく普通のスクリプト言語
2018/09/02(日) 17:35:10.60ID:IGne1itN
計算科学にも使える数少ないスクリプト言語やぞ
2018/09/02(日) 20:08:30.54ID:UJ9ET2d1
しかも極初期からOpenGLバインディングが使えたという魔改造スクリプト言語
2018/09/02(日) 20:33:11.59ID:JNdlpPmy
Pythonさほど好きじゃないけど、こいつが居なかったら
Rubyとかいうクソ言語が流行ってた可能性もあると考えると
Pythonが存在してくれて良かったと心から思う
2018/09/02(日) 20:45:40.92ID:kJn49GH1
手放しに良い言語とは思えないけど変えが効かない言語
353デフォルトの名無しさん
垢版 |
2018/09/02(日) 20:50:30.02ID:Tb3tt8fk
luaでいいわ
一番シンプル
2018/09/02(日) 21:24:26.73ID:ZCYaZIQc
俺はRubyでいいわ
なんかPyキチが目の敵にしてるが
2018/09/02(日) 21:29:19.32ID:Y3BoGqKi
Pythoはsyntaxはまーしょうがないにしても
設計がウンコですわ
PHP並に酷いものもある
2018/09/02(日) 21:32:00.92ID:TkJi8FAz
PHPは7になってから大分切り捨てられたけどな
2018/09/02(日) 21:56:03.31ID:wjrBsTt/
>>356
切り捨て?詳しく
2018/09/02(日) 22:15:39.01ID:TkJi8FAz
旧式のmysql接続モジュールとか旧式の正規表現とかが主だった切り捨てだったかな
5.xで非推奨って言われてた関数の類がバッサリ切り捨てられてた
2018/09/02(日) 22:16:48.58ID:TkJi8FAz
あとクラスの書き方もフィールド宣言にvarとか書けなくなってたな
2018/09/02(日) 22:20:46.75ID:Y3BoGqKi
array_ナンチャラとかいうウンポコペチプーの代名詞みたいなそびえ立つクソはどうなりましたか(小声)
2018/09/02(日) 22:58:40.04ID:mf3TKdIM
pythonが良いというよりperlのクソみたいななんでもあり感を無くしたのが良かったってだけ。
余計なことをしない言語が良い。
362デフォルトの名無しさん
垢版 |
2018/09/02(日) 23:10:24.54ID:Tb3tt8fk
つまりlua使っとけば間違ない
という結論になる

余計な機能があるせいで
いちいち余計なことを覚えないといけないという悪循環もなくなる

pythonは余計なもん大杉で初学者にも不向きといえる
余計なもんないほうが初学者もとっつきやすい

覚えることも少ない
簡単なのが一番
2018/09/02(日) 23:41:05.75ID:kJn49GH1
Luaさんにもnumpyがあればなあ
2018/09/03(月) 00:10:22.82ID:8OmPihsG
luaさんはjsと似てた記憶しかない
2018/09/03(月) 00:13:49.32ID:EdWLStdR
LuaさんについてはRubyと同じくIf End ifのクソ文法だったことも覚えている
2018/09/03(月) 00:28:46.48ID:9rZ1YNmO
luaは思いのほか流行ったけど、一般的なスクリプト用途で使ってる人なんているの?

使い捨てのスクリプトは、Rubyがいい。なんとか持ちこたえて欲しい
システムに入ってないから好きなバージョン使えるし、読みにくいかわりに書きやすいと思う
Python2しか使ったことないけど、Pythonって積極的に選ぶものでなく、消極的に選ばれるものだよね?
367デフォルトの名無しさん
垢版 |
2018/09/03(月) 00:38:38.73ID:E2St7m4+
luaは必要な機能を自分で拡張して使うもんだからな
cとの相性は抜群

そのバインディングも簡単
2018/09/03(月) 07:57:27.37ID:nea64YB1
ツールスクリプト用途では相変わらず Ruby は使える
2018/09/03(月) 08:12:21.90ID:qF0KQ+zY
使い捨てなら入ってる力高いperl5かな
Rubyの出番はねえな
2018/09/03(月) 08:18:21.47ID:nea64YB1
最初から入ってるかどうかどうでもよすぎるしそんな理由で今さらperl5使うことはないなあ
2018/09/03(月) 08:35:37.94ID:fCvrhDfC
Luaは正解だがPerlも正解だよ
そしてPerlは悪とか正解は一つとかいうのを信じる人はPythonに集まった
2018/09/03(月) 09:31:57.09ID:PK1fysIy
配列インデクスが1から始まるとかいう狂気
2018/09/03(月) 09:51:52.31ID:4uYLlRfz
無学だから教えて欲しい
プログラミング言語の配列に0-indexが多いのって、Cの配列がアセンブラに寄せてあってaddress+0からスタートしてるからだと思ってるんだけど正しくはどうなの?
374デフォルトの名無しさん
垢版 |
2018/09/03(月) 10:42:48.89ID:XmaAZlOW
>>373
まあ0からにするとコンピュータ的にコード作りが楽になるからそんな感じになるのが多いわけだが、必ずそんな風にコンパイラを実装しなければいけないということもないわけで、要するに実装依存だ。
375デフォルトの名無しさん
垢版 |
2018/09/03(月) 10:47:17.64ID:r5JPflBu
ゼロには配列の数が入ってる。
みたいな言語だって構わないんだが。
C実装者はポインターと配列を同一視しちまったんだ。
2018/09/03(月) 10:49:35.37ID:Cn69eR5C
Cの配列長さの管理し辛さは異常
Fortranみたいな-fcheck=allもないし
2018/09/03(月) 10:53:15.83ID:KtzMniM3
学がないやつが答えるなよ
2018/09/03(月) 11:10:55.19ID:r5JPflBu
まあ、C言語はマクロアセンブラの兄貴分みたいな感じで
当時のメインフレームのアセンブリ言語を扱いやすくしただけだしな。
あんま言語自体の吟味はして無いんじゃね?
2018/09/03(月) 11:50:29.43ID:fCvrhDfC
0からn-1方式はn=0の場合に-1という概念が出てくる
2018/09/03(月) 14:22:27.95ID:28KD1V62
>>373
逆に今のプログラミング言語で配列インデクスが0始まり以外のものは皆無だと思うんだが。
なれの問題でしかないから諦めろ。
2018/09/03(月) 14:25:10.86ID:qF0KQ+zY
Julia Fortranくらいか?
2018/09/03(月) 14:43:06.78ID:4uYLlRfz
>>380
別に0-indexがしんどいとも1-indexがいいとも言ってないんだよなぁ……
むしろmatlab/juliaでもにょった位の人間だよ

明確な理由がもしあったなら知りたかっただけ
教えて下さった皆様ありがとうございました
2018/09/03(月) 15:16:29.27ID:KtzMniM3
zero-base one-baseで検索すれば学のあるひとの意見きけるよ
2018/09/03(月) 15:35:11.66ID:3jNxfK9B
あまり関係ないけど
初等数学で a1, a2, ... だったものが程度が進んでくるといつのまにか
当たり前のように a0 (ゼロベース添字) も扱うようになるのは
0という概念とそれを表す文字が歴史的に途中から現れて
自然数に関する種々の定理を0を含めるように一般化するようになったため

イギリス人が他国と違って階段を1階分登った階を1階、2階分登って2階と呼ぶ理由は不明
1ベース言語はアメリカ人が、0ベース言語はイギリス人が設計したなら分かりやすいが
別にそんなこともないようだ
2018/09/03(月) 15:38:27.95ID:IhCpGxvm
>>378
C言語の設計者には、不必要なオーバーヘッドやリソースの消費は発生させないという明確な意図があったから、配列のサイズなんてメモリ上に保持しないで、必要に応じてプログラマが頑張れっていうスタンスだったはず。
2018/09/03(月) 15:46:32.52ID:3jNxfK9B
cの場合lightweight配列として使えるポインターがあるから
配列は配列でPascal風にサイズありでも良かった気もするな
387a4 ◆L1L.Ef50zuAv
垢版 |
2018/09/03(月) 16:15:35.94ID:UyEBRJ4v
こんにちは。a4と申します。人工生命技術を用いた喋る人工知能を作って、自然言語で
プログラミングする研究をしています。ソフト名は矛盾記号の反対の「T」と言います。
協力者を募集しています。

現在の研究内容はこんな感じ。
http://www.01ken.com/pic_kahaku5.png

こちらのスレでやってます。
https://mevius.5ch.net/test/read.cgi/tech/1535821055/
2018/09/03(月) 16:20:09.50ID:eGuGzjoZ
ついにきたか
こんなスレで使う道具でグダグダ言ってるだけの俺らには難しすぎるよ
389a4 ◆L1L.Ef50zuAv
垢版 |
2018/09/03(月) 16:28:36.91ID:UyEBRJ4v
>>388
僕も15年くらい前は2chのプログラム技術板で馬鹿にされて、それから技術的に成長
ということになったんですが、俺らには難しすぎるよ、と言われるくらいになっちゃった
のか、です。技術馬鹿になっただけで、お金だけはほとんど入りませんが^^;
返信はありがとうございます。
2018/09/03(月) 16:47:31.50ID:hACEDIiH
勝手に"俺ら"とまとめちゃったけどもちろんわかるやつもいるはず
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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