X



次世代言語15 Go Rust Bosque Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
0302デフォルトの名無しさん
垢版 |
2019/06/08(土) 14:11:25.45ID:JxaHk6L1
「ただの」と言い切ってしまう感性のやつはプログラムをやらない方がみんな幸せそうだと思うよ。
0303デフォルトの名無しさん
垢版 |
2019/06/08(土) 14:41:41.32ID:WG0iLGtf
>>299
rupyのことですね分かります
0304デフォルトの名無しさん
垢版 |
2019/06/08(土) 15:21:17.99ID:YH+kJex2
手続き型でコードをたくさん書くのが幸せと感じる、個人の趣味と混同するようなレベルの低いプログラマーとは
いっしょに仕事したくないね
0307デフォルトの名無しさん
垢版 |
2019/06/08(土) 16:41:08.79ID:W+raSQT8
COBOLは何十年前のコードがそのまま動くし
今書いたコードが突然非互換アップデートで死ぬ心配もない
0308デフォルトの名無しさん
垢版 |
2019/06/08(土) 17:46:22.81ID:xnSDG8io
マシンには読めても人には読めなくなる。マシンが読むには不要な意味や意図が読めないのなら、そのシステムは進化も変化もできなくなる
0309デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:21:42.01ID:YH+kJex2
COBOLが悪いんやない
設計も実装もできない趣味で手続き型量産してる>>302みたいなガイジがCOBOL書いたから悪いんや
0311デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:24:28.68ID:LupmWo5+
>>307 全くどうしようもない奴だな。 誰がCOBOL で書かれたシステムをメンテナンスするんだ?
COBOL なんて老人ホームの人間しかメンテナンス出来ないぞ。 少し強調しすぎたが。

言語と言うのはどんなニッチな言語でもかなりの期間は使い続けられるが、それをメンテナンスできる人間が継続して育つかと言うのとは別問題。
0312デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:29:56.76ID:rLOGbPKB
COBOLはついこの前まで原発を動かしていた
メンテナンス出来る人間は一応いる

というか今でも日本のどこかで動かしてるんじゃないの?
0313デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:30:53.46ID:rLOGbPKB
というか今でも日本のどこかで動かしてるんじゃないの?というのは原発のこと
0314デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:40:57.88ID:k6Gr0wGL
>>311
COBOLなんか誰でもできる
不足しているのはCOBOL工ではなく、メインフレームを運用できる技術者
オープン系より遥かに難易度が高く、高度な修練が必要とされる職人芸の世界
0316デフォルトの名無しさん
垢版 |
2019/06/08(土) 18:53:06.08ID:rLOGbPKB
今から本気の本気でscala勉強しようとする人はいるのか?
しかも超優秀で使い物になる人で
0319デフォルトの名無しさん
垢版 |
2019/06/08(土) 21:56:54.48ID:Yv0NxNrw
コンテキストによって使えるAPI制限できる言語ってありますか?
割込みコンテキストとかイベントループでsleep禁止のような
0320デフォルトの名無しさん
垢版 |
2019/06/09(日) 03:00:13.29ID:rrOdeJnk
>>319
言語自体に?聞いたことない
というかコーディングルールで決めてLINTみたいなもので自動チェックさせるんじゃない?
0322デフォルトの名無しさん
垢版 |
2019/06/09(日) 06:10:20.02ID:iH+avyP7
コンテキストってのを明示的にsleepに渡すのがセオリーだよな
つまりsleepの引数を一個増やす

