次世代言語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/08/24(金) 06:56:32.71ID:S4vKOstV
>>72
そういうことを言ってるんじゃないだろ
74デフォルトの名無しさん
垢版 |
2018/08/24(金) 07:02:18.54ID:ilYYcF1k
質実剛健で実用的って言いたいんだろ?
キッチンバサミを目指したら爪楊枝ができたってこと
滑ってるなら謝る
2018/08/24(金) 07:16:02.36ID:hQwHRwtG
goはメタプログラミングの弱さをコード生成で乗り切る方針にしてるから、
ジェネリクスマンセーの人にはムカつく言語に見える。
2018/08/24(金) 07:26:44.81ID:Hi4MdCiB
方針は自由だが他人の感情を方針にするなよ
2018/08/24(金) 07:52:15.47ID:9sOu1iJ9
いや、googleの中の人は毎回マクロやプリプロセッサにcpuパワーを取られることに問題を感じていて、そこをgoで解決した。
2018/08/24(金) 08:12:05.07ID:LUWnMn3S
こマ?
2018/08/24(金) 14:44:12.21ID:r+WT3UNF
ちょっとくらいビルドに時間かかってもいいから
便利機能を追加するのが凡人にはありがたいんだが
なにせGoogle様は天才だから
2018/08/24(金) 15:15:58.44ID:Z04qfkhW
Googleのプロジェクトっていちいち無駄に複雑なビルドシステム作ってビルドをゲロ遅くするの大好きな印象だけどな
>>77については根本的な問題から目を背けて場当たり的なハックで解決しようとしているという課題解決の典型的なダメパターンを感じる
2018/08/24(金) 15:48:44.78ID:Hi4MdCiB
でもAIには、10手先のコードを総当たりビルドみたいな古典的な方法もあるから
教師あり学習みたいなテスト駆動開発をやらされる時代が来たらたらどうする?
2018/08/24(金) 22:07:23.07ID:NktfgM5i
あくまでgoogle社内のシステム言語としてgoは生まれたから。
c++のビルドに45分かかるってなったら
やばいってなるよね
2018/08/25(土) 08:55:52.56ID:UzOZyqtt
googleっつってもいろんなプロジェクトあるからな。
まともに動かんものたくさん作ってるプロジェクトもあれば、だいぶ頑強に作ってるものもある。
2018/08/25(土) 09:00:28.66ID:UzOZyqtt
>>80
むしろ最近のなんでも言語仕様で解決しようって発想のが場当たり的に思うけど。
テンプレにしろマクロにしろやってることは変数評価前の展開なわけだからビルド全体から見れば
無理に言語の方でやる必要はないってのは自然な気はするよ。
てかマクロのシンタックスを通常の言語に組み込んでも取り扱いは難しいってことはlispが証明してる。
85デフォルトの名無しさん
垢版 |
2018/08/25(土) 09:31:00.82ID:HuIv4ttN
>>82
C++はインクルードがネックだよね。早くモジュールが標準化してほしいな
2018/08/25(土) 09:51:31.60ID:ROrdHzXZ
C+++のモジュールって何ン語?
2018/08/25(土) 09:56:59.56ID:hQEFe9I2
ネックはテンプレートじゃないかな。どうやったらあれを高速化できるか。
2018/08/25(土) 10:43:27.87ID:logoA4dK
コンパイル単位とかいう黴の生えた糞さえなければ今時テンプレートの処理くらいそんなに重いもんじゃないよ
同じこと何度もやってるから遅いだけ
2018/08/25(土) 10:53:14.04ID:6H56IPIL
2004年に草案が出て、2017年に試験的実装が出たC++モジュール機能
2020年(C++20)には固めたいらしいけどどうせ延期して2023年とかになって
コンパイラが正式対応するのは2025年くらいかね

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1736.pdf
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4637.pdf
2018/08/25(土) 11:03:08.35ID:tIKlzgep
モジュール化とインポートの方法が適切に標準化されていて、モジュールの論理的な唯一性さえ保証されていれば、
ケチ臭い言語仕様でなくても問題にならないもんたよね
ソース読むたびに依存関係を全部解析し直してたらそら遅いわ
2018/08/25(土) 11:42:49.15ID:Z/cdkIbC
>>90
これ。go はcode生成だから、
go generateを実行したときにコード解析が入る。そもそもメタプログラミングの考えってコード生成の方が理解しやすいし。
2018/08/25(土) 12:33:15.68ID:Dhcl3zmP
msvc (マイクロソフトのコンパイラ)はソースのコンパイルが済んでも短期間プロセスが残っていて
連続してソースをコンパイルするときは同プロセスが自動的にコンパイルサーバー的な
動作をするという仕組みで長大な中間ファイルの読み書きを避けつつ
毎回のコード生成をせずに済むようになっている。
2018/08/25(土) 13:07:49.93ID:ROrdHzXZ
いい加減必要なサインタスクと不要なサインタスクを選別して
新しいC++++++を作った方がええんちゃうか?
魔窟アナルホールと化してるやろ
2018/08/25(土) 15:54:43.26ID:2oP8lttP
rustが全部解決してくれるよw
2018/08/25(土) 16:39:47.51ID:HasZhxb6
SwiftってMacアプリ作るのにも最近は主流なの?
2018/08/25(土) 18:02:02.46ID:logoA4dK
それ以前にMacアプリ作る人がもはやほとんどいない
あえて言うならElectronか主流だろう
2018/08/25(土) 18:26:18.54ID:LmKCHa/5
そっか?
うちの会社ではふつうに swift やら c++ やらで作ってるが
2018/08/25(土) 19:28:18.25ID:ROrdHzXZ
時代遅れなんだな、かわいそうに。
2018/08/25(土) 19:35:37.61ID:LmKCHa/5
そもそも Apple のフレームワークが c (c++) と obj-c(++) と
swift バインディングしかないんだからそれを使うしかない
2018/08/26(日) 03:03:42.26ID:RWC7HXM+
PythonもRustも嫌い、RubyとGoが好き
JavaとC++が嫌い、CとC#が好き
Linuxも嫌いで、FreeBSDが好きだった

昔は判官びいきとか言って普通だったはずなのに、最近じゃ勝ち馬に乗ろうとするやつばかりで嘆かわしい
2018/08/26(日) 04:31:18.55ID:LdpdygnY
俺は動的言語とC++とJavaが嫌い
2018/08/26(日) 07:41:59.24ID:yJfbxE3G
>>101
THISメンスわかるマーン
103デフォルトの名無しさん
垢版 |
2018/08/26(日) 08:05:45.37ID:HHP/3bjy
>>101
では好きな言語は?
2018/08/26(日) 08:25:14.19ID:Cum/e9GS
今のMacユーザーって昔ながらのMacらしいネイティブなUIをあまり好まない印象だなあ
一般のMacユーザーにはそもそもアプリを入れるという発想すらほとんど無くなりつつあるし、
IntelliJやVSCodeのようなWin臭の強いアプリが流行るのは生粋のマカーからすれば恥辱だろう
2018/08/26(日) 08:40:28.38ID:rQHTkjKl
プログラマはお手軽安定POSIX互換環境として使ってるだけで
マカーとしてどうたらこうたらなんて意識は無いだろ
もうずっと停滞してるOSだし
2018/08/26(日) 08:43:06.38ID:719NpC9M
そんなとこだね。win系よりかunix系統のものが使いやすいくらいの意味合い。
2018/08/26(日) 09:43:23.58ID:6inyCsxc
判官贔屓とは自爆することではないね
むしろ贔屓しても爆発なんてしないのを知ってる自慢大会
だから本当に爆発しそうなら贔屓しない
2018/08/26(日) 10:12:45.97ID:qgj2AJKL
>>106
これ。、スリープまわりがちゃんと動くUnix環境。これさえあればあとは別に
2018/08/26(日) 10:40:11.55ID:D5em7oXz
>>100
Rubyなんてクソ言語が好きって時点でセンスないよ
2018/08/26(日) 10:48:03.84ID:3PZrutH3
Haskellは勝ち馬に入りますか?
2018/08/26(日) 11:04:15.30ID:yJfbxE3G
型無し糞言語ガイジどもが負け犬蛆虫ゴミチンカスで死ね
ってのは満場一致のようだね
2018/08/26(日) 11:13:15.05ID:6inyCsxc
関数型は類似品を統一する意思決定が大体うまくいった
スクリプトも同様
だがCの子孫はその決断ができないから、弱肉強食で自然に決まるだろっていう世界観
2018/08/26(日) 11:15:38.64ID:ArPiR9fq
■愛されているプログラミング言語ランキング
https://news.mynavi.jp/article/20180604-639227/images/001.jpg
■嫌われているプログラミング言語ランキング
https://news.mynavi.jp/article/20180604-639227/images/002.jpg
■求められているプログラミング言語ランキング
https://news.mynavi.jp/article/20180604-639227/images/003.jpg

マイナビニュース
https://news.mynavi.jp/article/20180604-639227/
2018/08/26(日) 11:57:18.75ID:TzkdF7D/
動的型付言語は今でもせいぜい数百行の小さなツールスクリプトをひとりでサクサク書くときには有用だよ

プログラマが十分型情報を覚えていられる規模においては静的型は冗長すぎる

適材適所であるべき姿に戻っただけ

Railsとかで大きめのプロジェクト立ててたのはウンコofウンコだが
2018/08/26(日) 12:13:23.07ID:LdpdygnY
>>103
C#とKotlin!
2018/08/26(日) 13:58:27.60ID:/xip7+3F
C#メインで使ってるけど最近の言語と比べるといろんな意味で重い

このスレで良さそうなのを探ってるけどどれも決定打に欠ける
2018/08/26(日) 14:34:03.61ID:719NpC9M
そもそもrailsみたいになんでもワンパッケージでっていうものは
最初楽で、あとで破綻する典型的パターンでしょ。
喜んで使う奴は総じてモジュラリティーの意識が低い。
2018/08/26(日) 14:46:19.11ID:qJXfe6n+
>>110
Haskellって何が作れるの?外部のライブラリの親和性あるわけ?
2018/08/26(日) 14:51:03.90ID:VBsyc88B
>>116
dllがアホみたいに作成される問題?

TSで、node_modulesまでバンドルして1ファイルにコンパイルしてしまって使うとか?
nodeのバイナリはシステムに最低限入ってればバイナリポンで複数バージョン置けるので、2ファイルで済むよ。
windowsだと完全にnode.exeとメインのjsだけ撒いても大丈夫だったと思う。

そのへんGoは気楽だな、やっぱり。
2018/08/26(日) 14:53:55.50ID:yJfbxE3G
そこでエレクトローンですよ
2018/08/26(日) 15:19:34.64ID:VBsyc88B
GUIが要らないものをelectronでバンドルするのも馬鹿らしいし、結局そうするとシングルバイナリではなくなるのでは?
そこそこdll増えなかったっけ?
2018/08/26(日) 15:39:00.76ID:yJfbxE3G
で?言いたいことはそれだけ?
2018/08/26(日) 15:40:45.21ID:VBsyc88B
聞きたいことはそれだけ。
2018/08/26(日) 16:41:32.29ID:GTrkemq7
エレクトロンは富豪プログラミングここに極まれりって感じよね。

react-native1.0はよでんかね
2018/08/26(日) 17:36:58.25ID:Lq+jppE1
>>116
何がどう重いの?
2018/08/26(日) 22:53:19.64ID:nA2lBAov
正直ゲームとか処理速度を求められる様なものでもない限りはGUIってブラウザ経由にした方が何かと融通利くんじゃないかと思っちゃうんだよね
そういう意味でネイティブのGUIはなくてもいいんじゃないかとか思ってしまう

スマホとかならまた勝手が違うだろうけど
2018/08/26(日) 23:05:33.74ID:iDr2keD8
PCだとブラウザのパフォーマンスはむしろ大抵のGUIフレームワークを遥かに上回ってるよね
2018/08/26(日) 23:17:36.35ID:qu/vhMXg
>>127
は?
2018/08/27(月) 00:09:48.00ID:73yCiJDJ
そいやちょうど今日リストをスクロールさせる小物2個作ってたけどブラウザ由来の方が確かに早かったな
2018/08/27(月) 00:16:41.37ID:SUyxnbYp
>>127
ソース
2018/08/27(月) 00:21:31.30ID:akCpLgr5
ブラウザだと常に3〜40個タブ開いてるからアクセス面倒くさい
2018/08/27(月) 00:21:46.62ID:fwmFZEXy
guiよりdomの方が動作が早いは流石になくないか?
間に挟まってるものが多すぎる。
エミュレータでアプリを動かしたほうが早いって言ってるようなもんだ。
2018/08/27(月) 00:21:47.33ID:VgSchzxA
パフォーマンスじゃなく操作性ならまぁ合ってるんじゃない?
2018/08/27(月) 00:22:44.93ID:z59JxWVq
ネイティブアプリの一つである chrone や firefox の速度はネイティブアプリの速度を上回ってるよね!
2018/08/27(月) 00:26:18.67ID:fwmFZEXy
flutterみたいなものもあるしosが提供してるguiフレームワークより、直接描画系を操作して0から書いたほうが早いっていうのはありえなくはないが、
それでもエレクトロンでhtmlを組み立てguiを作るほうが早いと思ってるのは何か考え方がおかしい。
2018/08/27(月) 00:31:32.03ID:VgSchzxA
実行速度じゃなく開発効率ならブラウザ経由じゃない?
見た目をそこそこオシャレにするのも楽だし
2018/08/27(月) 00:34:01.89ID:fwmFZEXy
react-nativeを使えればdomの代わりに既存のguiフレームワークを抽象化できるから、パフォーマンスも上がるしデザイン性も確保できる
2018/08/27(月) 00:37:35.72ID:VgSchzxA
寧ろ逆に昔のVBとかAccessみたいな化石画面をブラウザで再現してた連中どっかで見た気がする
なんなんだろうな
2018/08/27(月) 00:41:25.82ID:73yCiJDJ
というか最近のは無駄にリッチ過ぎて逆に重い
2018/08/27(月) 07:34:19.87ID:16Uk9O2Q
無駄にリッチになりすぎて押すボタンが区別つかないので業務に使えないという
2018/08/27(月) 07:34:37.37ID:SEMntr9q
少なくともWPFやJavaFXみたいなスクラッチでリッチなの作りました系はブラウザに抜かれてるな
2018/08/27(月) 08:13:32.68ID:gOoey+yt
最近のGUIはスーパーリッチだよなあ
2018/08/27(月) 22:37:42.68ID:16Uk9O2Q
この中でWSHで使えるようになってるのあります?
2018/08/28(火) 01:42:10.30ID:jjg4Adzl
>>143
真面目にhta
2018/08/28(火) 13:32:07.52ID:YFDGQHp2
if checked == true 〜
if checked != true 〜
みたいな馬鹿馬鹿しい判定がコンパイルエラーになる言語ってない?
2018/08/28(火) 14:53:05.58ID:E+vXp7sG
>>145
checkedが、if文内で書き換えられる可能性が無いか
その2行の間に書き換えられる可能性が無いか
などなど、2行に別れていてバカバカしくない理由を探されるんじゃないの?
そもそもelseと等価では無いと思うし、やりたきゃマッチがある言語ならケース漏れは指摘してくれるんじゃないかな。
2018/08/28(火) 16:02:37.80ID:YFDGQHp2
伝わってないようだけど
checked == true や checked != true みたいなバカなコーディングを
コンパイルエラーにしてくれる言語はないのか? 
2018/08/28(火) 16:07:02.24ID:0jKV2vdB
C言語
-Wbool-compare -Werror
2018/08/28(火) 17:40:19.38ID:qNToseDl
>>145>>147
既存文法に依存してるので別の文法になる可能性もあるのに意味不明
コミュニケーション苦労しそう
2018/08/28(火) 17:57:19.80ID:YFDGQHp2
非建設的でコミュ障な回答ありがとうございました
非建設的な馬鹿は死ななけば治らないのですね
2018/08/28(火) 18:12:51.68ID:E+vXp7sG
>>147
それはバカみたいではないだろう。
checkedがboolとして評価したときに真なのと、checkedがtrueと同値なのは全く別問題じゃん。
if(pHoo)と書くのは正しくない、と言われるならわかるが。

処理系依存の質問ならそう書いてくれ。
2018/08/28(火) 18:23:45.26ID:h1lwFjom
言語依存だな
2018/08/28(火) 18:38:49.96ID:k5A54yFx
昔のCはbool型がない
整数やポインタを比較するだけなので問題なかった

自称モダン言語がなぜか古いCの文法を真似するから問題になる
2018/08/28(火) 18:53:57.34ID:h1lwFjom
if 文の所で計算結果が bool 型以外になる場合にどう扱うかの問題だな。
Cの場合は元々そういう型がなくて0か0以外かでしか見ない。
Javaだとboolean以外になったらコンパイルエラー。
2018/08/28(火) 19:06:58.35ID:EkHmS2W9
>>147
エアプだけどlintでできるんじゃないの?
2018/08/28(火) 19:33:05.17ID:1DJlmxtv
>>154
cppでも、falseな変数をインクリメントしたらtrueになったり、
0以外の何を代入しても1になったり、処理系依存だとはいえ無茶苦茶だしな。
2018/08/28(火) 19:42:21.73ID:1DJlmxtv
ってかchecked != trueをコンパイルエラーにするなら、右辺がtrueであるかを評価してからコンパイルエラーにすべきだろうし
(checked != (true || false))

#define PRODUCTIONMODE true
if((status.foo && param.bar)!=PRODUCTIONMODE)

みたいな式が書けなくなるし、あんまいい事無いだろ。
列挙の網羅性を文句言われるのとはちょっと違うレベルで不便では?
158デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:44:01.42ID:C1AWmFJx
ま、Cは元々その辺が甘く作ってある言語で移植性のあるアセンブラのように使うためのものだからそれはそれで良いと思う。
それが嫌なら別の言語使うか自分で言語作ればいい。仮に自作する技術力がなくても仕様公開しとけば誰かが作ってくれるだろう。
2018/08/28(火) 19:52:51.98ID:DQiw1Rb4
こういうくだらない話のが盛り上がるんだね。
160デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:53:52.03ID:hby/BPp+
低学歴知恵遅れ以外ないなら意図は理解できる

これはアリ
 if (checkd) {}
 if (!checkd) {}
これはペケ
 if (checkd == true) {}
 if (checkd != false) {}

コレはあり
 checked = true;
 checked = false;

checked自体にもともとブーリアン入ってるから
ブーリアンを比較してるようにみえる

オレには分かる
このスレの低学歴
そらなこのスレの低学歴知恵遅れには意図が分からない

つまり低学歴知恵遅れしかいないこのスレできくのが間違い
161デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:56:06.20ID:wrKBjmHK
半角カナボーイがなにをいうか
162デフォルトの名無しさん
垢版 |
2018/08/28(火) 19:57:15.43ID:C1AWmFJx
そらな?
163デフォルトの名無しさん
垢版 |
2018/08/28(火) 20:02:06.98ID:hby/BPp+
checkd自体に真偽値入ってんのに
真偽値で比較するとか意味不明

分かる
オレだったら分かる

著しく知能が低いこのスレのヤツラには分からない
ぜんぜん質問と関係ないアホな回答をする
2018/08/28(火) 20:08:19.98ID:1DJlmxtv
>>163
真偽が入っているとは限らない。
真偽として評価される値は入っているかもしれない。
真と偽と、真として評価されることと偽として評価されることはそれぞれ違うよ。
165デフォルトの名無しさん
垢版 |
2018/08/28(火) 20:09:12.05ID:hby/BPp+
== true
!= false
とかいてるのにアホやわコイツ
166デフォルトの名無しさん
垢版 |
2018/08/28(火) 20:10:28.78ID:hby/BPp+
if (conditon)
trueとかfalseとか
conditonそのものだからな
2018/08/28(火) 20:18:07.88ID:7f0I5EGI
ここで、むしろ「== true」を付けないとコンパイルエラーになる言語の入場です

https://ideone.com/TQIPIO

https://ideone.com/bvDJx1
2018/08/28(火) 20:35:31.11ID:2e1yGKgM
無理やりnull許容型にした理由は?
2018/08/28(火) 20:51:44.96ID:7f0I5EGI
>>168

let fromSettingFile = "true"
let checked = Bool(fromSettingFile)
print( type(of:checked) )

--output-----------
Optional<Bool>
2018/08/28(火) 21:16:31.72ID:et++zaIG
半角さん現るw
2018/08/28(火) 21:48:28.78ID:NpcISEiM
C#とかKotlinのnullable booleanは true か false との比較がいる
2018/08/28(火) 21:50:40.71ID:edw0fiqP
checkedがNaNの時等価じゃないだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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