19/02/12 12:22:11.18 2Rlz0B+x.net
そういうコアな計算部分にc++の機能あんまりいらないと思うけどね
結局パフォーマンス必要ならcudaにオフロードとかするんだろうし
構文的なところは凝らないのが正解だよ
263:デフォルトの名無しさん
19/02/12 14:19:55.88 TPiqZniI.net
>>254
他言語のコミュニティメンバーがもう誰にも使われなくなった言語の
しかも40年前の環境を復活させたんなら逆に凄いことだな!
264:デフォルトの名無しさん
19/02/12 15:29:47.85 Fn4hDa9I.net
よし、FORTH を復活させよう
265:デフォルトの名無しさん
19/02/12 21:08:01.13 jKA+nxgG.net
CとC++とFortranで型システムが一番マシ(個人の感想)なのがC++って選び方なので
266:デフォルトの名無しさん
19/02/12 21:32:38.15 Y8wvRjd+.net
雑にやりたいのに型システムにこだわるのが間違い
267:デフォルトの名無しさん
19/02/12 21:35:55.50 zazJl4ej.net
論文のために数回動けばいいようなコード
→ Python (主要な計算部分はライブラリ任せ)
雑とは真逆の実用ライブラリ
→ C (NumPyなど)
というのが数値解析などの分野の人達の感覚では
そしてライブラリ使ってない箇所もあわよくば早くしたいけど
動的言語からあまり離れたくという欲張りさんのために
NumbaやJuliaなどがある
268:デフォルトの名無しさん
19/02/12 21:42:29.55 jKA+nxgG.net
>>262
だから雑にやるときはJuliaって言ってるんだよなぁ
269:デフォルトの名無しさん
19/02/13 11:27:30.70 0cDEleYh.net
>>263 python でNumpy やNumba を動かせばよいだけの話。
pythonをNumbaでJIT化すれば高速に動く。
だから数値解析、統計、機械学習などでpython が広まっている。
numbaを利用したpythonループの高速化
URLリンク(qiita.com)
numpy.sum() より numba でJIT化したほうが若干早い
全体をもっと高速化したい場合はCythonでコンパイルすることになるが、若干ソースに変更が伴うのが欠点。
270:デフォルトの名無しさん
19/02/14 08:13:11.35 DfXs7ULg.net
そのへんのPythonをネイティブにする類、GILはどうなるの?
271:デフォルトの名無しさん
19/02/14 09:24:39.49 QGThOkDI.net
>>266 明示的に書けば良いのでは?
Cython のスレッド並列処理
URLリンク(www.isus.jp)
Cython の特長の 1 つは、ネイティブ並列処理 (英語) をサポートすることです (cython.parallel モジュールを参照)。
cython.parallel.prange 関数は並列ループに使用できるため、Python* でスレッド並列処理を使用して、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーを活用することができます。
インテル® Distribution for Python* 2017 の Cython
272:デフォルトの名無しさん
19/02/14 10:58:54.92 WZ7QG3tT.net
>>266
nogil=TrueでGIL無しになる
273:デフォルトの名無しさん
19/02/14 18:56:49.51 62bujRGv.net
それは良さそうだな。
274:デフォルトの名無しさん
19/02/14 20:55:14.89 fSoz/vTj.net
もうjulia使うのが目的になっとるな。。
275:デフォルトの名無しさん
19/02/16 02:33:00.49 9HG1VuDS.net
>>121
パイプ演算子だけで何が出来んだよw
276:デフォルトの名無しさん
19/02/17 11:02:26.51 HW0MSqPy.net
関数のカリー化がないのにパイプ演算子だけ持ってきちゃったElixirはなんか変だよな。
パイプ演算子というよりUFCS。ピリオドにしておけばよかったのに。
277:デフォルトの名無しさん
19/02/17 20:53:38.23 4EK3mNUu.net
ユーチューブみてたら外人さんが今年はじめるおすすめ言語でGoあげてたけどどうなの?
URLリンク(youtu.be)
278:デフォルトの名無しさん
19/02/18 00:25:05.73 0K8QCv5v.net
PHPよりはマシ程度
279:デフォルトの名無しさん
19/02/18 10:03:46.42 PGieQvh3.net
外人って誰?
お前の友達?
280:デフォルトの名無しさん
19/02/18 10:32:14.54 9yTHlAk5.net
>>273
英語わらないけど
パイパンなのはなんとなくわかった
281:デフォルトの名無しさん
19/02/18 10:38:37.16 GrFE76R+.net
Goはいい言語だと思うが文法がきらいという理由で俺個人としてはやりたくない。
282:デフォルトの名無しさん
19/02/18 10:39:27.28 DEZyRf0o.net
Goは悪くないけどGoやるくらいならCで良いって思っちゃう
283:デフォルトの名無しさん
19/02/18 11:33:15.82 SDMSLfor.net
Cって爆発するんでしょ?
284:デフォルトの名無しさん
19/02/18 14:31:28.10 UVnB+wSW.net
シーッ!
285:デフォルトの名無しさん
19/02/18 16:23:53.97 1FoQC5sv.net
どうしてRustはこんなにおデブちゃんなの?www
URLリンク(developers.google.com)
CやAssemblyScriptと比べて割に合わなさ過ぎだろうwwwww
286:デフォルトの名無しさん
19/02/18 17:03:38.39 6vaPKOJl.net
その下の節の Update: Rust で 370B になったとあるけど
287:デフォルトの名無しさん
19/02/18 17:11:02.34 1FoQC5sv.net
人力でそんな手間書けるくらいなら最初からCで書くよね普通。
288:デフォルトの名無しさん
19/02/18 17:54:25.43 etnkgylc.net
これ最終的に全部機械語で書けって流れ?
289:デフォルトの名無しさん
19/02/18 18:36:38.63 DEZyRf0o.net
なぜ機械語が出てくるのかが分からんなw
290:デフォルトの名無しさん
19/02/18 19:42:42.37 2Z8BFsKx.net
手間っつってもそんなでもなくない?
普通に-Osオプション的なのもデバッグ情報の削除もCでやるでしょ
291:デフォルトの名無しさん
19/02/18 19:47:35.74 2Z8BFsKx.net
連投になって悪いがなんならltoも普通にCでやるだろうし存外普通の事しかやってないぞ?
292:デフォルトの名無しさん
19/02/18 20:19:28.46 7ubWqY/W.net
c + lint で済む話をバカが無視するからコンパイラに組み込んだみたいな話、本当バカ。
293:デフォルトの名無しさん
19/02/18 21:50:19.37 788tab2z.net
普通ならなぜデフォにしないの?
Cパイセンに華持たせてるの?
294:デフォルトの名無しさん
19/02/19 07:58:57.65 rJLbVU1K.net
実装してる人に、聞くのが早そうだな。
295:デフォルトの名無しさん
19/02/19 09:43:28.93 UvIEs0xP.net
当然ながらデバッグし易さやコンパイル時間などとトレードオフがあるので
特化をデフォルトにする必要は無い
Cは現役だし使うことを誰も止めはしない
比較は構わないけど推されてもここでは単純にスレチ
296:デフォルトの名無しさん
19/02/19 10:27:13.34 SwtNBaDU.net
デバッグし易さやコンパイル時間などを考慮した結果、せっかくwasmのクセに性能はす、す、すくりぷとげんごwwのじゃばすくりぷとwwwと大して変わらずww5倍wも巨大なwasmバイナリをデフォで吐いてしまうビチグソ言語()があるらしいwww
CやAssemblyScriptは性能大して変わらなくてもデフォでジャバスクリプト()よりサイズ小さいのにどう言い訳すんのこの新世代()うぇぶ言語wwwww
297:デフォルトの名無しさん
19/02/19 10:59:22.66 wBIPfytb.net
楽しそうで何より
298:デフォルトの名無しさん
19/02/19 17:44:22.10 flzwRht/.net
>>271
ビルダーパターンを置き換えられるとか
299:デフォルトの名無しさん
19/02/19 22:52:49.55 8ne5Wfny.net
>>278
クラスタ分散周りのコード書くならgoが良いと思われる。
300:デフォルトの名無しさん
19/02/21 08:38:19.03 k9ihouSJ.net
IEEE ランキング
URLリンク(news.mynavi.jp)
301:デフォルトの名無しさん
19/02/24 13:15:52.70 6KasUEnW.net
A better C = Go
A better Perl = Python
A better Java = Kotlin
A better Javascript = TypeScript
A better Lisp = Clojure
302:デフォルトの名無しさん
19/02/24 13:24:51.15 9J0kSw8Y.net
>>297
PythonとPerlって言うほど用途被ってるか?
個人的には
A better Python = Node.js
だって思うけどな
303:デフォルトの名無しさん
19/02/24 13:28:03.32 8D34p5sx.net
Groovyは?
304:デフォルトの名無しさん
19/02/24 13:29:59.40 6TiHqsFQ.net
A bitter C++ = D
305:デフォルトの名無しさん
19/02/24 13:35:04.27 dX43HuRA.net
俺はKotlinよりScala推しだけどバックについてる規模がなあ
306:デフォルトの名無しさん
19/02/24 18:42:02.16 iK4D+UQi.net
>>297
Goにbetter Cはま
307:デフォルトの名無しさん
19/02/24 18:42:38.76 iK4D+UQi.net
だ無理だ。
バイナリが大き過ぎる。
308:デフォルトの名無しさん
19/02/24 18:47:20.41 KL6kEpaz.net
A poorer C = Go
A poorer Perl = Python
A poorer Java = Kotlin
A poorer Javascript = TypeScript
しっくり来るな
309:デフォルトの名無しさん
19/02/24 18:50:58.08 1vpoAdpW.net
>>303
まだというかずっとじゃね
GCやgoroutineスケジューラのサイズは削れないし
用途がいくらか被るにせよ、性質的にCの代わりを目指したものでもないし
310:デフォルトの名無しさん
19/02/24 18:55:07.72 qLJosHl4.net
他の言語が無駄な機能を増やすほどCがbetterということに気づかされる。
311:デフォルトの名無しさん
19/02/24 19:04:15.79 KL6kEpaz.net
>>306
betterというか完全にbestだね
使いやすいけどとっつきにくさがどうしてもあるから
優しいとされる他の言語が重宝されがちになるが
312:デフォルトの名無しさん
19/02/24 19:04:42.82 +6ZRRI/z.net
>>306 Cは、アセンブラみたいなものだからな。
313:デフォルトの名無しさん
19/02/24 19:04:43.79 iK4D+UQi.net
>>305
禿同。
Goは鯖で速度重視専用な気がする。
マイコンの規模で使える気がしない。
314:デフォルトの名無しさん
19/02/24 19:05:34.94 77XTfT9B.net
なら他の言語使ってる人気は全員馬鹿だな
315:デフォルトの名無しさん
19/02/24 19:16:29.07 iK4D+UQi.net
違う。
それだけマイコン使う分野がマイナーってだけ。
CPUパワーがあれば楽出来る言語使うのは当然。
316:デフォルトの名無しさん
19/02/24 19:24:41.78 +6ZRRI/z.net
>>311 はあ? マイコンって何を指してるか知らんが、今のスマホのパワーは、数年前のデスクトップを凌駕してるぞ。
317:デフォルトの名無しさん
19/02/24 19:37:59.48 77XTfT9B.net
>>311
ああごめん、>>306への話ね
318:デフォルトの名無しさん
19/02/24 19:47:42.34 +6ZRRI/z.net
>>313 だから、>>311 も>>306 もなんか的外れに見えるという話。
見る視点がまるで違う。
319:デフォルトの名無しさん
19/02/24 19:50:17.53 iK4D+UQi.net
>>313
そそ。
PICとかそこまで小さい規模の話。
スマホでもゲームとかはCやC++もあるだろうけど、楽出来る分にはCは無いわな。
320:デフォルトの名無しさん
19/02/24 19:51:43.29 +6ZRRI/z.net
100円のチップでPythonが動く時代なんだぞ。 自動車の自動運転のマイコンなんか、下手なPCよりパワーはあるぞ。
321:デフォルトの名無しさん
19/02/24 20:04:26.13 iK4D+UQi.net
>>316
自動運転用の石はそうだが、パワステ制御だけとか小さい石は今でも8ー16bitだし、CPU全体じゃそっちのが数は多い。(80%)
IntelやARMは小さいパイで大きく稼げる市場を独占しただけで。
322:デフォルトの名無しさん
19/02/24 20:06:31.17 9J0kSw8Y.net
自動運転のマイコンってどこの石使ってるんだろ?
323:デフォルトの名無しさん
19/02/24 20:13:36.10 iK4D+UQi.net
少なくとも日本車はルネサス製マイコン使ってる。
Casl2とかニーモニックがそのまんま。
まさに試験が企業の求める人材発掘の篩になってる。
324:デフォルトの名無しさん
19/02/24 20:38:43.40 HXZhXTRb.net
でもワイウェッブ系だから
325:デフォルトの名無しさん
19/02/24 20:48:48.19 +6ZRRI/z.net
>>318 今はARMだろ。 中央のは、NVidia とか、Intel を使ってるのかな?
自動車って、何十とCPUを使ってるから何がメインかというのは難しいのでは?
Nvidia もIntel も実態はARMコアを使ってるみたいだけど。
ルネサスも震災以降はダウンして、ユーザーからのARMを使えという声に応じざるを得なくなったみたいだし。
326:デフォルトの名無しさん
19/02/24 20:50:55.47 9J0kSw8Y.net
>>321
ルネサスって元は日立とどっかの合資で出来たとこだっけ
327:デフォルトの名無しさん
19/02/24 20:53:54.40 +6ZRRI/z.net
>>322 NECとか、日本連合だね。
328:デフォルトの名無しさん
19/02/24 20:54:06.21 zOdfoNDQ.net
>>307
Go は better C ではなく better C++ なんだけどな
better C 目指しているのは Rust
329:デフォルトの名無しさん
19/02/24 22:16:13.14 ObazTuX8.net
ざっくりした言い回しは自然と情報量が落ちてしまうので難しいもんだが、GoはやっぱりCompiled PythonとかC++とJavaの中間とって言語機能をC並に絞ったとかの複雑な立ち位置の印象だ
Rustもbetter C 兼 replacing C++の印象
330:デフォルトの名無しさん
19/02/24 22:38:05.42 qLJosHl4.net
まあ別に無理やり結びつける必要はないんだけどね。
331:デフォルトの名無しさん
19/02/24 23:12:15.59 ROsmA06r.net
理論的には理想に近い言語でも、実用環境が限られたり、スピード的に極端に落ちると現実的ではなくなるからね。
やはり言語的に洗練されていて、環境を選ばずに動き、スピードの解がある言語は伸びる。
Javaは、環境を選ばずに伸び、スピードの解はJITでまあまあ解決した。
Pythonは色々難しい問題がありそうだが、PyPyはJITで動いてるしいずれ本家がJITをサポートする様になるんじゃ無いのかな。Cythonは直接Cに落ちるが互換性の問題があるし。
332:デフォルトの名無しさん
19/02/24 23:34:44.89 HXZhXTRb.net
goは構文が糞すぎて糞
ゲネリクスとかそう言う問題以前
変数宣言さえ糞
設計した奴はガイジの糞
グーグルって俺よりバカなんだなと思うわ
333:デフォルトの名無しさん
19/02/24 23:37:57.60 OZS1hzPH.net
goは触れば触るほど、Cでも良かったよね
Cのほうが論理的に簡単にできるよねってことが多過ぎる
334:デフォルトの名無しさん
19/02/25 00:38:45.01 qTGaZXOu.net
Goの勝手にセミコロン補完される仕様がホントクソ
335:デフォルトの名無しさん
19/02/25 01:11:58.26 PRsbysjw.net
チュートリやってたら変数宣言だけで4つくらい出てきてガイジかな?って気持ちになった
336:デフォルトの名無しさん
19/02/25 01:58:52.98 AuhEt3eH.net
Lisp方言やPythonとRubyのように類似品を乱立させるやり方は古臭い
Java Kotlin C# TypeScript Go
の中からRubyと同じ失敗を繰り返す言語が続出すると思うと残念だ
337:デフォルトの名無しさん
19/02/25 02:36:48.48 9+tyf5TU.net
この中だとGoとKotlinが危ないな。
typescriptも、ecmaに型アノテーション
付く形で合流しそう。
338:デフォルトの名無しさん
19/02/25 03:05:10.05 SRxcknzj.net
>>331
なんであんなふうにすんだろねw
339:デフォルトの名無しさん
19/02/25 07:38:01.51 eDFcqLgp.net
>>333
esのデコレーションは今でも同等機能をコードで補完できるんだよな
コードを組み上げられる能力があればtsもゴミみたいにしか感じられなくなるね
340:デフォルトの名無しさん
19/02/25 08:01:49.36 XCxk7gA5.net
C#はどうよ。俺は好きなんだけど。
341:デフォルトの名無しさん
19/02/25 08:52:20.78 isDwzKBm.net
最近のC#はあまりにも先端が突っ走りすぎてて、従来の「哀れな底辺ドカタにも最先端の言語を」という重要な役割を見失いつつある
>>336のようなC#のファンですら大抵3つ4つくらい前のバージョンで知識が止まってる状況で、
自社開発でWebサービスやってますみたいな極一部の「別にC#でなくてもいい層」ばかりを相手にしている
次期バージョンでは.NET Coreでしか使えない機能が出てきて足切りが始まり、プラットフォームが完全に分断される
342:デフォルトの名無しさん
19/02/25 09:01:20.29 IWOA41f/.net
.NET Standardで基本事足りるとはいえ、その他のオープンなライブラリ側もおっつけてない感じあるなぁC#
343:デフォルトの名無しさん
19/02/25 09:15:21.64 e7/gY7Zv.net
Goは並列化処理は書きやすい
344:デフォルトの名無しさん
19/02/25 09:17:23.23 e7/gY7Zv.net
>>328
Goは大学出たての経験値の低い人でも書けるお馬鹿さん言語を意図して設計されとるんやで
345:デフォルトの名無しさん
19/02/25 09:17:41.92 fQDP25JS.net
.NET Coreと.NET Frameworkの間でライブラリを共通化するためのAPIセットを定義するのが.NET Standardの主目的であったが、
その.NET Standardが次のバージョンで.NET Frameworkを切り捨てるというギャグのような話
346:デフォルトの名無しさん
19/02/25 09:27:39.69 XCxk7gA5.net
>>337
趣味でもC#書くけど、それでも確かに正直.NET Coreの3を先食いしてる人達からすると数世代遅れてるな。
Span<T>とかはそりゃ確かにパフォーマンスは雲泥だろうけど、それ要るの結構限られてない?とか。
個人的にはあの断捨離は失敗しそうだから、そこから色々拾い上げてるMonoの方が良いんでないの?と思ってる。
Windowsだとほぼバイナリポンで動くというメリットが、クソ多いファイル数にかき消されてる気がして仕方ない。
.NET FW切り捨てるのはちょっと無理があるんじゃねえかなって思ってるけど、やるんだろうな…。
347:デフォルトの名無しさん
19/02/25 09:45:47.12 5uGv7r8R.net
スマホゲー開発はだいたいC#だし、Unityがゲームエンジンとして標準的だからしぶとく残るんじゃないか
コンシューマーゲーはまだまだC++だけど
348:デフォルトの名無しさん
19/02/25 10:03:35.56 AuhEt3eH.net
>>340
最初はそんな意図なかっただろうに
反知性主義云々に乗っ取られて終わったな
349:デフォルトの名無しさん
19/02/25 10:08:23.24 bZylS+V2.net
>>341
最初からCoreへの移行のための共通化じゃね
Coreに欠けてたGUIが解決したらFrameworkから追い出し始めるのは
むしろ自然だと思うけど
350:デフォルトの名無しさん
19/02/25 10:35:02.24 gWR+hxYA.net
>>342
普通の人が何も意識しなくてもアプリのパフォーマンスが良くなるってのがSpanを含めた最近の変更やで
351:デフォルトの名無しさん
19/02/25 10:41:49.82 AuhEt3eH.net
C++を切り捨てるつもりが
いつの間にかC#自身の古いバージョンを切り捨てる話に変わっている
これがPython Rubyと同じ失敗
352:デフォルトの名無しさん
19/02/25 11:51:29.16 XCxk7gA5.net
>>346
そうなんだが、実際問題そこまでパフォーマンスに悩んだ事あんま無いんだよな。
ゲームとかなら顕著なんだろうけど。
353:デフォルトの名無しさん
19/02/25 12:30:34.65 sO03erxC.net
C#は言語自体は面白いんだけどな
特に非同期処理は一日の長があるだけにライブラリが非常によく整備されてるし、
課題だった非同期処理のパフォーマンスも最近では飛躍的に改善されてるし
非同期シーケンスなど他言語に先駆けた取り組みも積極的に行われてる
しかし最近のMSはサイドバイサイドに甘えすぎなんだよ
既存資産との折り合いをつける努力を完全に放棄している
Azure関係とかもちょっとSDKのバージョン上げたりするとそのたびにぶっ壊れる有様でほんと酷い
354:デフォルトの名無しさん
19/02/25 12:39:44.12 nlSaHT5J.net
C#もC++みたいなキメラルート歩んでるのか
355:デフォルトの名無しさん
19/02/25 16:42:45.71 6aHiqgcw.net
>>333
ecma に型アノテーション入って TS がオワコンになるは本当にあり得る未来だね
CoffeeScript もそんな感じで廃れた歴史が実際あるわけだし
356:デフォルトの名無しさん
19/02/25 16:46:51.54 6aHiqgcw.net
C が best だという意見だけは同意しかねる
Go は滅多にクラッシュしないよ。メモリー管理の機構とかちゃんとしてるからだと思うけど
C++ で開発してたときはしょっちゅうコアダンプ吐いてた印象だった。やっぱ確実に進歩はしてるよ
357:デフォルトの名無しさん
19/02/25 20:47:03.11 1EOktSCH.net
>>350
てか最近の言語は全てキメラルートだよ。
358:デフォルトの名無しさん
19/02/25 23:28:58.22 lY+qkW3x.net
>>352
何を言ってるんだ貴様は
359:デフォルトの名無しさん
19/02/26 00:36:46.92 Ut9Tn3WV.net
>>352
えーと、正直コアダンプ吐くような事態が起きるのは、単にあなたのプログラムがポカしているからじゃないかなーという説が
360:デフォルトの名無しさん
19/02/26 00:48:01.56 gIbEXRZX.net
むしろプログラマはポカするものという前提の元で設計されてるのが昨今の言語じゃない?
Rustなんかモロそんな感じだし
361:デフォルトの名無しさん
19/02/26 07:15:05.85 Bs277ab3.net
>>352みたいな低知能がアホなことをしないためにガチガチな仕様で不便な言語が生まれてるんだよな
362:デフォルトの名無しさん
19/02/26 08:01:09.47 pB2Kv/x6.net
知能が高ければミスしないのか、興味深い
363:デフォルトの名無しさん
19/02/26 08:42:54.19 Er24pllw.net
まあ世の中のプログラマの大半が低脳だから、Goの方向性は間違ってはいないよ
364:デフォルトの名無しさん
19/02/26 09:09:32.55 W0wJxBNy.net
反知性主義万歳!
365:デフォルトの名無しさん
19/02/26 09:16:52.41 mnE1CbS1.net
人は…過ちを繰り返す
366:デフォルトの名無しさん
19/02/26 09:29:07.33 UAPWfCGq.net
どちらの言語も、規模と高度な最適化(→複雑さ)両方が必要なシステムを
手に負えるようにするためだと思うけどね
GoはYoutube実装に使われていて
Rustに至っては言語仕様とツールチェーンを実装した本人達を言語ユーザーと想定したものだし
367:デフォルトの名無しさん
19/02/26 09:54:23.08 JeFEvG3d.net
ただしょうもない例外メッセージ吐いて死ぬクソ言語より
コアダンプの方が原因追いやすいってのはある
派手にメモリ破壊されるとほとんど解析不能になるけども
368:デフォルトの名無しさん
19/02/26 14:44:09.37 tl8UlM+n.net
>>355
もちろんそうだよ?それが Go では起こりづらく C++ では簡単に起きるという話だよね
369:デフォルトの名無しさん
19/02/26 14:47:01.20 tl8UlM+n.net
>>357
自分の足を撃つ自由がある C++ って素敵な言語ですね!
370:デフォルトの名無しさん
19/02/26 15:16:27.29 W0wJxBNy.net
檻の中でお幸せに
飯も出るしな臭いけど
371:デフォルトの名無しさん
19/02/26 15:36:46.29 E0EMtjG2.net
昔々MS-DOSとかではNULLのポインタに書き込んでも平然とセグメントのアドレス0に書き込んだりしてたなあ・・・
372:デフォルトの名無しさん
19/02/26 15:37:18.64 pB2Kv/x6.net
まぁ結局こだわらない人が多くて足撃ちまくりの動的型付け言語とかの方が人気でるんだけどな
373:デフォルトの名無しさん
19/02/26 18:41:56.37 crMsvTK0.net
バグってはいけないなんて信じてるのはよほど正義感の強いやつだけだな
マッドサイエンティストなら実験失敗してみんなに迷惑かけても罪悪感がない
374:デフォルトの名無しさん
19/02/26 18:45:27.78 c2o2e7e/.net
バグを発見したら仕様ということにしてしまうぐらいの機転を効かせる事ができなければ
375:デフォルトの名無しさん
19/02/26 20:02:13.61 tR5x62Pi.net
>>356
ポカするってのは正しいが、起きうるポカの想定が間違ってて、
そのポカをしないようにする操作自体がポカを誘導してるという本末転倒な機能ばっかり
入れてるのがc++だったりする。
376:デフォルトの名無しさん
19/02/27 08:17:07.45 2wFtKBDb.net
高級言語は人間が簡単に使えるためのものなんだからその方向性はどれも一緒でしょ
Goはさらに闇雲に凝るバカとそれを理解できないアホの差分を埋めるためにシンプルになってるが、バカとアホ以外には冗長で見苦しい
377:デフォルトの名無しさん
19/02/27 14:16:30.50 YvoyXuKt.net
日本は高卒やモン卒が多い国だからちょうどいいじゃん
378:デフォルトの名無しさん
19/02/27 15:06:35.91 fEHTduo4.net
C++以外ならなんでもいいみたいな雑な考え方をやめろ
電子マネーと同じ
あいつら現金以外ならなんでもいいと思ってるだろ
379:デフォルトの名無しさん
19/02/27 16:52:54.52 YvoyXuKt.net
C/C++の危険度は半端ねえからな
他なら何でもいいって考えもあり得る
380:デフォルトの名無しさん
19/02/27 17:40:29.61 fEHTduo4.net
安全なC++もあり得る
あり得るとか雑な言葉を使うなよ
381:デフォルトの名無しさん
19/02/27 18:37:20.52 6a6tMlMF.net
言語にこだわるよりかバカを取らないようにすることのが重要。
382:デフォルトの名無しさん
19/02/27 21:45:33.31 1o6M4rID.net
ありうる。
383:デフォルトの名無しさん
19/02/27 21:53:06.11 YvoyXuKt.net
高卒の天才もあり得る
384:デフォルトの名無しさん
19/02/27 22:19:02.32 OX4rMFdD.net
ウンコの天才
385:デフォルトの名無しさん
19/02/27 22:43:37.89 K3ri/4ZM.net
でも「C++開発者募集します」より「Rust開発者募集します」の方が相対的な馬鹿の数は少なそう
分母?知らね
386:デフォルトの名無しさん
19/02/27 23:27:20.14 6a6tMlMF.net
どっちもバカそうだがな。。
387:デフォルトの名無しさん
19/02/28 02:19:43.52 31yVqkgD.net
ありえーる。。。
388:デフォルトの名無しさん
19/02/28 02:22:07.47 DbAr3TBt.net
ないあーる
389:デフォルトの名無しさん
19/02/28 02:29:27.49 MdFdHsbt.net
コウソツメン!
390:デフォルトの名無しさん
19/02/28 06:37:49.92 BqCmHvap.net
>>381
馬鹿の数はどちらも同じだろう
それよりRustの方はこだわりが強すぎな人で、仕事やりにくそう
391:デフォルトの名無しさん
19/02/28 07:20:36.96 VBRd9ntf.net
募集してる側もそうなんだから問題ないでしょ
392:デフォルトの名無しさん
19/02/28 09:32:05.85 oAFMMcaR.net
馬鹿は人の数だけある。
393:デフォルトの名無しさん
19/02/28 10:27:27.83 7nNuTdUM.net
馬鹿といっているやつが一番馬鹿
394:デフォルトの名無しさん
19/02/28 10:48:12.07 TL6iMeJf.net
馬鹿を使いこなせる企業が覇権を握るんやで
GAFAMのように
395:デフォルトの名無しさん
19/02/28 11:23:49.05 7nNuTdUM.net
馬鹿とか言ってるやつは自分は賢いと思ってるんだろうな
396:デフォルトの名無しさん
19/02/28 13:16:33.94 /UaZj4MI.net
× 馬鹿と言うやつは馬鹿
○ 馬鹿と言うやつはマナー違反
× 馬鹿を使いこなす
○ マナーを使いこなす
397:デフォルトの名無しさん
19/02/28 13:17:05.61 s6Bv7I6z.net
しかしバカとしか言いようがないバカがいることも事実
398:デフォルトの名無しさん
19/02/28 13:24:16.93 7nNuTdUM.net
>>393
馬鹿としか言いようが無い馬鹿とは具体的にどんな人物だよ?
399:デフォルトの名無しさん
19/02/28 14:05:22.85 /UaZj4MI.net
マナーは事実より重い、としか言いようがない人物
400:デフォルトの名無しさん
19/02/28 15:00:58.53 7nNuTdUM.net
>>395
たとえばどんな行動をする人物?
401:デフォルトの名無しさん
19/02/28 20:24:09.30 xdOF/Hzc.net
自分が話してる時はヤジを飛ばすなといっといて、
3分後に他人にはヤジを飛ばすような奴だな。
402:デフォルトの名無しさん
19/02/28 20:40:28.46 7nNuTdUM.net
>>397
そんなやつおらんやろ
403:デフォルトの名無しさん
19/02/28 20:54:32.19 KtyAfxmO.net
>>398 国会議員
404:デフォルトの名無しさん
19/02/28 23:15:13.78 /UaZj4MI.net
マナーと事実が一致しないとき世界の声が聞こえない
405:デフォルトの名無しさん
19/02/28 23:31:22.98 vFar2u9x.net
次世代言語スレかと思ったら国会議員スレやったわ
406:デフォルトの名無しさん
2
407:019/03/01(金) 00:19:54.06 ID:4nx0/8w6.net
408:デフォルトの名無しさん
19/03/01 09:04:35.68 rLHKKGXe.net
>>399
その国会議員の名前は?
409:デフォルトの名無しさん
19/03/01 12:09:50.89 SqBK2arU.net
フィフィ
410:デフォルトの名無しさん
19/03/01 18:35:21.72 IcWLO/tQ.net
シンゾー・アベベ
411:デフォルトの名無しさん
19/03/02 19:01:22.28 ACbQR/xi.net
若いのが持て囃してる言語、触らずに批判すんのも悪いと思って触ってみても
どれもしっくり来なくて、最終的にCに戻ってくるよな
Goとかいうの、あれ本当にGoogleの高学歴サマが作ったのかってくらいセンスがない
412:デフォルトの名無しさん
19/03/02 19:05:39.66 sRR7A1mE.net
おじいちゃんまたメモリリークさせて
413:デフォルトの名無しさん
19/03/02 19:18:28.86 SCVHkiR5.net
>>1
他の言語といっても、
・キツネアイコンの Kit は開発始まったばかり。
・Pony は未だにβ版
・Ring は評価が固まってない。
去年と今年は不作の予感だな。
414:デフォルトの名無しさん
19/03/02 19:20:22.91 SCVHkiR5.net
>>406
パフォーマンスの問題があるからな。
Jancy もマイナーなままだし。
415:デフォルトの名無しさん
19/03/03 00:26:19.25 5ND6FqRV.net
>>409
これ関連のIO Ninjaってなんなの有名なの?
聞いたことないしサイト見てもよくわかんないんだけど。
416:デフォルトの名無しさん
19/03/03 00:31:37.22 AftJRPR0.net
今どきCとか組み込みおじいちゃんか?w
417:デフォルトの名無しさん
19/03/03 02:21:33.63 cmngH9hR.net
おじいちゃんかどうかはCのバージョンによるんじゃね
K&Rとかだと何とも言えんが
418:デフォルトの名無しさん
19/03/03 02:28:15.76 eREWiz41.net
組み込みとかそのアーキテクチャてCのコンパイラしかないってのなら分かるけど
正直x86とかARMでKernelとか以外の分野でC使うのは多くの場合無駄だな
419:デフォルトの名無しさん
19/03/03 02:48:42.82 vKWKyL5A.net
今時100円のチップでもpythonが動く時代だもんな。
BBC が英国の小学生に無料配布しているmicro:bit もmicroPython が基本だし。
日本では2500円位 これでいてARM coretex M マイコンが入ってる。
420:デフォルトの名無しさん
19/03/03 06:01:20.35 W/IicyBd.net
nimでええやん
421:デフォルトの名無しさん
19/03/03 06:08:54.37 E/fs4r7E.net
自分で処理系を実装しない人はC書かなくてもいいかもね。
422:デフォルトの名無しさん
19/03/03 07:54:54.63 M9fY+xVL.net
よう知らんけど、コストとか消費電力の関係でもっとプアな環境なんじゃないかね
1万円の炊飯器と1万2500円の炊飯器なら1万円の炊飯器買うだろうし
423:デフォルトの名無しさん
19/03/03 08:27:11.78 LWbZmqMl.net
>>416
処理系とは?
424:デフォルトの名無しさん
19/03/03 09:01:42.26 E/fs4r7E.net
CPythonとかJVMとか。
425:デフォルトの名無しさん
19/03/03 09:42:44.41 lR61Mxqr.net
自分で実装してんのか
凄えな
426:デフォルトの名無しさん
19/03/03 10:16:29.46 BbxzBxVK.net
アルゴリズム実験なんかはやっぱcで書くけどな。
メモリ使用量とランタイム速度の実測について一番素直な結果だすし。
427:デフォルトの名無しさん
19/03/03 13:18:38.08 AftJRPR0.net
すごいとは思うけど、すごい生産性低そう
428:デフォルトの名無しさん
19/03/03 14:15:42.74 OYYbHdWa.net
コード量そんなないんじゃね
429:デフォルトの名無しさん
19/03/03 14:23:33.25 7s5GQtvL.net
別にC禁止って話じゃないしな
思考停止すんなってだけで
430:デフォルトの名無しさん
19/03/03 14:41:07.13 LWbZmqMl.net
>>419
自分でそんなもん実装しない人が大半だと思われ
431:デフォルトの名無しさん
19/03/03 22:29:55.16 jlgIhl+j.net
>>410
IO Ninja は IoT デバイス開発用のターミナルエミュレータ、各種治具、デバッガといったところだね。
開発元の Tibbo Technology 製のIoTデバイスって国内に代理店なかった気がするので、あんまり有名ではないな。
432:デフォルトの名無しさん
19/03/03 23:17:48.52 2JgnAl3w.net
じゃあjancyとやらもマイナーなままだろう
433:デフォルトの名無しさん
19/03/04 14:04:54.79 /O719wMt.net
JVM言語でもjitやらoptimizeやらを切れば(お前の実装方法に応じて)素直な結果を出すと思うけどなあ
434:デフォルトの名無しさん
19/03/05 05:52:58.54 437fdADv.net
goが行けるならopenBasicが流行っても良さげと思うんだがどうか?
435:デフォルトの名無しさん
19/03/05 08:31:24.63 0SMIqw+w.net
>>426 その手のものでは、最近はmicropython が主流だろ。
100円くらいのボード(EPS32など)でも使える様になってる。
昔は(今でも入ってるのは多いが)timyBasicだった。
micro:bit ですらmicropython
スクリプト系が人気なのは、プログラムが小さくコンパイルの必要がないからターゲットボードの中だけで完結できるからだろう。
ラズベリーパイは、フル仕様のPython を標準としている。
Pythonが人気なのは、CPUやOSにとらわれなくてポーティングが楽だからだろうな。
昨日Sublimeをインストールし直したら中身の殆どがPythonに置き換わってた)、PgAdmin もPythonに変わった。
436:デフォルトの名無しさん
19/03/05 09:11:57.31 DIrFqE8l.net
>>430
死ね
437:デフォルトの名無しさん
19/03/05 10:50:30.76 sKpoKHWu.net
JVMもjitやらoptimizeやらを切り捨てればrun anywhereが嘘にならなかったと思う
438:デフォルトの名無しさん
19/03/05 11:18:13.80 v05Rblfl.net
>>429
BASIC 系なら BlitzMax NG や Monkey2 のほうが良くね? それすら嫌なら X11-BASIC としか。
439:デフォルトの名無しさん
19/03/05 11:22:06.42 CG3neAsc.net
JIT?JNIだろ元凶は。
440:デフォルトの名無しさん
19/03/05 11:22:33.66 v05Rblfl.net
>>427
C互換言語はマイナー落ちするのが宿命。
いまは仕方ないな。
そのうちなんとかしてみるよ。
441:デフォルトの名無しさん
19/03/05 13:27:24.14 sKpoKHWu.net
シェルスクリプトのJNIことmain関数の手口に学べ
GUIを切り捨てろ
442:デフォルトの名無しさん
19/03/05 22:54:13.54 exrcDGV2.net
goはgoroutineとchannelがあってこそだと思うがなあ。
逆に、そういう面白味がない言語はたとえよく出来ていてもいまいちウケが悪いような。nimとか。
443:デフォルトの名無しさん
19/03/05 23:38:38.28 wt60grpv.net
しっくり来た
444:デフォルトの名無しさん
19/03/06 01:45:21.11 n2VNtnMC.net
SwingとJavaFXってJREから切り離されてなかった?w
445:デフォルトの名無しさん
19/03/06 08:11:56.51 EtzkUYHr.net
そもそもJRE自体が廃止された
446:デフォルトの名無しさん
19/03/06 09:33:23.47 FCOQEIBI.net
Kotlinもよろしく
447:デフォルトの名無しさん
19/03/06 22:16:22.83 rYBjnE2S.net
micro:bit持ってるけど、あれって専用のHEX吐いてるよね?micropythonそのままで動いてるの?
448:デフォルトの名無しさん
19/03/06 23:30:58.77 NglcYyrq.net
>>437
goroutineのchannel待ちリークに対する言語機能が期待される。
あれは結構やばい。
449:デフォルトの名無しさん
19/03/07 09:13:43.68 E2eXaClF.net
>>442 micropython そのものが埋め込まれてるよ。 少しだけ独自ライブラリを持ってるだけの話。
だからHEXを読み込ませた後は、teraterm などで入れば直接REPLが使える。
450:デフォルトの名無しさん
19/03/07 09:15:26.42 E2eXaClF.net
独自ライブラリというのもmbed の少し古いバージョンが入ってるだけ。
451:デフォルトの名無しさん
19/03/07 19:23:07.57 ciULrZzx.net
pythonの型がクソザコすぎてイライラする
よくこんなゴミ言語で開発する気になるわ
ゲエジしかおらんのか
452:デフォルトの名無しさん
19/03/07 20:06:20.64 rioBJ/QG.net
そのくらいでいちいちイライラしとる方が世間的にはゲエジですけどね。
453:デフォルトの名無しさん
19/03/07 20:23:38.54 E2eXaClF.net
>>446 動的型付けに文句を言っても仕方ないだろ。 それが言語なんだから。 慣れ不慣れ
454:デフォルトの名無しさん
19/03/07 22:51:01.92 ciULrZzx.net
>>447
は?ワロタ
455:デフォルトの名無しさん
19/03/07 22:52:11.02 ciULrZzx.net
>>448
phpやperlは正しくゴミと認識されてるのに、なぜかpythonだけ私違いますよみたいな顔してんのがイラつく
バカp言語3兄弟、仲良くゲエジしてろよと言いたいね
456:デフォルトの名無しさん
19/03/07 22:58:20.38 C5DOGguC.net
Cで作ったライブラリをキックするためだけの言語
それがpython
perlだな
457:デフォルトの名無しさん
19/03/07 23:15:23.60 ciULrZzx.net
プェ~ルはLinuxコマンドを叩いてUTも書けないゴミだろ
何いってだ
458:デフォルトの名無しさん
19/03/07 23:21:02.99 oTfLqBj1.net
ぺーるは時代遅れなだけで偉大な言語だろ
徹頭徹尾クソなphなんたらと同列にしてはいけない
459:デフォルトの名無しさん
19/03/07 23:24:06.09 jEbiMY7g.net
phpは型導入間近だよな
460:デフォルトの名無しさん
19/03/07 23:26:48.09 E2eXaClF.net
時代遅れより時代に乗ってる方が良い。
461:デフォルトの名無しさん
19/03/07 23:33:32.43 ciULrZzx.net
phナントカは時代に乗ってるんじゃなくて糞を乗っけて転げ落ちてるゴミだよ
462:デフォルトの名無しさん
19/03/07 23:48:34.40 E2eXaClF.net
いくら悪口を言っても、妬みとしか聞こえないな。
なんだかんだ言っても人気があるのにはそれなりの理由がある。
人気がないのはそれなりの欠点がある。
463:デフォルトの名無しさん
19/03/07 23:50:57.23 cPei42ec.net
>>448
そこは排他関係じゃないんだがなあ。
動的型付け言語で静的に型チェックすることが可能だってのはTypeScriptを見ればわかるはず。
Pythonにも型ヒントはあるが出来が
464:いまいちってだけ。
465:デフォルトの名無しさん
19/03/08 00:11:03.26 5pI9JP8x.net
PHPが人気ってマジ?
俺の周りじゃ技術選定の候補どころか、名前すら挙がらなくなって久しい
一時期LAMP(笑)とか言って持て囃されてたよなぁ
466:
19/03/08 00:16:50.69 z/Z4PF0F.net
>>459
wikipedia/mediawiki は PHP ですね
467:デフォルトの名無しさん
19/03/08 01:29:39.26 UQS1HGyr.net
全ウェブページの3割がWordPress
CMSのみのシェアに限ったら実に6割
468:デフォルトの名無しさん
19/03/08 05:42:06.78 K0bH1TMP.net
>>450
Rubyだけ関係ないみたいな言い様だな
469:デフォルトの名無しさん
19/03/08 07:33:12.97 33ZLM8BT.net
>>461 それは言語じゃないじゃん。
470:デフォルトの名無しさん
19/03/08 07:35:34.69 8yRCoRZ4.net
>>459
人気だよ
Web系なんて特に、品質に興味のない動けば良い派が多数派の世界だもん
同様の理由でRubyも人気
471:デフォルトの名無しさん
19/03/08 07:54:29.48 5pI9JP8x.net
>>461
コーラとハンバーガーの話思い出した
悲しい世界
472:デフォルトの名無しさん
19/03/08 12:53:09.89 zYACOqEV.net
>>463
WordPressがPHPで動いてるってことかと
473:デフォルトの名無しさん
19/03/08 15:11:54.86 enrIbZX0.net
>>466 そんなこと言ったらほとんどのサイトでJavascriptが使われてるとか、Javaサーブレットの比率が高いというのと同じだぞ。
殆どのOSはC系で動いていますとか?
PHPの人気が落ちてきているのは否定しても仕方ないだろ。
IEEEランキング
URLリンク(news.mynavi.jp)
GitHub(Octoverse) ランキング
URLリンク(octoverse.github.com)
どちらでもPHPはランクを落としている。
474:デフォルトの名無しさん
19/03/08 22:48:30.06 v8tJTPJS.net
>>450
pythonだけは本当に違うからね
ドカタ風情がどう考えるかとか関係ない
475:デフォルトの名無しさん
19/03/08 23:19:04.24 33ZLM8BT.net
>>468 ちょっと見た目が初心者用風に見えるから、誤解する人も多いんだろうけど奥が深いな。
特に日本人にとっては、Python3 でUTF-8 が使えるようになってから使える言語になった。 既に10年になるが。
476:デフォルトの名無しさん
19/03/08 23:51:54.75 pPe1nc2w.net
Pythonはリスト内包表記がよく分からなくてやめた。
477:デフォルトの名無しさん
19/03/09 00:21:15.90 dWvjadlp.net
pythonはmapとfilter組み合わせるときとかの見た目がphp並にゴミなので、リスト内包表記の方がわかりやすくなってる希有な言語
478:デフォルトの名無しさん
19/03/09 00:29:49.32 BaMgJESG.net
リスト内包は気持ちいいけど他のほとんどがイライラさせるから仕事では使いたくないな
479:デフォルトの名無しさん
19/03/09 00:39:12.52 IRFnMIKL.net
Pythonはリストやマップを使い倒すほどに激遅になっていくから
ループ処理するものは全てCやら何やらに全て置き換えてライブラリ化してから使うしかなくなるからな
480:デフォルトの名無しさん
19/03/09 00:46:34.01 jmJNTA16.net
>>473 リストを使わずに、セットや辞書を使えば良いんじゃないの? リストは遅いと書かれてるんだし。
セットや辞書はHash
481:デフォルトの名無しさん
19/03/09 01:26:39.24 wV17wiJS.net
いやいやあんた何言ってんの
482:デフォルトの名無しさん
19/03/09 01:30:33.77 HqfcKPNw.net
最近データ構造の勉強を始めたんじゃろ
483:デフォルトの名無しさん
19/03/09 02:03:10.56 bnJe64DG.net
>>473
無限の可能性をもつ次世代言語なんかじゃなくてCに置き換える
っていうビジョンが見えてるのが素晴らしい
484:デフォルトの名無しさん
19/03/09 03
485::01:35.52 ID:n56g/PGg.net
486:デフォルトの名無しさん
19/03/09 08:50:59.24 ylwqDFWx.net
最初にやるのは、Cに置き換えないと激遅になる証拠をしっかり押さえること
487:デフォルトの名無しさん
19/03/09 08:54:53.67 jz9xUaFa.net
得意な部分は他の言語にやらせたらいいっていうのはわかりやすくて良い。
なんでもアピールするバカよりよっぽど良いのは現実と一緒だな。
488:デフォルトの名無しさん
19/03/09 08:58:56.37 6GEF2scy.net
Pythonは何が得意なの?
489:デフォルトの名無しさん
19/03/09 09:01:21.52 v9lhRDY6.net
>>473
cythonやnumbaを知ってから批判しましょうね
490:デフォルトの名無しさん
19/03/09 09:05:40.00 e3G7+PXr.net
>>482
最初からCで書けよクソゴミで済む話なんだよな
491:デフォルトの名無しさん
19/03/09 09:12:31.13 ylwqDFWx.net
同じことを同じ言語で二回書くのはクソゴミだが、言語を変えるなら二回書いてもいい
492:デフォルトの名無しさん
19/03/09 09:12:48.57 jz9xUaFa.net
>>481
糊付け
duckタイピング
493:デフォルトの名無しさん
19/03/09 09:20:36.93 v9lhRDY6.net
>>483
全然違うよ
numbaで書くのはcで書くより遥かに簡単だからね
494:デフォルトの名無しさん
19/03/09 09:29:01.65 4ewQpv+T.net
ダックタイピングと呼ばれるものって、実際には同名のメソッドが存在すればそれを呼ぶことができる
(動的バインディング)ってだけで、「アヒル」や「タイピング」は関係ないよな。
アヒルのたとえ話の趣旨からすればTypeScriptのようなstructual subtypingが近いんだろうが。
495:デフォルトの名無しさん
19/03/09 09:29:17.49 jmJNTA16.net
>>481 ちょこちょこ変更できてなんでもできる事。
だから入門者用としても入りやすい。小学生から学者まで。
特にライブラリーが揃ってるから統計分析など科学技術計算には強い。 特に機械学習やAI は、Python
また、Excel との相性も良い。
コンパクトなバイトコードになるから、IoTの様に小さな所でも動け、REPLが動くから実機で変更テストができ自由度が高い。だから、IoT用言語としての地位も確立している。
496:デフォルトの名無しさん
19/03/09 09:37:11.61 uR+z9zTM.net
>>487
Pythonにはどっかの赤い宝石とは違ってドキュメントをきちんと書く文化がある
そして、本当に正しく書かれたドキュメントには「プロトコル」としてアヒルが満たすべき要件が定義されている
そこまでやってはじめて「ダックタイピング」と言える
497:デフォルトの名無しさん
19/03/09 10:01:14.60 4ewQpv+T.net
Pythonのプロトコルというとイテレータとかああいうやつ?あれなら確かにダックタイピングと
言えるかもしれないけど、あらかじめ定義されているもの以外に「アヒル」プロトコルとか
追加できるんだっけ?
498:デフォルトの名無しさん
19/03/09 10:22:47.01 ylwqDFWx.net
文章力があればプロトコルの数学的定義を覆せる文化
それがドキュメントを書く文化につながる
499:デフォルトの名無しさん
19/03/09 11:05:03.57 ktQSUaaW.net
>>490 デスクリプタ汎用プロトコルがあるからユーザが定義できる。
URLリンク(qiita.com)
デスクリプタ HowTo ガイド
URLリンク(docs.python.org)
Duck Typing は動的型付けな言語(Python, Ruby)等における型付けの作法である
ある処理に必要なオブジェクト A と同じ振る舞いができるのであれば、継承関係のある/なしにかかわらず、そのオブジェクトはAと同じとみなして良いというもの。
Python のダックタイピングの例
PythonのABC - 抽象クラスとダック・タイピング
URLリンク(qiita.com)
500:56d86f8a91c4
501:デフォルトの名無しさん
19/03/09 11:58:15.18 GVs3bbIF.net
Ruby のStringIO は、Duck Typing
StringIO クラスは、IO クラスと継承関係はなく、
単に、read, write など、IO と同名の関数名を使っているだけ
これだけで、StringIO に対して、入出力操作を行うことで、
メモリファイルを扱うことができる
最近は、ガチガチの継承よりも、委譲やDuck Typing を使うことも多い。
宣言無しのinterface みたいなもの
502:デフォルトの名無しさん
19/03/09 12:11:53.03 4ewQpv+T.net
>>493
>宣言無しのinterface みたいなもの
なるほど、そういう解釈ならしっくり来た。
503:デフォルトの名無しさん
19/03/09 12:17:10.91 BnoVO+GE.net
Rubyは大クラス主義といって、移譲だのプロトコルだのまどろっこしいことするよりどんどん継承しようぜ!という考え方が主流
だから実際にはほとんどダックタイピングは使わない
静的型検査なしでドキュメントも書きたくないとなると、Pythonのような紳士協定ベースなやり方は確実に破綻するので、
実装継承を多用するというのは「実装が仕様」なルンペン文化には適したスタイルではある
504:デフォルトの名無しさん
19/03/09 12:34:00.97 jso+Oksr.net
interfaceがあってこそのduck typingだなとtypescriptやって思った
505:デフォルトの名無しさん
19/03/09 12:42:38.75 BnoVO+GE.net
interfaceは元々は「堅い」言語で既存コードに極力手を入れずに建て増ししていくための仕組みだが、
今ではそれが高速な開発におけるデグレ防止に役立ち、生産性において動的型を圧倒したというのは皮肉な話だな
506:デフォルトの名無しさん
19/03/09 12:47:14.54 4ewQpv+T.net
Javaのinterfaceを初めて見たとき、Goのようなものを期待したら違っててがっくりした思い出。
507:デフォルトの名無しさん
19/03/09 12:51:39.03 ylwqDFWx.net
静的型は悪くないが静的型を正しく教えるノウハウをだれが持ってるんだろうか
目か?目で盗むのか?
508:デフォルトの名無しさん
19/03/09 12:54:03.55 GVs3bbIF.net
Duck Typing だと、たまたま同名の関数名があった場合に、バグる危険性があるから、
自分が使うものだけを、interface 宣言させて、バグを避けているのだろう
最近は、その宣言がガチガチ過ぎて面倒なので、Duck Typing が流行ってきている
509:デフォルトの名無しさん
19/03/09 13:40:27.53 ylwqDFWx.net
危険と安全の対立が今は主流になっているがCの型にはサイズを計算する意味もあった
510:デフォルトの名無しさん
19/03/09 13:54:13.53 jz9xUaFa.net
流行り廃りは行き来するもんだからな。
動的も静的もいいバランス具合にそのうち落ち着いていくだろう。
本当に流行り廃りを超えてる技術というのはユニットテストやリファクタリングといったものなんだが、
そういうのみんな嫌いでしょ?
511:デフォルトの名無しさん
19/03/09 14:07:25.26 ylwqDFWx.net
仕様と実装言語が独立しているレベルになったら言語の布教に不都合だから
実装は仕様に依存するぐらいがみんな好きでしょ
512:デフォルトの名無しさん
19/03/09 19:48:43.49 YBbU7zqD.net
>>497
> 動的型を圧倒したというのは皮肉な話
そもそも言語機能としてのinterfaceは動的型(具体的にはSmalktalk)のダックタイピング(当時はそうは言わなかったが)を
静的型のメリットを殺さずにやるアイデアから考案されたんだから順当だろう
URLリンク(www.cs.utexas.edu)
513:デフォルトの名無しさん
19/03/10 13:14:29.15 E4pQDIKL.net
C++はvirtualを使わない技術、Haskellはラムダを使わない技術を磨いている
Rustも同様
virtualが動的型を圧倒したとか言ってるのは時代錯誤
514:デフォルトの名無しさん
19/03/10 20:02:03.91 iWdySZoH.net
ラムダを使わない技術ってなんなん?
515:デフォルトの名無しさん
19/03/10 20:02:56.59 /oBaS06x.net
なんだろね
ポイントフリースタイルの話かな
516:デフォルトの名無しさん
19/03/10 20:22:04.07 8hqMg5Px.net
ラムダを使わずコンビネータを使う、とか言ったりして。
517:デフォルトの名無しさん
19/03/10 20:48:07.67 E4pQDIKL.net
quickSort :: Ord a => [a] -> [a]
でも昇順とか降順とかを変えるのが大変だな
518:デフォルトの名無しさん
19/03/10 22:35:21.02 iWdySZoH.net
sortByしたくなったらどうするんよ?
ラムダなしHaskellとかコード量が2倍で済まなさそう。
519:デフォルトの名無しさん
19/03/10 23:20:22.27 evthC8BV.net
sortByなんて実用的なタスクでしか使わないだろ
つまりHaskellには不要
520:デフォルトの名無しさん
19/03/10 23:54:02.27 E4pQDIKL.net
そもそも動的型をdisることに実用性があるのかどうか考えたか?
それとも何も考えてなかったのにHaskellと聞いたら急に頭が良くなったのか?
521:デフォルトの名無しさん
19/03/10 23:56:13.89 vvRzWHgY.net
ラムダを使わない技術って何なの
説明しろよ
522:デフォルトの名無しさん
19/03/11 01:18:43.16 XnlVWIz4.net
会話が成り立ってなくて怖いんだけど
523:デフォルトの名無しさん
19/03/11 02:21:22.63 R//MLWrb.net
いや型無し糞言語ガイジは死ねよ、時代遅れの爺
524:デフォルトの名無しさん
19/03/11 09:04:21.30 9skrQpxpu
部分適用じゃね?→ラムダを使わない技術
sum xs = foldl (\a x -> a + x) 0 xs
sum xs = foldl (+) 0 xs
sumの方も部分適用すれば、こうなる
sum = foldl (+) 0
525:デフォルトの名無しさん
19/03/11 09:24:00.27 D2PSGRy3.net
そもそも実行時に命令を作り出すというのは、動的型付けじゃないとできないのでは? eval
526:デフォルトの名無しさん
19/03/11 09:38:26.34 9rO3q8tQ.net
動的もコンパイルするし、静的もRepl あるし
527:デフォルトの名無しさん
19/03/11 11:48:34.91 NYtiTycm.net
>>518
s='a+a'
a=1
print(eval(s)) #2
a=2.0
print(eval(s)) #4.0
528:デフォルトの名無しさん
19/03/11 11:57:22.45 NYtiTycm.net
REPL と動的実行のeval は違う。
a=input() #abcと入力
print(eval(s)) #abcabc と出力
s=input() # 3**2 と入力
print(eval(s)) #9 と出力
529:デフォルトの名無しさん
19/03/11 12:30:19.49 NYtiTycm.net
動的実行には、複数の式を実行する exec がある。
exec("""
total = 0
for i in range(5):
print(i)
total += i
print(total)
""")
これを利用すれば、プログラムを変更しないで外からの入力で動作を変えたりできる。
530:デフォルトの名無しさん
19/03/11 12:44:28.78 XUClMORg.net
何か変なのに粘着されてるじゃん
531:デフォルトの名無しさん
19/03/11 12:49:45.69 iGRez5Af.net
>>521
そうだね重大なセキュリティホールだね
お願いだから消えてくれ
532:デフォルトの名無しさん
19/03/11 16:46:34.67 9rO3q8tQ.net
>>519
そんなの単にevalに渡すコンテキストの違いじゃん
実行時に命令生成することの本質じゃない
533:デフォルトの名無しさん
19/03/11 20:14:35.05 YRmagZmf.net
文字列使えば任意のコードが実行できる!文字列最強!みたいなバカ理論。
534:デフォルトの名無しさん
19/03/11 20:16:58.60 vDWHHSf6.net
それ社内のエースが言っててワロタ
535:デフォルトの名無しさん
19/03/11 20:49:09.16 kuj3upGr.net
構文木いじれるLispの方が便利じゃね?
536:デフォルトの名無しさん
19/03/12 12:12:04.79 f1IcpvAp.net
構文木オブジェクトなら左括弧と右括弧の対応をいじる脆弱性はない
文字列を使わないことがオブジェクト指向の定義と言えないこともない
オブジェクト指向の定義多すぎ
537:デフォルトの名無しさん
19/03/12 12:34:20.82 rf03pH6k.net
> 文字列を使わないことがオブジェクト指向の定義
ハハハ
538:デフォルトの名無しさん
19/03/12 13:10:26.07 f1IcpvAp.net
笑うことも定義か
staticおじさんを笑うように
539:デフォルトの名無しさん
19/03/12 13:24:41.15 f1IcpvAp.net
定義を教えられないから目で盗み空気を読み忖度した結果として定義が増える
540:デフォルトの名無しさん
19/03/12 13:33:15.64 RXMytCd2.net
ハハッ
541:デフォルトの名無しさん
19/03/13 21:17:11.81 u/DrurAb.net
まあテクニカルタームにしがみつく奴はバカしかいないよ。
542:デフォルトの名無しさん
19/03/13 21:26:00.10 M+m6pFpm.net
ハッ
543:デフォルトの名無しさん
19/03/13 22:20:22.61 eVzJUFww.net
ハハッ
544:デフォルトの名無しさん
19/03/14 10:58:18.04 0lYU+AM6.net
差別発言が日常茶飯事なのと専門用語のマナーを守ることとのギャップがものすごい
545:デフォルトの名無しさん
19/03/14 23:49:16.54 gVqeE1jf.net
>>536
そういうバランスが壊れてるところプログラマーっていう人種の典型
546:デフォルトの名無しさん
19/03/15 17:46:48.87 LvZJWiiQ.net
プログラムはおいといてデバッグに必要なのは典型的でないケースを1個見つけること
1個だからといって無視しないこと
547:デフォルトの名無しさん
19/03/17 11:52:05.42 4E+XY7RQ.net
型無し糞ガイジの老害が死滅すれば済む話
頭のアホ毛$から腐臭が漂ってくるんだよ、早く死ね
548:デフォルトの名無しさん
19/03/17 14:54:23.26 YNfhsYwt.net
エディタを終了してからテストを実行するのはターン制だから古臭いんだな
リアルタイムこそが現実であり次世代であるはずなのに一体なぜターン制が滅びないのか
549:デフォルトの名無しさん
19/03/17 17:44:29.53 2O0dSFGZ.net
>>539
おだいじに。ちゃんとお薬のむんだよ。
550:デフォルトの名無しさん
19/03/17 18:24:15.45 4E+XY7RQ.net
>>541
薬を飲むべきはおまえさんやで、型無し糞ガイジw
551:デフォルトの名無しさん
19/03/23 08:00:57.82 zUjZ7ZUG.net
次世代言語として必須機能はなんですか?
552:デフォルトの名無しさん
19/03/23 09:10:22.60 ZlGSstH0.net
高速で軽量、堅牢な非同期処理のサポート
デフォルト実装を定義できるインターフェイス(and/or 型クラス)
高度な型推論(もとより静的型)
高速なコンパイルとコンパクトな実行ファイル(非AltoJS、JVM言語)
関連して、セルフホスティングやブートストラップは完了済み
553:デフォルトの名無しさん
19/03/23 09:23:43.23 f3qHSm8q.net
>>54
様々なポリシーの元に設計されて良いだろうから必須なんて機能は無いんじゃないか
554:デフォルトの名無しさん
19/03/23 09:24:21.62 f3qHSm8q.net
>>545
>>543宛だった
555:デフォルトの名無しさん
19/03/23 11:11:33.27 Bvojjkpo.net
何を作りたいかによるよね。作りたいものが作りやすければ良いわけだから。
556:デフォルトの名無しさん
19/03/23 22:35:21.72 kS3TDVAs.net
皆さん的にvlangどうなの?
557:デフォルトの名無しさん
19/03/23 23:03:36.39 oh3HXLVk.net
実物待ちじゃないの
558:デフォルトの名無しさん
19/03/24 13:56:01.89 oJh5vPLh.net
ぶっちゃけTypeScriptが強最やろ
559:デフォルトの名無しさん
19/03/24 14:23:51.27 dT6Xb8jy.net
強いかはともかく、最も美しいプログラミング言語の一つではある
560:デフォルトの名無しさん
19/03/24 16:01:57.35 ElpwR+x1.net
tsいいんだがjavascriptの呪縛から解き放ってやりたい感
561:デフォルトの名無しさん
19/03/24 16:09:10.35 3s1WkY0F.net
今のesならそんなに捨てたもんでもないと思うが。
まぁでも、tsにclassは要らなかったな。
562:デフォルトの名無しさん
19/03/24 16:18:49.96 Nexfdc7v.net
しょせんパフォーマンスでない言語
563:デフォルトの名無しさん
19/03/24 16:34:58.29 RF+VrP1U.net
esにもクラスはなくても良かったけどデコレータは早く来てほしいね
デコレータ風に組めなくもないけど面倒だしな
564:デフォルトの名無しさん
19/03/24 18:01:12.81 ZhSBqocX.net
tsはjsの呪縛でガンガンに縛られてるから全然いい言語に見えない
共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない
565:デフォルトの名無しさん
19/03/24 19:00:10.91
566:3s1WkY0F.net
567:デフォルトの名無しさん
19/03/24 19:23:03.00 YsBQPuQx.net
URLリンク(js.studio-kingdom.com)
型判定のifなどが邪魔すぎる
こういうのを見てスマートだと感じるなら毒されている
568:デフォルトの名無しさん
19/03/24 19:32:49.50 3s1WkY0F.net
それは無駄な判定とは思わないが、どう記述出来たらスマートだと言うんだろう。
パターンマッチとか?
569:デフォルトの名無しさん
19/03/24 19:37:55.56 503powVA.net
無駄っつーかanyって言ってるのに実際は2つの型しか認めないのは無責任やな
570:デフォルトの名無しさん
19/03/24 19:44:07.97 LeGi1F7Y.net
>>558
直和型をパターンマッチで処理切り分けるのは、関数型言語からの流れで最近の流行りだと思うんだけどね
if 文で書くのはダサいな
>>560
any がダメだから string | number と書くというのが共用体型じゃないの?おれもtsはよく知らないんだけど
パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね
571:デフォルトの名無しさん
19/03/24 20:34:17.47 3s1WkY0F.net
まぁパターンマッチ構文で多少記述がシンプルになるならそれもいいけど、逆に専用の構文に頼らずに
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?
>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね
それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。
572:デフォルトの名無しさん
19/03/24 21:15:12.88 YouWSmuh.net
>>562
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ
やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが
573:デフォルトの名無しさん
19/03/24 21:22:23.00 dT6Xb8jy.net
>>563
TypeScriptは Discriminated Union 使えるよ
メンバのリテラル値によって型をマッチさせるという中々面白い仕様
574:デフォルトの名無しさん
19/03/24 21:32:02.61 503powVA.net
sbt言うほど遅いか?
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで
575:デフォルトの名無しさん
19/03/24 21:42:20.21 hMqcesBf.net
scala死んだ理由どう考えてもバージョン上がる度にコンパイル通らなくなる互換性のなさだろ
3なんかにしたら爆死以外見えない
576:デフォルトの名無しさん
19/03/24 22:02:19.88 LeGi1F7Y.net
>>564
ここら辺見て ts 勉強させてもらったよ URLリンク(qiita.com)
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ
でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
577:デフォルトの名無しさん
19/03/24 22:17:38.55 3s1WkY0F.net
>default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。
578:デフォルトの名無しさん
19/03/24 22:46:49.41 LeGi1F7Y.net
>>568
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい
579:デフォルトの名無しさん
19/03/24 22:52:15.99 3s1WkY0F.net
それはlintでやればいい。
580:デフォルトの名無しさん
19/03/24 23:24:23.33 LeGi1F7Y.net
みんなが Lint かけてくれるわけじゃないので、コンパイル時チェックが望ましい
特に新しい言語作るのならばそうすべき
581:デフォルトの名無しさん
19/03/24 23:25:57.15 LeGi1F7Y.net
あと、>>564は、言語の機能と、コーディングパターンの区別がついてないよね?
582:デフォルトの名無しさん
19/03/24 23:29:21.26 dT6Xb8jy.net
>>572
言語の機能として公式ドキュメントに記載されてるんだよ
URLリンク(www.typescriptlang.org)
583:デフォルトの名無しさん
19/03/24 23:54:07.40 LeGi1F7Y.net
>>573
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし
584:デフォルトの名無しさん
19/03/25 00:04:21.99 8zmAEr9n.net
>>571
そういう腐った現場で強制してもコンパイル通すためだけのくそハックが横行するだけ。
事態をもっとややこしくする。
585:デフォルトの名無しさん
19/03/25 00:28:45.64 PAua+1O7.net
>>575
コンパイル通すためのハックしてることがコード見ただけで分かるのが重要
586:デフォルトの名無しさん
19/03/25 07:59:56.31 W4SpLKRa.net
>>571
lintすら不要と思っている人が>>561のようなチェックをしたいと思うシチュエーションが考えにくいが。
PLがメンバーに強制するならlintごと使わせればいいわけだしな。
587:デフォルトの名無しさん
19/03/25 09:18:04.90 WuArxINc.net
次世代言語を名乗るなら網羅性がチェックされたパターンマッチ構文は必須でしょ
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない
588:デフォルトの名無しさん
19/03/25 13:08:18.82 K4z2YXqu.net
マイクロソフトの「TypeScript」など上昇--RedMonkプログラミング言語ランキング
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年03月25日 12時26分
URLリンク(japan.zdnet.com)
Microsoftのプログラミング言語「TypeScipt」の人気が上昇しており、Appleの
「Swift」に続く順位についた。(中略)
TypeScriptは2018年8月に発表された前回の調査から4つ順位を上げた。JavaScriptは
首位となっている。TypeScriptの最新の順位は、RedMonkが「これまでで最も成長の速い
プログラミング言語」とするSwiftの1つ下だ。
RedMonkのStephen O'Grady氏は、「TypeScriptは確かにJavaScriptと近いことや、オプ
ションの静的型チェックなどの安全性を実現する機能からメリットを得ている。だが、機能
だけではこのペースで大きく前進できない。成長中の幅広いプロジェクトに活用されて
いるはずであり、これら全てが、TypeScriptの成長が目覚ましく、持続性のあるものと
なっている理由を示している」と説明している。(中略)
TypeScriptよりも急速に成長している言語は「Kotlin」だ。Kotlinは前回から8ランク
アップし、今回の調査では20位となった。O'Grady氏によると、Kotlinの成長速度はSwiftに
次ぐレベルだという。
KotlinはGitHubの「2018 Octoverse」レポートでも、GitHubで最もコントリビューター
人口が増えている言語となった。KotlinはGoogleが公式にサポートしているAndroidアプリ
開発言語であることからAndroidのアプリ開発者に人気で、Googleによると「Google
Play」で提供されているAndroidアプリのトップ1000のうち、27%でKotlinが使用されて
いるという。(後略)
589:デフォルトの名無しさん
19/03/25 13:08:57.00 8zI0ePtf.net
purescript全然流行ってないぞw
やっぱts人気なのはjs互換だから。良くも悪くも。
590:デフォルトの名無しさん
19/03/25 13:17:36.44 MfpTwt9Q.net
npmがあってこそ
591:デフォルトの名無しさん
19/03/25 13:40:39.94 NJTMQsjm.net
tsといいkotlinといい、言語を流行らせるならまずは開発環境が大事というのがよくわかる結果だな
592:デフォルトの名無しさん
19/03/25 13:43:55.66 T0osdeZX.net
Kotlin 万歳
593:デフォルトの名無しさん
19/03/25 13:45:37.65 b0YsS78F.net
JSは言語というより環境
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる
594:デフォルトの名無しさん
19/03/25 13:46:17.07 T0osdeZX.net
>>582
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。
595:デフォルトの名無しさん
19/03/25 14:07:09.12 n9E0/aVP.net
まぁRailsもそうだったけど「これ作るならこれ!」みたいな洗脳が上手くできるかどうかだよね
596:デフォルトの名無しさん
19/03/25 14:19:36.61 b0YsS78F.net
でも洗脳を解いてやったらC/C++をすらすら書けるようになるわけじゃないし
宗教があるのは難易度を下げるのがメインで洗脳は副産物
597:デフォルトの名無しさん
19/03/25 15:04:53.80 +4I8CbY7.net
Javaも部分的かつ牛歩だけど、モダン機能に追従していってる
URLリンク(qiita.com)
言語でなく環境の方でもGraalVMを進めてるし一応止まってはいない感じ
598:デフォルトの名無しさん
19/03/25 15:17:23.11 NJTMQsjm.net
Javaは本質的な不便さから目を背けてミーハーな目立つ機能をつまみ食いしてる印象
いいかげん例外透過やクッソ使いづらい非同期APIをなんとかしろ
599:デフォルトの名無しさん
19/03/25 15:51:46.88 gMgBFzz/.net
javaは中間コンパイルしたあとのソースを見るとやる気なくなる
600:デフォルトの名無しさん
19/03/25 16:00:12.57 n9E0/aVP.net
Java「じゃあ互換性切り捨てて小鳥に寄せます」
ってならね?
601:デフォルトの名無しさん
19/03/25 17:45:18.30 95AoY43y.net
>>579
金で操作できるランキングに価値ねえよ
上位言語が企業のステマ言語って時点で疑問持てよ
602:デフォルトの名無しさん
19/03/25 18:34:27.56 uGzTncPE.net
そもそもnumberとstringをいれれる型が邪魔すぎる
603:デフォルトの名無しさん
19/03/25 18:51:00.60 g4/jn9Nj.net
javascriptの制限のせいでtypescriptには従来の言語のような関数オーバーロードがない
あるのは関数シグネチャーのエイリアスのようなもので中ではifなどで型の判定をして使い分けてる
非常に泥臭い
604:デフォルトの名無しさん
19/03/25 18:55:41.13 g4/jn9Nj.net
パターンマッチはクソださいので必要ない
605:デフォルトの名無しさん
19/03/25 19:03:37.93 8zI0ePtf.net
javascript離れて独自拡張したら行く末はelmやpurescriptコースだからな。
そうなったtypescriptは誰も使わないし、
js互換の第二のtypescriptが登場してそっちに流れるだけ。
そうでないと言うのならelmやpurescriptが閑古鳥な理由を説明してほしい。
606:デフォルトの名無しさん
19/03/25 19:05:06.35 PPwxmC3U.net
ダサいとかいう非論理的な言葉で要不要を語るんじゃあない
607:デフォルトの名無しさん
19/03/25 19:06:59.78 g4/jn9Nj.net
>じゃあない
ださい
608:デフォルトの名無しさん
19/03/25 19:11:19.73 6qJsOYPQ.net
>>594
tsのunionは、関数の引数だけじゃなくて、戻り値とかオブジェクトのプロパティにも使える
関数オーバーロードの変わりに使うものだと考えるのは、少しズレてる
609:デフォルトの名無しさん
19/03/25 19:31:47.11 g4/jn9Nj.net
numとstringを入れられるプロパティの存在意義は?
610:デフォルトの名無しさん
19/03/25 20:32:23.9
611:3 ID:6qJsOYPQ.net
612:デフォルトの名無しさん
19/03/25 20:42:39.81 +4I8CbY7.net
>>598
URLリンク(i.imgur.com)
613:デフォルトの名無しさん
19/03/25 20:47:57.44 +4I8CbY7.net
正直オーバーロードは無くていいと思ってる
ジェネリクス等で処理出来ないなら名前変えた方がいい
多言語の境界でよく面倒事の原因になる
614:デフォルトの名無しさん
19/03/25 20:48:32.11 g4/jn9Nj.net
>>601
でもそれを参照する場所で型チェックなどが発生するだろ
A型とB型を格納していたプロパティにC型を格納するようになったら
それぞれの場所でまた変更が必要になる
無駄じゃないかなって思う
615:デフォルトの名無しさん
19/03/25 21:00:38.33 /ev0NUx0.net
関数のオーバロードは正直なくてもいいかなと思うけど(別の名前にすればいいだけ)
その言語はオブジェクトのコンストラクタのオーバロードも多分ないよね
それはどうするか、ちょっと困るな
616:デフォルトの名無しさん
19/03/25 21:00:47.68 UtVBJg4o.net
オーバーロードと、実装を上書きするタイプのオーバーライドは絶滅すべき
617:デフォルトの名無しさん
19/03/25 21:14:48.42 +4I8CbY7.net
>>605
Go Rustはオーバロードが無く、ただのstaticなファクトリメソッドでやってるよ
618:デフォルトの名無しさん
19/03/25 21:21:17.36 g4/jn9Nj.net
fabs()再び
619:デフォルトの名無しさん
19/03/25 21:24:14.16 g4/jn9Nj.net
オーバーロードがないとintのabsのほかにfloat用のfabsを用意しないといけない
620:デフォルトの名無しさん
19/03/25 21:27:47.27 1GKiPWph.net
>>603
リーナスも似たようなこと言ってたな
記事探すの面倒だから貼らないが
(誰か探して貼ってくれないかなチラッ)
621:デフォルトの名無しさん
19/03/25 21:39:42.65 /ev0NUx0.net
>>609
そっちはジェネリクスで対応するのでは
622:デフォルトの名無しさん
19/03/25 22:26:27.11 8zmAEr9n.net
オーバーロードだったらマクロのが少しはマシ。
623:デフォルトの名無しさん
19/03/25 22:27:46.86 xXsGZ5++.net
>>604
ts のunion は interface 無しでダックタイピング効くから、参照する時必ず型チェックが必要なわけじゃない
型自体の定義も type alias しておけば一箇所で済むし
静的型付け言語でany使うよりは、遥かに手間はかからないよ
624:デフォルトの名無しさん
19/03/25 22:37:18.45 g4/jn9Nj.net
>>613
だったら余計にinterface付けろよと思うわ
625:デフォルトの名無しさん
19/03/25 22:38:35.21 9YEdKAJP.net
Go、Swift、Kotlinの3つは、文法ぐらい一緒にしてくれたら良かったのにな
626:デフォルトの名無しさん
19/03/25 22:53:56.04 wbp6GG9F.net
なんかこだわりがあったんだろう
627:デフォルトの名無しさん
19/03/25 22:55:21.22 9YEdKAJP.net
配列にしてもさあ、カッコの形とかにこだわりなんてあるんか?
628:デフォルトの名無しさん
19/03/25 22:55:47.18 itUJX6EY.net
どんな言語使おうが、糞バカ中世ジャップランドSIと、土人ベトコンオフショアが合体すれば
全部ゴミにできるんだけどなw
629:デフォルトの名無しさん
19/03/25 23:19:26.53 4CvSxgZ7.net
Kotlinはぱっと見Scalaかと思うくらい似てるよなー
630:デフォルトの名無しさん
19/03/26 09:15:45.15 awRDKjDw.net
えっ?(笑)
631:デフォルトの名無しさん
19/03/26 10:31:07.40 F8U/TA3Z.net
2019/03/06 15:42:58
2019年の愛され言語第1位、嫌われ言語第1位は?
URLリンク(news.mynavi.jp)
「愛されプログラミング言語」
Python (51%)
Javascript (49%)
Java (37%)
HTML (34%)
C++ (23%)
嫌われプログラミング言語は以下
PHP (19%)
Objective-C (12%)
Java (11%)
対象となったプログラミング言語を愛している理由としては、その言語を学習するためのリソースや開発するためのリソースが充実していることが挙げられている。
逆に嫌っている理由としては、対象のプログラミング言語を使ったコーディングが楽しくないからという理由が多く挙げられている。
632:デフォルトの名無しさん
19/03/26 11:13:59.02 pnvMlsp3.net
忘れ去られた言語
ruupy
633:デフォルトの名無しさん
19/03/26 14:00:36.03 PDyA3k9g.net
>>622
俺は忘れてない。なぜならその名前を見たのは今が初めてだからだ。
634:デフォルトの名無しさん
19/03/26 14:20:02.74 pnvMlsp3.net
ごめんごめんpoopyだっけ?w
635:デフォルトの名無しさん
19/03/26 16:57:14.07 PDyA3k9g.net
>>624
それについても俺は忘れてない。なぜなら以下同文
636:デフォルトの名無しさん
19/03/26 17:32:40.93 pnvMlsp3.net
rubooだったか?
637:デフォルトの名無しさん
19/03/26 19:16:35.45 PDyA3k9g.net
以下同文
638:デフォルトの名無しさん
19/03/26 19:18:56.38 NbUyZWCM.net
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 99934
URLリンク(you-can-program.hatenablog.jp)
639:デフォルトの名無しさん
19/03/27 17:04:40.79 ioHKDgtI.net
>>603
先にジェネリクスがあったらオーバーロードは不採用だったと思う
640:デフォルトの名無しさん
19/03/27 17:15:00.98 TdLaeqVz.net
>>628
あと一回見かけたらはてブロに通報するわ
641:デフォルトの名無しさん
19/03/27 17:15:08.52 SZ6CWUW7.net
ジェネリックで必ず同じ操作になるならいいけど
そうでもないときはジェネリックではどうにもできない
642:デフォルトの名無しさん
19/03/27 17:18:22.78 SZ6CWUW7.net
オーバーロード否定派は動的型付け言語か形無し言語がメインの人なんだろうか?
643:デフォルトの名無しさん
19/03/27 18:22:56.09 L8U/qf4n.net
Cはユーザーが定義できない演算子だけオーバーロードする
ユーザーが定義してない型の情報だけコンパイル後に残る
このユーザー定義型の不当な制限をなくすというC++の理念のおかげで
オーバーロードや実行時型情報ができた
めでたしめでたし
644:デフォルトの名無しさん
19/03/27 19:26:19.13 0edTBLWO.net
ほとんどの言語が強制キャストできるのが原因で型安全でなくなっているのが
何とかならない
645:デフォルトの名無しさん
19/03/27 19:52:11.21 DpIgan7F.net
>>632
静的型付けメインにも普通に居るよ
RustやGoも関数オーバーロードを導入しなかったし
作為的な例にはなるけどむしろ型システムの阻害要因になることもある
URLリンク(ideone.com)
URLリンク(ideone.com)
646:デフォルトの名無しさん
19/03/27 19:59:52.56 DpIgan7F.net
後者の例で言うと、ライブラリの関数に気を利かせてオーバーロードを追加したところ
別のプロジェクトの既存コードがコンパイル出来なくなったとかもあり得る
647:デフォルトの名無しさん
19/03/27 20:08:46.35 kkhErUOi.net
やはりリーナスは正しかった!
c最高!
c++はうんこ!
648:デフォルトの名無しさん
19/03/27 20:12:19.93 KDFmmUkx.net
暗黙の型変換を含めた場合のオーバーロードの地獄感は半端ない。
649:デフォルトの名無しさん
19/03/27 21:04:39.85 ZMj2RB3N.net
それにテンプレートとADLが絡んでカオス
650:デフォルトの名無しさん
19/03/30 03:45:54.68 x88rhneO.net
クロスキャストはカスだから滅びろ
インターフェースの実装を鞍替えしたいんだったらFactoryとか使えや
651:デフォルトの名無しさん
19/03/30 10:52:42.58 PY6ZYblo.net
型名を隠蔽すればキャストできないので
無名クラスとラムダの世界ランクが右肩上がり
652:デフォルトの名無しさん
19/03/30 13:35:24.87 wGFGqWwF.net
本当に欲しいのは型ではなく制約
653:デフォルトの名無しさん
19/03/30 19:28:46.42 grSCIEfK.net
ガイジみたいなコード書くガイジを殺していい法律を作ることだな
皆殺しにしてやるよ
654:デフォルトの名無しさん
19/03/31 08:00:06.83 S4Tb/ZFO.net
次世代かは知らんけど、Haskell奥が深い。
プログラマーのための圏論っていうのをネットから落として読んでるが、
圏論的には変数や値そのものも関数足り得るとか、読んでて面白い(理解してるかは怪しいが)
int n = 1とint n(){ return 1 }が同じと言うのは言い得て妙だなと。
Haskellで関数にカッコ使わないのはこれを体現する為なんだなと。
n = 1 ― Haskell的には変数でもあり、引数無しの関数。
関数も値でもあるんだから
sum = foldl (+) 0は、sum xs = foldl (+) 0 xsの部分適用で変数を(見かけ上)減らした関数であると同時に、
部分適用した関数に束縛した変数でもある。。。と。
と言うことはHaskellのmain関数も、関数であり変数なんだなーと。
関数を呼んでプログラムが走り出すとも言えるし、変数を評価しようとして、結果として束縛されたプログラムが走り出すとも言える。
main = putStrLn "hello" ― main関数を呼ばれたとも言えるし、変数mainを評価して値(IO ())を得る過程でプログラムが走り出すとも言える。
655:デフォルトの名無しさん
19/03/31 10:38:58.10 UUJRkrO5.net
概念は有用だし言語の進化に多大な影響を与えたけど
道具としてのHaskellは今の位置から上がってくることは無いだろうな
656:デフォルトの名無しさん
19/03/31 10:43:21.70 KUHIQC/W.net
>>645 確かにその通り。 実用的な言語は、わかりやすくバグが出にくいことが重要。
他人のコードでも誰が見ても一目でわかるみたいな。
657:デフォルトの名無しさん
19/03/31 11:07:42.57 s7MuzANU.net
実用なら副作用認めた方が絶対的に有利なわけでそういうのはOCamlなりF#が担えばいいよ
Haskellが勉強のための言語なのはこの先もかわらない
658:デフォルトの名無しさん
19/03/31 13:08:06.82 88fzeBO9.net
xmonadとかあるし、実用的でないとは言い切れないが、いかんせん学習コストが高くてマンパワーに頼れんからな
659:デフォルトの名無しさん
19/03/31 18:14:52.08 hIxqKKME.net
Haskellの再発明のようなアイデアを思いつくやつは必ず出てくるよ
これHaskellでやったやつだって教えてあげないと再発明を止められない
高い学習コストをもう一回課金される
660:デフォルトの名無しさん
19/03/31 19:22:10.57 m+UFTh7s.net
Haskellは数学的な背景があるから一部だけパクってもうまくいかんでしょ
661:デフォルトの名無しさん
19/03/31 20:26:01.36 hIxqKKME.net
一部だけ学ぶのはダメってのは見覚えがある
Perlでやったやつだ
一部だけでいいと作者が言ってるのに全部やろうとして挫折するやつだ
662:デフォルトの名無しさん
19/03/31 20:40:52.20 1YONhXIR.net
URLリンク(speakerdeck.com)
なんでペチパーって自作FW作りたがるん?
もうしばらく関わってないけど、糞SIerいたとき糞案件が軒並み自社製PHP FW(糞)だったの思い出したわ
663:デフォルトの名無しさん
19/03/31 21:26:26.85 fpw7uUAj.net
量産型Webは技術が完全に硬直化してるから、ちょっと意識高い奴がマウント取りたくても差別化できるネタが少ないんだよ
で既存の開発プロセスのオーバーエンジニアリングに向かうわけだけど、
ペチパー
664:レベルではインフラや言語を改善したりそもそも開発作業自体を減らすって方向には行きにくい そこで手頃なのがFWというわけ
665:デフォルトの名無しさん
19/03/31 21:52:14.80 rPARd9Mh.net
もともとFWっていうのは汚いコードを寄せ集めてライブラリ化した上で
汚いコードの寄せ集めを使う処理を手順化して綺麗に見せるための仕組みだったんだけどな
666:デフォルトの名無しさん
19/03/31 21:59:57.35 hQIJpK9h.net
diコンテナは何のメリットがあるのか不明
667:デフォルトの名無しさん
19/03/31 22:31:08.06 BrkeBPe8.net
>>655
は?
668:デフォルトの名無しさん
19/03/31 22:37:11.66 hQIJpK9h.net
依存性注入はクラスが増えてカオスになる
何故かjavaではよく使われるのが謎
669:デフォルトの名無しさん
19/03/31 22:49:56.27 fbfMx+RF.net
オブジェクト指向だとクラスは大量に作るもんだぞ
670:デフォルトの名無しさん
19/03/31 22:58:47.59 vireAt4B.net
それLaravel使えば問題ない話じゃね?
671:デフォルトの名無しさん
19/03/31 22:59:24.74 vireAt4B.net
アンカ抜けてた>>652
672:デフォルトの名無しさん
19/03/31 23:08:51.93 rPARd9Mh.net
カオスだと感じる脳程度だけしか持ち得てないんだろう
察してやれよ
673:デフォルトの名無しさん
19/03/31 23:49:26.60 qnazkb5e.net
FXの自動売買ツールを無料で配布しています。
URLリンク(hbgvf.blog.jp)
674:デフォルトの名無しさん
19/04/01 00:33:10.08 dYyCWZhX.net
人類最底辺の脳みそしか持ち合わせてない永遠の土方ペチプァの話題なんか出すな
スレが穢れる
675:デフォルトの名無しさん
19/04/01 01:55:20.15 //wZRuJn.net
>>641
ついでにSAMも滅びろ
あいつ使いにくくてかなわん
676:デフォルトの名無しさん
19/04/01 02:44:37.39 PICzK0N0.net
>>647 だれが勉強すんねん
一目見た時から、恋の花が咲いた
のでは無く、こりゃダメだと思った。
677:デフォルトの名無しさん
19/04/01 02:48:36.94 PICzK0N0.net
逆に Python はなんとなく幼い頃の悪ガキ仲間と似てるなと思ってたら、立派に成長して懐の深い大人になってた。
ちょっと見の見た目で判断してはいけない。
678:デフォルトの名無しさん
19/04/01 07:12:14.06 dYyCWZhX.net
単純に機械学習ライブラリの虎の威借りてるだけだろ
言語としてはPHP並の糞だわ
venv周りも糞糞アンド糞だしな
679:デフォルトの名無しさん
19/04/01 20:13:46.91 5Qv5OJbI.net
そのへん、他の軽量級言語は何故うまくやれなかったのかな。
680:デフォルトの名無しさん
19/04/01 20:23:06.27 no59bRT+.net
情報系専門でない連中が多い分野だから、言語オナニーには興味ないんだよ
Pythonは昔から数値計算系のライブラリが充実してたし学習コストも低い
681:デフォルトの名無しさん
19/04/01 21:00:27.10 oZ4uWA1m.net
venvなぁ。
中にpython.exeがそのまんま入ってたのを見たときはコントかと思ったw
682:デフォルトの名無しさん
19/04/01 21:18:09.61 dOhRlOJ8.net
数学の関数やOSのシステムコールを
いちいちオブジェクト指向に翻訳しないといけない文化は仕様が不安定になる
不安定な自作オブジェクトを集めたものが自作FWになる
683:デフォルトの名無しさん
19/04/01 21:52:46.65 I/9Vex97.net
pyenvとかあの辺弄るくらいならdockerで閉じ込めた方がマシ。
684:デフォルトの名無しさん
19/04/02 09:42:15.53 exqjvsIl.net
>>671
翻訳しないで済むOS作れば良いのでは?
685:デフォルトの名無しさん
19/04/02 20:30:27.35 JAcM/MrS.net
WinRTがそれかな
686:デフォルトの名無しさん
19/04/03 11:55:08.65 eJ7jSanC.net
>>672
venvに比べたら、docker重いよ。
687:デフォルトの名無しさん
19/04/03 12:10:05.50 nFtQHhqP.net
>>669
その言語オナシストたちが挙ってPython推してるからお前も鼻が高いだろう
良かったな
688:デフォルトの名無しさん
19/04/03 13:11:27.32 GUjlsyjt.net
dockerがどっかー行っちゃったー
すまん。一度言ってみたかったんだ。ゆるせ。
689:デフォルトの名無しさん
19/04/03 13:47:18.98 ZdmGYXWn.net
実際には一人で気持ち良くなるのではなく
staticおじさんを責める自分に酔ってるみたいなパターンが多い
一人じゃないから正常なんて思ったら大間違い