ただしコンテキストの捏造はないものとする
その型のコンストラクタ使用禁止
同じ型の変数定義禁止またはその変数への代入禁止や所有権移動禁止
0323デフォルトの名無しさん
垢版 |
2019/06/09(日) 06:22:10.99ID:QhNKpSst
センスがないな
0324デフォルトの名無しさん
垢版 |
2019/06/09(日) 07:15:38.36ID:Hf+s2B1M
>>297
俺はGoが嫌いだからそれはできないな
0325デフォルトの名無しさん
垢版 |
2019/06/09(日) 07:46:59.42ID:iH+avyP7
例えば英語圏の外の人がいくら勉強しても英語のセンスがないとか
英語の本格的な発音を聞いただけで笑ってしまうとか
感性とかセンスとか言ってる場合じゃないだろ
0326デフォルトの名無しさん
垢版 |
2019/06/09(日) 08:24:12.13ID:OSjRKT39
>>104 Python 実装系の一つ PyPy は、静的型付けの有る RPython と言うPython のサブセットで書かれている。
RPython はC のソースコードなどを吐き出す。 しかもJIT で動く。
概ね、PyPy は、CPython (本家のPython) より4倍くらい早い。( JIT の効果 )

RPython で作られたRuby実装 で Topaz が有るが早いみたい。(実験的に作られただけ見たい)
同じくRPython でPHP実装 も作られてる。
0328デフォルトの名無しさん
垢版 |
2019/06/09(日) 09:03:13.51ID:OSjRKT39
>>327 最初からCで書いた実装が、CPython なんだよ。

それよりなぜ早くなるかと言うと、VM 上でJIT が動くからだよ。
PyPy がインタプリタとして動くときは、C のコードを吐き出すんじゃなくて、バイトコードを吐き出し、そのバイトコードをVM 上でJIT が動かしている。

CPython もバイトコードインタプリタなんだけどJIT で動いていない。 その一部をJIT で動くようにしたのがNumba
0329デフォルトの名無しさん
垢版 |
2019/06/09(日) 09:24:23.09ID:/FZVYwra
>>319
そういう問題を技術で解決しようと思うのが間違ってる。
322の意見のようなクソシンタックスを無駄に増やすだけだから。
0332デフォルトの名無しさん
垢版 |
2019/06/09(日) 10:09:55.36ID:/FZVYwra
冗談抜きにほとんどの事例において「バカにコードをいじらせない」が
ベストソリューションなケースはかなり多いのになんで採用されないのかね?
0334デフォルトの名無しさん
垢版 |
2019/06/09(日) 10:30:57.11ID:EP7mnTxk
今現在では極論じゃなくて正論だと思う
精神論じゃなくて技術や設計で解消ということではないかな

コーディング時にsleep自体禁止しても他のメソッド内でsleep使ってたりするのを避けたいのかもしれないけど
もし外部の言語で作ったDLLで使ってたりするとわからない
内部で動的にコード生成してたらすり抜ける(そもそもこれはアウト)

sleep単体だけならいいけどあれこれ禁止するならシグネチャーが複雑になる
結局あっても頼りきりにもできないけどめんどくさい制約にしかならないと思う
0336デフォルトの名無しさん
垢版 |
2019/06/09(日) 10:38:00.85ID:EP7mnTxk
ユーザーからぼくの考えた最強issueがガンガン上がって来ていらない機能がどんどん追加されて
学習コストが高いだけの誰も使わないクソ言語
0338デフォルトの名無しさん
垢版 |
2019/06/09(日) 11:18:22.23ID:iH+avyP7
しかし、バカ予備軍こと質問者が現れた時点で早くなんとかしようと思わなかったのかね
それらしい答えが出てから慌てて文句言っても遅い
0339デフォルトの名無しさん
垢版 |
2019/06/09(日) 11:56:10.75ID:IfQgGLWG
一応JavaのSecurityManagerでできるけど
信頼できないリモートコード制限用の機能だから
普通のアプリじゃ使いにくい
0341デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:28:28.36ID:/L4eTa4o
>>340
どんな感じで禁止できますか?
静的にみつけられるでしょうか?
例を教えてもらえるとうれしいです。
0343デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:43:11.20ID:/L4eTa4o
なるほど・・・
しかしスクリプト側で使用可能APIを一括で管理ってできるでしょうか?
例えば仮にPythonだとして標準のライブラリのimport禁止など可能なんでしょうか?
0344デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:47:35.09ID:YgD2+vFC
luaはそこらへん簡単でredisとか標準ライブラリが割と無い
python組み込みは詳しくないけど可能そうなもんだけどな
0345デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:50:20.90ID:/L4eTa4o
いずれにせよ、そういう言語ってなさそうですね。
仕事でリアルタイム系のシステム組んでいるのですが、sleepしない、blockしないとか、
他にもdead lockしないとか、定期的にこれらのルールをやぶるコードが紛れるので
なんとかならないかと思っています。
静的解析のツールで解決できたりするのでしょうか?
0346デフォルトの名無しさん
垢版 |
2019/06/09(日) 15:05:51.96ID:YgD2+vFC
並列性とか非同期性がそういう問題の根源なので、
直列実行しかできないスクリプトに切り出して、
基盤側を単純にしたらいいのではと思ってしまう
リアルタイム系の経験が無いからよくわからんけど
0347デフォルトの名無しさん
垢版 |
2019/06/09(日) 16:48:10.91ID:/FZVYwra
明らかにsleep呼んでる側がおかしいのにsleepの内部で何か対策考えるとか
それがバカだって言ってんだよ。
そういうのを解決しようと思えば最終的にグローバル変数から状況を読み込んで
「いい感じに処理する」みたいなクソなことがまかり通るようになる。

こんな当たり前のことを「精神論」とか言って遠ざけて
無駄な技術をゴテゴテ投入すれば解決すると思う方がよっぽど精神論だわ。
0350デフォルトの名無しさん
垢版 |
2019/06/09(日) 18:38:09.36ID:/L4eTa4o
>>348
はい、普段C/C++なんですがもう卒業したい気分でいっぱいです・・・
実はRustはもしかしたらという気持ちで質問させてもらいました。(Rustの詳細知りません)
原理的には型システムで解決できる問題のような気がするんですけどね
0351デフォルトの名無しさん
垢版 |
2019/06/09(日) 20:20:15.46ID:H/8fB0U/
何がもしかしたらじゃボケ
そんな甘ったれた根性を次世代言語スレに持ち込むな
0352デフォルトの名無しさん
垢版 |
2019/06/10(月) 00:45:35.90ID:jEmCjZ4g
ひーイェッサー
お言葉ですがその調子だとMicroPythonに逃げられるっす
(リモコンそんなので作られた日には電池持ちがおそろしいことになりそう)
0353デフォルトの名無しさん
垢版 |
2019/06/10(月) 08:50:34.25ID:dPjM7CY8
>>352 もう少し他の人にわかるように話してくれないかな。 少し興味のある言葉が出てきたので。
micro:bit か何かをリモコンとして使おうとしてる?
0354デフォルトの名無しさん
垢版 |
2019/06/10(月) 09:17:26.23ID:1Q0pkxdy
わかりやすさの基本は嘘を書かないことだ
それ以外のことを改善しても誤差程度にしかならん
0355デフォルトの名無しさん
垢版 |
2019/06/10(月) 11:57:54.61ID:7zXwptBd
micropythonでいいじゃん
0360デフォルトの名無しさん
垢版 |
2019/06/10(月) 15:03:28.43ID:2rhfeA0H
最近の話の流れは、 >>345 の続きかな?

>>345 RTOSは使ってるんでしょ?
MicroPython なんて持ち出してるってことは、RTOSを入れていない?
RasberryPi だと、RTOSとして RT Preempt なんて使ってるね。
RTOSを入れていればそれほど言語に厳しい制約をかけなくてもよさそうな気がするけど。 

このサイトを見ると似たようなサイズのアプリケーションに、RTOS(Zephyr)(ゼファーと読むのかな)をいれてMicroPython で動かしてるね。
https://open-degu.com/downloads/20190315_degu.pdf

Zephyr入門
https://qiita.com/ueba/items/c5fe99bedd8862854ebd

OSサイズは11KBとコンパクト
PyPi にもラッパーが登録されているのでPythonからも使える。 

