次世代言語15 Go Rust Swift Kotlin TypeScriptat TECH
次世代言語15 Go Rust Swift Kotlin TypeScript - 暇つぶし2ch521:デフォルトの名無しさん
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おじさんを責める自分に酔ってるみたいなパターンが多い
一人じゃないから正常なんて思ったら大間違い

690:デフォルトの名無しさん
19/04/03 13:50:02.32 /cw++oNj.net
パンツじゃないから恥ずかしくないなんて思ったら大間違い

691:デフォルトの名無しさん
19/04/03 21:33:59.24 x59pa14S.net
staticおじさんてなに?

692:デフォルトの名無しさん
19/04/04 02:32:05.58 dJc2ae+t.net
>>680
高卒や専門卒のプログラマーのことだよ
そういうのにはstaticが好きが多いからそう呼ばれてる

693:デフォルトの名無しさん
19/04/04 05:09:05.51 fR1MFQa7.net
>>680
URLリンク(el.jibun.atmarkit.co.jp)

694:デフォルトの名無しさん
19/04/04 05:48:32.02 Bp6OcKFp.net
特殊用途以外でstatic変数を使うのはアホだけど
staticメソッドもまとめてstaticおじさんとか書いてる記事は
関数型にもついてけないただの周回遅れ

695:デフォルトの名無しさん
19/04/04 07:07:10.33 vFGtgSry.net
うちのおじさんはdbのクライアントをstaticにするんだよね

696:デフォルトの名無しさん
19/04/04 08:14:30.23 O0tv1R/2.net
シングルトンおじさんの呼び方のが正しい問題意識な感じがする。

697:デフォルトの名無しさん
19/04/04 08:44:10.37 t2REljhQ.net
ここのstaticおじさんの話題で関数型を持ち出してる人間たまに居る(多分同一人物)けどimmutableに一切言及してないのはなんなんだ
関数型は言語機能で束縛をimmutableにして、それでもなお必要な時にmutableを扱うのであって、staticおじさんのpublic staticなんて言語も踏まえてmutableの可能性の方が高いでしょ

698:デフォルトの名無しさん
19/04/04 09:23:20.89 NLHdu954.net
Kotlin もよろしく

699:デフォルトの名無しさん
19/04/04 09:29:42.90 vFGtgSry.net
コトリンなんてシングルトンおじさん量産言語じゃん

700:デフォルトの名無しさん
19/04/04 09:30:46.16 MhhM4cG2.net
static禁止の次の世代はimmutableではなく依存性注入だからね
class名をハードコードするだけでアウト
interfaceはセーフ
もちろんSingletonはアウト

701:デフォルトの名無しさん
19/04/04 09:33:41.65 l5IgkZnr.net
Love≒依存性

702:デフォルトの名無しさん
19/04/04 10:37:11.62 NLHdu954.net
>>688
え?そうなるか?

703:デフォルトの名無しさん
19/04/04 10:59:33.23 no/JRFUK.net
class名.static変数
class名.static関数
超便利じゃん

704:デフォルトの名無しさん
19/04/04 11:25:51.28 MhhM4cG2.net
class名がそのままファイル名になるじゃん
定義を変えてみたくなったらファイルを上書きするしかないじゃん
そういうとこだよ

705:デフォルトの名無しさん
19/04/04 11:31:19.04 Bp6OcKFp.net
>>686
この話題何度も出てるのか
staticおじさん云々に言及したのは初だわ
というか>>683はググって読んだ記事に対する感想な
staticメソッド:
 副作用無し → OK
 引数への副作用有り → 許容内
 標準出力などプロセスに1つのリソースへの副作用 → 許容内
 内部でstatic変数への副作用有り→ デバッグ等の特殊用途を除いてはゴミ
privateでないstaic変数
 → 論外のゴミ
これらをただstaticというだけで
その先にある局所性や副作用への悪影響を区分せず
ひとまとめに扱う雑な記事は、何かをdisるレベルに無いという考え

706:デフォルトの名無しさん
19/04/04 12:40:50.62 no/JRFUK.net
>>692
なんかIDEに怒られてstatic関数にできないときは
シングルトンのgetInstance作って
class名.getInstance.メンバ関数
で回避

707:デフォルトの名無しさん
19/04/04 14:01:55.30 t2REljhQ.net
>>694
私が勢いでレスしてしまったようだすまない
確かにstaticメソッドのみでみれば関数型的な副作用の切り分けとして見れるね
ただ
>>682 リンク先
> 共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。
というアレがあるので『staticおじさん』とした時に関数型を持ち出すのは不適であると勢いづいてしまった

708:デフォルトの名無しさん
19/04/04 21:07:18.41 zCERpG8r.net
staticメソッド:
 副作用無し
↑これにめちゃくちゃ違和感がある
特定の言語は宋なのかもしれないけど…

709:デフォルトの名無しさん
19/04/04 21:24:47.26 g//GkyZ8.net
同じ機能を持った別個体のオブジェクト変数を持ちたい時にフィールドをstaticにしてたら何も出来ないけどね

710:デフォルトの名無しさん
19/04/04 22:06:34.27 Bp6OcKFp.net
>>697
どういう違和感か分からないが一応補足しておくと
staticメソッドのうち、副作用無しの場合 という意味な
副作用が無いメソッドというのは
引数以外に影響されず、戻り値以外に影響を与えないもの
具体例としては java.lang.Math.max

711:デフォルトの名無しさん
19/04/04 22:39:36.52 bWgxb2Xi.net
>>699
引数以外に影響されないことは副作用のないことの必要条件ではない
参照透過とごっちゃになってるぞ

712:デフォルトの名無しさん
19/04/04 23:09:47.59 ELt56IMR.net
副作用の定義によっては
参照透過と同義になってしまうかも?

713:デフォルトの名無しさん
19/04/04 23:20:58.18 qij6PJCK.net
定義によってはって、「副作用」の意味を変えちゃうってこと?

714:デフォルトの名無しさん
19/04/04 23:34:18.16 Bp6OcKFp.net
>>700
すまんその通り
オブジェクト指向に絡む話なのもあって
関数型に寄りすぎる単語を微妙に避けようとして変なこと言った

715:デフォルトの名無しさん
19/04/05 20:17:32.71 p2nz2EB6.net
副作用とは関数使ったら値を返すだけじゃなくて他のとこに影響出てしまうやつ
わかりやすい例で言えばファイル操作(write,read)関数とか画面に文字を出す関数(print)が
副作用があるとされている