日本だから、μT-Kernel(μITron)が普及するとよいと思うけど。
μT-Kernel 2.0がベースのIEEE 2050-2018がIEEE標準として正式に成立
https://www.tron.org/ja/2018/09/press0911/
0362デフォルトの名無しさん
垢版 |
2019/06/11(火) 22:45:27.77ID:KDSvfPuN
割り込みハンドラの話だろうからawaitの仕組み(イベントループ+コールバック)でどうにかなるものじゃないと思うよ
0363デフォルトの名無しさん
垢版 |
2019/06/11(火) 23:02:57.60ID:GDgSrcmQ
>>360
Pythonの話にはのりましたが、実際にはスクリプトでそのあたりの処理書くのは採用できないです
GC走る言語はsleepされるのといっしょですからね
Roslynってのは知りませんでしたが.NET限定の技術なんですかね?
0365デフォルトの名無しさん
垢版 |
2019/06/12(水) 05:13:51.19ID:fMVFjy++
既に上がっている次世代言語のスコープではなく
そのような要望を満たすものがない
0367デフォルトの名無しさん
垢版 |
2019/06/12(水) 08:13:15.38ID:0MIcRAAH
新しい言語を一通り触ってjavaScriptかC言語に戻ってくる
C/C++とか書く奴いるけどC++も大概クソだからな
結局Cでできるように書き直したほうが簡潔になるっていう
0369デフォルトの名無しさん
垢版 |
2019/06/12(水) 08:55:30.78ID:A9JlUf6z
Cに戻ると言いながらJSと二刀流してるだろ
二刀流が正統派にでもなったら革新的じゃないか
0370デフォルトの名無しさん
垢版 |
2019/06/12(水) 08:56:29.46ID:k5XrsZPH
>>363 自分でgc をenable disable にしてコントロールしたり、gc を自分で呼んで(collect) 明示的にgc を起こさせるのいうような方法でリアルタイム性は確保できるんじゃないの?
MicroPythonですらそれらの方法が利用できる。

沢山のIoT デバイスで使われてるだろうから、GC が勝手に動く心配をする必要はないように思うけど?

例えばRTOS Zephyr では、main thread とidle thread で区別してる。
0372デフォルトの名無しさん
垢版 |
2019/06/12(水) 11:05:36.47ID:A9JlUf6z
俺かっこいいはポジティブ思考
リーナスはネガティブ思考のくせに建設的だぞ
0373デフォルトの名無しさん
垢版 |
2019/06/12(水) 11:06:33.06ID:WfNq1KdO
>>371 Linus Torvalds か、面白いやっちゃな
https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%8A%E3%82%B9%E3%83%BB%E3%83%88%E3%83%BC%E3%83%90%E3%83%AB%E3%82%BA

記録からみるLinus TorvalsのC++観
https://cpplover.blogspot.com/2013/05/linus-torvalsc.html
メモリー確保のようなものを隠したがるコンパイラーや言語は、カーネル用にふさわしい選択ではない。
0374デフォルトの名無しさん
垢版 |
2019/06/12(水) 14:34:52.90ID:JnPGfPd9
>>367
C言語にデストラクタ的な機能が入ればすごく嬉しい。
0375デフォルトの名無しさん
垢版 |
2019/06/12(水) 15:44:31.00ID:nkjsUKao
>>373
リーナスは人間的にはだいぶクソな奴らしいが
技術的な意見についてはさすがにおかしなことはいってない
カーネルレイヤーにC++が相応わしいかというとたしかに微妙だ
だが、アプリレイヤでC++でなくCのほうが良いというのはただの勉強不足
0376デフォルトの名無しさん
垢版 |
2019/06/12(水) 16:05:20.23ID:x67noP4p
「神がいないと言うのは勉強不足。もっと勉強しろ。そうしたら分かる」
0377デフォルトの名無しさん
垢版 |
2019/06/12(水) 17:09:53.27ID:A9JlUf6z
足りないのは勉強でも努力でもない

勉強でも努力でもない何かが存在することくらいはすぐ分かりそうなものだが
必死に勉強したらしいのに分かってない奴がそこにいるのが証拠だ
0378デフォルトの名無しさん
垢版 |
2019/06/12(水) 17:32:01.72ID:cGak2oax
Linus と Unix を掛け合わせて、Linux にしたんだな。
良いネーミングになったけど。

昔々、安価に使える記憶媒体が5’ のフロッピーディスクしかなかった頃、初めて取り寄せたUnix は、512KB のフロッピーディスク12枚に入って送られてきた。
6MB だよね。
その頃からCがもてはやされ始めた。 C もUnix も基本はシンプル。
0381デフォルトの名無しさん
垢版 |
2019/06/12(水) 21:06:53.07ID:7TWmWXJk
リーナスの持論からいくと、メモリ管理を手のひらでコロコロできるレベルの低レイヤーが触れない言語は等しくファックなんだよ
つまり次世代言語は
0382デフォルトの名無しさん
垢版 |
2019/06/12(水) 22:03:42.09ID:HtzxRgq7
まあメモリ管理を隠蔽しようとするからおかしなことになってる感はあるよな
0383デフォルトの名無しさん
垢版 |
2019/06/12(水) 22:08:38.70ID:owyEx2iy
人類の95割はメモリ管理なんてできんだろ
GCのコストをペイできるほど高速でファックな処理なんて人類の95割には必要ない
0384デフォルトの名無しさん
垢版 |
2019/06/12(水) 22:10:10.69ID:eCiQ25Tx
>>381
linusが主張してるのはOSみたいな低レイヤーいじる時だけの話だぞ。
c++みたいにどっちもいけるわー言ってどっちもクソな物を嫌っとるだけ。
0385デフォルトの名無しさん
垢版 |
2019/06/12(水) 23:20:39.48ID:fFCW9Zwk
gitは低レイヤーじゃなくね
上のリンクにもあるけどlinusは前提条件無しでC++嫌ってる
0386デフォルトの名無しさん
垢版 |
2019/06/13(木) 00:32:28.05ID:qgmlIWHM
まぁ昔のc++に酷い目にあったら、そりゃ嫌になるよ。
0387デフォルトの名無しさん
垢版 |
2019/06/13(木) 00:39:28.30ID:scxOg7Fk
最近のC++はメモリアライメント指定が標準になったりゴミだったアロケータ周りがだいぶ改善されてるから組み込みとかにも使いやすくなってるんじゃないの
0389デフォルトの名無しさん
垢版 |
2019/06/13(木) 02:36:25.85ID:N64uvTiV
レイヤーっていうかカーネルとGUIを分離しないのはSmalltalkとかObjCとかの伝統か?
0391デフォルトの名無しさん
垢版 |
2019/06/13(木) 15:41:02.12ID:sUvB9/Hq
LinusのC++嫌いには↓みたいなこともあるんじゃない?
C with classesだったのに
よってたかっていじくりまわしてあんなわけわかんない仕様になった
0392デフォルトの名無しさん
垢版 |
2019/06/13(木) 17:17:28.07ID:Tx6T4XdA
議論をする理由は、嫌っているからではなく、言いたいことがあるからじゃないか
嫌ならC++使わなければいいだけ
だが、言いたいことがあるなら言うに決まってる
0393デフォルトの名無しさん
垢版 |
2019/06/13(木) 20:22:59.74ID:3Y+kP9Xa
らいなすは使ってないからc++嫌いでしょ
0394デフォルトの名無しさん
垢版 |
2019/06/13(木) 20:28:55.21ID:fmTPRROb
使わなければいいはその通りだが
あいつらは人に使わせようと押し付けてくる圧が半端ない
0395デフォルトの名無しさん
垢版 |
2019/06/13(木) 20:37:58.96ID:NT1P6o5G
LinuxをC++で書き直せっていう意味不明な圧力をかけてくる馬鹿が数万人から数百万人規模でいて
そいつらに会うたびにC++、C++って言われるんだろ

誰だって切れるだろ
0397デフォルトの名無しさん
垢版 |
2019/06/13(木) 21:36:46.00ID:prWfaseT
怒るのは人を動かす最適な手段ではないということを学んだだけで
別に中身は変わってないだろう多分
■ このスレッドは過去ログ倉庫に格納されています

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