716:デフォルトの名無しさん
19/04/05 22:40:10.47 nOvsDaXU.net
先生! ユーザー入力や乱数は副作用に入りますか?

717:デフォルトの名無しさん
19/04/05 23:31:16.26 OJKC59P7.net
入ります。

718:デフォルトの名無しさん
19/04/05 23:36:46.00 OJKC59P7.net
そう言う意味じゃHaskellはHaskell信者?は副作用は無いと言い張るが、確実に有る。
私がHaskellに注目してるのは副作用があっても参照透明性が保たれている。この一点だ。

719:デフォルトの名無しさん
19/04/05 23:56:50.87 lYJMaqmI.net
ブログやニュース記事ならhaskellだろうけど
ソフトウェアを書けといわれたらocamlで書くわ

720:デフォルトの名無しさん
19/04/06 00:31:00.91 fOYiDoB+.net
副作用があるのかないのかを型で宣言すればいいんだよ
副作用は無いと言い張るより、型は嘘をつかないと言い張る方が面白くなる

721:デフォルトの名無しさん
19/04/06 00:31:05.44 tSYMD8Eq.net
>>707
Haskellの世界ではないんだよ
まあトリックではあるんだが
でもそこを理解しないとmonadの意義もわからない

722:デフォルトの名無しさん
19/04/06 01:24:43.24 fOYiDoB+.net
モナドは外見上は引数がないけど値を返す
逆に引数はあるけど値を返さないとか、引数もない値も返さないとかの方が
副作用に関してはわかりやすいのだけどモナドの意義は副作用だけではないので

723:デフォルトの名無しさん
19/04/06 01:40:05.33 /WRt9p3o.net
モナドとかクソしょうもない型合わせごっこの遊び道具でしかない。

724:デフォルトの名無しさん
19/04/06 01:43:50.36 yyDZS6P1.net
関数型コミュニティのモナドをディスっちゃいけない空気嫌い
技巧に溺れて本来の関数型のメリットである見通しの良さや宣言性を完全に見失ってる

725:デフォルトの名無しさん
19/04/06 01:44:02.26 eNhmVT4m.net
トレートとインターフェースの違いは何なんだ?rust難しすぎ

726:デフォルトの名無しさん
19/04/06 02:56:29


727:.83 ID:Rn9Ldrv+.net



728:デフォルトの名無しさん
19/04/06 08:23:20.81 LfoN0yho.net
>>710
そのトリックに拘って純粋関数型言語と言う言葉に拘ってたら、
そこから話が進まなくなる場面を何度も見てきたから。
純粋じゃない言語から見れば「それもう副作用じゃん」「ただの方便じゃん」と。
だから私はHaskell使って何が嬉しいか聞かれたら、
参照透明性を保つことを徹底する所と答える。

729:デフォルトの名無しさん
19/04/06 08:33:11.58 /WRt9p3o.net
rustはc++に比べると一見学習コストは低いようにも見えるが
色々な機能の意義を理解するには結局c++やることになるという意味でc++以上に学習コストがかかる。

730:デフォルトの名無しさん
19/04/06 08:37:35.86 LfoN0yho.net
>>711

モナドは常に引数あるよ。
doでしか使った事ないのかな。。。
main = do
print (1 + 1)
print (2 + 2)

main = print (1 + 1) >> print (2 + 2)
のdo表記だし、(>>)は
main = print (1 + 1) >>= \_ -> print (2 + 2)
の(>>= \_ ->)部分の略記。(print (1 + 1)の戻り値IO()からIOを外した()がラムダ式の引数に入るが使わない)

731:デフォルトの名無しさん
19/04/06 08:37:59.39 LXikOU7p.net
>>712 >>713
でもSwift, Java, JavaScriptとかの関数型がメインじゃない言語にも
実質モナド操作であるflatMapが入ったじゃん

732:デフォルトの名無しさん
19/04/06 08:43:32.56 LfoN0yho.net
>>713
そうなん?
Haskell信者は兎も角、OCamlとかLisp系とか他の言語の人もそんな空気なん?
まあモナドをディスる理由も無い気はするが。
見通しの良さや宣言性も見失ってると思わないので、参考までに聞きたい。

733:デフォルトの名無しさん
19/04/06 08:48:46.26 /WRt9p3o.net
そんなクソみたいなものでIOの実行を表現するくらいなら実行タスクのチェーンを作ってますって
意味をもっと明示的に取り扱った方がマシだわ。

734:デフォルトの名無しさん
19/04/06 08:56:14.69 fOYiDoB+.net
>>718
printはモナドを返す関数だ
printの引数は関数の引数であってモナドの引数ではない
だからprintに引数を渡しただけでは副作用が発生しない

735:デフォルトの名無しさん
19/04/06 09:10:31.05 LfoN0yho.net
>>722
モナドと言ったら>>=とかの演算子の方だと思ったんだが、IOな関数(アクション)の方なの?
それなら、getLineみたいなアクションは圏論的にはある種の変数扱い。
n = 1 ― 圏論では変数であり、引数無しの関数
値も、Haskellでは出来ないが強いて書いてみると
1 = 1 ― 1という名前の変数(値は1)、もしくは1という名前の1を返す引数無しの関数
そう考えると
getLine ― 外部からの入力(IOな値)が入った変数、もしくは(ry

>>712 の言う通り、型がIOなだけで、何も特別な関数というわけじゃ無い。
少なくともHaskellから見た扱いは純粋な関数と変わらない。
(それにも関わらず、main表層にアクションが自然と集まるというだけ)

736:デフォルトの名無しさん
19/04/06 09:13:29.66 LXikOU7p.net
以下は個別に分けられる話
(1) 純粋関数型ではそれ自体の制限からIOにモナドなどを必要とする
(2) Haskellでは実行タスクのセマンティクスを明示しやすくするためdo構文がある
(3) モナドの有用性はIOの表現用に限らない (他言語にも関連する)
>>721
それは(2)を考慮してもなお(1)に納得してないということ?
より良い方法があるんだろうか?
それ以前の、純粋関数型は要らないということかもしれないけど

737:デフォルトの名無しさん
19/04/06 09:17:48.36 LXikOU7p.net
>>723
その文脈のモナドは、それらを持つ型あるいは値では

738:デフォルトの名無しさん
19/04/06 09:55:46.82 umTWflC6.net
これだから関数型の連中はいやなんだよ

739:デフォルトの名無しさん
19/04/06 10:04:05.89 fOYiDoB+.net
Rust「静的型はいいぞ」
Haskell「静的型はいいぞ」
迷探偵「これだから関数型は」

740:デフォルトの名無しさん
19/04/06 12:47:15.25 TkGMaDeW.net
Innullableな世界で仕事がしたい

741:デフォルトの名無しさん
19/04/06 13:11:50.28 hBfZV6UD.net
学習がしたい

742:デフォルトの名無しさん
19/04/06 13:33:25.41 fOYiDoB+.net
学習の難易度と速度を上げると壊れる
やばい全然勉強してないと感じる程度に勉強すれば壊れない
そういうやつほど無駄に成績が良い

743:デフォルトの名無しさん
19/04/06 14:03:55.76 hBfZV6UD.net
あのさ、この世界で学習と言えばAIだろ。 機械学習だよ。

744:デフォルトの名無しさん
19/04/06 14:35:38.07 eNhmVT4m.net
なぜ深層学習は深いんだい?

745:デフォルトの名無しさん
19/04/06 15:22:47.45 0N4TKw3/.net
>>716
そのとおりだよ
参照透過性だとどっから評価しても結果同じなわけで数学的に扱いやすいわけさ
だからそこにこだわるのがHaskell
プログラミングにも理論的なアプローチは重要だよ
ちなみにおれは普段c++使ってるから
実用性重視してる方だけどな

746:デフォルトの名無しさん
19/04/06 16:48:06.36 fOYiDoB+.net
関数型の世界でAIといえば記号処理でその成果が型推論

747:デフォルトの名無しさん
19/04/06 17:53:47.62 7tGee9uO.net
>>734 なんか全く的を外していないかい?

748:デフォルトの名無しさん
19/04/06 19:17:55.07 8WC9KsB7.net
社畜の世界でAIといえばアクションアイテムでその成果はない

749:デフォルトの名無しさん
19/04/06 22:51:30.58 5uCwXBh8.net
>>732
昔はせいぜい2・3層だったからとか?

750:デフォルトの名無しさん
19/04/06 23:03:26.36 qQhidKgX.net
さんまの世界ではAIと言えばエッチの後

751:デフォルトの名無しさん
19/04/07 06:55:03.83 DafnpbK7.net
圏論だ参照透明性だと出て来て難しそうに見えるけど、Haskellの裏でそう言う論理に基づいて処理系が動いてるってだけで、
プログラマーは意識する必要はない。
(必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ)
もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。
型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。
変な言語だけど、そう言う言語というだけの意識で良い。

752:デフォルトの名無しさん
19/04/07 07:15:45.34 c9qO7NyZ.net
いやさすがにHaskelをその評価戦略を理解せずに使いこなすのは不可能だ
Haskelが初心者を阻んでいる最大の壁はそれ

753:デフォルトの名無しさん
19/04/07 08:18:35.92 OFkYw0l7.net
だよな
それで使えたら誰も苦労せんだろ
理論知らずにあの型エラーどうやって直すんだ?
つーかHaskell使えない人がそういう知ったようなこと言うのがそそもそもおかしい
そりゃ話が噛み合わないさ

754:デフォルトの名無しさん
19/04/07 08:20:55.34 ObuUWG1X.net
評価戦略と型エラーは関係ないぞバーカ

755:デフォルトの名無しさん
19/04/07 08:34:15.00 /9bq+rwa.net
せやな、デフォルトの遅延評価だと空いてる時間に先読みさせておくとか出来ない。
Deepseqみたいなのを使ってワザと何か変数を明示的に評価したりBangパターン使ったりと少し工夫が要る、、よね?
こと速度云々やり始めるとFusion的なのは強みだけど、評価戦略の理解も必須。

756:デフォルトの名無しさん
19/04/07 09:19:17.34 GYBhj6UR.net
haskellプログラマがすごいと思えるところはその辺の最適化についてしっかり理解してるところだろうな。
決してモナドでド


757:ヤるところではない。



758:デフォルトの名無しさん
19/04/07 09:35:57.59 uhpyC8M8.net
初心者はPython以外意識する必要はないぞ
近い将来Pythonに代わる言語が出てくるのを知らなきゃダメみたいな煩悩を捨てろ
それと煩悩は信者の陰謀で作られたのではなく人間なら誰でも持っているものだ

759:デフォルトの名無しさん
19/04/07 09:41:31.61 I8qUkc8+.net
>>744
評価順を意識することなく気持ち良く数学オナニーするための遅延評価のはずが、
結局みんな評価戦略のハックを競ってるの草

760:デフォルトの名無しさん
19/04/07 09:57:40.07 uhpyC8M8.net
重要なのは起動時に変数を初期化する順序
C++ならグローバル変数のコンストラクタを呼ぶ順序
Javaならとりあえずnullで初期化して後で代入することになる
この問題をHaskellは遅延評価で解決する

761:デフォルトの名無しさん
19/04/07 10:12:31.86 KWJ+xksL.net
>>747 Pythonだって遅延評価を取り入れてるぞ。
range 関数やジェネレータでは遅延評価する。

762:デフォルトの名無しさん
19/04/07 10:35:27.16 PWWywgBM.net
「遅延評価 *も* できる」と「ぜんぶ遅延評価でやる」の違いの大きさ(良くも悪くも、だが)
が理解できてないPython使い

763:デフォルトの名無しさん
19/04/07 11:08:03.83 uhpyC8M8.net
ジェネレータは疑似マルチタスクを意識する
遅延評価は無意識というか自動運転のようなものを目指して猛反対されている感じ

764:デフォルトの名無しさん
19/04/07 11:10:17.55 BQvGqFhC.net
haskell使うのが適してるのってなんなの?大きなプロダクト?小さなプロダクト?高速動作が求められるプロダクト?生産性が求められるプロジェクト?

765:デフォルトの名無しさん
19/04/07 11:11:16.13 BQvGqFhC.net
煽りっぽい書き込みになってしまってすまん。
よく名前聞くのでGWに勉強してみようか悩み中なんだ。

766:デフォルトの名無しさん
19/04/07 11:24:49.64 uhpyC8M8.net
人工知能プロダクトではなく人工知能ブームのようなものを作るのに適している

767:デフォルトの名無しさん
19/04/07 11:42:16.35 b5J7R/uS.net
>>752
Haskellは時間と気持ちに余裕があるときにやっておいて損はない
LISP(Common Lispの特にCLOSとScheme)、Prolog、APL、Io あたりも同じ

768:デフォルトの名無しさん
19/04/07 11:51:03.48 libAZ4Hy.net
広く普及してる言語で必死に仕事してる人達に対して、俺はhaskell理解してるってドヤ顔するのに適してる

769:デフォルトの名無しさん
19/04/07 12:04:12.17 h90p5IeD.net
>>755
そしてドヤったところで、で?と返されるだけだったりする

770:デフォルトの名無しさん
19/04/07 12:37:30.68 /9bq+rwa.net
このスレ、Haskellにコンプレックスのある人が多いのな。スレタイからいつの間にか締め出されててワロタ。

771:デフォルトの名無しさん
19/04/07 12:57:29.07 FeHvfrjY.net
Haskellって次世代言語か?

772:デフォルトの名無しさん
19/04/07 13:28:39.65 uhpyC8M8.net
互換性を残して何年も再チャレンジするやつは減点するスタイルだな
互換性を捨てるインセンティブ
それでも互換性を捨てないC/C++が勝ち続ける仕組み

773:デフォルトの名無しさん
19/04/07 13:34:43.01 /9bq+rwa.net
>>758
ああ、そういうことか。知ってる人からすると古いのね。なる。

774:デフォルトの名無しさん
19/04/07 13:50:53.75 HWuq8CQ1.net
Python3は、現状では互換性捨てて
成功だったんじゃないかな。

775:デフォルトの名無しさん
19/04/07 14:36:36.46 pahFUo3A.net
>>749 良いところだけ取り入れた Python が利口。
>>750 ソースを教えて。
>>759 C系は現代のアセンブラだからな、必要だが積極的に使おうとは思えない言語。
Haskell みたいに読みにくい言語は支持されない。 LISP でやれる事は殆どPythonで出来る。だからLISP は消えた。

776:デフォルトの名無しさん
19/04/07 14:51:40.26


777:YrS1j1OB.net



778:デフォルトの名無しさん
19/04/07 15:13:13.54 /57iNm6y.net
>>762
>Haskell みたいに読みにくい言語
え!?

779:デフォルトの名無しさん
19/04/07 15:39:31.20 OFkYw0l7.net
Haskellが気になってしょうがないのはわかる
知能試されてるからな

780:デフォルトの名無しさん
19/04/07 15:47:13.09 pahFUo3A.net
ところで Haskell って誰がどんな場面で使ってるの?

781:デフォルトの名無しさん
19/04/07 16:22:12.12 Y0LlEYhJ.net
どうせお前には扱えないんだから気にすんな
死ぬまでPythonやってれば幸せだろ

782:デフォルトの名無しさん
19/04/07 16:36:29.82 /9bq+rwa.net
Pythonは我が世の春ですな。

783:デフォルトの名無しさん
19/04/07 16:56:12.85 pahFUo3A.net
>>767 自分はどんなものに使ってるんだよ。 ほぼ30年も経って実用的なアプリケーションはあまりお目にかからないだろ。

784:デフォルトの名無しさん
19/04/07 17:08:23.58 pahFUo3A.net
>>767 どこも珍しがってちょろっとだけ触ってみるがみんな逃げだしてるじゃないか。
生産性が悪い証拠だろ。
資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか
URLリンク(qiita.com)
悲鳴が聞こえる。

785:デフォルトの名無しさん
19/04/07 17:33:42.20 OFkYw0l7.net
だから気にすんなよ

786:デフォルトの名無しさん
19/04/07 17:58:08.83 pahFUo3A.net
>>771 じゃ宣伝すんなよ。目障り

787:デフォルトの名無しさん
19/04/07 18:02:29.32 OFkYw0l7.net
宣伝だそうで

788:デフォルトの名無しさん
19/04/07 18:16:51.87 uhpyC8M8.net
perl python2 python3全部インストールしても全く問題ないのが勝因ではないか

789:デフォルトの名無しさん
19/04/07 18:23:13.37 /9bq+rwa.net
流行りの機械学習のデータ整形とかHaskellは相性良さそうな気がするけどな

790:デフォルトの名無しさん
19/04/07 18:25:44.16 dh/+Mumy.net
>>770
>生産性が悪い証拠
生産性が悪いかもしれないし道具を使いこなす力が足りない人や組織が
手を出したという仮説も成り立つだろうし…。他にも転職が多いIT業界
で更に Haskeller の絶対数が少ないとか軍事・金融関係といった秘匿が
重要な産業分野での応用が多いとかいろいろ候補理由が挙げられそう。
「資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか」
で言及されている ”Beating the Averages” の一節にこんな表現がある。
> ベンチャー企業はライバルになるべく情報を漏らさないもの
言い得て妙。

791:デフォルトの名無しさん
19/04/07 18:45:56.29 DgqF8SFg.net
そういうのだいたいろくなもんじゃない
メンテできるのがその会社しかなくなって客が依存せざるを得なくなるとか
どっかの資本家のサポート得られやすいとか
かっこいいから国が金払ってくれやすいとか
そういうの

792:デフォルトの名無しさん
19/04/07 18:51:43.78 /9bq+rwa.net
他社に追従させず依存させるのが金儲けでないのん?

793:デフォルトの名無しさん
19/04/07 19:03:25.42 HWuq8CQ1.net
>>766
FBやCSV、Excelの簡単なデータ加工用の
1000行いかないくらいのコマンドラインツールを
PythonとHaskellで作って使ってるよ。
ExcelはPythonの方が楽なんでPython使って、
あとは、使い捨てかとか、人に使ってもらうかで、
使い分けてる感じ。

794:デフォルトの名無しさん
19/04/07 19:04:22.67 PFYq1oCr.net
結局ハスケルの良さがさっぱりわからん。
むしろそれを知るために勉強したくなってきた。仕事に生かされる可能性は限りなく低いんだろうけど。

795:デフォルトの名無しさん
19/04/07 19:05:41.01 kcIqkU8W.net
>>779
特定のプロダクトに対しては生産性が良いってことか。

796:デフォルトの名無しさん
19/04/07 19:35:40.60 pahFUo3A.net
>>778 今時そんなの古いよ。 オープンソースの時代だぞ。
オープンにして人からも助けてもらう事でスピードを加速できる。
秘匿なんてしてたら時代から取り残されるだけ。

797:デフォルトの名無しさん
19/04/07 20:15:25.82 T2rqGc5k.net
>>688
staticおじさんは世界の全てがstaticに見えるってマジやったんやね
こわこわ

798:デフォルトの名無しさん
19/04/07 20:28:27.13 YrS1j1OB.net
>>781
特定のプロダクトというよりもネイティブなライブラリをキックさせるにはPythonが楽ってだけだろ
VBAから置き換わるには本当に都合が良い

799:デフォルトの名無しさん
19/04/07 20:46:47.54 pahFUo3A.net
>>779 なんか無理やり使ってそう。

800:デフォルトの名無しさん
19/04/07 20:49:47.56 OFkYw0l7.net
このHaskellコンプレックスの人、目障りなんだけど

801:デフォルトの名無しさん
19/04/07 21:19:26.83 uhpyC8M8.net
一昔前ならC++やHaskellの複雑さが悪魔のように思えたが
悪魔とかいう言葉はもっとひどい事案が発生した時のためにとっておくべき

802:デフォルトの名無しさん
19/04/07 21:49:15.77 BPc+yUsN.net
>>714
俺もよくわからない。
トレートはクラスみたいな階層は無くフラット。

803:デフォルトの名無しさん
19/04/07 22:02:09.29 pXFOXfTh.net
>>784
ハスケルも?

804:デフォルトの名無しさん
19/04/07 22:07:08.08 B64Ry8yd.net
身近な例で申し訳ないけど
学歴コンプで地頭の悪い子がHaskellに活路を見出そうとして必死なのを見たな
本人は数学どころか算数レベルなんだけどプライドの高い子だから…
しかもそいつ職業プログラマなんかではなくそもそも無職

805:デフォルトの名無しさん
19/04/07 22:08:50.18 B64Ry8yd.net
高卒なのをすっごい気にしてる奴だった
こっちは何も言わないのに
何かにつけて自分から「高卒だから」と言い出す奴だった

806:デフォルトの名無しさん
19/04/07 22:16:25.84 HWuq8CQ1.net
>>785
Haskellの事を言ってるんだと思うけれど、
Windows環境で不特定の人に使ってもらうのに、
実行時に依存するものが少なけれは、
何でも良かったんだよ。
ただ私がたまたま使えたのがHaskellだっただけ。
覚えるところから始めて良ければ、
GoとかRustでも良かったと思うよ。

807:デフォルトの名無しさん
19/04/07 23:46:49.01 aSharIG8.net
無職バカ高卒と接する機会なんてあるのか

808:デフォルトの名無しさん
19/04/07 23:49:38.82 GorT58mz.net
もしかしてご子息なのでは………

809:デフォルトの名無しさん
19/04/08 00:44:23.52 Wi2RN7kc.net
>>777
>ろくなもんじゃない
マーケティング戦略としては評価されるんだけどなぁ

810:デフォルトの名無しさん
19/04/08 02:13:40.78 qKyyMXIN.net
ろくでもない金の流れを止めたいか
もしかしてそのためにオープンソース時代になったんじゃないか

811:デフォルトの名無しさん
19/04/08 06:29:47.15 YCk8Lq16.net
Android、iOS、WebAPIで共通化したい重めのロジックがある場合、新しめの言語だと何で書くのが一般的なの?
今の所試しにC#で書いていてすごく良いんだけど・・・・これだとAndroidやiOSでは怪しい方法を使わないとKotlin、Swiftから呼び出せないんだよね・・・・

812:デフォルトの名無しさん
19/04/08 08:41:08.45 WsbL+h0n.net
>>797
rust

813:デフォルトの名無しさん
19/04/08 08:55:33.29 nrWiuqwb.net
オープンソース時代ってのがよく分からんのだが。
全部公開する訳ないじゃん。

814:デフォルトの名無しさん
19/04/08 09:32:47.25 qKyyMXIN.net
スカウターみたいだな
戦闘力を公開してランキングの上位にいるのが実は弱い奴で
測定された値が低い奴が実は強いみたいな

815:デフォルトの名無しさん
19/04/08 12:37:40.56 kCGXJ0ps.net
戦闘力Goか
ゴミめ

816:デフォルトの名無しさん
19/04/08 12:40:26.18 slzfC4/w.net
プログラミング言Go

817:デフォルトの名無しさん
19/04/08 13:10:40.91 8bidG0zI.net
>>799
オープンソースなプログラムが増えたのは間違いないけど、今までオープンじゃなかったものがオープンになった例ってあまりないよね。
その辺の電化�


818:サ品のプログラムが公開されてるか?ゲームソフトのプログラムが公開されてるか?ってレベルの話だけど。



819:デフォルトの名無しさん
19/04/08 14:02:16.86 jWyFKSPm.net
>>797
マジレスするとKotlin/Native

820:デフォルトの名無しさん
19/04/08 15:52:55.23 AZyGZurv.net
>>803
Microsoftはどんどんオープンソース化してるよ

821:デフォルトの名無しさん
19/04/08 16:39:18.73 RrYITEie.net
>>804
Kotlin/Nativeは性能が残念らしいよ
Kotlin/JVMどころかKotlin/JSにも勝てないらしい

822:デフォルトの名無しさん
19/04/08 18:01:15.24 xawk68Fs.net
jsってたかがスクリプトだろ?それに負けるネイティブとは一体…

823:デフォルトの名無しさん
19/04/08 18:18:35.86 g4TwmnyX.net
>>805
世はオープンソース時代ってことか

824:デフォルトの名無しさん
19/04/08 18:53:20.89 b4oWaaYl.net
>>803
普通に家電のソースは結構公表されてるよ
LinuxつかったらGPLのせいで公表義務がある

825:デフォルトの名無しさん
19/04/08 19:05:40.94 dk5yj0CN.net
なんか議論が上手く進んでない気がするな。
おそらくマイクロソフトのオープンソース化も家電のソースコードが公開されてるのもオープンソース時代とはあまり関係なさそう。
オープンソースで儲かるビジネスロジックの説明があれば、どの分野でオープンソースが増えそうとか、どの分野は変わらなさそうとかわかるだろ。
俺が説明してやりたいところだけど、恥ずかしながらあまり詳しくないのだ。。。

826:デフォルトの名無しさん
19/04/08 19:16:21.05 oVXy8kkj.net
>>803 Apple だって Swift をオープンソースにしてるし。
オープンじゃなければ明日は無い。
弱小個人でもオープンにしてると結構助かる事はあるよ。
でもやはりある程度の大きさが無いと影響力は少ないけど。
逆に言うと大手が始めたオープン環境でも個人が参加できるし、アピールできる環境ができてる。

827:デフォルトの名無しさん
19/04/08 19:21:04.54 j9hUx87z.net
GAFAとか見てもオープンとクローズをうまく使い分けてるだろ。
なんでもオープンのがいいとか言うのは流石に思考停止過ぎる。

828:デフォルトの名無しさん
19/04/08 19:23:12.16 oVXy8kkj.net
>>812 ローカルなものはオープンにしてもメリットがないだけの話では?
Apple が Objective-C をオープンにしていないように。
他で利用できなければ意味ないもん。

829:デフォルトの名無しさん
19/04/08 19:25:38.55 dk5yj0CN.net
>>811
あなたはプラットフォームビジネスに限った話をしてるの?

830:デフォルトの名無しさん
19/04/08 19:31:57.48 j9hUx87z.net
>>813
とりあえずこれくらいは読んでから意見は言ってくれ。
URLリンク(local.joelonsoftware.com)

831:デフォルトの名無しさん
19/04/08 19:58:19.89 SOlrlBnQ.net
>Sunに抜き打ちテストをしよう:音楽が止んだとき、どこに座るつもり?
この記事の7年後、Sunの椅子は無かったな

832:デフォルトの名無しさん
19/04/08 19:59:36.26 xawk68Fs.net
Handsontableっていうスター数1万超えのそこそこ有名なOSSライブラリが商用完全有料化
Handsontable drops open source for a non-commercial license
URLリンク(github.com)
コミュニティエディションとProのフリーミアムモデルを取っていたようだが、> Unfortunately, our observation is that the ratio of commercial to free users is about 1 to 25.
一人のProユーザーからの収益に25人がタダ乗りの構図w
以下はハッカーニュースのスレ


833: https://news.ycombinator.com/item?id=19488642 優れたプログラマの仕事がタダで搾取されるの見てるのは忍びなかったので歓迎という声も。 最近は、「OSSは儲からない」と当たり前のいう認識が中小規模から広がってる感じ。 大企業は別よ?



834:デフォルトの名無しさん
19/04/08 20:28:15.27 b4oWaaYl.net
必ずしもオープンソース=無料ではないわ

835:デフォルトの名無しさん
19/04/08 20:29:07.26 r03ED/xX.net
>>816
MSに裁判費用でつぶされたようなもんじゃねーか
記事も何がいいたいんかよくわからん

836:デフォルトの名無しさん
19/04/08 20:31:08.80 LsIm9Vz3.net
>>815
記事はオープンソース戦略というものをわかりやすく説明してくれてるんじゃないのか?

837:デフォルトの名無しさん
19/04/08 20:55:00.33 qKyyMXIN.net
オープンソースの世界でコストといえば学習コスト

838:デフォルトの名無しさん
19/04/08 20:57:53.89 j9hUx87z.net
文章を読めない奴が増えてるというのはどうやら本当のようだ。

839:デフォルトの名無しさん
19/04/08 21:30:20.12 qKyyMXIN.net
読むのもコスト
読者の時間をタダでもらっている

840:デフォルトの名無しさん
19/04/08 21:46:12.04 HkfhEMJ9.net
>>823
なんかカッコいい雰囲気だしてるけど何が言いたいの?

841:デフォルトの名無しさん
19/04/08 21:59:11.28 qKyyMXIN.net
数値化されないものが多すぎて数値が役に立ってない気がする
儲からないものは役に立たない
その根拠になっている儲けという値をどう解釈すればいいのかよくわからない

842:デフォルトの名無しさん
19/04/09 05:14:29.32 tj6v63GM.net
>>823
このくらいの長さの文章でコストとかさ。。
本当にヤバイレベルで読めないんだな。

843:デフォルトの名無しさん
19/04/09 05:56:51.75 vvoqC9qD.net
むしろ>>825の書き込みは短いのによくわからんから読むコストが高い。

844:デフォルトの名無しさん
19/04/09 08:13:28.59 uGaRLF8u.net
Swiftはa better objective-cやし、アポー的にはOSSにして開発者を取り込みたいだけやで

845:デフォルトの名無しさん
19/04/09 09:19:48.56 Xb/cLdUa.net
>>828 当たり前やん。 オープンソースの力だし。

846:デフォルトの名無しさん
19/04/09 22:36:34.95 SAQnN0sI.net
>>806
7倍遅いんだっけ?
JSとかJVMとかはベースのV8とかHotSpotが頑張ってくれるからいいけど共有ライブラリなんてOS依存だもんな

847:デフォルトの名無しさん
19/04/10 12:07:17.40 LAqpHSrR.net
>> 829
まだ最適化まで手が回ってないだけやろ?

848:デフォルトの名無しさん
19/04/11 01:28:30.00 Ukf06xgg.net
まんこ

849:デフォルトの名無しさん
19/04/12 17:36:32.72 JLr321nx.net
ちゃんとおまんこって言え

850:デフォルトの名無しさん
19/04/12 19:19:06.92 fkgKT7Pc.net
うんこ

851:デフォルトの名無しさん
19/04/12 20:21:12.10 4akxaAE1.net
宣言型でも関数型でも論理型でもない、かつそこそこ実用的な言語ってない?

852:デフォルトの名無しさん
19/04/12 20:21:47.38 4akxaAE1.net
すまん宣言型じゃなかった手続き型だ

853:デフォルトの名無しさん
19/04/12 20:22:37.08 MQr+4k7P.net
英語かな

854:デフォルトの名無しさん
19/04/12 20:30:37.62 4akxaAE1.net
ボケるなら何型かまで書いてほしい

855:デフォルトの名無しさん
19/04/12 20:31:53.06 EBXnKzt9.net
>>835-836
SQL、HTML

856:デフォルトの名無しさん
19/04/12 20:45:01.76 dh+zdZXo.net
py

857:デフォルトの名無しさん
19/04/12 20:50:21.05 3bjvrHoK.net
新潟
山形

858:デフォルトの名無しさん
19/04/12 21:04:24.33 1KEWhHXZ.net
HTML+CSSだろ。実用度ブッチギリ。

859:デフォルトの名無しさん
19/04/12 21:13:49.31 4akxaAE1.net
参考になるか笑えるかのどっちかでお願いします

860:デフォルトの名無しさん
19/04/13 02:31:26.07 fds+UVff.net
ふとんに寝転んだ!へぇ!

861:デフォルトの名無しさん
19/04/13 10:05:18.65 rx5m27Fn.net
ボクはパイパンマスター

862:デフォルトの名無しさん
19/04/13 14:47:38.19 qC7LW8Gr.net
>>842 それより日本語だろ。

863:デフォルトの名無しさん
19/04/13 14:52:20.81 hvrKDDfY.net
>>846
日本語話してるやつに日本語勉強するように勧めるやつがいるか?
言語よりも論理が大事な証明だな。

864:デフォルトの名無しさん
19/04/13 15:26:19.06 qC7LW8Gr.net
>>847 >>842 がそう言ってるだろ。

865:デフォルトの名無しさん
19/04/13 15:29:42.33 qC7LW8Gr.net
>>842 は、テキスト記述言語であり、論理言語ではない。
HTML(エイチティーエムエル、HyperText Markup Language)
あまりにも浅はか。

866:デフォルトの名無しさん
19/04/13 15:45:06.60 hvrKDDfY.net
>>848
>>842が日本語すすめてるのか????

867:デフォルトの名無しさん
19/04/13 16:14:38.05 qC7LW8Gr.net
>>850 日本語がわからない人間と話す気は無い。

868:デフォルトの名無しさん
19/04/13 16:23:27.34 J0f2aNVE.net
アスペ vs アスペやめろw

869:デフォルトの名無しさん
19/04/13 16:31:59.53 fLdXayeH.net
おせっかいだけどまとめてみたわ
>>835が実用的な言語について質問

>>842がHTML+CSSと答える

>>846が日本語の方が実用的と答える

>>847が日本語話せるやつに日本語を勧めてどうすると、>>846につっこむ

>>848が、>>842がそう言ってると答える
わからんw

870:デフォルトの名無しさん
19/04/13 17:31:10.36 3BkbLGk2.net
くだらんやつらが沸いてるな。

871:デフォルトの名無しさん
19/04/13 18:12:54.03 RrmGI4Te.net
言語より論理って部分じゃね
まあ何にしても次世代言語関係ないが

872:デフォルトの名無しさん
19/04/13 18:14:07.13 XltOuzVd.net
日本語なんて旧世代言語の最たるものだしな。

873:デフォルトの名無しさん
19/04/13 18:15:48.00 oqNH9LQH.net
読む限りではID:qC7LW8Grがやばい

874:デフォルトの名無しさん
19/04/13 18:16:51.61 oqNH9LQH.net
発端の>>835が言う 手続き型 関数型 論理型 どれにも該当しない言語って
自然言語かDSL(データ記述言語含む)しか無いだろうから
さらにプログラミング言語に絞るなら「無い」にしかならないと思う

875:
19/04/13 18:39:37.96 uLCkzvwc.net
>>858
>>835
prolog はいかがですか?

876:デフォルトの名無しさん
19/04/13 18:45:41.20 oqNH9LQH.net
>>859
論理型の代表格では?

877:デフォルトの名無しさん
19/04/13 18:58:31.17 XltOuzVd.net
かつ宣言型だね

878:デフォルトの名無しさん
19/04/13 19:01:00.43 w+uNofJT.net
最近使った中だとNode.jsが結構色んな分野で万能だと思った

879:デフォルトの名無しさん
19/04/13 19:16:59.68 P2L1aOcn.net
>>858
ないと言える根拠は?
知らないならわかるけど

880:デフォルトの名無しさん
19/04/13 19:37:09.14 P1cuURkO.net
俺の作った言語hogehogeが逆手続型だからなあ
(※ただし未発表)

881:デフォルトの名無しさん
19/04/13 19:39:22.53 P1cuURkO.net
悪魔の証明を知らない馬鹿

882:デフォルトの名無しさん
19/04/13 19:47:56.87 nXQ9b0jN.net
証明が難しくとも、言い張ってたなら証明しないことにはな・・・・
いわゆる松永問答になっちまう

883:デフォルトの名無しさん
19/04/13 19:49:50.74 J/cBqpWV.net
>>862
Node.jsはAPI設計のセンスが優れてる
移植性と(インターフェイスの)安定性を重視した最小限の低レベルなAPIなのに、
生でもまあまあ使いやすいし、通常のWeb開発ならそこから逸脱してネイティブのライブラリに頼る必要があるケースも少ない

884:デフォルトの名無しさん
19/04/13 19:56:11.68 oqNH9LQH.net
>>863
既知のプログラミング言語の体系にそれ以外が見当たらないことから
「~だろう」と書いたよ
具体例を1つ挙げてもらえば 857は間違い で終わる話かと

885:デフォルトの名無しさん
19/04/13 19:58:14.27 w+uNofJT.net
>>867
うん、でもWebだけじゃないんだよね
ラズパイと組み合わせたら結構制御系なんかでもPythonより使いやすい

886:デフォルトの名無しさん
19/04/13 21:57:00.96


887:P1cuURkO.net



888:デフォルトの名無しさん
19/04/13 22:09:10.82 XM33Ir3X.net
Node.jsはAPIセットでもある
他と違ってJavaScriptは標準ライブラリを持たないのだから、Node.jsとなって初めてPythonなどと対等に扱える

889:デフォルトの名無しさん
19/04/13 22:43:55.16 ChpZ8guV.net
node.jsはchromeのエンジンを持つ実行環境の一つ
javascriptは旧世代から続いてる言語
ライブラリはnpmというツールを使って組み込むだけで標準と呼ばれるものはない
Pythonも仕組みはJavaScript+node.jsと同じ
Pythonは他の言語で作ったライブラリをキックする仕組みが優れてる

890:デフォルトの名無しさん
19/04/13 23:07:38.46 w+uNofJT.net
ラズパイのプログラム実際にシリアル通信とかGPIO通信のプログラム組んでみたらわかるよ
Nodeでやった方が痒いところに手が届く感じ

891:デフォルトの名無しさん
19/04/13 23:17:26.38 ChpZ8guV.net
それはnodeだからというよりもJavaScriptだからだよね
非同期処理はjsが1番やりやすい

892:デフォルトの名無しさん
19/04/13 23:26:43.39 BQ6xHmdo.net
>>868
その見当たらないってのがどの程度見当たった結果なのかの質問
それなりに調べた結果なんだろうと思うから
間違ってるかどうかは知らないよ

893:デフォルトの名無しさん
19/04/13 23:57:57.78 oqNH9LQH.net
>>875
書いてることで全てだよ
後は反証するなり自分で調べるなり好きにして

894:デフォルトの名無しさん
19/04/14 00:02:20.27 hnSS13Er.net
つまり全く参考にならないことわざわざ書いたのな

895:デフォルトの名無しさん
19/04/14 00:52:45.60 /V8zrPr0.net
>>870
言ってることは正しいけど意地悪だな。
例えば「javascriptとnode.jsどちらにしましょう?」とか言われたらアホかとおもうけど
「pythonとnode.jsどちらにしましょう?」と言われてもなんとも思わないけどな。

896:デフォルトの名無しさん
19/04/14 01:12:39.16 HNz/PUE2.net
>>869 そのラズパイのメイン言語がPython なんだけど。
Jetson しかり

897:デフォルトの名無しさん
19/04/14 01:16:47.56 HNz/PUE2.net
Python の良いところは、良いものがあれば利用すれば良いじゃんという考え方。
Javascript で良いライブラリがあればそれを利用すれば良い。
敵対する関係でもなんでもない。 包容力の深さだろうな。

898:デフォルトの名無しさん
19/04/14 01:33:10.43 KGA4Z0ov.net
またHaskellコンプレックスの人か

899:デフォルトの名無しさん
19/04/14 02:09:48.17 pAZpm3Pq.net
Haskellやりたくなってきた

900:デフォルトの名無しさん
19/04/14 02:36:16.86 HNz/PUE2.net
>>881 僻まない僻まない。 堂々としてなさい。

901:デフォルトの名無しさん
19/04/14 08:31:25.85 YQLb8Tsj.net
ただただクソなものを否定するとコンプレックスっていうのもどうかと思うよ。

902:デフォルトの名無しさん
19/04/14 09:36:44.35 4GBCpW8E.net
>>878
言語スレでそれはないだろ
node.jsが出てくるのがそもそもおかしい
typescriptが出てくるならまだわかるが

903:デフォルトの名無しさん
19/04/14 09:56:40.33 fg2GMqcu.net
コンパイルしたらJavaScriptになるのに笑わせんなよw

904:デフォルトの名無しさん
19/04/14 10:06:17.80 4GBCpW8E.net
馬鹿をさらしてるな
node.jsの話題はスレチだろ

905:デフォルトの名無しさん
19/04/14 10:15:55.03 /V8zrPr0.net
>>885
>言語スレでそれはないだろ
議論の流れを遮ってまで拘る必要あるか?という点で意地悪だなと。
ただたしかにスレチだ。

906:デフォルトの名無しさん
19/04/14 10:39:11.44 +8hSutfC.net
PHPクソはコンプレックスですか?

907:デフォルトの名無しさん
19/04/14 10:42:55.50 PamrpYki.net
プログラミング言語を評価するのにその処理系や周辺のエコシステムまで話題にするのは
別におかしいとは思わんがな。Pythonの話にNumpyが出てくるくらいだし。

908:デフォルトの名無しさん
19/04/14 10:53:21.00 NjF6kib1.net
RustかGoでwasmやるためのいいサイトとか本とかってないですか?

909:デフォルトの名無しさん
19/04/14 11:04:45.47 aFdd3aVG.net
>>891
まだ二次


910:情報に頼らないと何もできないような奴が手を出していい代物ではない



911:デフォルトの名無しさん
19/04/14 11:18:52.56 lCqRAmft.net
>>890
次世代言語じゃないからじゃね?たぶん。

912:デフォルトの名無しさん
19/04/14 12:00:03.75 4GBCpW8E.net
Kotlinとjavaがおなじ中間コードを吐くという理由で
このスレでjavaの話題を延々と続けてるのと同じ
スレチすぎる

913:デフォルトの名無しさん
19/04/14 14:44:56.19 P/FPH7VM.net
kotlinとjavaに例えるならnode.jsはJVMじゃね?

914:デフォルトの名無しさん
19/04/14 14:50:30.09 P/FPH7VM.net
いや、JREのほうが適当か

915:デフォルトの名無しさん
19/04/14 15:08:52.57 MFvK1n9c.net
node.jsってTypeScriptやKotlin/JSでも書ける?

916:デフォルトの名無しさん
19/04/14 16:46:19.08 IovzG98E.net
>>835
手続き型言語でもなく、関数型でも論理型でもない宣言型言語は私も知らない。
HaskellベースにProlog載っけた関数論理型言語(curry)とか、逆に論理型ベースの論理関数型言語(Mars)なら知ってるが、今実用になってるかは知らん。
(綴りは微妙に間違ってるかも)

917:デフォルトの名無しさん
19/04/14 18:36:20.67 8JmU//KT.net
スレチじゃない話題の方が少ないのにどの面下げてスレチとか言ってんだよ

918:デフォルトの名無しさん
19/04/14 19:10:43.03 +8hSutfC.net
>>899
スレチ

919:デフォルトの名無しさん
19/04/14 19:17:17.35 fg2GMqcu.net
>>897
TypeScript→JavaScript→node.js
Kotlin→JavaScript→node.js
はできる

920:デフォルトの名無しさん
19/04/14 20:13:21.19 szUdZFoQ.net
次世代のスレで、なぜ人々が旧世代の話をしたがるのか、その心理は気になる
ぼくの持論は、クソバカ老害どもには趣旨を理解することが出来ないからということになっているが、皆様はどうお考えだろうか

921:デフォルトの名無しさん
19/04/14 20:19:11.90 YQLb8Tsj.net
普通新しいものを採用する際は古いものと比較するよね?
そうすると新しいものって実は価値なくね?ってなることも結構あるんだよね。
僕の持論はそれを恐れているカス野郎が多くいるということになっているが、
皆様はどうお考えだろうか?

922:デフォルトの名無しさん
19/04/14 20:45:25.54 szUdZFoQ.net
結構あるなら重畳ですが、このスレにそれがどれだけあるのか、クソバカなりに指し示していただけるとよろしいかと存じます。

923:デフォルトの名無しさん
19/04/14 20:50:27.21 qRefkdYJ.net
バージョンをひとつ飛ばすと効率が良いんだよな
第一世代から第三世代
新旧のバランスのとれた第二世代は評価されず
人々は両極端の話をしたがる

924:デフォルトの名無しさん
19/04/14 22:57:37.43 bXuYrZFq.net
>>902
このスレで次世代以外の話はスレチってのは正しい。
その上でなぜ旧世代の話が出てしまうのかというと、用途が同じなのに能力に差がないから比較して話すことになっちゃうからじゃね?
スポーツ系のスレでよく歴代の選手との比較ネタでスレが進み、懐古禁止って騒ぐ人がでてくるパターンと同じだねw

925:デフォルトの名無しさん
19/04/14 23:09:20.67 WjGL7oJM.net
それなら何故用途が被ってるのにその言語が出てきたかを語らった方が有意義では?

926:デフォルトの名無しさん
19/04/14 23:10:09.67 /V8zrPr0.net
5ch(匿名掲示板)にそんなに高度に話題を制限する能力がないんだよ。割りきって使わないとストレスたまるし他人にも迷惑だぞ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch