X



次世代言語15 Go Rust Swift Kotlin TypeScript
レス数が1000を超えています。これ以上書き込みはできません。
0003デフォルトの名無しさん
垢版 |
2018/11/05(月) 19:05:36.14ID:C+j+1+CV
そうだよ
0004デフォルトの名無しさん
垢版 |
2018/11/05(月) 21:38:30.50ID:lQJk7sSm
webのものだがrustを採用するよう上司を説得するのに四苦八苦してる
自分が分かることしかやりたくないオタンコナスめ
0005デフォルトの名無しさん
垢版 |
2018/11/05(月) 23:21:46.96ID:LoNBNPyI
>>4 ちょっとでもいいから自分で書いて説得材料に加えた方がいいよ。先行者がいるかいないかで全然印象が変わるから
使う言語も作るサービスも新しかったら上司も二の足も踏むよ
0007デフォルトの名無しさん
垢版 |
2018/11/06(火) 07:01:39.58ID:tzVhC1fN
>>5
書いてるしプロダクトに組み込んでるよ
もっと広く使いたいってはなしさね
0009デフォルトの名無しさん
垢版 |
2018/11/06(火) 17:45:01.68ID:2Imqjq5w
rust使える連中集めるか、僕が一生このプログラムのメンテしますって念書でも書けばいいんじゃね
0010デフォルトの名無しさん
垢版 |
2018/11/06(火) 19:51:58.83ID:tzVhC1fN
だから俺は書いてるってば
しかしいちいち極端だな
0012デフォルトの名無しさん
垢版 |
2018/11/06(火) 22:10:53.50ID:tzVhC1fN
それは言えてる
次で入るはずだし期待だね
0014デフォルトの名無しさん
垢版 |
2018/11/07(水) 22:00:38.98ID:h4FWJh3K
smalltalk由来の?
実装コストの割にちょっと手間が減るだけだから、広まるとは思えないなぁ。。。
あれば便利だけど、拘る程でも無いし。

設計段階で良く使うのを前半に持って来れば現状でもデフォルトの値で省けるし。
0016デフォルトの名無しさん
垢版 |
2018/11/08(木) 00:07:44.66ID:tyCSN+GB
名前付き引数はあったほうが良いけどな。
tsとかjsでもobject使って名前付き引数っぽくはかける
0017デフォルトの名無しさん
垢版 |
2018/11/08(木) 01:03:55.74ID:Q78Fc4n+
あったらたまに使うけど、なくても困らん
0019デフォルトの名無しさん
垢版 |
2018/11/08(木) 08:04:01.41ID:2hCvfT6m
またまたご冗談を
0023デフォルトの名無しさん
垢版 |
2018/11/08(木) 21:07:57.17ID:9Gli7a50
Smalltalkの名前付き引数って引数の順番入れ替えられないってマジ?
ガチでウンコじゃん
0024デフォルトの名無しさん
垢版 |
2018/11/08(木) 22:41:04.48ID:HaAvUdEf
オプション引数が2つ以上になるなら欲しくなるね。
まぁ連想配列を渡せればそれでもいいんだが型安全でない。
そういう意味でTypeScript最強。
0026デフォルトの名無しさん
垢版 |
2018/11/12(月) 15:38:09.44ID:e9R1pplw
>>4
悪いけど趣味でRust書いてる俺ですら
webものでRust採用するなんて言われたら全力で却下するわ
0027デフォルトの名無しさん
垢版 |
2018/11/12(月) 15:44:01.93ID:e9R1pplw
当然異論あるのは承知の上で、
オプション引数が必要だと思ったときはすでにAPI設計が失敗してるって思うのだが
具体的にオプション引数でないとできないことってなんだろう
0028デフォルトの名無しさん
垢版 |
2018/11/12(月) 17:06:45.62ID:gJTIYUPi
webでrust、なんでダメなんだ?
active recordが無いから?
0030デフォルトの名無しさん
垢版 |
2018/11/12(月) 17:46:39.02ID:BrJHJM69
単純にasyncまわりが動乱期で、
今書いても近いうちに書き直しになるのが目に見えてるから>webに導入するの反対

あとはRust使うくらい性能追及しなきゃいけない部分なんて
webでそこまであるか?というのもある
>>29のバカでも書けるに近いかもしれんが、
Goで困る用途がそこまで思い付かない

渋の配信回りみたいな部分で欲しいのは分かる
0031デフォルトの名無しさん
垢版 |
2018/11/12(月) 18:38:42.74ID:/MNcN3ku
てかgoで本格的なアプリ書いてみりゃチャンネル使ってもまだまだ複雑になるってことに気づくわ。
言語の瑣末ごとに時間食ってる余裕はないと感じるようになる。
0032デフォルトの名無しさん
垢版 |
2018/11/12(月) 18:40:01.18ID:gJTIYUPi
渋の配信でなんだろ
0033デフォルトの名無しさん
垢版 |
2018/11/12(月) 19:19:45.27ID:8ric3RZk
>>32
pixiv Sketchのライブ機能とかいうやつのバックエンドがRustで書かれてるんだと
0034デフォルトの名無しさん
垢版 |
2018/11/12(月) 19:47:34.64ID:gJTIYUPi
>>33
ピクシブのシブか

ぼくはjavaやgoで書くくらいならrustで書くけど、馬鹿に合わせなきゃいけないなら仕方ないな
0036デフォルトの名無しさん
垢版 |
2018/11/12(月) 20:12:37.81ID:8ric3RZk
Javaで書くくらいならGoで書く
C++で書くくらいならRustで書く
は分かるんだ
Goで書くくらいならRustで書くと言えるほど
プログラミングスキルに自信はないな

豪語できる実力と後任育てる覚悟があるならいいんじゃないかなとしか言えん
0037デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:13:20.30ID:gJTIYUPi
難しいの意味によると思うけど、例えば予測しきれないGCのほうが難しくない?
みんな作ってるものも求められるものも違うから一概には言えないけどさ
そういう意味では、馬鹿に合わせるってのは言い過ぎだった、ごめん
0038デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:25:41.65ID:Ff8BWBdH
>>27
オプション引数という機構が無くてもやりようはあるという話なら理解できるが、
設計の失敗というのはピンとこないな。どういうこと?
0039デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:46:47.45ID:oqLpMouH
>>37
GCの挙動予測しなきゃいけないくらいシビアに作らなきゃいけないものなら確かにRustで書く
ただ単なるWebのAPIサーバとかでそんなシビアに作るか?という話
例に挙げたpixiv Sketch Liveはエンコーディングが絡むからGoでは確かに辛い
0040デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:51:58.92ID:oqLpMouH
>>38
一言でいうなら後付けの建て増しに見えるから、かな?
初めからオプションによって色々変わる設計ならビルダーパターンなり構造体を引数に渡すなり
設計段階からオプション引数が不要なように書いてると思うんだ

ただ単なる偏見な気もする
0041デフォルトの名無しさん
垢版 |
2018/11/13(火) 09:35:36.18ID:fQuR5//n
それ複雑さがビルダーの初期化に移るだけだろ
記述量でみるならオプション引数の方が簡潔
0042デフォルトの名無しさん
垢版 |
2018/11/13(火) 12:31:21.43ID:cIfg6ryU
1つ2つくらいなら確かにそうだけど、
その流れで気づいた10個越えてたってパターン複数回見てるから、
オプション引数使うより初めからいくつ増えてもいい設計にした方がいいのでは?と思う

もちろん思考停止で増やした奴が一番悪いのは知ってるが
0043デフォルトの名無しさん
垢版 |
2018/11/13(火) 12:33:36.66ID:w+5Fg6TC
10個になったってビルダーよりオプション引数のほうが簡潔でしょ
何言ってんの?
0044デフォルトの名無しさん
垢版 |
2018/11/13(火) 21:27:07.00ID:QLpFZmq5
初めから完璧に設計なんてできないんだから、備えておくこと自体ナンセンスだよ
初めの設計が破綻したらdeprecatedにマークして、その時点で最適なインターフェースを作ればいいじゃん
0045デフォルトの名無しさん
垢版 |
2018/12/07(金) 21:30:32.68ID:UwGzxIiR
rust 2018 editionが標準になったな
書き換えるのに2時間くらいかかったわ
0047デフォルトの名無しさん
垢版 |
2018/12/09(日) 18:02:57.69ID:cEdFWcHV
Kotlinもよろしく
0048デフォルトの名無しさん
垢版 |
2018/12/09(日) 21:31:48.39ID:piyaaQaM
コトリンて仕方なく使うもんでしょ
0049デフォルトの名無しさん
垢版 |
2018/12/10(月) 10:50:15.57ID:4x6+51xy
Javaだと1週間かかっていた機能追加が、Kotlin移行後は2〜3日でできるようになりました。

――工数が半分以下に減ってるんですね……! Android版Yahoo!ニュースではまだJavaを使っている部分もあるかと思いますが、今後Kotlinへ完全移行する予定はあるのでしょうか?

https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000
0050デフォルトの名無しさん
垢版 |
2018/12/10(月) 13:23:39.04ID:csFNmBrf
設計見直したのが大きいってな
Androidならコトリン一択だろうけど
0051デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:03:18.59ID:l83Jt/Qg
逆に言えばAndroidにしか使えない
0053デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:28:47.29ID:l83Jt/Qg
そこはGoogleらしいね。
ただ、鯖ならもっと良い言語あるだろってのはあるし、Goにも言えるけど鯖から外の用途がGoogleの言語は伸びないのよね。
GoもGUIライブラリ弱いし。

自社に関係する用途以外に関心が無いっぽいのがね。。。
オープンソースって元からそういう所あるけど、仮にもGoogleがバックアップしてるのに。

MSも似た様なものだけど、関係する分野自体が手広いからライブラリも充実する。
0054デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:54:10.39ID:csFNmBrf
javaのトランスパイラだならサーバも書けるけど
新規で書くのにコトリン選んでたら指差して笑う
0057デフォルトの名無しさん
垢版 |
2018/12/12(水) 00:50:38.08ID:vL0UIWVV
dart復活あるか?
0059デフォルトの名無しさん
垢版 |
2018/12/24(月) 17:32:37.72ID:72iVvCQA
>>54
新規案件でjavaなんて選ぶ?
0060デフォルトの名無しさん
垢版 |
2018/12/24(月) 18:09:22.26ID:dcQ4yWsY
>>59
気の毒なことにコトリンを選ぶ現場はあるたいなんだ
潜在的にはjavaのが圧倒的に多いだろうけど
0062デフォルトの名無しさん
垢版 |
2018/12/25(火) 09:01:23.38ID:WTLCOmht
選べるのにわざわざjvmに縛られるスカポンタンがいるってこと
0063デフォルトの名無しさん
垢版 |
2018/12/25(火) 12:37:10.28ID:pfsfL+ll
>>61
そうだなあ。Javaしかできないと言ってる人にいきなりやらせてすぐにできるようになったらその人はかなり良いプログラマである可能性があるということはわかる。
何ヵ月やってもダメっぽい場合は他の事も多分ダメでプログラマ向きの人ではないから他の仕事に移すかクビの方向で検討。
0069デフォルトの名無しさん
垢版 |
2019/01/05(土) 13:27:08.69ID:4H3rvHqe
kotlin触った後にdart触るとセミコロンがうっとうしいな
次世代言語にセミコロン不要だわ
0073デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:01:12.72ID:LMfMMSk0
■C#
list.ForEach( e => {
  Console.WriteLine(e);
});

■Java
list.forEach( e -> {
  System.out.print(e);
});

■Rust
list.for_each(|e| {
  println!("{}", e);
});

■Dart
list.forEach( (e) {
  print(e);
});
0074デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:01:57.05ID:LMfMMSk0
■JavaScript
list.forEach( e => {
  print(e)
})

■Groovy
list.forEach { e ->
  print(e)
}

■Kotlin
list.forEach { e ->
  print(e)
}

■Swift
list.forEach { e in
  print(e)
}
0075デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:05:15.93ID:LMfMMSk0
■Go
※筋力でforループ

セミコロンもだけど末尾ラムダの場合に括弧減らせる方が俺は好きだな
0082デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:13:59.65ID:EkyrZm9z
色々調べてお疲れだと思うけど、そのラムダ式を変数に代入した場合を書いてみるといい
ちゃんと色々考えて機能追加したのか、それとも流行りに乗っかっただけなのかが分かるから
0083デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:33:50.07ID:LMfMMSk0
>>81
主眼がラムダ構文だったから

>>82
そこを書いて自分の考えを出してこうぜ

俺も連投の割には>>75の最後の行が言いたかっただけだし
0084デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:53:04.82ID:QuMXMUQO
>>83
俺わかっちゃってます風の文句しか言えないガイジに、自分の考えなんてあるわけないだろ
こういうやつは流行りに乗っかっただけのマウントが取りたいだけのキョロ充以下のゴミ虫なんだよ
0085デフォルトの名無しさん
垢版 |
2019/01/05(土) 23:27:18.90ID:3PJCY/Pt
ラムダを渡すのがポイントなわけね。なら、「作ればある」って感じか。

type anySlice []interface{}
func (this anySlice) forEach(f func(i interface{}) {
 for _, e := range this {
  f(e)
 }
}

list.forEach(func(e interface{}) {
 fmt.Println(e)
}
0086デフォルトの名無しさん
垢版 |
2019/01/06(日) 10:55:17.61ID:xgM5oZ73
そもそもラムダ式を変数に代入とか普通しないのでは
型推論が台無しになるでしょ
0089デフォルトの名無しさん
垢版 |
2019/01/06(日) 18:21:44.80ID:r4E4Sz7P
普通の関数型言語の型推論 ( HM型推論 ) なら
ラムダ式を変数に代入 ( 束縛 ) しても正常に型が付く
0091デフォルトの名無しさん
垢版 |
2019/01/14(月) 11:08:15.85ID:mSU16be8
ベクトル計算,統計,数値解析など
  Python,R

ブラウザ上
  JavaScript
  トランスパイラ
    TypeScript,Dart,Kotlin
  WebAssembly
    (多すぎ省略)

アプリ,サービス
  コンパイル
    C#,Java,Scala,Kotlin,Swift,Objective-C,Dart,Go
  スクリプト
    Ruby,Perl,PHP
  JSフレームワーク使用(Node,React/Native,Electronなど)
    JavaScript,TypeScript

ミドルウェア,ドライバ
  C,C++,Rust,Go

適応領域/縄張り的な観点で人気言語から列挙、異論は認める
0092デフォルトの名無しさん
垢版 |
2019/01/14(月) 11:09:15.12ID:mSU16be8
ハードウェアを使う計算処理のDSLとも言えるようなPython,Rの領域は
他が入り込めそうにない

TypeScriptはJavaScriptの上位互換性がかなりの強みになっているが
ネイティブコールは他に頼る必要がある

.NET Native, Substrate VM, Kotlin/Native, Dart など
VM型だったものがLLVM等を利用し、
FFIを持つだけでなくネイティブのバイナリを生成出来るようになっている

ある程度用途や領域の前提が無いと比較は難しいだろう
ビルド関連,エコシステムも実際上は言語選定に含まれる

もちろん題材としては構文(型システムなど含む)の優劣のみ比較するのでも良いと思うが
0093デフォルトの名無しさん
垢版 |
2019/01/25(金) 08:57:21.46ID:iIPgsGqp
▪Haskell
mapM print list
0094デフォルトの名無しさん
垢版 |
2019/01/25(金) 09:05:36.46ID:iIPgsGqp
>>83
渡す必要もないのにラムダ渡さないとダメですか。。。(震え声)

mapM (\e -> print e) list
0095デフォルトの名無しさん
垢版 |
2019/01/26(土) 19:42:15.89ID:qpwORrxM
流石にラムダは書けるのに関数は渡せないなんてクソ言語は無いだろwww
無いよね?
list.forEach(print)
0096デフォルトの名無しさん
垢版 |
2019/01/27(日) 05:18:31.69ID:RHxd3V/8
広告がめっちゃ悪さするけどいつからマルウェア配布してたんだ?
0097デフォルトの名無しさん
垢版 |
2019/01/27(日) 09:12:28.47ID:2eLr8oJu
>>95
それどの言語?
0099デフォルトの名無しさん
垢版 |
2019/01/27(日) 12:34:46.98ID:dhHHmXdZ
1引数1ステートメント前提での省略書くのは
実用はともかく比較のセンスは悪いと思う・・・
0104デフォルトの名無しさん
垢版 |
2019/01/30(水) 07:00:10.06ID:R/oGvj42
日本語キーでも右Shiftとその隣を押すだけだしこれが押しにくいってことないだろう
0105デフォルトの名無しさん
垢版 |
2019/01/30(水) 07:56:59.90ID:sf14HEmo
ホームポジションを崩すのは罪だからな
0111デフォルトの名無しさん
垢版 |
2019/02/01(金) 04:00:16.01ID:30ghkfax
大抵の言語って主要な用途がはっきりしてるけどさあ
Rustって一体なんの分野で使うのが主流なの?
0113デフォルトの名無しさん
垢版 |
2019/02/01(金) 13:08:11.93ID:mPRfx2mL
開発者7万人に聞く、2018年学んだプログラミング言語第1位は? 2019/01/31 09:40:20 後藤大地
https://news.mynavi.jp/article/20190131-764256/

HackerRankはこのほど、7万人ほどの開発者を調査した結果を「2019 Developer Skills
Report - HackerRank」として公開した。同調査は、プログラミングに従事している開発者が
どのような技術を学んだのか、今後どのような技術に取り組みたいのかなどをまとめている。

開発者が2018年に学んだプログラミング言語としては、JavaScriptが1位になっている。
これにJava、C、Python、C++が続いている。

2019年に開発者が学ぼうと考えているプログラミング言語ではGoが1位で、これに
Kotlin、Python、TypeScriptが続いている。これまでの動向からは、開発者が学ぼうと
考えてるプログラミング言語が必ずしもその後のプ人気には結び付いていないことも
示されている。

プログラミング言語の人気ランキングにおいて、JavaScriptはそれほど上位に入っていない
ことが多いが、HackerRankのレポートは多くの開発者がJavaScriptの学習に取り組んでいる
ことを示している。JavaScriptが実際のシステム開発に必要な技術として広く活用されて
いるものと見られる。
0114デフォルトの名無しさん
垢版 |
2019/02/01(金) 13:23:50.72ID:3l+pPyJW
>>111
web
0116デフォルトの名無しさん
垢版 |
2019/02/01(金) 20:52:00.29ID:/RO3I7T1
らくだ兄さんが入ってるから・・・
0122デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:02:01.90ID:1hiFLBcT
node/typescript, kotlin, rust
この3つで出来ない(向いてない)ことってiosアプリ以外にある?
0124デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:15:12.57ID:Rjdem6b9
明らかに向かないのはWindowsデスクトップアプリや統計だろうな
0125デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:21:33.80ID:33hjMbXw
3つともiosアプリ/Windowsアプリを作れると思うけど
相対的に向いてないのはPythonやRが得意とするその辺だろうね
0126デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:29:06.79ID:1hiFLBcT
すまん。後出しであれなんやが各エコシステムが満タンになった未来想定で頼む。
> Windowsデスクトップアプリ
これは js(typescript)/kotlin native でなんとかならんやろか。

> 機械学習, 統計
これは何でpythonが押されてるのか良くわかってないんやが、
rustが成熟しても選ばれんのかな。何かpythonにしかないメリットがあるんやろか。
0127デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:52:23.48ID:33hjMbXw
IOSアプリ
  TypeScript : (JavaScript) : React Native他 : 例 Facebookアプリ
  Kotlin : Kotlin/Native(IOS)
  Rust : 例 Firefox Quantum

Windowsアプリ
  TypeScript : (JavaScript) : Electron : 例 Visual Studio Code
  Kotlin : (Java) : 例 IntelliJ
  Rust : 例 Firefox Quantum
0128デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:53:16.41ID:33hjMbXw
エコシステム満タンならPythonの得意分野もいけると思う
現状でもTensorFlowとかJavaやRustから使えるし
でも現実的にエコシステムが追いつくことは難しそう

Pythonの初学者にも読みやすい性質と
データサイエンス系のエコシステムの充実さにより
そういう分野の人が流入して、それにより充実さが増す流れが出来てる
0129デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:54:02.43ID:1hiFLBcT
何でpythonかちょっと調べてみたわ。
ttps://qiita.com/yaju/items/5502115d7e3d06e6bbdd
「エコシステム・コミュニティ・サポート・言語の簡易さ」こんな感じの理由やった。
だいたいはエコシステム最強の近未来Rustなら置き換え可能な要素やろうと思ったんやけど、
「言語の簡易さ」はどうにもならんね。機械学習始めようと思った人がRustから入門するのは現実的じゃないわ。
0131デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:22:36.82ID:1hiFLBcT
>>128
そうみたいやね。おんなじ結論やわ。
typescriptで機械学習の呼出ライブラリ作りまくればワンチャン・・ないか。

そしたら
node/typescript(js後継), kotlin(java後継), rust(c/c++後継), phthon(入門用&AIできるよ)
この4つならコンピュータ用途の最大公約数ってことでええんやろか。
0132デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:32:33.05ID:jcUa9nnO
>>127 アプリってどう言う意味で書いたの? アプリを開発できるかどうか?
iOS だったら、pythonista が結構使えそうだよ。
python から、iOS のシステム関数とかObjective-C の関数を呼べるからほぼ何でもできる。
python の外部ライブラリのうちCで書かれたライブラリは使えないけど大体のことは間に合う。

GUI も簡単に作れる。 センサー類も全て使えるしかなり評判が良い。 GUI はjson を呼んでるらしいからWebkitの配下で動いているっぽい。

python 其の物は既に学生の教育用として確たる座を占めたから当分人気が落ちることはなさそう。
0134デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:43:03.05ID:jcUa9nnO
pythonista で作ったものは、App store の審査に通らないらしいから売ることはできない。

売るとなるとSwiftを使う事になるが開発環境の垣根が高いからイマイチ人気が伸びない。 オープンソースになったからMac以外でもコンパイルは出来るようになったが、Objective-C のライブラリまで解放されてるわけじゃないからイマイチ。
言語的には好きな言語なんだが。
0135デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:49:29.70ID:1hiFLBcT
>>114
CRUD試せるようなwebアプリ作ってみたけどwebには向いてなかったで。
GCいらずの利点が薄いしエコシステム無いしIDEの補完弱いし言語仕様むずいし。
最悪1人でも作れるような小規模サイトじゃないと無理やと思う。現時点では。
0136デフォルトの名無しさん
垢版 |
2019/02/02(土) 14:49:28.56ID:jcUa9nnO
>>134 何日か前にpython の人気ランキングが上がってると言うニュースを見て、一昨日辺りからpythonの紹介記事や入門動画を見て、これは使えそうだなと言う感触を得た。
今朝 pythonistaをダウンロードして、どんなものか試したりpython の基本構文を練習したりして、概略がわかってきたから、昼からiOS 用アプリの練習問題としてのサンプルを動かしてみた。

iPhoneでiPhoneアプリを作ろう
https://qiita.com/ttsutchi/items/34fb3395f085e5e11f6e

こんな感じ
https://i.imgur.com/Tz3u3xn.jpg

WysiWig で配置を自由に動かせるから便利。
昔HTML の作成ツールでWysiWig の物を使ったこともあったが、余計なHTMLを吐き出して後のメンテナンスが大変になるから、すぐにやめた。

これは変なコードを入れる訳でもないから使いやすい。
ただ、アプリをホームに登録して動かして終わった時にソース画面に移るのは煩わしい。 何か方法はあるとは思うが。
0137デフォルトの名無しさん
垢版 |
2019/02/02(土) 15:23:23.21ID:jcUa9nnO
日本でpython の普及が遅れたのは、Rubyがあったからみたいだね。
スクリプト言語だから、perl やRuby に似てて当然なんだが、その分pythonは多言語化に遅れてる気はする。

HTML の作り方の紹介動画を見てるとperl を使った作り方に似てるなと思った。
javaのJSPよりはよほど使いやすそう。

自分がpython をやっても良いかなと思ったのは、
1. インタプリタで誰でも入門が簡単
昔のBASICに変わりうる立場。 教育に良い
2. 何でもやれそう。
スマホアプリを手軽に作れるのは趣味に良い。
2.1 Web アプリを作るのが簡単そう。
2.2 Excel との相性が非常に良さそう
今やアメリカの事務職でもpythonが出来ることを求められ始めている。 事務としてはExcel の延長だろうな。 高級VBA?
0138デフォルトの名無しさん
垢版 |
2019/02/02(土) 17:51:42.37ID:LdV/hXf4
てかpython程度の言語なら流行ったらその時にでも勉強すれば十分だろ。
perlやrubyに比べたらだいぶ楽だぞ。何を警戒してるんだか。
0139デフォルトの名無しさん
垢版 |
2019/02/02(土) 20:03:30.25ID:hDNgHqpo
>>138 その警戒感がないから流行り始めてるのでは?
言語としてはメールやエクセルと同じ感覚で使うレベル。
目新しい事もなにもない。

しかし出来ることは少なくとも科学分野では全ての言語を凌駕しそう。
0141デフォルトの名無しさん
垢版 |
2019/02/02(土) 20:21:21.54ID:LdV/hXf4
>>139
pythonが普段使いだからかも知れんが、本当に凡庸だよ。
他の言語みたいに言語特有の機能みたいな尖った部分はほとんどない。
勉強とかするなら他の言語やったら?と思うくらい。

まあ機械学習ライブラリ周りは言語というかあの手のライブラリ特有の遅延評価の癖みたいなのはあるから
そういうのに慣れとくのはいいかも知れんけど。
0142デフォルトの名無しさん
垢版 |
2019/02/02(土) 20:24:11.43ID:jcUa9nnO
>>140 言語としての面白さはないが、何かを作る、解決すると言う意味での解決策ではトップレベルなんだろうな。

プログラムというのは、問題を解決するために作るものなんだから、最短距離で解決できるのがベスト。
0143デフォルトの名無しさん
垢版 |
2019/02/02(土) 20:34:23.32ID:Dt4YIwTF
>>142
そりゃパフォーマンス出せない言語で効率的に動かすには処理の速い言語で作ったライブラリをキックさせれば良いからな
そういう意味ではPythonは楽なんだよな
Excelマクロに使いたがってるのもまさにそれだしな
0146デフォルトの名無しさん
垢版 |
2019/02/02(土) 21:54:15.73ID:T6gWjD5f
どんなにエコシステムが充実しようが、Rustがpythonに取って代わることはないよ
REPLの有無や型システムの性質の違いやらで、言語仕様の段階でとっつきやすさが違う
0148デフォルトの名無しさん
垢版 |
2019/02/03(日) 00:23:37.84ID:QzX9qub1
>>146
Rustが、REPL用意しないのは、
何かポリシーがあるんかね〜

ちょっと実験してみる時なんか便利なんだけどな。
0149デフォルトの名無しさん
垢版 |
2019/02/03(日) 01:04:47.07ID:JIYTTgNa
そりゃ暗黙にスコープ離れた際にオブジェクト消したりするシステムとREPLはなんか合わんだろ。
0150デフォルトの名無しさん
垢版 |
2019/02/03(日) 01:31:48.04ID:72eosYJ+
>>113 javascriptと C は基本言語的な意味合いがあるから、トップ辺りから落ちることはなさそう。
python は、perl やPHP の座を奪い取ってしまった感があるね。 人気なのにはそれなりの理由がある。
0151デフォルトの名無しさん
垢版 |
2019/02/03(日) 04:21:40.90ID:moPp0yDW
>>135
どれもwebに向いてない理由になってないな
0153デフォルトの名無しさん
垢版 |
2019/02/03(日) 09:09:41.33ID:0JUVCFHi
>>151
そうなんか。
GCいらずの利点が薄い -> メモリ管理してる分、webでは開発効率マイナス
エコシステム無い -> 開発効率マイナス(そのうち解消できる)
IDEの補完弱い -> 開発効率マイナス(そのうち解消できる)
言語仕様むずい -> 1人当たりの開発効率プラスだがメンバのアサインはマイナス(人が増えればそのうち解消できる)

上記を踏まえて、現状では人を揃える必要がある中規模以上のweb開発には向いてないと思ったんだけど、
ワイはポンコツの自覚あるから優秀な人が違うというなら違うんやろうなとは思ってるで。

むしろ個人的にrustは超絶イケてる言語やから流行って欲しい。
webassemblyでrustオンリーwebアプリとか胸アツやね。
0154デフォルトの名無しさん
垢版 |
2019/02/03(日) 10:27:24.08ID:mHQkqdF9
RustとGoって、WebAPIみたいなものを書いたときにどの程度のパフォーマンスの差があるの?
0155デフォルトの名無しさん
垢版 |
2019/02/03(日) 11:51:05.26ID:JIYTTgNa
>>152
それはスクリプト実行時と差が出すぎるだろ。
そもそも静的にチェックできるだけしようって発想のrustでそういうのは合わんし。
0156デフォルトの名無しさん
垢版 |
2019/02/03(日) 12:53:08.52ID:0JUVCFHi
実測してないから全部妄想なんやけどパフォーマンスは誤差やで。
通常の要件なら通信コスト(client<->api)とIOコスト(api<->strage)が高すぎて言語差が出にくい。
高負荷環境(C10K)とか重い処理(画像変換とか)でもRustとGoならパフォーマンス差が少ないから誤差範囲でおさまる。
0162デフォルトの名無しさん
垢版 |
2019/02/03(日) 22:48:55.38ID:JIYTTgNa
>>157
あれそんなにあって嬉しいものか?
どうもぴんとこなくて、結局コンパイル実行させとるわ。
0164デフォルトの名無しさん
垢版 |
2019/02/04(月) 00:49:58.51ID:H7ojMDuY
世界ではReactがデファクトスタンダードなのに
なぜジャップランド土人村のクソバカイエロー・モンキーズはVueマンセーなんてしてるんだい?
0168デフォルトの名無しさん
垢版 |
2019/02/04(月) 07:53:04.25ID:K3HGTlkT
右側のLangって項目がRusになってるやつ全部そうじゃないの
0170デフォルトの名無しさん
垢版 |
2019/02/04(月) 15:36:17.10ID:czgL1Ora
>>153
ポンコツに合わないのは確かだな
エコシステムって何を指すんだ?

webといっても色んな現場あるし、合わない現場があるのは確かだね
0171デフォルトの名無しさん
垢版 |
2019/02/05(火) 20:10:05.03ID:qXMFsWhv
>>170
FWとかライブラリのつもりで書いたんだけど、もしやエコシステムってそんな意味じゃないのか。。



Rustプロフェッショナルは他の言語(Javaとか)くらいの開発速度出せるんやろか。
それとも堅牢な分、ちょっと開発速度落ちるんやろか?
0172デフォルトの名無しさん
垢版 |
2019/02/05(火) 23:00:18.06ID:xTPbFJiK
>>171
俺のイメージだとcargoとかceates.ioのイメージだった
ライブラリはwebで使うようなものはあるし、webフレームワークならactix-webが実用レベルと思うけど、何と比較するかによるかも


開発速度は、まだ分かんないな
堅牢だったりGCが無いことで開発が早くなる面もあるから案件次第よな
0173デフォルトの名無しさん
垢版 |
2019/02/07(木) 09:08:17.23ID:qMU5zT+q
こんな分け方どうや?

■言語
[遅い]
script -> Js/Node,Ts,Python,
GC(VM) -> Kotlin/JVM, Scala, (Java)
GC -> Go, Kotlin/Native
GC無し -> Rust, (C)
[速い]

■用途
Webフロント -> script
Webサーバ -> script, GC(VM), GC
Mobile -> script, GC(VM), GC
Batch -> GC(VM), GC
配布アプリ -> GC, GC無し
組込 -> GC, GC無し
System -> GC無し
0180デフォルトの名無しさん
垢版 |
2019/02/07(木) 14:52:04.49ID:nkNDSe3E
>>179
ちょっと説明不足やったやろか

script言語(gc方法に寄らず), コンパイル言語1, 2, 3の計4種で分けて
比較するとそのグループの特色が出てええかと思ったんやけど余計分かりづらいかな。
0183デフォルトの名無しさん
垢版 |
2019/02/07(木) 19:45:27.07ID:Xv2aSLU4
それはワイが概要知ってる言語並べただけやからやで
0184デフォルトの名無しさん
垢版 |
2019/02/07(木) 19:51:38.98ID:3vMVCWim
自分の開発範囲だとScalaとF#を規模で使い分ければ事足りてるわ
Rustは仕組み的に再帰と相性悪いのがなー
システムレベルの開発とかするわけじゃないしまあいいかなって
0185 ◆QZaw55cn4c
垢版 |
2019/02/07(木) 20:16:11.82ID:hAIKTwic
>>173
C++ が入っていない時点でお話にならないですね…
0186デフォルトの名無しさん
垢版 |
2019/02/07(木) 20:30:26.21ID:ygKhuk/7
>>182 >>185
名前出すなら追加なり変更なりの差分書けばよくね

まぁ script -> とかの後ろに「例」とでも書いとけば良さそうなレベルだが
0187 ◆QZaw55cn4c
垢版 |
2019/02/07(木) 20:31:38.98ID:hAIKTwic
>>186
何事も「最低限レベル」というものがあるのです…
0188デフォルトの名無しさん
垢版 |
2019/02/07(木) 20:40:06.53ID:ygKhuk/7
いや要らんやろ、書くまでもない
むしろCとJavaも

C++はどこに入りますか?とか聞くやつがこのスレ来るわけないし
0189デフォルトの名無しさん
垢版 |
2019/02/07(木) 20:58:56.79ID:vD/dZwJj
>>184
それってscalaが大規模側なん?

>>185
いやc++, c#くらいまでは知っとるで。
()付きはこのスレで旧世代言語扱いのやつ。
あんまり書いてもしょーがないかと思って端折った。
新し目の言語は概要知ってるやつだけ書いた。
0190 ◆QZaw55cn4c
垢版 |
2019/02/07(木) 21:00:27.35ID:hAIKTwic
>>188
C++ は現時点では言語を比較するときの唯一絶対の基準です、C++ が比較基準に入っていない時点で、言語/環境の優劣なんてつけられない
速いけれども書くのが糞手間なC++に比べて、どんなメリットがありどんなデメリットがあるかを我々は注目しているのではないでしょうか?

C++ は知らない?知らないの?あなた馬鹿なの?100年ROMってろ
0191 ◆QZaw55cn4c
垢版 |
2019/02/07(木) 21:02:19.36ID:hAIKTwic
>>189
>あんまり書いてもしょーがないかと思って端折った。
その判断それ自体が腐っているといっていいでしょう
何を端折っていいか、何を端折ったらいけないのか、の判断を間違えるようでは、言語比較そのもののセンスが完璧に欠如しているというべきです

死んでください
0192デフォルトの名無しさん
垢版 |
2019/02/07(木) 21:06:25.69ID:F7dZpPEQ
>>189
そうです
というかほぼScala
最初は小さいプログラムでJVM起動するのもなんだかなあって思ってたけど慣れた
書くのが楽だからいいわ
0196 ◆QZaw55cn4c
垢版 |
2019/02/07(木) 21:28:48.85ID:hAIKTwic
>>195
C++ が書けないのなら黙ってればいいのです、なにも無理する必要はないですよ…
このスレにいたいのなら必要条件として C++が書ければいいです、まあ簡単な部類だし基準低すぎ様だとは思いますが

今時、C++を書けないのは馬鹿の極みだと思いますね
0197デフォルトの名無しさん
垢版 |
2019/02/07(木) 21:56:46.91ID:uPllBcIZ
See poor poor
0198デフォルトの名無しさん
垢版 |
2019/02/07(木) 22:18:59.82ID:UFwIxg8c
反省したついでに表にしてみた

言語\用途|Webフロ |Webサバ |モバ|バッチ|配布Ap|組込|シス| 言語例)
SCRIPT系 |○   |△   |△ |   |   |  |  | Js/Node,Ts,Python,
VM使う系 |    |○   |○ |○  |   |  |  | Kotlin/JVM, Scala, (Java)
GC有り系 |    |○   |○ |○  |○  |  |  | Go, Kotlin/Native
GC無し系 |    |    |  |   |○  |○ |○ | Rust, (C++)

なんか判りづらくなった?
0199デフォルトの名無しさん
垢版 |
2019/02/07(木) 22:24:37.38ID:UFwIxg8c
いかん。ワイのテクではまともに表組み出来んわ。

>>192
Scala最近元気ないよね。ってことでKotlin始めてみた。
なんかもうこれでいいような気がしてきてる。
0200デフォルトの名無しさん
垢版 |
2019/02/07(木) 22:26:09.68ID:gxYbloUq
もういいって
だから何?って感じやろ
何を基準に◯なのかも意味わからんし
0201デフォルトの名無しさん
垢版 |
2019/02/07(木) 23:25:26.96ID:bWhZSlTM
この板今日来たばかりだけど
◆QZaw55cn4c この人どういうキャリアの人なん?
なんかえらい上から発言してるみたいだけど
どっかの有名な何かのコミッター?
本書いてたりする人?
それとも業務で20年以上書いてきたような叩き上げの人?
0202デフォルトの名無しさん
垢版 |
2019/02/07(木) 23:49:29.22ID:UFwIxg8c
>>200
すまんな。最強言語はこれ。的な書き込みをよく見るから何かの指標(速度でも人気でも書き易さでも)が欲しかったんやけど、C++おじさん召喚しただけやったわ。
0203デフォルトの名無しさん
垢版 |
2019/02/08(金) 00:09:23.84ID:0dQnaPPd
QZ は、ピラフ大王・片山先生(蟻人間)に比べると、プログラミング技術はすごく低い

ピラフなんて、PowerShell で、5ch をスクレイピングするような猛者!
気付いたら、Ruby でもプログラミングしていたし、恐ろしい成長力!
0205デフォルトの名無しさん
垢版 |
2019/02/08(金) 17:54:00.40ID:8xyArS0I
いやあ。名言出たね。いいねえ。


今時、C++を書けないのは馬鹿の極みだと思いますね


素晴らしい。最後にキリッって付けたくなるね。
0206デフォルトの名無しさん
垢版 |
2019/02/08(金) 17:56:44.54ID:8xyArS0I
       / \  /\ キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |今時、C++を書けないのは馬鹿の極みだと思いますね
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー–、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0208デフォルトの名無しさん
垢版 |
2019/02/08(金) 18:43:34.71ID:+xI7giGZ
ここ10年のC++の進化が激しすぎてついていけん
0209デフォルトの名無しさん
垢版 |
2019/02/08(金) 20:01:19.94ID:I1aUE0ou
>>204
script1種とコンパイル3種に分けた結果やで。

その図みんなでちゃんと作ったら次に流行る次世代言語見つけられると思ったんやが
みんなブチキレやから諦めた。言語例載せたのが失敗やったわ。

ほんで、それ作ってて以下の予想が立ったから書いとく。

script系:この系は不可侵領域あるから廃れん→typescript or もっと新しいのが流行る
VM有り系:この系はGC有り系と役割が被ってるから廃れる→残るとしたらモバイル用途のみ
GC有り系:この系はVM有り系を食って一番流行る。→Go or もっと新しいのが流行る。分野が広いから2言語くらい座れる
GC無し系:この系は不可侵領域あるから廃れん→rust or もっと新しいのが流行る

VM系の言語は消える。script系1個、GC有り系1,2個、GC無し系1個、合わせて3-4個に収束する。
機械学習とか学習用とか速度より構文が重視される系が残るのかは、図の範囲に無いから分からん。

15年したらワイの予想が当たってたか確認しに来るからそれまでこのチラ裏を保守しとくんやで。
0214デフォルトの名無しさん
垢版 |
2019/02/09(土) 13:49:27.53ID:F2V9krnu
>>187
Cじゃなきゃできない事はあってもC++じゃなきゃってもんはそんなないし
大体の場合C++以外を使う方がベストプラクティスな場合の方が多い
0215デフォルトの名無しさん
垢版 |
2019/02/09(土) 13:54:05.42ID:F2V9krnu
Rubyガイジあ暴れてた時は普通のヤツかと思ってたけどコイツどうしようもないガイジだな
0216 ◆QZaw55cn4c
垢版 |
2019/02/09(土) 14:07:51.62ID:1JWnTnfH
>>214
たしかに
C で書く必要があるという話はよくききますね

>>214-215
まじめに相手をしながら同時に罵倒するなんて、あなたも私と同じく分裂症的ですね…
0217デフォルトの名無しさん
垢版 |
2019/02/09(土) 17:25:06.31ID:F2V9krnu
そりゃ180〜190レスくらいまで読んで思った事とそこから先最後まで読んだ間の時間差で思うことも変わるだろ
0221デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:06:11.50ID:z94OkPvn
>>209
VM有り言語はそれほど廃れるとは思わんけどどうなんだろ。役割がかぶってるって結構抽象的では?
進化するとなると、VMごとデプロイ出来るようになって、VM無し言語と対して変わらなくなると思うよ。今の.net coreみたいに。
VMがあれば動くってのは割と強くて、Script系の不可侵だと思ってる部分も本質的にはそれとあまり異なる理由ではないと思う。

Goだってバイナリサイズえげつなくて、殆どのランタイムを内包してるからアレなんだし。
0222 ◆QZaw55cn4c
垢版 |
2019/02/10(日) 15:15:35.65ID:nGIVWkyn
>>221
VM のメリットななんですか?屋上に屋を重ねる感が強くて、VM のメリットがよくわからない…
0224デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:26:57.11ID:rzMRhZmV
VM言語のメリットはランタイムが別だからバイナリファイルがコンパクトにできる事じゃない?Goとの比較

昔は同一のバイナリが複数のOSで使えるなんて言われてはいたけど蓋をあけてみれば全然そんな事はないし
0225 ◆QZaw55cn4c
垢版 |
2019/02/10(日) 15:50:42.06ID:nGIVWkyn
>>224
>バイナリが複数のOSで使えるなんて言われてはいたけど
write once, debug evrywhere......
0226デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:57:46.27ID:BbTEeZaP
C#(.NET Nativeビルド), Java(Android RuntimeやSubstrateVMでのビルド)もGoと同じくGC付きのネイティブバイナリ
一方で基本ネイティブの言語もLLVMで動的プロファイル利用のJITを使うことも出来る
この辺の壁は徐々に消えつつある
0229 ◆QZaw55cn4c
垢版 |
2019/02/10(日) 16:24:03.71ID:nGIVWkyn
>>228
>「Ruby」の動的型付け、
これだけなら単なる癌にしかみませんが…

https://julialang.org/
>Optionally typed
Julia has a rich language of descriptive datatypes, and type declarations can be used to clarify and solidify programs.
まあ妥当かな…
0230デフォルトの名無しさん
垢版 |
2019/02/10(日) 17:04:50.60ID:araq2RKu
JULIAは、日本のAV女優。C-more Entertainment所属。 身長:158cm。スリーサイズ:B101・W55・H84cm。血液型:AB型。 趣味:自分磨き、読書。特技:簿記2級、猫に懐かれる事。
0231デフォルトの名無しさん
垢版 |
2019/02/10(日) 17:33:00.78ID:KoYwv+8z
簿記2級ってことは商業高校であまり成績よくなかったほうかな?援交しまくりで。
普通高校で2級ならすごい。
0234デフォルトの名無しさん
垢版 |
2019/02/10(日) 19:35:12.91ID:xjQD7Pcp
>>222
OSやCPU等が違ってもVMがあれば同じVM用のコンパイル済みバイナリがそのまま動くってのが利点ではないかな。
まあしかし実際にはVMごとに違うバグがあったりして中々理想通りにはいかんことがJavaで証明されてしまった感があるわけだが。
0237デフォルトの名無しさん
垢版 |
2019/02/10(日) 20:30:52.78ID:EWmLbbO6
>>228
配列アクセスが1始まりだったり、掛け算記号が必要なかったり、
教科書にある数式をそのまま使えるように意識された言語という印象。
推してるやつも理論よりすぎて個人的には好きになれん。
0238デフォルトの名無しさん
垢版 |
2019/02/11(月) 12:20:42.21ID:ijgTPsVT
>>222
移植性は昔から言われてることだけど、コンパイラも作るのが楽だし、中間言語は都合の良い命令セットが定義できるからサイズも小さくなる。

何より、コンパイラの改良とVMの改良を分離出来るので、割と柔軟に改良できる。
使う言語のバージョンと、VMのバージョンに厳密な区切りが要らないと言うか。
最低限このバージョンが要る、ぐらいは必要だけど。

新しい言語のバージョンを使って、古いVMで動かすって事が不可能ではなくなる感じかな。
逆も然りで、古いバージョンの頃に書いたものを、最新のVMで動かすことも不可能じゃない。こっちは割とよくある。

ネイティブバイナリ吐いてると、そのへんキツイと思う。特に標準ライブラリがその言語で実装されてるGoとか。
0239デフォルトの名無しさん
垢版 |
2019/02/11(月) 12:25:06.71ID:ijgTPsVT
過去Javaは確かに辛かった時代もあるけど今は安定してるし、Monoも割と安定してるぞ。
.netは.net Native使わんでも、ngenかければ良い。
0244デフォルトの名無しさん
垢版 |
2019/02/11(月) 13:46:40.87ID:a3vDiVrE
>>243
バカなコミッターがDateを完全に消去しなかったせい
今後も互換性テストの呪いでいつまでも残り続ける
0245デフォルトの名無しさん
垢版 |
2019/02/11(月) 13:56:32.92ID:RMH+C64t
ログまわりもひでぇしな
java書くくらいなら転職するわ
0248デフォルトの名無しさん
垢版 |
2019/02/11(月) 15:23:01.36ID:oA8l1dyY
commonsや独自のutilで特段大きな問題を感じたことはない
0249デフォルトの名無しさん
垢版 |
2019/02/11(月) 20:43:19.19ID:QQiWH0mp
>>246
実験レベルというよりは本来が実プロダクトより実験を目的に作られてる面が大きい
目的にと言うと言い過ぎかもしれないが作っているコミュニティが理論や実験寄りなので
0252デフォルトの名無しさん
垢版 |
2019/02/11(月) 23:41:47.02ID:QQiWH0mp
>>250
何も間違ってないけど雑な数値計算実験やアルゴリズム実験には本当にイケてるのよ?
漸進的型付けでも型推論と最適化が程よい塩梅で効いてるし私は好き
0254デフォルトの名無しさん
垢版 |
2019/02/12(火) 08:24:33.10ID:VUa3es/D
>>232
不人気でユーザがいなくなっちゃった言語が
40年越しの環境でそのまま動いても意味ないけどね
0255デフォルトの名無しさん
垢版 |
2019/02/12(火) 08:31:43.79ID:jKA+nxgG
雑な実験をC++でやるのには何の問題もないけどそれでもなお煩わしい(ex.tupleとかpairとかがびみょい)
ていうかC++こそ本腰入れた実験に使うんもん(分野によります)だし普段はもっと雑に書きたいなという気持ち

Cは無いかなー
できるけどC++以上にやりたくない
0256デフォルトの名無しさん
垢版 |
2019/02/12(火) 09:25:59.07ID:2Rlz0B+x
実験って何の実験?
大抵の場合c++は向いてないと思うけどね
ハマってる時間がもったいない
0258デフォルトの名無しさん
垢版 |
2019/02/12(火) 12:22:11.18ID:2Rlz0B+x
そういうコアな計算部分にc++の機能あんまりいらないと思うけどね
結局パフォーマンス必要ならcudaにオフロードとかするんだろうし
構文的なところは凝らないのが正解だよ
0259デフォルトの名無しさん
垢版 |
2019/02/12(火) 14:19:55.88ID:TPiqZniI
>>254
他言語のコミュニティメンバーがもう誰にも使われなくなった言語の
しかも40年前の環境を復活させたんなら逆に凄いことだな!
0261デフォルトの名無しさん
垢版 |
2019/02/12(火) 21:08:01.13ID:jKA+nxgG
CとC++とFortranで型システムが一番マシ(個人の感想)なのがC++って選び方なので
0263デフォルトの名無しさん
垢版 |
2019/02/12(火) 21:35:55.50ID:zazJl4ej
論文のために数回動けばいいようなコード
 → Python (主要な計算部分はライブラリ任せ)
雑とは真逆の実用ライブラリ
 → C (NumPyなど)

というのが数値解析などの分野の人達の感覚では

そしてライブラリ使ってない箇所もあわよくば早くしたいけど
動的言語からあまり離れたくという欲張りさんのために
NumbaやJuliaなどがある
0265デフォルトの名無しさん
垢版 |
2019/02/13(水) 11:27:30.70ID:0cDEleYh
>>263 python でNumpy やNumba を動かせばよいだけの話。 
pythonをNumbaでJIT化すれば高速に動く。
だから数値解析、統計、機械学習などでpython が広まっている。

numbaを利用したpythonループの高速化
https://qiita.com/ken223/items/311032e45f7cd9fb6be6
numpy.sum() より numba でJIT化したほうが若干早い

全体をもっと高速化したい場合はCythonでコンパイルすることになるが、若干ソースに変更が伴うのが欠点。
0267デフォルトの名無しさん
垢版 |
2019/02/14(木) 09:24:39.49ID:QGThOkDI
>>266 明示的に書けば良いのでは?

Cython のスレッド並列処理
https://www.isus.jp/products/python-distribution/thread-parallelism-in-cython/
Cython の特長の 1 つは、ネイティブ並列処理 (英語) をサポートすることです (cython.parallel モジュールを参照)。
cython.parallel.prange 関数は並列ループに使用できるため、Python* でスレッド並列処理を使用して、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーを活用することができます。

インテル® Distribution for Python* 2017 の Cython
0272デフォルトの名無しさん
垢版 |
2019/02/17(日) 11:02:26.51ID:HW0MSqPy
関数のカリー化がないのにパイプ演算子だけ持ってきちゃったElixirはなんか変だよな。
パイプ演算子というよりUFCS。ピリオドにしておけばよかったのに。
0273デフォルトの名無しさん
垢版 |
2019/02/17(日) 20:53:38.23ID:4EK3mNUu
ユーチューブみてたら外人さんが今年はじめるおすすめ言語でGoあげてたけどどうなの?

https://youtu.be/Wp6Z2wVyPeY
0276デフォルトの名無しさん
垢版 |
2019/02/18(月) 10:32:14.54ID:9yTHlAk5
>>273
英語わらないけど
パイパンなのはなんとなくわかった
0277デフォルトの名無しさん
垢版 |
2019/02/18(月) 10:38:37.16ID:GrFE76R+
Goはいい言語だと思うが文法がきらいという理由で俺個人としてはやりたくない。
0283デフォルトの名無しさん
垢版 |
2019/02/18(月) 17:11:02.34ID:1FoQC5sv
人力でそんな手間書けるくらいなら最初からCで書くよね普通。
0286デフォルトの名無しさん
垢版 |
2019/02/18(月) 19:42:42.37ID:2Z8BFsKx
手間っつってもそんなでもなくない?
普通に-Osオプション的なのもデバッグ情報の削除もCでやるでしょ
0287デフォルトの名無しさん
垢版 |
2019/02/18(月) 19:47:35.74ID:2Z8BFsKx
連投になって悪いがなんならltoも普通にCでやるだろうし存外普通の事しかやってないぞ?
0288デフォルトの名無しさん
垢版 |
2019/02/18(月) 20:19:28.46ID:7ubWqY/W
c + lint で済む話をバカが無視するからコンパイラに組み込んだみたいな話、本当バカ。
0289デフォルトの名無しさん
垢版 |
2019/02/18(月) 21:50:19.37ID:788tab2z
普通ならなぜデフォにしないの?
Cパイセンに華持たせてるの?
0291デフォルトの名無しさん
垢版 |
2019/02/19(火) 09:43:28.93ID:UvIEs0xP
当然ながらデバッグし易さやコンパイル時間などとトレードオフがあるので
特化をデフォルトにする必要は無い

Cは現役だし使うことを誰も止めはしない
比較は構わないけど推されてもここでは単純にスレチ
0292デフォルトの名無しさん
垢版 |
2019/02/19(火) 10:27:13.34ID:SwtNBaDU
デバッグし易さやコンパイル時間などを考慮した結果、せっかくwasmのクセに性能はす、す、すくりぷとげんごwwのじゃばすくりぷとwwwと大して変わらずww5倍wも巨大なwasmバイナリをデフォで吐いてしまうビチグソ言語()があるらしいwww

CやAssemblyScriptは性能大して変わらなくてもデフォでジャバスクリプト()よりサイズ小さいのにどう言い訳すんのこの新世代()うぇぶ言語wwwww
0297デフォルトの名無しさん
垢版 |
2019/02/24(日) 13:15:52.70ID:6KasUEnW
A better C = Go
A better Perl = Python
A better Java = Kotlin
A better Javascript = TypeScript
A better Lisp = Clojure
0298デフォルトの名無しさん
垢版 |
2019/02/24(日) 13:24:51.15ID:9J0kSw8Y
>>297
PythonとPerlって言うほど用途被ってるか?
個人的には
A better Python = Node.js
だって思うけどな
0299デフォルトの名無しさん
垢版 |
2019/02/24(日) 13:28:03.32ID:8D34p5sx
Groovyは?
0300デフォルトの名無しさん
垢版 |
2019/02/24(日) 13:29:59.40ID:6TiHqsFQ
A bitter C++ = D
0302デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:42:02.16ID:iK4D+UQi
>>297
Goにbetter Cはま
0303デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:42:38.76ID:iK4D+UQi
だ無理だ。
バイナリが大き過ぎる。
0304デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:47:20.41ID:KL6kEpaz
A poorer C = Go
A poorer Perl = Python
A poorer Java = Kotlin
A poorer Javascript = TypeScript

しっくり来るな
0305デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:50:58.08ID:1vpoAdpW
>>303
まだというかずっとじゃね
GCやgoroutineスケジューラのサイズは削れないし
用途がいくらか被るにせよ、性質的にCの代わりを目指したものでもないし
0307デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:04:15.79ID:KL6kEpaz
>>306
betterというか完全にbestだね
使いやすいけどとっつきにくさがどうしてもあるから
優しいとされる他の言語が重宝されがちになるが
0309デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:04:43.79ID:iK4D+UQi
>>305
禿同。
Goは鯖で速度重視専用な気がする。
マイコンの規模で使える気がしない。
0311デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:16:29.07ID:iK4D+UQi
違う。
それだけマイコン使う分野がマイナーってだけ。
CPUパワーがあれば楽出来る言語使うのは当然。
0312デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:24:41.78ID:+6ZRRI/z
>>311 はあ? マイコンって何を指してるか知らんが、今のスマホのパワーは、数年前のデスクトップを凌駕してるぞ。
0315デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:50:17.53ID:iK4D+UQi
>>313
そそ。
PICとかそこまで小さい規模の話。
スマホでもゲームとかはCやC++もあるだろうけど、楽出来る分にはCは無いわな。
0316デフォルトの名無しさん
垢版 |
2019/02/24(日) 19:51:43.29ID:+6ZRRI/z
100円のチップでPythonが動く時代なんだぞ。 自動車の自動運転のマイコンなんか、下手なPCよりパワーはあるぞ。
0317デフォルトの名無しさん
垢版 |
2019/02/24(日) 20:04:26.13ID:iK4D+UQi
>>316
自動運転用の石はそうだが、パワステ制御だけとか小さい石は今でも8ー16bitだし、CPU全体じゃそっちのが数は多い。(80%)
IntelやARMは小さいパイで大きく稼げる市場を独占しただけで。
0319デフォルトの名無しさん
垢版 |
2019/02/24(日) 20:13:36.10ID:iK4D+UQi
少なくとも日本車はルネサス製マイコン使ってる。
Casl2とかニーモニックがそのまんま。
まさに試験が企業の求める人材発掘の篩になってる。
0321デフォルトの名無しさん
垢版 |
2019/02/24(日) 20:48:48.19ID:+6ZRRI/z
>>318 今はARMだろ。 中央のは、NVidia とか、Intel を使ってるのかな?
自動車って、何十とCPUを使ってるから何がメインかというのは難しいのでは?

Nvidia もIntel も実態はARMコアを使ってるみたいだけど。
ルネサスも震災以降はダウンして、ユーザーからのARMを使えという声に応じざるを得なくなったみたいだし。
0325デフォルトの名無しさん
垢版 |
2019/02/24(日) 22:16:13.14ID:ObazTuX8
ざっくりした言い回しは自然と情報量が落ちてしまうので難しいもんだが、GoはやっぱりCompiled PythonとかC++とJavaの中間とって言語機能をC並に絞ったとかの複雑な立ち位置の印象だ

Rustもbetter C 兼 replacing C++の印象
0327デフォルトの名無しさん
垢版 |
2019/02/24(日) 23:12:15.59ID:ROsmA06r
理論的には理想に近い言語でも、実用環境が限られたり、スピード的に極端に落ちると現実的ではなくなるからね。

やはり言語的に洗練されていて、環境を選ばずに動き、スピードの解がある言語は伸びる。

Javaは、環境を選ばずに伸び、スピードの解はJITでまあまあ解決した。

Pythonは色々難しい問題がありそうだが、PyPyはJITで動いてるしいずれ本家がJITをサポートする様になるんじゃ無いのかな。Cythonは直接Cに落ちるが互換性の問題があるし。
0328デフォルトの名無しさん
垢版 |
2019/02/24(日) 23:34:44.89ID:HXZhXTRb
goは構文が糞すぎて糞
ゲネリクスとかそう言う問題以前
変数宣言さえ糞
設計した奴はガイジの糞
グーグルって俺よりバカなんだなと思うわ
0329デフォルトの名無しさん
垢版 |
2019/02/24(日) 23:37:57.60ID:OZS1hzPH
goは触れば触るほど、Cでも良かったよね
Cのほうが論理的に簡単にできるよねってことが多過ぎる
0331デフォルトの名無しさん
垢版 |
2019/02/25(月) 01:11:58.26ID:PRsbysjw
チュートリやってたら変数宣言だけで4つくらい出てきてガイジかな?って気持ちになった
0332デフォルトの名無しさん
垢版 |
2019/02/25(月) 01:58:52.98ID:AuhEt3eH
Lisp方言やPythonとRubyのように類似品を乱立させるやり方は古臭い

Java Kotlin C# TypeScript Go
の中からRubyと同じ失敗を繰り返す言語が続出すると思うと残念だ
0333デフォルトの名無しさん
垢版 |
2019/02/25(月) 02:36:48.48ID:9+tyf5TU
この中だとGoとKotlinが危ないな。
typescriptも、ecmaに型アノテーション
付く形で合流しそう。
0334デフォルトの名無しさん
垢版 |
2019/02/25(月) 03:05:10.05ID:SRxcknzj
>>331
なんであんなふうにすんだろねw
0335デフォルトの名無しさん
垢版 |
2019/02/25(月) 07:38:01.51ID:eDFcqLgp
>>333
esのデコレーションは今でも同等機能をコードで補完できるんだよな
コードを組み上げられる能力があればtsもゴミみたいにしか感じられなくなるね
0337デフォルトの名無しさん
垢版 |
2019/02/25(月) 08:52:20.78ID:isDwzKBm
最近のC#はあまりにも先端が突っ走りすぎてて、従来の「哀れな底辺ドカタにも最先端の言語を」という重要な役割を見失いつつある
>>336のようなC#のファンですら大抵3つ4つくらい前のバージョンで知識が止まってる状況で、
自社開発でWebサービスやってますみたいな極一部の「別にC#でなくてもいい層」ばかりを相手にしている
次期バージョンでは.NET Coreでしか使えない機能が出てきて足切りが始まり、プラットフォームが完全に分断される
0338デフォルトの名無しさん
垢版 |
2019/02/25(月) 09:01:20.29ID:IWOA41f/
.NET Standardで基本事足りるとはいえ、その他のオープンなライブラリ側もおっつけてない感じあるなぁC#
0340デフォルトの名無しさん
垢版 |
2019/02/25(月) 09:17:23.23ID:e7/gY7Zv
>>328
Goは大学出たての経験値の低い人でも書けるお馬鹿さん言語を意図して設計されとるんやで
0341デフォルトの名無しさん
垢版 |
2019/02/25(月) 09:17:41.92ID:fQDP25JS
.NET Coreと.NET Frameworkの間でライブラリを共通化するためのAPIセットを定義するのが.NET Standardの主目的であったが、
その.NET Standardが次のバージョンで.NET Frameworkを切り捨てるというギャグのような話
0342デフォルトの名無しさん
垢版 |
2019/02/25(月) 09:27:39.69ID:XCxk7gA5
>>337
趣味でもC#書くけど、それでも確かに正直.NET Coreの3を先食いしてる人達からすると数世代遅れてるな。
Span<T>とかはそりゃ確かにパフォーマンスは雲泥だろうけど、それ要るの結構限られてない?とか。

個人的にはあの断捨離は失敗しそうだから、そこから色々拾い上げてるMonoの方が良いんでないの?と思ってる。

Windowsだとほぼバイナリポンで動くというメリットが、クソ多いファイル数にかき消されてる気がして仕方ない。

.NET FW切り捨てるのはちょっと無理があるんじゃねえかなって思ってるけど、やるんだろうな…。
0343デフォルトの名無しさん
垢版 |
2019/02/25(月) 09:45:47.12ID:5uGv7r8R
スマホゲー開発はだいたいC#だし、Unityがゲームエンジンとして標準的だからしぶとく残るんじゃないか
コンシューマーゲーはまだまだC++だけど
0345デフォルトの名無しさん
垢版 |
2019/02/25(月) 10:08:23.24ID:bZylS+V2
>>341
最初からCoreへの移行のための共通化じゃね
Coreに欠けてたGUIが解決したらFrameworkから追い出し始めるのは
むしろ自然だと思うけど
0346デフォルトの名無しさん
垢版 |
2019/02/25(月) 10:35:02.24ID:gWR+hxYA
>>342
普通の人が何も意識しなくてもアプリのパフォーマンスが良くなるってのがSpanを含めた最近の変更やで
0347デフォルトの名無しさん
垢版 |
2019/02/25(月) 10:41:49.82ID:AuhEt3eH
C++を切り捨てるつもりが
いつの間にかC#自身の古いバージョンを切り捨てる話に変わっている
これがPython Rubyと同じ失敗
0348デフォルトの名無しさん
垢版 |
2019/02/25(月) 11:51:29.16ID:XCxk7gA5
>>346
そうなんだが、実際問題そこまでパフォーマンスに悩んだ事あんま無いんだよな。
ゲームとかなら顕著なんだろうけど。
0349デフォルトの名無しさん
垢版 |
2019/02/25(月) 12:30:34.65ID:sO03erxC
C#は言語自体は面白いんだけどな
特に非同期処理は一日の長があるだけにライブラリが非常によく整備されてるし、
課題だった非同期処理のパフォーマンスも最近では飛躍的に改善されてるし
非同期シーケンスなど他言語に先駆けた取り組みも積極的に行われてる
しかし最近のMSはサイドバイサイドに甘えすぎなんだよ
既存資産との折り合いをつける努力を完全に放棄している
Azure関係とかもちょっとSDKのバージョン上げたりするとそのたびにぶっ壊れる有様でほんと酷い
0351デフォルトの名無しさん
垢版 |
2019/02/25(月) 16:42:45.71ID:6aHiqgcw
>>333
ecma に型アノテーション入って TS がオワコンになるは本当にあり得る未来だね
CoffeeScript もそんな感じで廃れた歴史が実際あるわけだし
0352デフォルトの名無しさん
垢版 |
2019/02/25(月) 16:46:51.54ID:6aHiqgcw
C が best だという意見だけは同意しかねる
Go は滅多にクラッシュしないよ。メモリー管理の機構とかちゃんとしてるからだと思うけど
C++ で開発してたときはしょっちゅうコアダンプ吐いてた印象だった。やっぱ確実に進歩はしてるよ
0354デフォルトの名無しさん
垢版 |
2019/02/25(月) 23:28:58.22ID:lY+qkW3x
>>352
何を言ってるんだ貴様は
0355デフォルトの名無しさん
垢版 |
2019/02/26(火) 00:36:46.92ID:Ut9Tn3WV
>>352
えーと、正直コアダンプ吐くような事態が起きるのは、単にあなたのプログラムがポカしているからじゃないかなーという説が
0356デフォルトの名無しさん
垢版 |
2019/02/26(火) 00:48:01.56ID:gIbEXRZX
むしろプログラマはポカするものという前提の元で設計されてるのが昨今の言語じゃない?
Rustなんかモロそんな感じだし
0357デフォルトの名無しさん
垢版 |
2019/02/26(火) 07:15:05.85ID:Bs277ab3
>>352みたいな低知能がアホなことをしないためにガチガチな仕様で不便な言語が生まれてるんだよな
0359デフォルトの名無しさん
垢版 |
2019/02/26(火) 08:42:54.19ID:Er24pllw
まあ世の中のプログラマの大半が低脳だから、Goの方向性は間違ってはいないよ
0360デフォルトの名無しさん
垢版 |
2019/02/26(火) 09:09:32.55ID:W0wJxBNy
反知性主義万歳!
0362デフォルトの名無しさん
垢版 |
2019/02/26(火) 09:29:07.33ID:UAPWfCGq
どちらの言語も、規模と高度な最適化(→複雑さ)両方が必要なシステムを
手に負えるようにするためだと思うけどね

GoはYoutube実装に使われていて
Rustに至っては言語仕様とツールチェーンを実装した本人達を言語ユーザーと想定したものだし
0363デフォルトの名無しさん
垢版 |
2019/02/26(火) 09:54:23.08ID:JeFEvG3d
ただしょうもない例外メッセージ吐いて死ぬクソ言語より
コアダンプの方が原因追いやすいってのはある
派手にメモリ破壊されるとほとんど解析不能になるけども
0366デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:16:27.29ID:W0wJxBNy
檻の中でお幸せに
飯も出るしな臭いけど
0367デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:36:46.29ID:E0EMtjG2
昔々MS-DOSとかではNULLのポインタに書き込んでも平然とセグメントのアドレス0に書き込んだりしてたなあ・・・
0368デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:37:18.64ID:pB2Kv/x6
まぁ結局こだわらない人が多くて足撃ちまくりの動的型付け言語とかの方が人気でるんだけどな
0369デフォルトの名無しさん
垢版 |
2019/02/26(火) 18:41:56.37ID:crMsvTK0
バグってはいけないなんて信じてるのはよほど正義感の強いやつだけだな
マッドサイエンティストなら実験失敗してみんなに迷惑かけても罪悪感がない
0370デフォルトの名無しさん
垢版 |
2019/02/26(火) 18:45:27.78ID:c2o2e7e/
バグを発見したら仕様ということにしてしまうぐらいの機転を効かせる事ができなければ
0371デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:02:13.61ID:tR5x62Pi
>>356
ポカするってのは正しいが、起きうるポカの想定が間違ってて、
そのポカをしないようにする操作自体がポカを誘導してるという本末転倒な機能ばっかり
入れてるのがc++だったりする。
0372デフォルトの名無しさん
垢版 |
2019/02/27(水) 08:17:07.45ID:2wFtKBDb
高級言語は人間が簡単に使えるためのものなんだからその方向性はどれも一緒でしょ
Goはさらに闇雲に凝るバカとそれを理解できないアホの差分を埋めるためにシンプルになってるが、バカとアホ以外には冗長で見苦しい
0373デフォルトの名無しさん
垢版 |
2019/02/27(水) 14:16:30.50ID:YvoyXuKt
日本は高卒やモン卒が多い国だからちょうどいいじゃん
0374デフォルトの名無しさん
垢版 |
2019/02/27(水) 15:06:35.91ID:fEHTduo4
C++以外ならなんでもいいみたいな雑な考え方をやめろ
電子マネーと同じ
あいつら現金以外ならなんでもいいと思ってるだろ
0375デフォルトの名無しさん
垢版 |
2019/02/27(水) 16:52:54.52ID:YvoyXuKt
C/C++の危険度は半端ねえからな
他なら何でもいいって考えもあり得る
0378デフォルトの名無しさん
垢版 |
2019/02/27(水) 21:45:33.31ID:1o6M4rID
ありうる。
0379デフォルトの名無しさん
垢版 |
2019/02/27(水) 21:53:06.11ID:YvoyXuKt
高卒の天才もあり得る
0381デフォルトの名無しさん
垢版 |
2019/02/27(水) 22:43:37.89ID:K3ri/4ZM
でも「C++開発者募集します」より「Rust開発者募集します」の方が相対的な馬鹿の数は少なそう
分母?知らね
0384デフォルトの名無しさん
垢版 |
2019/02/28(木) 02:22:07.47ID:DbAr3TBt
ないあーる
0385デフォルトの名無しさん
垢版 |
2019/02/28(木) 02:29:27.49ID:MdFdHsbt
コウソツメン!
0386デフォルトの名無しさん
垢版 |
2019/02/28(木) 06:37:49.92ID:BqCmHvap
>>381
馬鹿の数はどちらも同じだろう
それよりRustの方はこだわりが強すぎな人で、仕事やりにくそう
0387デフォルトの名無しさん
垢版 |
2019/02/28(木) 07:20:36.96ID:VBRd9ntf
募集してる側もそうなんだから問題ないでしょ
0388デフォルトの名無しさん
垢版 |
2019/02/28(木) 09:32:05.85ID:oAFMMcaR
馬鹿は人の数だけある。
0392デフォルトの名無しさん
垢版 |
2019/02/28(木) 13:16:33.94ID:/UaZj4MI
× 馬鹿と言うやつは馬鹿
○ 馬鹿と言うやつはマナー違反

× 馬鹿を使いこなす
○ マナーを使いこなす
0397デフォルトの名無しさん
垢版 |
2019/02/28(木) 20:24:09.30ID:xdOF/Hzc
自分が話してる時はヤジを飛ばすなといっといて、
3分後に他人にはヤジを飛ばすような奴だな。
0402デフォルトの名無しさん
垢版 |
2019/03/01(金) 00:19:54.06ID:4nx0/8w6
圏論の勉強をしたいのに位相空間の具体例が出てくるみたいな
具体例はマナー違反 か?
0406デフォルトの名無しさん
垢版 |
2019/03/02(土) 19:01:22.28ID:ACbQR/xi
若いのが持て囃してる言語、触らずに批判すんのも悪いと思って触ってみても
どれもしっくり来なくて、最終的にCに戻ってくるよな

Goとかいうの、あれ本当にGoogleの高学歴サマが作ったのかってくらいセンスがない
0408デフォルトの名無しさん
垢版 |
2019/03/02(土) 19:18:28.86ID:SCVHkiR5
>>1
他の言語といっても、
・キツネアイコンの Kit は開発始まったばかり。
・Pony は未だにβ版
・Ring は評価が固まってない。

去年と今年は不作の予感だな。
0410デフォルトの名無しさん
垢版 |
2019/03/03(日) 00:26:19.25ID:5ND6FqRV
>>409
これ関連のIO Ninjaってなんなの有名なの?
聞いたことないしサイト見てもよくわかんないんだけど。
0412デフォルトの名無しさん
垢版 |
2019/03/03(日) 02:21:33.63ID:cmngH9hR
おじいちゃんかどうかはCのバージョンによるんじゃね
K&Rとかだと何とも言えんが
0413デフォルトの名無しさん
垢版 |
2019/03/03(日) 02:28:15.76ID:eREWiz41
組み込みとかそのアーキテクチャてCのコンパイラしかないってのなら分かるけど
正直x86とかARMでKernelとか以外の分野でC使うのは多くの場合無駄だな
0414デフォルトの名無しさん
垢版 |
2019/03/03(日) 02:48:42.82ID:vKWKyL5A
今時100円のチップでもpythonが動く時代だもんな。
BBC が英国の小学生に無料配布しているmicro:bit もmicroPython が基本だし。
日本では2500円位 これでいてARM coretex M マイコンが入ってる。
0417デフォルトの名無しさん
垢版 |
2019/03/03(日) 07:54:54.63ID:M9fY+xVL
よう知らんけど、コストとか消費電力の関係でもっとプアな環境なんじゃないかね
1万円の炊飯器と1万2500円の炊飯器なら1万円の炊飯器買うだろうし
0421デフォルトの名無しさん
垢版 |
2019/03/03(日) 10:16:29.46ID:BbxzBxVK
アルゴリズム実験なんかはやっぱcで書くけどな。
メモリ使用量とランタイム速度の実測について一番素直な結果だすし。
0426デフォルトの名無しさん
垢版 |
2019/03/03(日) 22:29:55.16ID:jlgIhl+j
>>410
IO Ninja は IoT デバイス開発用のターミナルエミュレータ、各種治具、デバッガといったところだね。
開発元の Tibbo Technology 製のIoTデバイスって国内に代理店なかった気がするので、あんまり有名ではないな。
0427デフォルトの名無しさん
垢版 |
2019/03/03(日) 23:17:48.52ID:2JgnAl3w
じゃあjancyとやらもマイナーなままだろう
0428デフォルトの名無しさん
垢版 |
2019/03/04(月) 14:04:54.79ID:/O719wMt
JVM言語でもjitやらoptimizeやらを切れば(お前の実装方法に応じて)素直な結果を出すと思うけどなあ
0430デフォルトの名無しさん
垢版 |
2019/03/05(火) 08:31:24.63ID:0SMIqw+w
>>426 その手のものでは、最近はmicropython が主流だろ。
100円くらいのボード(EPS32など)でも使える様になってる。
昔は(今でも入ってるのは多いが)timyBasicだった。
micro:bit ですらmicropython
スクリプト系が人気なのは、プログラムが小さくコンパイルの必要がないからターゲットボードの中だけで完結できるからだろう。
ラズベリーパイは、フル仕様のPython を標準としている。

Pythonが人気なのは、CPUやOSにとらわれなくてポーティングが楽だからだろうな。
昨日Sublimeをインストールし直したら中身の殆どがPythonに置き換わってた)、PgAdmin もPythonに変わった。
0431デフォルトの名無しさん
垢版 |
2019/03/05(火) 09:11:57.31ID:DIrFqE8l
>>430
死ね
0435デフォルトの名無しさん
垢版 |
2019/03/05(火) 11:22:33.66ID:v05Rblfl
>>427
C互換言語はマイナー落ちするのが宿命。
いまは仕方ないな。
そのうちなんとかしてみるよ。
0437デフォルトの名無しさん
垢版 |
2019/03/05(火) 22:54:13.54ID:exrcDGV2
goはgoroutineとchannelがあってこそだと思うがなあ。
逆に、そういう面白味がない言語はたとえよく出来ていてもいまいちウケが悪いような。nimとか。
0438デフォルトの名無しさん
垢版 |
2019/03/05(火) 23:38:38.28ID:wt60grpv
しっくり来た
0441デフォルトの名無しさん
垢版 |
2019/03/06(水) 09:33:23.47ID:FCOQEIBI
Kotlinもよろしく
0442デフォルトの名無しさん
垢版 |
2019/03/06(水) 22:16:22.83ID:rYBjnE2S
micro:bit持ってるけど、あれって専用のHEX吐いてるよね?micropythonそのままで動いてるの?
0444デフォルトの名無しさん
垢版 |
2019/03/07(木) 09:13:43.68ID:E2eXaClF
>>442 micropython そのものが埋め込まれてるよ。 少しだけ独自ライブラリを持ってるだけの話。
だからHEXを読み込ませた後は、teraterm などで入れば直接REPLが使える。
0446デフォルトの名無しさん
垢版 |
2019/03/07(木) 19:23:07.57ID:ciULrZzx
pythonの型がクソザコすぎてイライラする
よくこんなゴミ言語で開発する気になるわ
ゲエジしかおらんのか
0450デフォルトの名無しさん
垢版 |
2019/03/07(木) 22:52:11.02ID:ciULrZzx
>>448
phpやperlは正しくゴミと認識されてるのに、なぜかpythonだけ私違いますよみたいな顔してんのがイラつく
バカp言語3兄弟、仲良くゲエジしてろよと言いたいね
0453デフォルトの名無しさん
垢版 |
2019/03/07(木) 23:21:02.99ID:oTfLqBj1
ぺーるは時代遅れなだけで偉大な言語だろ
徹頭徹尾クソなphなんたらと同列にしてはいけない
0454デフォルトの名無しさん
垢版 |
2019/03/07(木) 23:24:06.09ID:jEbiMY7g
phpは型導入間近だよな
0456デフォルトの名無しさん
垢版 |
2019/03/07(木) 23:33:32.43ID:ciULrZzx
phナントカは時代に乗ってるんじゃなくて糞を乗っけて転げ落ちてるゴミだよ
0457デフォルトの名無しさん
垢版 |
2019/03/07(木) 23:48:34.40ID:E2eXaClF
いくら悪口を言っても、妬みとしか聞こえないな。
なんだかんだ言っても人気があるのにはそれなりの理由がある。
人気がないのはそれなりの欠点がある。
0458デフォルトの名無しさん
垢版 |
2019/03/07(木) 23:50:57.23ID:cPei42ec
>>448
そこは排他関係じゃないんだがなあ。
動的型付け言語で静的に型チェックすることが可能だってのはTypeScriptを見ればわかるはず。
Pythonにも型ヒントはあるが出来がいまいちってだけ。
0459デフォルトの名無しさん
垢版 |
2019/03/08(金) 00:11:03.26ID:5pI9JP8x
PHPが人気ってマジ?
俺の周りじゃ技術選定の候補どころか、名前すら挙がらなくなって久しい

一時期LAMP(笑)とか言って持て囃されてたよなぁ
0461デフォルトの名無しさん
垢版 |
2019/03/08(金) 01:29:39.26ID:UQS1HGyr
全ウェブページの3割がWordPress
CMSのみのシェアに限ったら実に6割
0464デフォルトの名無しさん
垢版 |
2019/03/08(金) 07:35:34.69ID:8yRCoRZ4
>>459
人気だよ
Web系なんて特に、品質に興味のない動けば良い派が多数派の世界だもん
同様の理由でRubyも人気
0467デフォルトの名無しさん
垢版 |
2019/03/08(金) 15:11:54.86ID:enrIbZX0
>>466 そんなこと言ったらほとんどのサイトでJavascriptが使われてるとか、Javaサーブレットの比率が高いというのと同じだぞ。
殆どのOSはC系で動いていますとか?
PHPの人気が落ちてきているのは否定しても仕方ないだろ。

IEEEランキング
https://news.mynavi.jp/article/20180806-674740/

GitHub(Octoverse) ランキング
https://octoverse.github.com/projects#languages

どちらでもPHPはランクを落としている。 
0469デフォルトの名無しさん
垢版 |
2019/03/08(金) 23:19:04.24ID:33ZLM8BT
>>468 ちょっと見た目が初心者用風に見えるから、誤解する人も多いんだろうけど奥が深いな。
特に日本人にとっては、Python3 でUTF-8 が使えるようになってから使える言語になった。 既に10年になるが。
0471デフォルトの名無しさん
垢版 |
2019/03/09(土) 00:21:15.90ID:dWvjadlp
pythonはmapとfilter組み合わせるときとかの見た目がphp並にゴミなので、リスト内包表記の方がわかりやすくなってる希有な言語
0472デフォルトの名無しさん
垢版 |
2019/03/09(土) 00:29:49.32ID:BaMgJESG
リスト内包は気持ちいいけど他のほとんどがイライラさせるから仕事では使いたくないな
0473デフォルトの名無しさん
垢版 |
2019/03/09(土) 00:39:12.52ID:IRFnMIKL
Pythonはリストやマップを使い倒すほどに激遅になっていくから
ループ処理するものは全てCやら何やらに全て置き換えてライブラリ化してから使うしかなくなるからな
0474デフォルトの名無しさん
垢版 |
2019/03/09(土) 00:46:34.01ID:jmJNTA16
>>473 リストを使わずに、セットや辞書を使えば良いんじゃないの? リストは遅いと書かれてるんだし。
セットや辞書はHash
0477デフォルトの名無しさん
垢版 |
2019/03/09(土) 02:03:10.56ID:bnJe64DG
>>473
無限の可能性をもつ次世代言語なんかじゃなくてCに置き換える
っていうビジョンが見えてるのが素晴らしい
0478デフォルトの名無しさん
垢版 |
2019/03/09(土) 03:01:35.52ID:n56g/PGg
じゃあ最初からCやれよ
0479デフォルトの名無しさん
垢版 |
2019/03/09(土) 08:50:59.24ID:ylwqDFWx
最初にやるのは、Cに置き換えないと激遅になる証拠をしっかり押さえること
0480デフォルトの名無しさん
垢版 |
2019/03/09(土) 08:54:53.67ID:jz9xUaFa
得意な部分は他の言語にやらせたらいいっていうのはわかりやすくて良い。
なんでもアピールするバカよりよっぽど良いのは現実と一緒だな。
0481デフォルトの名無しさん
垢版 |
2019/03/09(土) 08:58:56.37ID:6GEF2scy
Pythonは何が得意なの?
0484デフォルトの名無しさん
垢版 |
2019/03/09(土) 09:12:31.13ID:ylwqDFWx
同じことを同じ言語で二回書くのはクソゴミだが、言語を変えるなら二回書いてもいい
0487デフォルトの名無しさん
垢版 |
2019/03/09(土) 09:29:01.65ID:4ewQpv+T
ダックタイピングと呼ばれるものって、実際には同名のメソッドが存在すればそれを呼ぶことができる
(動的バインディング)ってだけで、「アヒル」や「タイピング」は関係ないよな。
アヒルのたとえ話の趣旨からすればTypeScriptのようなstructual subtypingが近いんだろうが。
0488デフォルトの名無しさん
垢版 |
2019/03/09(土) 09:29:17.49ID:jmJNTA16
>>481 ちょこちょこ変更できてなんでもできる事。
だから入門者用としても入りやすい。小学生から学者まで。

特にライブラリーが揃ってるから統計分析など科学技術計算には強い。 特に機械学習やAI は、Python
また、Excel との相性も良い。

コンパクトなバイトコードになるから、IoTの様に小さな所でも動け、REPLが動くから実機で変更テストができ自由度が高い。だから、IoT用言語としての地位も確立している。
0489デフォルトの名無しさん
垢版 |
2019/03/09(土) 09:37:11.61ID:uR+z9zTM
>>487
Pythonにはどっかの赤い宝石とは違ってドキュメントをきちんと書く文化がある
そして、本当に正しく書かれたドキュメントには「プロトコル」としてアヒルが満たすべき要件が定義されている
そこまでやってはじめて「ダックタイピング」と言える
0490デフォルトの名無しさん
垢版 |
2019/03/09(土) 10:01:14.60ID:4ewQpv+T
Pythonのプロトコルというとイテレータとかああいうやつ?あれなら確かにダックタイピングと
言えるかもしれないけど、あらかじめ定義されているもの以外に「アヒル」プロトコルとか
追加できるんだっけ?
0491デフォルトの名無しさん
垢版 |
2019/03/09(土) 10:22:47.01ID:ylwqDFWx
文章力があればプロトコルの数学的定義を覆せる文化
それがドキュメントを書く文化につながる
0492デフォルトの名無しさん
垢版 |
2019/03/09(土) 11:05:03.57ID:ktQSUaaW
>>490 デスクリプタ汎用プロトコルがあるからユーザが定義できる。
https://qiita.com/knzm/items/a8a0fead6e1706663c22

デスクリプタ HowTo ガイド
https://docs.python.org/ja/3/howto/descriptor.html


Duck Typing は動的型付けな言語(Python, Ruby)等における型付けの作法である
ある処理に必要なオブジェクト A と同じ振る舞いができるのであれば、継承関係のある/なしにかかわらず、そのオブジェクトはAと同じとみなして良いというもの。

Python のダックタイピングの例
PythonのABC - 抽象クラスとダック・タイピング
https://qiita.com/kaneshin/items/269bc5f156d86f8a91c4
0493デフォルトの名無しさん
垢版 |
2019/03/09(土) 11:58:15.18ID:GVs3bbIF
Ruby のStringIO は、Duck Typing

StringIO クラスは、IO クラスと継承関係はなく、
単に、read, write など、IO と同名の関数名を使っているだけ

これだけで、StringIO に対して、入出力操作を行うことで、
メモリファイルを扱うことができる

最近は、ガチガチの継承よりも、委譲やDuck Typing を使うことも多い。
宣言無しのinterface みたいなもの
0495デフォルトの名無しさん
垢版 |
2019/03/09(土) 12:17:10.91ID:BnoVO+GE
Rubyは大クラス主義といって、移譲だのプロトコルだのまどろっこしいことするよりどんどん継承しようぜ!という考え方が主流
だから実際にはほとんどダックタイピングは使わない
静的型検査なしでドキュメントも書きたくないとなると、Pythonのような紳士協定ベースなやり方は確実に破綻するので、
実装継承を多用するというのは「実装が仕様」なルンペン文化には適したスタイルではある
0497デフォルトの名無しさん
垢版 |
2019/03/09(土) 12:42:38.75ID:BnoVO+GE
interfaceは元々は「堅い」言語で既存コードに極力手を入れずに建て増ししていくための仕組みだが、
今ではそれが高速な開発におけるデグレ防止に役立ち、生産性において動的型を圧倒したというのは皮肉な話だな
0498デフォルトの名無しさん
垢版 |
2019/03/09(土) 12:47:14.54ID:4ewQpv+T
Javaのinterfaceを初めて見たとき、Goのようなものを期待したら違っててがっくりした思い出。
0499デフォルトの名無しさん
垢版 |
2019/03/09(土) 12:51:39.03ID:ylwqDFWx
静的型は悪くないが静的型を正しく教えるノウハウをだれが持ってるんだろうか
目か?目で盗むのか?
0500デフォルトの名無しさん
垢版 |
2019/03/09(土) 12:54:03.55ID:GVs3bbIF
Duck Typing だと、たまたま同名の関数名があった場合に、バグる危険性があるから、
自分が使うものだけを、interface 宣言させて、バグを避けているのだろう

最近は、その宣言がガチガチ過ぎて面倒なので、Duck Typing が流行ってきている
0501デフォルトの名無しさん
垢版 |
2019/03/09(土) 13:40:27.53ID:ylwqDFWx
危険と安全の対立が今は主流になっているがCの型にはサイズを計算する意味もあった
0502デフォルトの名無しさん
垢版 |
2019/03/09(土) 13:54:13.53ID:jz9xUaFa
流行り廃りは行き来するもんだからな。
動的も静的もいいバランス具合にそのうち落ち着いていくだろう。
本当に流行り廃りを超えてる技術というのはユニットテストやリファクタリングといったものなんだが、
そういうのみんな嫌いでしょ?
0503デフォルトの名無しさん
垢版 |
2019/03/09(土) 14:07:25.26ID:ylwqDFWx
仕様と実装言語が独立しているレベルになったら言語の布教に不都合だから
実装は仕様に依存するぐらいがみんな好きでしょ
0504デフォルトの名無しさん
垢版 |
2019/03/09(土) 19:48:43.49ID:YBbU7zqD
>>497
> 動的型を圧倒したというのは皮肉な話

そもそも言語機能としてのinterfaceは動的型(具体的にはSmalktalk)のダックタイピング(当時はそうは言わなかったが)を
静的型のメリットを殺さずにやるアイデアから考案されたんだから順当だろう
http://www.cs.utexas.edu/~wcook/papers/OOPSLA89/interfaces.pdf
0505デフォルトの名無しさん
垢版 |
2019/03/10(日) 13:14:29.15ID:E4pQDIKL
C++はvirtualを使わない技術、Haskellはラムダを使わない技術を磨いている
Rustも同様
virtualが動的型を圧倒したとか言ってるのは時代錯誤
0510デフォルトの名無しさん
垢版 |
2019/03/10(日) 22:35:21.02ID:iWdySZoH
sortByしたくなったらどうするんよ?
ラムダなしHaskellとかコード量が2倍で済まなさそう。
0512デフォルトの名無しさん
垢版 |
2019/03/10(日) 23:54:02.27ID:E4pQDIKL
そもそも動的型をdisることに実用性があるのかどうか考えたか?
それとも何も考えてなかったのにHaskellと聞いたら急に頭が良くなったのか?
0516デフォルトの名無しさん
垢版 |
2019/03/11(月) 09:24:00.27ID:D2PSGRy3
そもそも実行時に命令を作り出すというのは、動的型付けじゃないとできないのでは? eval
0519デフォルトの名無しさん
垢版 |
2019/03/11(月) 11:57:22.45ID:NYtiTycm
REPL と動的実行のeval は違う。

a=input() #abcと入力
print(eval(s)) #abcabc と出力

s=input() # 3**2 と入力
print(eval(s)) #9 と出力
0520デフォルトの名無しさん
垢版 |
2019/03/11(月) 12:30:19.49ID:NYtiTycm
動的実行には、複数の式を実行する exec がある。

exec("""
total = 0
for i in range(5):
 print(i)
 total += i

print(total)
""")

これを利用すれば、プログラムを変更しないで外からの入力で動作を変えたりできる。
0523デフォルトの名無しさん
垢版 |
2019/03/11(月) 16:46:34.67ID:9rO3q8tQ
>>518
そんなの単にevalに渡すコンテキストの違いじゃん
実行時に命令生成することの本質じゃない
0527デフォルトの名無しさん
垢版 |
2019/03/12(火) 12:12:04.79ID:f1IcpvAp
構文木オブジェクトなら左括弧と右括弧の対応をいじる脆弱性はない
文字列を使わないことがオブジェクト指向の定義と言えないこともない
オブジェクト指向の定義多すぎ
0528デフォルトの名無しさん
垢版 |
2019/03/12(火) 12:34:20.82ID:rf03pH6k
> 文字列を使わないことがオブジェクト指向の定義

ハハハ
0530デフォルトの名無しさん
垢版 |
2019/03/12(火) 13:24:41.15ID:f1IcpvAp
定義を教えられないから目で盗み空気を読み忖度した結果として定義が増える
0533デフォルトの名無しさん
垢版 |
2019/03/13(水) 21:26:00.10ID:M+m6pFpm
ハッ
0535デフォルトの名無しさん
垢版 |
2019/03/14(木) 10:58:18.04ID:0lYU+AM6
差別発言が日常茶飯事なのと専門用語のマナーを守ることとのギャップがものすごい
0537デフォルトの名無しさん
垢版 |
2019/03/15(金) 17:46:48.87ID:LvZJWiiQ
プログラムはおいといてデバッグに必要なのは典型的でないケースを1個見つけること
1個だからといって無視しないこと
0538デフォルトの名無しさん
垢版 |
2019/03/17(日) 11:52:05.42ID:4E+XY7RQ
型無し糞ガイジの老害が死滅すれば済む話
頭のアホ毛$から腐臭が漂ってくるんだよ、早く死ね
0539デフォルトの名無しさん
垢版 |
2019/03/17(日) 14:54:23.26ID:YNfhsYwt
エディタを終了してからテストを実行するのはターン制だから古臭いんだな
リアルタイムこそが現実であり次世代であるはずなのに一体なぜターン制が滅びないのか
0543デフォルトの名無しさん
垢版 |
2019/03/23(土) 09:10:22.60ID:ZlGSstH0
高速で軽量、堅牢な非同期処理のサポート
デフォルト実装を定義できるインターフェイス(and/or 型クラス)
高度な型推論(もとより静的型)
高速なコンパイルとコンパクトな実行ファイル(非AltoJS、JVM言語)
関連して、セルフホスティングやブートストラップは完了済み
0546デフォルトの名無しさん
垢版 |
2019/03/23(土) 11:11:33.27ID:Bvojjkpo
何を作りたいかによるよね。作りたいものが作りやすければ良いわけだから。
0552デフォルトの名無しさん
垢版 |
2019/03/24(日) 16:09:10.35ID:3s1WkY0F
今のesならそんなに捨てたもんでもないと思うが。
まぁでも、tsにclassは要らなかったな。
0554デフォルトの名無しさん
垢版 |
2019/03/24(日) 16:34:58.29ID:RF+VrP1U
esにもクラスはなくても良かったけどデコレータは早く来てほしいね
デコレータ風に組めなくもないけど面倒だしな
0555デフォルトの名無しさん
垢版 |
2019/03/24(日) 18:01:12.81ID:ZhSBqocX
tsはjsの呪縛でガンガンに縛られてるから全然いい言語に見えない

共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない
0556デフォルトの名無しさん
垢版 |
2019/03/24(日) 19:00:10.91ID:3s1WkY0F
>共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない

ちょっとピンとこないけど具体的にはどういう記述?
0558デフォルトの名無しさん
垢版 |
2019/03/24(日) 19:32:49.50ID:3s1WkY0F
それは無駄な判定とは思わないが、どう記述出来たらスマートだと言うんだろう。
パターンマッチとか?
0559デフォルトの名無しさん
垢版 |
2019/03/24(日) 19:37:55.56ID:503powVA
無駄っつーかanyって言ってるのに実際は2つの型しか認めないのは無責任やな
0560デフォルトの名無しさん
垢版 |
2019/03/24(日) 19:44:07.97ID:LeGi1F7Y
>>557
直和型をパターンマッチで処理切り分けるのは、関数型言語からの流れで最近の流行りだと思うんだけどね
if 文で書くのはダサいな

>>559
any がダメだから string | number と書くというのが共用体型じゃないの?おれもtsはよく知らないんだけど

パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね
0561デフォルトの名無しさん
垢版 |
2019/03/24(日) 20:34:17.47ID:3s1WkY0F
まぁパターンマッチ構文で多少記述がシンプルになるならそれもいいけど、逆に専用の構文に頼らずに
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?

>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね

それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。
0562デフォルトの名無しさん
垢版 |
2019/03/24(日) 21:15:12.88ID:YouWSmuh
>>561
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ

やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが
0563デフォルトの名無しさん
垢版 |
2019/03/24(日) 21:22:23.00ID:dT6Xb8jy
>>562
TypeScriptは Discriminated Union 使えるよ
メンバのリテラル値によって型をマッチさせるという中々面白い仕様
0564デフォルトの名無しさん
垢版 |
2019/03/24(日) 21:32:02.61ID:503powVA
sbt言うほど遅いか?
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで
0565デフォルトの名無しさん
垢版 |
2019/03/24(日) 21:42:20.21ID:hMqcesBf
scala死んだ理由どう考えてもバージョン上がる度にコンパイル通らなくなる互換性のなさだろ
3なんかにしたら爆死以外見えない
0566デフォルトの名無しさん
垢版 |
2019/03/24(日) 22:02:19.88ID:LeGi1F7Y
>>563
ここら辺見て ts 勉強させてもらったよ https://qiita.com/kobanyan/items/ca56df27de50ec267995
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ

でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?
0567デフォルトの名無しさん
垢版 |
2019/03/24(日) 22:17:38.55ID:3s1WkY0F
>default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?

どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。
0568デフォルトの名無しさん
垢版 |
2019/03/24(日) 22:46:49.41ID:LeGi1F7Y
>>567
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい
0570デフォルトの名無しさん
垢版 |
2019/03/24(日) 23:24:23.33ID:LeGi1F7Y
みんなが Lint かけてくれるわけじゃないので、コンパイル時チェックが望ましい
特に新しい言語作るのならばそうすべき
0573デフォルトの名無しさん
垢版 |
2019/03/24(日) 23:54:07.40ID:LeGi1F7Y
>>572
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし
0574デフォルトの名無しさん
垢版 |
2019/03/25(月) 00:04:21.99ID:8zmAEr9n
>>570
そういう腐った現場で強制してもコンパイル通すためだけのくそハックが横行するだけ。
事態をもっとややこしくする。
0576デフォルトの名無しさん
垢版 |
2019/03/25(月) 07:59:56.31ID:W4SpLKRa
>>570

lintすら不要と思っている人が>>560のようなチェックをしたいと思うシチュエーションが考えにくいが。
PLがメンバーに強制するならlintごと使わせればいいわけだしな。
0577デフォルトの名無しさん
垢版 |
2019/03/25(月) 09:18:04.90ID:WuArxINc
次世代言語を名乗るなら網羅性がチェックされたパターンマッチ構文は必須でしょ
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない
0578デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:08:18.82ID:K4z2YXqu
マイクロソフトの「TypeScript」など上昇--RedMonkプログラミング言語ランキング
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年03月25日 12時26分
https://japan.zdnet.com/article/35134639/

 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が使用されて
いるという。(後略)
0579デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:08:57.00ID:8zI0ePtf
purescript全然流行ってないぞw
やっぱts人気なのはjs互換だから。良くも悪くも。
0581デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:40:39.94ID:NJTMQsjm
tsといいkotlinといい、言語を流行らせるならまずは開発環境が大事というのがよくわかる結果だな
0582デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:43:55.66ID:T0osdeZX
Kotlin 万歳
0583デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:45:37.65ID:b0YsS78F
JSは言語というより環境
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる
0584デフォルトの名無しさん
垢版 |
2019/03/25(月) 13:46:17.07ID:T0osdeZX
>>581
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。
0585デフォルトの名無しさん
垢版 |
2019/03/25(月) 14:07:09.12ID:n9E0/aVP
まぁRailsもそうだったけど「これ作るならこれ!」みたいな洗脳が上手くできるかどうかだよね
0586デフォルトの名無しさん
垢版 |
2019/03/25(月) 14:19:36.61ID:b0YsS78F
でも洗脳を解いてやったらC/C++をすらすら書けるようになるわけじゃないし
宗教があるのは難易度を下げるのがメインで洗脳は副産物
0588デフォルトの名無しさん
垢版 |
2019/03/25(月) 15:17:23.11ID:NJTMQsjm
Javaは本質的な不便さから目を背けてミーハーな目立つ機能をつまみ食いしてる印象
いいかげん例外透過やクッソ使いづらい非同期APIをなんとかしろ
0591デフォルトの名無しさん
垢版 |
2019/03/25(月) 17:45:18.30ID:95AoY43y
>>578
金で操作できるランキングに価値ねえよ
上位言語が企業のステマ言語って時点で疑問持てよ
0593デフォルトの名無しさん
垢版 |
2019/03/25(月) 18:51:00.60ID:g4/jn9Nj
javascriptの制限のせいでtypescriptには従来の言語のような関数オーバーロードがない
あるのは関数シグネチャーのエイリアスのようなもので中ではifなどで型の判定をして使い分けてる
非常に泥臭い
0595デフォルトの名無しさん
垢版 |
2019/03/25(月) 19:03:37.93ID:8zI0ePtf
javascript離れて独自拡張したら行く末はelmやpurescriptコースだからな。
そうなったtypescriptは誰も使わないし、
js互換の第二のtypescriptが登場してそっちに流れるだけ。
そうでないと言うのならelmやpurescriptが閑古鳥な理由を説明してほしい。
0598デフォルトの名無しさん
垢版 |
2019/03/25(月) 19:11:19.73ID:6qJsOYPQ
>>593
tsのunionは、関数の引数だけじゃなくて、戻り値とかオブジェクトのプロパティにも使える
関数オーバーロードの変わりに使うものだと考えるのは、少しズレてる
0600デフォルトの名無しさん
垢版 |
2019/03/25(月) 20:32:23.93ID:6qJsOYPQ
>>599
これは number と string とかだけじゃなくて、同じ interface を継承しないオブジェクトをひとつのプロパティに格納できたりする機能なんだよ
利点は intetface を用意して継承するよりも記述が減ることかな
普通の静的型付け言語だと any みたいな型を使う事になるけど、それよりもチェックを少し厳しくできるのが利点だね
0602デフォルトの名無しさん
垢版 |
2019/03/25(月) 20:47:57.44ID:+4I8CbY7
正直オーバーロードは無くていいと思ってる
ジェネリクス等で処理出来ないなら名前変えた方がいい

多言語の境界でよく面倒事の原因になる
0603デフォルトの名無しさん
垢版 |
2019/03/25(月) 20:48:32.11ID:g4/jn9Nj
>>600
でもそれを参照する場所で型チェックなどが発生するだろ
A型とB型を格納していたプロパティにC型を格納するようになったら
それぞれの場所でまた変更が必要になる
無駄じゃないかなって思う
0604デフォルトの名無しさん
垢版 |
2019/03/25(月) 21:00:38.33ID:/ev0NUx0
関数のオーバロードは正直なくてもいいかなと思うけど(別の名前にすればいいだけ)
その言語はオブジェクトのコンストラクタのオーバロードも多分ないよね
それはどうするか、ちょっと困るな
0609デフォルトの名無しさん
垢版 |
2019/03/25(月) 21:27:47.27ID:1GKiPWph
>>602
リーナスも似たようなこと言ってたな
記事探すの面倒だから貼らないが
(誰か探して貼ってくれないかなチラッ)
0612デフォルトの名無しさん
垢版 |
2019/03/25(月) 22:27:46.86ID:xXsGZ5++
>>603
ts のunion は interface 無しでダックタイピング効くから、参照する時必ず型チェックが必要なわけじゃない
型自体の定義も type alias しておけば一箇所で済むし
静的型付け言語でany使うよりは、遥かに手間はかからないよ
0614デフォルトの名無しさん
垢版 |
2019/03/25(月) 22:38:35.21ID:9YEdKAJP
Go、Swift、Kotlinの3つは、文法ぐらい一緒にしてくれたら良かったのにな
0616デフォルトの名無しさん
垢版 |
2019/03/25(月) 22:55:21.22ID:9YEdKAJP
配列にしてもさあ、カッコの形とかにこだわりなんてあるんか?
0617デフォルトの名無しさん
垢版 |
2019/03/25(月) 22:55:47.18ID:itUJX6EY
どんな言語使おうが、糞バカ中世ジャップランドSIと、土人ベトコンオフショアが合体すれば
全部ゴミにできるんだけどなw
0620デフォルトの名無しさん
垢版 |
2019/03/26(火) 10:31:07.40ID:F8U/TA3Z
2019/03/06 15:42:58
2019年の愛され言語第1位、嫌われ言語第1位は?
https://news.mynavi.jp/article/20190306-784182/
「愛されプログラミング言語」
Python (51%)
Javascript (49%)
Java (37%)
HTML (34%)
C++ (23%)

嫌われプログラミング言語は以下
PHP (19%)
Objective-C (12%)
Java (11%)

対象となったプログラミング言語を愛している理由としては、その言語を学習するためのリソースや開発するためのリソースが充実していることが挙げられている。
逆に嫌っている理由としては、対象のプログラミング言語を使ったコーディングが楽しくないからという理由が多く挙げられている。
0621デフォルトの名無しさん
垢版 |
2019/03/26(火) 11:13:59.02ID:pnvMlsp3
忘れ去られた言語
ruupy
0622デフォルトの名無しさん
垢版 |
2019/03/26(火) 14:00:36.03ID:PDyA3k9g
>>621
俺は忘れてない。なぜならその名前を見たのは今が初めてだからだ。
0623デフォルトの名無しさん
垢版 |
2019/03/26(火) 14:20:02.74ID:pnvMlsp3
ごめんごめんpoopyだっけ?w
0624デフォルトの名無しさん
垢版 |
2019/03/26(火) 16:57:14.07ID:PDyA3k9g
>>623
それについても俺は忘れてない。なぜなら以下同文
0625デフォルトの名無しさん
垢版 |
2019/03/26(火) 17:32:40.93ID:pnvMlsp3
rubooだったか?
0626デフォルトの名無しさん
垢版 |
2019/03/26(火) 19:16:35.45ID:PDyA3k9g
以下同文
0629デフォルトの名無しさん
垢版 |
2019/03/27(水) 17:15:00.98ID:TdLaeqVz
>>627
あと一回見かけたらはてブロに通報するわ
0630デフォルトの名無しさん
垢版 |
2019/03/27(水) 17:15:08.52ID:SZ6CWUW7
ジェネリックで必ず同じ操作になるならいいけど
そうでもないときはジェネリックではどうにもできない
0631デフォルトの名無しさん
垢版 |
2019/03/27(水) 17:18:22.78ID:SZ6CWUW7
オーバーロード否定派は動的型付け言語か形無し言語がメインの人なんだろうか?
0632デフォルトの名無しさん
垢版 |
2019/03/27(水) 18:22:56.09ID:L8U/qf4n
Cはユーザーが定義できない演算子だけオーバーロードする
ユーザーが定義してない型の情報だけコンパイル後に残る

このユーザー定義型の不当な制限をなくすというC++の理念のおかげで
オーバーロードや実行時型情報ができた
めでたしめでたし
0633デフォルトの名無しさん
垢版 |
2019/03/27(水) 19:26:19.13ID:0edTBLWO
ほとんどの言語が強制キャストできるのが原因で型安全でなくなっているのが
何とかならない
0635デフォルトの名無しさん
垢版 |
2019/03/27(水) 19:59:52.56ID:DpIgan7F
後者の例で言うと、ライブラリの関数に気を利かせてオーバーロードを追加したところ
別のプロジェクトの既存コードがコンパイル出来なくなったとかもあり得る
0636デフォルトの名無しさん
垢版 |
2019/03/27(水) 20:08:46.35ID:kkhErUOi
やはりリーナスは正しかった!
c最高!
c++はうんこ!
0639デフォルトの名無しさん
垢版 |
2019/03/30(土) 03:45:54.68ID:x88rhneO
クロスキャストはカスだから滅びろ
インターフェースの実装を鞍替えしたいんだったらFactoryとか使えや
0640デフォルトの名無しさん
垢版 |
2019/03/30(土) 10:52:42.58ID:PY6ZYblo
型名を隠蔽すればキャストできないので
無名クラスとラムダの世界ランクが右肩上がり
0642デフォルトの名無しさん
垢版 |
2019/03/30(土) 19:28:46.42ID:grSCIEfK
ガイジみたいなコード書くガイジを殺していい法律を作ることだな
皆殺しにしてやるよ
0643デフォルトの名無しさん
垢版 |
2019/03/31(日) 08:00:06.83ID:S4Tb/ZFO
次世代かは知らんけど、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 ())を得る過程でプログラムが走り出すとも言える。
0644デフォルトの名無しさん
垢版 |
2019/03/31(日) 10:38:58.10ID:UUJRkrO5
概念は有用だし言語の進化に多大な影響を与えたけど
道具としてのHaskellは今の位置から上がってくることは無いだろうな
0645デフォルトの名無しさん
垢版 |
2019/03/31(日) 10:43:21.70ID:KUHIQC/W
>>644 確かにその通り。 実用的な言語は、わかりやすくバグが出にくいことが重要。
他人のコードでも誰が見ても一目でわかるみたいな。
0646デフォルトの名無しさん
垢版 |
2019/03/31(日) 11:07:42.57ID:s7MuzANU
実用なら副作用認めた方が絶対的に有利なわけでそういうのはOCamlなりF#が担えばいいよ
Haskellが勉強のための言語なのはこの先もかわらない
0647デフォルトの名無しさん
垢版 |
2019/03/31(日) 13:08:06.82ID:88fzeBO9
xmonadとかあるし、実用的でないとは言い切れないが、いかんせん学習コストが高くてマンパワーに頼れんからな
0648デフォルトの名無しさん
垢版 |
2019/03/31(日) 18:14:52.08ID:hIxqKKME
Haskellの再発明のようなアイデアを思いつくやつは必ず出てくるよ
これHaskellでやったやつだって教えてあげないと再発明を止められない
高い学習コストをもう一回課金される
0650デフォルトの名無しさん
垢版 |
2019/03/31(日) 20:26:01.36ID:hIxqKKME
一部だけ学ぶのはダメってのは見覚えがある
Perlでやったやつだ
一部だけでいいと作者が言ってるのに全部やろうとして挫折するやつだ
0652デフォルトの名無しさん
垢版 |
2019/03/31(日) 21:26:26.85ID:fpw7uUAj
量産型Webは技術が完全に硬直化してるから、ちょっと意識高い奴がマウント取りたくても差別化できるネタが少ないんだよ
で既存の開発プロセスのオーバーエンジニアリングに向かうわけだけど、
ペチパーレベルではインフラや言語を改善したりそもそも開発作業自体を減らすって方向には行きにくい
そこで手頃なのがFWというわけ
0653デフォルトの名無しさん
垢版 |
2019/03/31(日) 21:52:14.80ID:rPARd9Mh
もともとFWっていうのは汚いコードを寄せ集めてライブラリ化した上で
汚いコードの寄せ集めを使う処理を手順化して綺麗に見せるための仕組みだったんだけどな
0656デフォルトの名無しさん
垢版 |
2019/03/31(日) 22:37:11.66ID:hQIJpK9h
依存性注入はクラスが増えてカオスになる
何故かjavaではよく使われるのが謎
0661デフォルトの名無しさん
垢版 |
2019/03/31(日) 23:49:26.60ID:qnazkb5e
FXの自動売買ツールを無料で配布しています。
http://hbgvf.blog.jp
0662デフォルトの名無しさん
垢版 |
2019/04/01(月) 00:33:10.08ID:dYyCWZhX
人類最底辺の脳みそしか持ち合わせてない永遠の土方ペチプァの話題なんか出すな
スレが穢れる
0664デフォルトの名無しさん
垢版 |
2019/04/01(月) 02:44:37.39ID:PICzK0N0
>>646 だれが勉強すんねん
一目見た時から、恋の花が咲いた
のでは無く、こりゃダメだと思った。
0665デフォルトの名無しさん
垢版 |
2019/04/01(月) 02:48:36.94ID:PICzK0N0
逆に Python はなんとなく幼い頃の悪ガキ仲間と似てるなと思ってたら、立派に成長して懐の深い大人になってた。
ちょっと見の見た目で判断してはいけない。
0666デフォルトの名無しさん
垢版 |
2019/04/01(月) 07:12:14.06ID:dYyCWZhX
単純に機械学習ライブラリの虎の威借りてるだけだろ
言語としてはPHP並の糞だわ
venv周りも糞糞アンド糞だしな
0668デフォルトの名無しさん
垢版 |
2019/04/01(月) 20:23:06.27ID:no59bRT+
情報系専門でない連中が多い分野だから、言語オナニーには興味ないんだよ
Pythonは昔から数値計算系のライブラリが充実してたし学習コストも低い
0669デフォルトの名無しさん
垢版 |
2019/04/01(月) 21:00:27.10ID:oZ4uWA1m
venvなぁ。
中にpython.exeがそのまんま入ってたのを見たときはコントかと思ったw
0670デフォルトの名無しさん
垢版 |
2019/04/01(月) 21:18:09.61ID:dOhRlOJ8
数学の関数やOSのシステムコールを
いちいちオブジェクト指向に翻訳しないといけない文化は仕様が不安定になる

不安定な自作オブジェクトを集めたものが自作FWになる
0672デフォルトの名無しさん
垢版 |
2019/04/02(火) 09:42:15.53ID:exqjvsIl
>>670
翻訳しないで済むOS作れば良いのでは?
0676デフォルトの名無しさん
垢版 |
2019/04/03(水) 13:11:27.32ID:GUjlsyjt
dockerがどっかー行っちゃったー


すまん。一度言ってみたかったんだ。ゆるせ。
0677デフォルトの名無しさん
垢版 |
2019/04/03(水) 13:47:18.98ID:ZdmGYXWn
実際には一人で気持ち良くなるのではなく
staticおじさんを責める自分に酔ってるみたいなパターンが多い
一人じゃないから正常なんて思ったら大間違い
0678デフォルトの名無しさん
垢版 |
2019/04/03(水) 13:50:02.32ID:/cw++oNj
パンツじゃないから恥ずかしくないなんて思ったら大間違い
0679デフォルトの名無しさん
垢版 |
2019/04/03(水) 21:33:59.24ID:x59pa14S
staticおじさんてなに?
0680デフォルトの名無しさん
垢版 |
2019/04/04(木) 02:32:05.58ID:dJc2ae+t
>>679
高卒や専門卒のプログラマーのことだよ
そういうのにはstaticが好きが多いからそう呼ばれてる
0682デフォルトの名無しさん
垢版 |
2019/04/04(木) 05:48:32.02ID:Bp6OcKFp
特殊用途以外でstatic変数を使うのはアホだけど
staticメソッドもまとめてstaticおじさんとか書いてる記事は
関数型にもついてけないただの周回遅れ
0683デフォルトの名無しさん
垢版 |
2019/04/04(木) 07:07:10.33ID:vFGtgSry
うちのおじさんはdbのクライアントをstaticにするんだよね
0685デフォルトの名無しさん
垢版 |
2019/04/04(木) 08:44:10.37ID:t2REljhQ
ここのstaticおじさんの話題で関数型を持ち出してる人間たまに居る(多分同一人物)けどimmutableに一切言及してないのはなんなんだ
関数型は言語機能で束縛をimmutableにして、それでもなお必要な時にmutableを扱うのであって、staticおじさんのpublic staticなんて言語も踏まえてmutableの可能性の方が高いでしょ
0686デフォルトの名無しさん
垢版 |
2019/04/04(木) 09:23:20.89ID:NLHdu954
Kotlin もよろしく
0687デフォルトの名無しさん
垢版 |
2019/04/04(木) 09:29:42.90ID:vFGtgSry
コトリンなんてシングルトンおじさん量産言語じゃん
0688デフォルトの名無しさん
垢版 |
2019/04/04(木) 09:30:46.16ID:MhhM4cG2
static禁止の次の世代はimmutableではなく依存性注入だからね
class名をハードコードするだけでアウト
interfaceはセーフ
もちろんSingletonはアウト
0689デフォルトの名無しさん
垢版 |
2019/04/04(木) 09:33:41.65ID:l5IgkZnr
Love≒依存性
0690デフォルトの名無しさん
垢版 |
2019/04/04(木) 10:37:11.62ID:NLHdu954
>>687
え?そうなるか?
0692デフォルトの名無しさん
垢版 |
2019/04/04(木) 11:25:51.28ID:MhhM4cG2
class名がそのままファイル名になるじゃん
定義を変えてみたくなったらファイルを上書きするしかないじゃん
そういうとこだよ
0693デフォルトの名無しさん
垢版 |
2019/04/04(木) 11:31:19.04ID:Bp6OcKFp
>>685
この話題何度も出てるのか
staticおじさん云々に言及したのは初だわ
というか>>682はググって読んだ記事に対する感想な

staticメソッド:
 副作用無し → OK
 引数への副作用有り → 許容内
 標準出力などプロセスに1つのリソースへの副作用 → 許容内
 内部でstatic変数への副作用有り→ デバッグ等の特殊用途を除いてはゴミ

privateでないstaic変数
 → 論外のゴミ

これらをただstaticというだけで
その先にある局所性や副作用への悪影響を区分せず
ひとまとめに扱う雑な記事は、何かをdisるレベルに無いという考え
0694デフォルトの名無しさん
垢版 |
2019/04/04(木) 12:40:50.62ID:no/JRFUK
>>691
なんかIDEに怒られてstatic関数にできないときは
シングルトンのgetInstance作って
class名.getInstance.メンバ関数
で回避
0695デフォルトの名無しさん
垢版 |
2019/04/04(木) 14:01:55.30ID:t2REljhQ
>>693
私が勢いでレスしてしまったようだすまない
確かにstaticメソッドのみでみれば関数型的な副作用の切り分けとして見れるね

ただ
>>681 リンク先
> 共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。
というアレがあるので『staticおじさん』とした時に関数型を持ち出すのは不適であると勢いづいてしまった
0696デフォルトの名無しさん
垢版 |
2019/04/04(木) 21:07:18.41ID:zCERpG8r
staticメソッド:
 副作用無し

↑これにめちゃくちゃ違和感がある
特定の言語は宋なのかもしれないけど…
0697デフォルトの名無しさん
垢版 |
2019/04/04(木) 21:24:47.26ID:g//GkyZ8
同じ機能を持った別個体のオブジェクト変数を持ちたい時にフィールドをstaticにしてたら何も出来ないけどね
0698デフォルトの名無しさん
垢版 |
2019/04/04(木) 22:06:34.27ID:Bp6OcKFp
>>696
どういう違和感か分からないが一応補足しておくと
staticメソッドのうち、副作用無しの場合 という意味な

副作用が無いメソッドというのは
引数以外に影響されず、戻り値以外に影響を与えないもの
具体例としては java.lang.Math.max
0699デフォルトの名無しさん
垢版 |
2019/04/04(木) 22:39:36.52ID:bWgxb2Xi
>>698
引数以外に影響されないことは副作用のないことの必要条件ではない
参照透過とごっちゃになってるぞ
0702デフォルトの名無しさん
垢版 |
2019/04/04(木) 23:34:18.16ID:Bp6OcKFp
>>699
すまんその通り
オブジェクト指向に絡む話なのもあって
関数型に寄りすぎる単語を微妙に避けようとして変なこと言った
0703デフォルトの名無しさん
垢版 |
2019/04/05(金) 20:17:32.71ID:p2nz2EB6
副作用とは関数使ったら値を返すだけじゃなくて他のとこに影響出てしまうやつ

わかりやすい例で言えばファイル操作(write,read)関数とか画面に文字を出す関数(print)が
副作用があるとされている
0705デフォルトの名無しさん
垢版 |
2019/04/05(金) 23:31:16.26ID:OJKC59P7
入ります。
0706デフォルトの名無しさん
垢版 |
2019/04/05(金) 23:36:46.00ID:OJKC59P7
そう言う意味じゃHaskellはHaskell信者?は副作用は無いと言い張るが、確実に有る。
私がHaskellに注目してるのは副作用があっても参照透明性が保たれている。この一点だ。
0707デフォルトの名無しさん
垢版 |
2019/04/05(金) 23:56:50.87ID:lYJMaqmI
ブログやニュース記事ならhaskellだろうけど
ソフトウェアを書けといわれたらocamlで書くわ
0708デフォルトの名無しさん
垢版 |
2019/04/06(土) 00:31:00.91ID:fOYiDoB+
副作用があるのかないのかを型で宣言すればいいんだよ
副作用は無いと言い張るより、型は嘘をつかないと言い張る方が面白くなる
0709デフォルトの名無しさん
垢版 |
2019/04/06(土) 00:31:05.44ID:tSYMD8Eq
>>706
Haskellの世界ではないんだよ
まあトリックではあるんだが
でもそこを理解しないとmonadの意義もわからない
0710デフォルトの名無しさん
垢版 |
2019/04/06(土) 01:24:43.24ID:fOYiDoB+
モナドは外見上は引数がないけど値を返す
逆に引数はあるけど値を返さないとか、引数もない値も返さないとかの方が
副作用に関してはわかりやすいのだけどモナドの意義は副作用だけではないので
0712デフォルトの名無しさん
垢版 |
2019/04/06(土) 01:43:50.36ID:yyDZS6P1
関数型コミュニティのモナドをディスっちゃいけない空気嫌い
技巧に溺れて本来の関数型のメリットである見通しの良さや宣言性を完全に見失ってる
0714デフォルトの名無しさん
垢版 |
2019/04/06(土) 02:56:29.83ID:Rn9Ldrv+
JavaとかC#のインターフェイスと似たようなもんだけど、後付じゃないジェネリクスと階層構造の無い型のおかげでむしろ使いやすい
OOPのインターフェイスの方がルール覚えづらいと思う。<? extends T>と<? super T>とかinとかoutとかもう覚えてないわ
0715デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:23:20.81ID:LfoN0yho
>>709
そのトリックに拘って純粋関数型言語と言う言葉に拘ってたら、
そこから話が進まなくなる場面を何度も見てきたから。
純粋じゃない言語から見れば「それもう副作用じゃん」「ただの方便じゃん」と。

だから私はHaskell使って何が嬉しいか聞かれたら、
参照透明性を保つことを徹底する所と答える。
0716デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:33:11.58ID:/WRt9p3o
rustはc++に比べると一見学習コストは低いようにも見えるが
色々な機能の意義を理解するには結局c++やることになるという意味でc++以上に学習コストがかかる。
0717デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:37:35.86ID:LfoN0yho
>>710

モナドは常に引数あるよ。
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を外した()がラムダ式の引数に入るが使わない)
0718デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:37:59.39ID:LXikOU7p
>>711 >>712
でもSwift, Java, JavaScriptとかの関数型がメインじゃない言語にも
実質モナド操作であるflatMapが入ったじゃん
0719デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:43:32.56ID:LfoN0yho
>>712
そうなん?
Haskell信者は兎も角、OCamlとかLisp系とか他の言語の人もそんな空気なん?
まあモナドをディスる理由も無い気はするが。
見通しの良さや宣言性も見失ってると思わないので、参考までに聞きたい。
0720デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:48:46.26ID:/WRt9p3o
そんなクソみたいなものでIOの実行を表現するくらいなら実行タスクのチェーンを作ってますって
意味をもっと明示的に取り扱った方がマシだわ。
0721デフォルトの名無しさん
垢版 |
2019/04/06(土) 08:56:14.69ID:fOYiDoB+
>>717
printはモナドを返す関数だ
printの引数は関数の引数であってモナドの引数ではない
だからprintに引数を渡しただけでは副作用が発生しない
0722デフォルトの名無しさん
垢版 |
2019/04/06(土) 09:10:31.05ID:LfoN0yho
>>721
モナドと言ったら>>=とかの演算子の方だと思ったんだが、IOな関数(アクション)の方なの?
それなら、getLineみたいなアクションは圏論的にはある種の変数扱い。

n = 1 ― 圏論では変数であり、引数無しの関数

値も、Haskellでは出来ないが強いて書いてみると

1 = 1 ― 1という名前の変数(値は1)、もしくは1という名前の1を返す引数無しの関数

そう考えると

getLine ― 外部からの入力(IOな値)が入った変数、もしくは(ry


>>711 の言う通り、型がIOなだけで、何も特別な関数というわけじゃ無い。
少なくともHaskellから見た扱いは純粋な関数と変わらない。
(それにも関わらず、main表層にアクションが自然と集まるというだけ)
0723デフォルトの名無しさん
垢版 |
2019/04/06(土) 09:13:29.66ID:LXikOU7p
以下は個別に分けられる話

(1) 純粋関数型ではそれ自体の制限からIOにモナドなどを必要とする
(2) Haskellでは実行タスクのセマンティクスを明示しやすくするためdo構文がある
(3) モナドの有用性はIOの表現用に限らない (他言語にも関連する)

>>720
それは(2)を考慮してもなお(1)に納得してないということ?
より良い方法があるんだろうか?

それ以前の、純粋関数型は要らないということかもしれないけど
0725デフォルトの名無しさん
垢版 |
2019/04/06(土) 09:55:46.82ID:umTWflC6
これだから関数型の連中はいやなんだよ
0726デフォルトの名無しさん
垢版 |
2019/04/06(土) 10:04:05.89ID:fOYiDoB+
Rust「静的型はいいぞ」
Haskell「静的型はいいぞ」
迷探偵「これだから関数型は」
0729デフォルトの名無しさん
垢版 |
2019/04/06(土) 13:33:25.41ID:fOYiDoB+
学習の難易度と速度を上げると壊れる
やばい全然勉強してないと感じる程度に勉強すれば壊れない
そういうやつほど無駄に成績が良い
0732デフォルトの名無しさん
垢版 |
2019/04/06(土) 15:22:47.45ID:0N4TKw3/
>>715
そのとおりだよ
参照透過性だとどっから評価しても結果同じなわけで数学的に扱いやすいわけさ
だからそこにこだわるのがHaskell
プログラミングにも理論的なアプローチは重要だよ
ちなみにおれは普段c++使ってるから
実用性重視してる方だけどな
0737デフォルトの名無しさん
垢版 |
2019/04/06(土) 23:03:26.36ID:qQhidKgX
さんまの世界ではAIと言えばエッチの後
0738デフォルトの名無しさん
垢版 |
2019/04/07(日) 06:55:03.83ID:DafnpbK7
圏論だ参照透明性だと出て来て難しそうに見えるけど、Haskellの裏でそう言う論理に基づいて処理系が動いてるってだけで、
プログラマーは意識する必要はない。
(必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ)

もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。

型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。
変な言語だけど、そう言う言語というだけの意識で良い。
0739デフォルトの名無しさん
垢版 |
2019/04/07(日) 07:15:45.34ID:c9qO7NyZ
いやさすがにHaskelをその評価戦略を理解せずに使いこなすのは不可能だ
Haskelが初心者を阻んでいる最大の壁はそれ
0740デフォルトの名無しさん
垢版 |
2019/04/07(日) 08:18:35.92ID:OFkYw0l7
だよな
それで使えたら誰も苦労せんだろ
理論知らずにあの型エラーどうやって直すんだ?

つーかHaskell使えない人がそういう知ったようなこと言うのがそそもそもおかしい
そりゃ話が噛み合わないさ
0742デフォルトの名無しさん
垢版 |
2019/04/07(日) 08:34:15.00ID:/9bq+rwa
せやな、デフォルトの遅延評価だと空いてる時間に先読みさせておくとか出来ない。
Deepseqみたいなのを使ってワザと何か変数を明示的に評価したりBangパターン使ったりと少し工夫が要る、、よね?

こと速度云々やり始めるとFusion的なのは強みだけど、評価戦略の理解も必須。
0743デフォルトの名無しさん
垢版 |
2019/04/07(日) 09:19:17.34ID:GYBhj6UR
haskellプログラマがすごいと思えるところはその辺の最適化についてしっかり理解してるところだろうな。
決してモナドでドヤるところではない。
0744デフォルトの名無しさん
垢版 |
2019/04/07(日) 09:35:57.59ID:uhpyC8M8
初心者はPython以外意識する必要はないぞ
近い将来Pythonに代わる言語が出てくるのを知らなきゃダメみたいな煩悩を捨てろ
それと煩悩は信者の陰謀で作られたのではなく人間なら誰でも持っているものだ
0745デフォルトの名無しさん
垢版 |
2019/04/07(日) 09:41:31.61ID:I8qUkc8+
>>743
評価順を意識することなく気持ち良く数学オナニーするための遅延評価のはずが、
結局みんな評価戦略のハックを競ってるの草
0746デフォルトの名無しさん
垢版 |
2019/04/07(日) 09:57:40.07ID:uhpyC8M8
重要なのは起動時に変数を初期化する順序
C++ならグローバル変数のコンストラクタを呼ぶ順序
Javaならとりあえずnullで初期化して後で代入することになる
この問題をHaskellは遅延評価で解決する
0748デフォルトの名無しさん
垢版 |
2019/04/07(日) 10:35:27.16ID:PWWywgBM
「遅延評価 *も* できる」と「ぜんぶ遅延評価でやる」の違いの大きさ(良くも悪くも、だが)
が理解できてないPython使い
0749デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:08:03.83ID:uhpyC8M8
ジェネレータは疑似マルチタスクを意識する
遅延評価は無意識というか自動運転のようなものを目指して猛反対されている感じ
0750デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:10:17.55ID:BQvGqFhC
haskell使うのが適してるのってなんなの?大きなプロダクト?小さなプロダクト?高速動作が求められるプロダクト?生産性が求められるプロジェクト?
0751デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:11:16.13ID:BQvGqFhC
煽りっぽい書き込みになってしまってすまん。
よく名前聞くのでGWに勉強してみようか悩み中なんだ。
0752デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:24:49.64ID:uhpyC8M8
人工知能プロダクトではなく人工知能ブームのようなものを作るのに適している
0753デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:42:16.35ID:b5J7R/uS
>>751
Haskellは時間と気持ちに余裕があるときにやっておいて損はない

LISP(Common Lispの特にCLOSとScheme)、Prolog、APL、Io あたりも同じ
0754デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:51:03.48ID:libAZ4Hy
広く普及してる言語で必死に仕事してる人達に対して、俺はhaskell理解してるってドヤ顔するのに適してる
0756デフォルトの名無しさん
垢版 |
2019/04/07(日) 12:37:30.68ID:/9bq+rwa
このスレ、Haskellにコンプレックスのある人が多いのな。スレタイからいつの間にか締め出されててワロタ。
0758デフォルトの名無しさん
垢版 |
2019/04/07(日) 13:28:39.65ID:uhpyC8M8
互換性を残して何年も再チャレンジするやつは減点するスタイルだな
互換性を捨てるインセンティブ
それでも互換性を捨てないC/C++が勝ち続ける仕組み
0761デフォルトの名無しさん
垢版 |
2019/04/07(日) 14:36:36.46ID:pahFUo3A
>>748 良いところだけ取り入れた Python が利口。
>>749 ソースを教えて。

>>758 C系は現代のアセンブラだからな、必要だが積極的に使おうとは思えない言語。

Haskell みたいに読みにくい言語は支持されない。 LISP でやれる事は殆どPythonで出来る。だからLISP は消えた。
0766デフォルトの名無しさん
垢版 |
2019/04/07(日) 16:22:12.12ID:Y0LlEYhJ
どうせお前には扱えないんだから気にすんな
死ぬまでPythonやってれば幸せだろ
0768デフォルトの名無しさん
垢版 |
2019/04/07(日) 16:56:12.85ID:pahFUo3A
>>766 自分はどんなものに使ってるんだよ。 ほぼ30年も経って実用的なアプリケーションはあまりお目にかからないだろ。
0775デフォルトの名無しさん
垢版 |
2019/04/07(日) 18:25:44.16ID:dh/+Mumy
>>769
>生産性が悪い証拠
生産性が悪いかもしれないし道具を使いこなす力が足りない人や組織が
手を出したという仮説も成り立つだろうし…。他にも転職が多いIT業界
で更に Haskeller の絶対数が少ないとか軍事・金融関係といった秘匿が
重要な産業分野での応用が多いとかいろいろ候補理由が挙げられそう。

「資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか」
で言及されている ”Beating the Averages” の一節にこんな表現がある。

> ベンチャー企業はライバルになるべく情報を漏らさないもの

言い得て妙。
0776デフォルトの名無しさん
垢版 |
2019/04/07(日) 18:45:56.29ID:DgqF8SFg
そういうのだいたいろくなもんじゃない

メンテできるのがその会社しかなくなって客が依存せざるを得なくなるとか
どっかの資本家のサポート得られやすいとか
かっこいいから国が金払ってくれやすいとか
そういうの
0778デフォルトの名無しさん
垢版 |
2019/04/07(日) 19:03:25.42ID:HWuq8CQ1
>>765
FBやCSV、Excelの簡単なデータ加工用の
1000行いかないくらいのコマンドラインツールを
PythonとHaskellで作って使ってるよ。

ExcelはPythonの方が楽なんでPython使って、
あとは、使い捨てかとか、人に使ってもらうかで、
使い分けてる感じ。
0779デフォルトの名無しさん
垢版 |
2019/04/07(日) 19:04:22.67ID:PFYq1oCr
結局ハスケルの良さがさっぱりわからん。
むしろそれを知るために勉強したくなってきた。仕事に生かされる可能性は限りなく低いんだろうけど。
0781デフォルトの名無しさん
垢版 |
2019/04/07(日) 19:35:40.60ID:pahFUo3A
>>777 今時そんなの古いよ。 オープンソースの時代だぞ。
オープンにして人からも助けてもらう事でスピードを加速できる。
秘匿なんてしてたら時代から取り残されるだけ。
0783デフォルトの名無しさん
垢版 |
2019/04/07(日) 20:28:27.13ID:YrS1j1OB
>>780
特定のプロダクトというよりもネイティブなライブラリをキックさせるにはPythonが楽ってだけだろ
VBAから置き換わるには本当に都合が良い
0786デフォルトの名無しさん
垢版 |
2019/04/07(日) 21:19:26.83ID:uhpyC8M8
一昔前ならC++やHaskellの複雑さが悪魔のように思えたが
悪魔とかいう言葉はもっとひどい事案が発生した時のためにとっておくべき
0787デフォルトの名無しさん
垢版 |
2019/04/07(日) 21:49:15.77ID:BPc+yUsN
>>713
俺もよくわからない。
トレートはクラスみたいな階層は無くフラット。
0789デフォルトの名無しさん
垢版 |
2019/04/07(日) 22:07:08.08ID:B64Ry8yd
身近な例で申し訳ないけど
学歴コンプで地頭の悪い子がHaskellに活路を見出そうとして必死なのを見たな
本人は数学どころか算数レベルなんだけどプライドの高い子だから…
しかもそいつ職業プログラマなんかではなくそもそも無職
0790デフォルトの名無しさん
垢版 |
2019/04/07(日) 22:08:50.18ID:B64Ry8yd
高卒なのをすっごい気にしてる奴だった
こっちは何も言わないのに
何かにつけて自分から「高卒だから」と言い出す奴だった
0791デフォルトの名無しさん
垢版 |
2019/04/07(日) 22:16:25.84ID:HWuq8CQ1
>>784
Haskellの事を言ってるんだと思うけれど、
Windows環境で不特定の人に使ってもらうのに、
実行時に依存するものが少なけれは、
何でも良かったんだよ。

ただ私がたまたま使えたのがHaskellだっただけ。
覚えるところから始めて良ければ、
GoとかRustでも良かったと思うよ。
0795デフォルトの名無しさん
垢版 |
2019/04/08(月) 02:13:40.78ID:qKyyMXIN
ろくでもない金の流れを止めたいか
もしかしてそのためにオープンソース時代になったんじゃないか
0796デフォルトの名無しさん
垢版 |
2019/04/08(月) 06:29:47.15ID:YCk8Lq16
Android、iOS、WebAPIで共通化したい重めのロジックがある場合、新しめの言語だと何で書くのが一般的なの?
今の所試しにC#で書いていてすごく良いんだけど・・・・これだとAndroidやiOSでは怪しい方法を使わないとKotlin、Swiftから呼び出せないんだよね・・・・
0797デフォルトの名無しさん
垢版 |
2019/04/08(月) 08:41:08.45ID:WsbL+h0n
>>796
rust
0798デフォルトの名無しさん
垢版 |
2019/04/08(月) 08:55:33.29ID:nrWiuqwb
オープンソース時代ってのがよく分からんのだが。
全部公開する訳ないじゃん。
0799デフォルトの名無しさん
垢版 |
2019/04/08(月) 09:32:47.25ID:qKyyMXIN
スカウターみたいだな
戦闘力を公開してランキングの上位にいるのが実は弱い奴で
測定された値が低い奴が実は強いみたいな
0801デフォルトの名無しさん
垢版 |
2019/04/08(月) 12:40:26.18ID:slzfC4/w
プログラミング言Go
0802デフォルトの名無しさん
垢版 |
2019/04/08(月) 13:10:40.91ID:8bidG0zI
>>798
オープンソースなプログラムが増えたのは間違いないけど、今までオープンじゃなかったものがオープンになった例ってあまりないよね。
その辺の電化製品のプログラムが公開されてるか?ゲームソフトのプログラムが公開されてるか?ってレベルの話だけど。
0806デフォルトの名無しさん
垢版 |
2019/04/08(月) 18:01:15.24ID:xawk68Fs
jsってたかがスクリプトだろ?それに負けるネイティブとは一体…
0809デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:05:40.94ID:dk5yj0CN
なんか議論が上手く進んでない気がするな。
おそらくマイクロソフトのオープンソース化も家電のソースコードが公開されてるのもオープンソース時代とはあまり関係なさそう。
オープンソースで儲かるビジネスロジックの説明があれば、どの分野でオープンソースが増えそうとか、どの分野は変わらなさそうとかわかるだろ。
俺が説明してやりたいところだけど、恥ずかしながらあまり詳しくないのだ。。。
0810デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:16:21.05ID:oVXy8kkj
>>802 Apple だって Swift をオープンソースにしてるし。
オープンじゃなければ明日は無い。

弱小個人でもオープンにしてると結構助かる事はあるよ。
でもやはりある程度の大きさが無いと影響力は少ないけど。
逆に言うと大手が始めたオープン環境でも個人が参加できるし、アピールできる環境ができてる。
0811デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:21:04.54ID:j9hUx87z
GAFAとか見てもオープンとクローズをうまく使い分けてるだろ。
なんでもオープンのがいいとか言うのは流石に思考停止過ぎる。
0812デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:23:12.16ID:oVXy8kkj
>>811 ローカルなものはオープンにしてもメリットがないだけの話では?
Apple が Objective-C をオープンにしていないように。

他で利用できなければ意味ないもん。
0815デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:58:19.89ID:SOlrlBnQ
>Sunに抜き打ちテストをしよう:音楽が止んだとき、どこに座るつもり?

この記事の7年後、Sunの椅子は無かったな
0816デフォルトの名無しさん
垢版 |
2019/04/08(月) 19:59:36.26ID:xawk68Fs
Handsontableっていうスター数1万超えのそこそこ有名なOSSライブラリが商用完全有料化
Handsontable drops open source for a non-commercial license
https://github.com/handsontable/handsontable/issues/5831
コミュニティエディションとProのフリーミアムモデルを取っていたようだが、> Unfortunately, our observation is that the ratio of commercial to free users is about 1 to 25.
一人のProユーザーからの収益に25人がタダ乗りの構図w

以下はハッカーニュースのスレ
https://news.ycombinator.com/item?id=19488642
優れたプログラマの仕事がタダで搾取されるの見てるのは忍びなかったので歓迎という声も。

最近は、「OSSは儲からない」と当たり前のいう認識が中小規模から広がってる感じ。
大企業は別よ?
0824デフォルトの名無しさん
垢版 |
2019/04/08(月) 21:59:11.28ID:qKyyMXIN
数値化されないものが多すぎて数値が役に立ってない気がする
儲からないものは役に立たない
その根拠になっている儲けという値をどう解釈すればいいのかよくわからない
0827デフォルトの名無しさん
垢版 |
2019/04/09(火) 08:13:28.59ID:uGaRLF8u
Swiftはa better objective-cやし、アポー的にはOSSにして開発者を取り込みたいだけやで
0829デフォルトの名無しさん
垢版 |
2019/04/09(火) 22:36:34.95ID:SAQnN0sI
>>805
7倍遅いんだっけ?
JSとかJVMとかはベースのV8とかHotSpotが頑張ってくれるからいいけど共有ライブラリなんてOS依存だもんな
0830デフォルトの名無しさん
垢版 |
2019/04/10(水) 12:07:17.40ID:LAqpHSrR
>> 829
まだ最適化まで手が回ってないだけやろ?
0834デフォルトの名無しさん
垢版 |
2019/04/12(金) 20:21:12.10ID:4akxaAE1
宣言型でも関数型でも論理型でもない、かつそこそこ実用的な言語ってない?
0840デフォルトの名無しさん
垢版 |
2019/04/12(金) 20:50:21.05ID:3bjvrHoK
新潟
山形
0843デフォルトの名無しさん
垢版 |
2019/04/13(土) 02:31:26.07ID:fds+UVff
ふとんに寝転んだ!へぇ!
0846デフォルトの名無しさん
垢版 |
2019/04/13(土) 14:52:20.81ID:hvrKDDfY
>>845
日本語話してるやつに日本語勉強するように勧めるやつがいるか?
言語よりも論理が大事な証明だな。
0848デフォルトの名無しさん
垢版 |
2019/04/13(土) 15:29:42.33ID:qC7LW8Gr
>>841 は、テキスト記述言語であり、論理言語ではない。

HTML(エイチティーエムエル、HyperText Markup Language)

あまりにも浅はか。
0852デフォルトの名無しさん
垢版 |
2019/04/13(土) 16:31:59.53ID:fLdXayeH
おせっかいだけどまとめてみたわ

>>834が実用的な言語について質問

>>841がHTML+CSSと答える

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

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

>>847が、>>841がそう言ってると答える

わからんw
0855デフォルトの名無しさん
垢版 |
2019/04/13(土) 18:14:07.13ID:XltOuzVd
日本語なんて旧世代言語の最たるものだしな。
0857デフォルトの名無しさん
垢版 |
2019/04/13(土) 18:16:51.61ID:oqNH9LQH
発端の>>834が言う 手続き型 関数型 論理型 どれにも該当しない言語って
自然言語かDSL(データ記述言語含む)しか無いだろうから
さらにプログラミング言語に絞るなら「無い」にしかならないと思う
0860デフォルトの名無しさん
垢版 |
2019/04/13(土) 18:58:31.17ID:XltOuzVd
かつ宣言型だね
0865デフォルトの名無しさん
垢版 |
2019/04/13(土) 19:47:56.87ID:nXQ9b0jN
証明が難しくとも、言い張ってたなら証明しないことにはな・・・・
いわゆる松永問答になっちまう
0866デフォルトの名無しさん
垢版 |
2019/04/13(土) 19:49:50.74ID:J/cBqpWV
>>861
Node.jsはAPI設計のセンスが優れてる
移植性と(インターフェイスの)安定性を重視した最小限の低レベルなAPIなのに、
生でもまあまあ使いやすいし、通常のWeb開発ならそこから逸脱してネイティブのライブラリに頼る必要があるケースも少ない
0867デフォルトの名無しさん
垢版 |
2019/04/13(土) 19:56:11.68ID:oqNH9LQH
>>862
既知のプログラミング言語の体系にそれ以外が見当たらないことから
「〜だろう」と書いたよ
具体例を1つ挙げてもらえば 857は間違い で終わる話かと
0868デフォルトの名無しさん
垢版 |
2019/04/13(土) 19:58:14.27ID:w+uNofJT
>>866
うん、でもWebだけじゃないんだよね
ラズパイと組み合わせたら結構制御系なんかでもPythonより使いやすい
0870デフォルトの名無しさん
垢版 |
2019/04/13(土) 22:09:10.82ID:XM33Ir3X
Node.jsはAPIセットでもある
他と違ってJavaScriptは標準ライブラリを持たないのだから、Node.jsとなって初めてPythonなどと対等に扱える
0871デフォルトの名無しさん
垢版 |
2019/04/13(土) 22:43:55.16ID:ChpZ8guV
node.jsはchromeのエンジンを持つ実行環境の一つ
javascriptは旧世代から続いてる言語
ライブラリはnpmというツールを使って組み込むだけで標準と呼ばれるものはない
Pythonも仕組みはJavaScript+node.jsと同じ
Pythonは他の言語で作ったライブラリをキックする仕組みが優れてる
0872デフォルトの名無しさん
垢版 |
2019/04/13(土) 23:07:38.46ID:w+uNofJT
ラズパイのプログラム実際にシリアル通信とかGPIO通信のプログラム組んでみたらわかるよ
Nodeでやった方が痒いところに手が届く感じ
0873デフォルトの名無しさん
垢版 |
2019/04/13(土) 23:17:26.38ID:ChpZ8guV
それはnodeだからというよりもJavaScriptだからだよね
非同期処理はjsが1番やりやすい
0874デフォルトの名無しさん
垢版 |
2019/04/13(土) 23:26:43.39ID:BQ6xHmdo
>>867
その見当たらないってのがどの程度見当たった結果なのかの質問
それなりに調べた結果なんだろうと思うから
間違ってるかどうかは知らないよ
0877デフォルトの名無しさん
垢版 |
2019/04/14(日) 00:52:45.60ID:/V8zrPr0
>>869
言ってることは正しいけど意地悪だな。
例えば「javascriptとnode.jsどちらにしましょう?」とか言われたらアホかとおもうけど
「pythonとnode.jsどちらにしましょう?」と言われてもなんとも思わないけどな。
0879デフォルトの名無しさん
垢版 |
2019/04/14(日) 01:16:47.56ID:HNz/PUE2
Python の良いところは、良いものがあれば利用すれば良いじゃんという考え方。
Javascript で良いライブラリがあればそれを利用すれば良い。
敵対する関係でもなんでもない。 包容力の深さだろうな。
0883デフォルトの名無しさん
垢版 |
2019/04/14(日) 08:31:25.85ID:YQLb8Tsj
ただただクソなものを否定するとコンプレックスっていうのもどうかと思うよ。
0884デフォルトの名無しさん
垢版 |
2019/04/14(日) 09:36:44.35ID:4GBCpW8E
>>877
言語スレでそれはないだろ
node.jsが出てくるのがそもそもおかしい
typescriptが出てくるならまだわかるが
0887デフォルトの名無しさん
垢版 |
2019/04/14(日) 10:15:55.03ID:/V8zrPr0
>>884
>言語スレでそれはないだろ

議論の流れを遮ってまで拘る必要あるか?という点で意地悪だなと。

ただたしかにスレチだ。
0889デフォルトの名無しさん
垢版 |
2019/04/14(日) 10:42:55.50ID:PamrpYki
プログラミング言語を評価するのにその処理系や周辺のエコシステムまで話題にするのは
別におかしいとは思わんがな。Pythonの話にNumpyが出てくるくらいだし。
0893デフォルトの名無しさん
垢版 |
2019/04/14(日) 12:00:03.75ID:4GBCpW8E
Kotlinとjavaがおなじ中間コードを吐くという理由で
このスレでjavaの話題を延々と続けてるのと同じ
スレチすぎる
0897デフォルトの名無しさん
垢版 |
2019/04/14(日) 16:46:19.08ID:IovzG98E
>>834
手続き型言語でもなく、関数型でも論理型でもない宣言型言語は私も知らない。
HaskellベースにProlog載っけた関数論理型言語(curry)とか、逆に論理型ベースの論理関数型言語(Mars)なら知ってるが、今実用になってるかは知らん。
(綴りは微妙に間違ってるかも)
0901デフォルトの名無しさん
垢版 |
2019/04/14(日) 20:13:21.19ID:szUdZFoQ
次世代のスレで、なぜ人々が旧世代の話をしたがるのか、その心理は気になる
ぼくの持論は、クソバカ老害どもには趣旨を理解することが出来ないからということになっているが、皆様はどうお考えだろうか
0902デフォルトの名無しさん
垢版 |
2019/04/14(日) 20:19:11.90ID:YQLb8Tsj
普通新しいものを採用する際は古いものと比較するよね?
そうすると新しいものって実は価値なくね?ってなることも結構あるんだよね。
僕の持論はそれを恐れているカス野郎が多くいるということになっているが、
皆様はどうお考えだろうか?
0903デフォルトの名無しさん
垢版 |
2019/04/14(日) 20:45:25.54ID:szUdZFoQ
結構あるなら重畳ですが、このスレにそれがどれだけあるのか、クソバカなりに指し示していただけるとよろしいかと存じます。
0904デフォルトの名無しさん
垢版 |
2019/04/14(日) 20:50:27.21ID:qRefkdYJ
バージョンをひとつ飛ばすと効率が良いんだよな
第一世代から第三世代
新旧のバランスのとれた第二世代は評価されず
人々は両極端の話をしたがる
0905デフォルトの名無しさん
垢版 |
2019/04/14(日) 22:57:37.43ID:bXuYrZFq
>>901
このスレで次世代以外の話はスレチってのは正しい。
その上でなぜ旧世代の話が出てしまうのかというと、用途が同じなのに能力に差がないから比較して話すことになっちゃうからじゃね?
スポーツ系のスレでよく歴代の選手との比較ネタでスレが進み、懐古禁止って騒ぐ人がでてくるパターンと同じだねw
0906デフォルトの名無しさん
垢版 |
2019/04/14(日) 23:09:20.67ID:WjGL7oJM
それなら何故用途が被ってるのにその言語が出てきたかを語らった方が有意義では?
0907デフォルトの名無しさん
垢版 |
2019/04/14(日) 23:10:09.67ID:/V8zrPr0
5ch(匿名掲示板)にそんなに高度に話題を制限する能力がないんだよ。割りきって使わないとストレスたまるし他人にも迷惑だぞ。
0908デフォルトの名無しさん
垢版 |
2019/04/14(日) 23:30:03.16ID:yhT1bY0Y
旧世代に属するがあまりメジャーではない言語では古くから当たり前の機能を
観測範囲の狭い奴が新世代と称する言語で初めて知って
それをしたり顔で論じようとするから「ちょっと待て」となってるだけかと
0909デフォルトの名無しさん
垢版 |
2019/04/15(月) 00:28:28.90ID:5Z9ghND4
node.jsがそれにあたるとは思えない
しかも今更感が漂ってる
いい検索サイト見つけたよgoogleって言うんだみたいな超絶周回遅れ感
0910デフォルトの名無しさん
垢版 |
2019/04/15(月) 01:17:07.65ID:rQHM+es2
node.js 初版2009年
go 初版2009年
kotlin 初版2011年
swift 初版2014年
rust 初版2006年
TypeScript 初版2012年
Python 初版1991年
JavaScript 初版1994年
JAVA 初版1995年
0911デフォルトの名無しさん
垢版 |
2019/04/15(月) 07:07:15.98ID:KXq8qGFi
Python、古いんだね。載ってないけどHaskellも確か古かったよね。

どちらも旧世代言語やな。Haskellについては後発言語に近年色々パクられてるから次世代言語的的だけど。
Pythonは良く知らんのだけど、そういう要素あったっけ?
0912デフォルトの名無しさん
垢版 |
2019/04/15(月) 07:53:36.32ID:LtQIdg5g
クロスではnpm iを気軽にできない環境だと.net coreの方が良いと感じた。
Goほどデプロイ簡単じゃないけど、コピるだけ。
nodeはnpm moduleが全部フルJSとは限らないから、node_modulesコピーするだけじゃうまく行かないケースがある。
ラズパイでビルドが入るnpm iは結構遅い。
0913デフォルトの名無しさん
垢版 |
2019/04/15(月) 07:54:47.50ID:LtQIdg5g
C#も.net core 3.0だとパターンマッチが強力になってたり、意外に新しい言語になりつつあるよ。
割と早いし。
0914デフォルトの名無しさん
垢版 |
2019/04/15(月) 08:10:10.45ID:6QGEsl+6
趣味レベルならPythonのように遅い言語は良いんじゃないかね
早さを求められないExcelなんかのVBAに置き換わるにも適してるとは思うよ
0915デフォルトの名無しさん
垢版 |
2019/04/15(月) 08:22:11.09ID:PQoyOqOA
趣味レベルは正義でも悪でもない
仕事レベルでやってるやつの正義感の強さを冷笑するのが趣味レベル
0920デフォルトの名無しさん
垢版 |
2019/04/15(月) 10:15:29.58ID:32QyJyZG
npm って install コマンドでビルドは走らないと思うけど
0922デフォルトの名無しさん
垢版 |
2019/04/15(月) 11:23:07.97ID:7tXGeSsk
クローム拡張とかって簡単につくれんのかな?
JavaScriptで出来てるものとかあるし。
0923デフォルトの名無しさん
垢版 |
2019/04/15(月) 11:30:59.00ID:32QyJyZG
>>921
ビルドって C++ のか
js の話かと思った
0924デフォルトの名無しさん
垢版 |
2019/04/15(月) 11:53:41.07ID:hce9CeGK
Ruby のBundler でも、バイナリじゃないものは、Windows では、MSYS2 でコンパイルされる

コンパイラは、2〜3GB あるから、漏れは、コンパイラを入れていない

それで、websocket モジュールが使えない。
websocketは、ソースコードで配布しているから

漏れは、node.js もインストールしたけど、VC++ が入ったのかな?
0925デフォルトの名無しさん
垢版 |
2019/04/15(月) 12:31:25.25ID:BsGbG3gA
ほれ見ろRubyガイジまで来たじゃねーか
0927デフォルトの名無しさん
垢版 |
2019/04/15(月) 13:15:48.17ID:jiJBq32l
Kotlinもよろしく
0928デフォルトの名無しさん
垢版 |
2019/04/15(月) 17:07:56.68ID:cVvpURwa
2019年にわざわざ学ばなくてもいいプログラミング言語--Codementorがランキング発表
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年04月15日 11時58分
https://japan.zdnet.com/article/35135732/

(前略) Codementorのデータから、2019年にわざわざ学ぶ必要のない言語はElm、
CoffeeScript、Erlang、Lua、Perlが挙がっている。

 最低(ワースト)から最高(ベスト)までのリストを見ると、いくぶん驚きではあるが、
Androidアプリ構築で人気のKotlinは18位から11位に上昇している。もっとも、Kotlinで
書かれたプロジェクトの数が増えたことから、Microsoftが買収したりコードホスティング
サービスのGitHubではKotlinは最も急成長した言語であることが分かっている。

 一方で、Codementorのデータで「最も改善した」言語はDartだった。DartはGoogleで
開発された言語だ。

 CodementorはDartの改善について、Flutterが主な要因としている。FlutterはGoogleの
モバイルアプリを開発するためのSDKで、単一のコードベースでiOSとAndroidアプリを構築
できる。FlutterアプリはDartを使って作成されており、Googleが取り組んでいるOSである
Fuschiaで重要な位置を占めている。

 Flutterを後ろ盾にしたDartの上昇からいえることは、Googleの決定が開発者に大きな
影響を与えるということだ。

 一方で、Codementorの雇用市場に関するインデックスでは、Dartのスコアは高くない。
だが、コミュニティーのエンゲージスコアは改善している。
0929 ◆QZaw55cn4c
垢版 |
2019/04/15(月) 20:16:36.36ID:LQQFzfOD
>>910
ruby がないのはどう言ったわけだ!
強く抗議する!
0930デフォルトの名無しさん
垢版 |
2019/04/15(月) 20:35:58.99ID:IXPbMXJW
関数一つ作れば済むようなことをわざわざワンライナーで書くための機能とかありがたがるバカが多すぎなんだよ。
そういう奴に限ってまともにマクロも書けなかったりするし意義もわかってない。
0931デフォルトの名無しさん
垢版 |
2019/04/15(月) 20:41:49.41ID:0pfueoRK
具体てきには?
0932デフォルトの名無しさん
垢版 |
2019/04/15(月) 21:00:12.73ID:0fUMxMwS
>>930
> まともにマクロも書けなかったりするし意義もわかってない。

まともに書けてないマクロってどんなん?
意義って何の意義?
0936デフォルトの名無しさん
垢版 |
2019/04/16(火) 09:11:44.18ID:wCqxjGzR
$ cat ls
#!/bin/sh
echo *
$ ■
0940デフォルトの名無しさん
垢版 |
2019/04/17(水) 00:27:27.77ID:SugD6GpG
functionとかの予約語って必要なのかな?
あと ?.演算子が普通に普及しすぎてて声に出すときどうやって読むのか気になる
0941デフォルトの名無しさん
垢版 |
2019/04/17(水) 00:33:44.22ID:SugD6GpG
tryGetPropertyなんてクソみたいな関数名つけた例を出してくるのはセンスがないと思う
0942デフォルトの名無しさん
垢版 |
2019/04/17(水) 00:39:11.86ID:SugD6GpG
updateYも見てて糞だなって思う
updateX
updateZ
updateXY
updateXZ
後は略

と言ったように後に並んでるのを考えると寒気がする
こういうのを解決しない言語を作ってどうすんの?

updatePoint (p, _ , 5, _) の様に指定で来たらいいだけじゃないか?
0943デフォルトの名無しさん
垢版 |
2019/04/17(水) 18:43:57.77ID:DaACwh1w
そんなしょうもないシンタックスの問題のために新しい言語を作る必要はない。
0944デフォルトの名無しさん
垢版 |
2019/04/17(水) 18:52:26.28ID:q/9NxBQE
次スレはBosque入れてSwift外そう。誰も話してないし。
0949デフォルトの名無しさん
垢版 |
2019/04/17(水) 22:13:26.94ID:pGCWwX/F
>>947
デコレーターの議論は進んでるのけ?
0950デフォルトの名無しさん
垢版 |
2019/04/17(水) 22:33:23.28ID:wBdVTFw7
まだドラフトなのに早漏がbabelでデコレータ使いまくったせいで記号の交換ができずプライベートフィールドが#になってしまったらしい
0952デフォルトの名無しさん
垢版 |
2019/04/18(木) 00:10:03.73ID:T7S3Nadu
これか。

https://github.com/tc39/proposal-class-fields/blob/master/PRIVATE_SYNTAX_FAQ.md#why-was-the-sigil--chosen-among-all-the-unicode-code-points
> @ was the initial favorite, but it was taken by decorators. TC39 considered swapping decorators and private state sigils, but the committee decided to defer to the existing usage of transpiler users.

最低だな。
だから嫌われるんだ早漏は。
0955デフォルトの名無しさん
垢版 |
2019/04/18(木) 09:40:33.13ID:GZG5vyPp
>>954
大丈夫。そのまま待ってると時代の方が後からゆっくり変わってきてやがてフィットするようになるから。
0958デフォルトの名無しさん
垢版 |
2019/04/18(木) 11:54:37.34ID:F6nfsJw8
Ruby では、

cat : ローカル変数
$cat : グローバル変数

@cat : インスタンス変数
@@cat : クラス変数

Cat : 定数は、大文字で始まる

慣習として、
BigCat クラス・モジュールのファイル名は、big_cat.rb

ローカル変数・メソッド名は、big_cat
定数は、BIG_CAT, BigCat
0960デフォルトの名無しさん
垢版 |
2019/04/18(木) 14:47:54.33ID:OXzSFMTD
>>958
その、ソースを上から下まで舐めるように読まないとグローバル変数が何個あって、どう使われてるか把握出来ないのが大規模開発に向かないんだよ。
動的型言語は自由度が〜って言うけど、他人に把握し難い自由度は害悪でしか無い。
0961デフォルトの名無しさん
垢版 |
2019/04/18(木) 14:55:20.05ID:nwidurpX
書きやすく読みにくい
どっちゃりある関数ライクの書き方見るに書きやすいとも思えないが
0962デフォルトの名無しさん
垢版 |
2019/04/18(木) 17:04:59.53ID:f9Qhvlz2
斜陽言語の宣伝をいくらしても人気が上がることはあり得ないんだから潔く諦めたら良いのに。

怖くて他の言語を勉強できないんだろうな。 爺さんか?
0965デフォルトの名無しさん
垢版 |
2019/04/18(木) 19:53:47.38ID:jNNJnl9I
あたま文字D。
0969デフォルトの名無しさん
垢版 |
2019/04/18(木) 21:26:30.05ID:ILDo2ap3
>>964
名前の由来の画像の印象悪すぎで草
薄暗く霧がかって見通しが悪いところに無秩序に生える木々とか
0971デフォルトの名無しさん
垢版 |
2019/04/19(金) 10:00:20.16ID:p/ztoCUW
確かになんでこんなセンス無い名前にしたんだろ
せめてスペルくらいbosqにしろや
programをprogrammeと書く奴はいないし
queをqueueと書く奴もいない
referrerはreferer
0974デフォルトの名無しさん
垢版 |
2019/04/19(金) 10:32:02.15ID:D1XYkIIA
>>972
俺は思わない
0975デフォルトの名無しさん
垢版 |
2019/04/19(金) 11:07:14.97ID:NsTUo0Bg
>>971
>書く奴はいない
イギリス綴りやラテン語由来の雰囲気を出したい意図があるんじゃない?
0976デフォルトの名無しさん
垢版 |
2019/04/19(金) 12:18:06.78ID:U46FCs4Q
キューは思い切り口を尖らせながら言うこと。
0978デフォルトの名無しさん
垢版 |
2019/04/19(金) 12:23:51.89ID:p/ztoCUW
>>975
そんな意図、欧米人にしか通用しないと思うのだがなぁ…

ところで新記事きてた。
googleの力も借りて箇条書き部だけ適当に訳した。

Microsoft aims for simplicity with Bosque programming language
https://www.infoworld.com/article/3390197/microsoft-aims-for-simplicity-with-bosque-programming-language.html
・Bosqueは不変(immutable)データと調和する機能モデルを採用しているため、すべての値は不変です。
副作用がなければ、コードブロックの任意のステートメントの作用を理解することはとても単純になります。
関数型言語は、プログラム開発の単純化、洗練されたツール、およびこのモデルによって可能になるコンパイラの最適化の恩恵を受けています。
・更新可能なvar!変数への複数回の代入を許可することで、関数型プログラミングはブロックスコープと{…}括弧と融合します。
・関数はファーストクラスの値であり型です。
・ラムダコンストラクタは、ラムダ作成時のクロージャキャプチャ変数のために、ラムダ本体のコード定義と変数コピーセマンティクスを組み合わせたものです。
・シンプルで押し付けがましくない型システムは、意図を伝え、問題領域の関連する特徴を符号化するために、構造型(structural types)、組み合わせ型(combination types)、および公称型(nominal types)といった一連の型の使用を可能にする。
・型付き文字列は、文字列の内容に関する既知の構造を、人にとって意味があり、かつ型チェッカーが利用できる方式で型に変換するためのメカニズムを提供します。

続く>>979
0979デフォルトの名無しさん
垢版 |
2019/04/19(金) 12:24:14.88ID:p/ztoCUW
>>978 続き

・ref引数を渡すことでパラメータをスレッド化することができます。
複数の戻り値(multi-return values)に代わるものとして、これはメソッドが渡された変数を使用・更新するようなシナリオを単純化します。
パラメータの更新を許可することで、余分な(extra)戻り値の管理が不要になります。
この機能はまだ実装されていません。
・名前付き引数が提供されています。
残余引数(rest parameters)やスプレッド演算子(spread operators)も。
これらは呼び出しやコンストラクタ操作の一部としてデータ操作を実行できます。
・不変式/不変条件(invariants)、サニティチェック、および診断アサーションといったさまざまな表現のための一級のサポートが提供されています。
・Bosqueでの一括代数データ操作は、一括読み取りとデータ値の更新から始まります。
作成されたオペレータは、コードを全体的な意図に集中させ、開発者がデータ構造操作に関する代数推論をするのを助けます。
代数演算は、データ型、タプル、レコード、および名義型、さらには射影、複数更新、およびマージを含む演算に対して提供されます。
・反復処理機能により、構造化ループは高レベルの反復処理構成体と交換されます。
同じループを書くことの定型句を削除することで、束縛計算を含むエラーのクラスが排除されます。
intentは意図(intent)を明確にします。
0981デフォルトの名無しさん
垢版 |
2019/04/19(金) 16:09:21.47ID:U46FCs4Q
くぇー
0982デフォルトの名無しさん
垢版 |
2019/04/19(金) 16:13:42.90ID:oHWX6/LR
これアメリカ人の大部分は初見で読めないんじゃないの?w
むしろ(ケベック系つながりで)カナダ人のほうが読めそう
0984デフォルトの名無しさん
垢版 |
2019/04/19(金) 16:38:33.84ID:p/ztoCUW
フランス人ならフランス語のQu'est-ce que c'estがケツクセーって読むらしいからやっぱりボスクって呼ばれると思う
0987デフォルトの名無しさん
垢版 |
2019/04/19(金) 18:54:58.66ID:U46FCs4Q
Κе
0989デフォルトの名無しさん
垢版 |
2019/04/19(金) 20:11:35.59ID:j6ebG9/X
bosqueじゃ新しいメッセージキューみたいだな
0990デフォルトの名無しさん
垢版 |
2019/04/19(金) 20:38:24.84ID:F98lm+5F
bosque スペイン語で森の意味かな?

>>978
>欧米人にしか通用しない

ラテン語やラテン系言語を学んだことのある層は
欧州以外だとごく少なそう。
0991デフォルトの名無しさん
垢版 |
2019/04/19(金) 20:43:30.55ID:U46FCs4Q
また毛の話してる・・・
0992デフォルトの名無しさん
垢版 |
2019/04/19(金) 20:58:43.05ID:omu6urbK
>>953
それが出来ない環境ってあるんよ。
稼働機はインターネット繋がってないとかね。
そういうのはクロスでコンパイルして持ってったりするし、
それと同じマシンをインターネットにつながる場所からnpm iして、持ってったりするんよ。
ラズパイ使うならあるあるのケースだと思うけど。
そういうユースケースすら浮かばない残念な人なのかな?
0994デフォルトの名無しさん
垢版 |
2019/04/19(金) 22:14:26.38ID:er92Du55
そういう場合無理せずgoでいいんじゃないか
Cでもいいけどw
0996デフォルトの名無しさん
垢版 |
2019/04/19(金) 23:43:51.27ID:hwsqIZVq
Bosqueよう分からんな。俺の頭の中では別レイヤーの概念が同じ階層にいる感じがする。

あと、型付き文字列って特別扱いしないと駄目な機能なのか?
TString<PhantomType> = { data : String, phantom:PhantomType }みたいに定義してコンストラクタ隠したらできると思うし、
そしたら文字列に限定せず、0より大きい3の倍数だとかを表現するのにInteger[Zm3]とかやれるべきだけど特に書いてないし。

subtypingはOCamlで慣れてるからそんなに難しくはなさそう。ただ、リストや配列をコンパクトにできるのか自信無い
0997デフォルトの名無しさん
垢版 |
2019/04/20(土) 00:29:47.76ID:V6hNb77K
ラズパイ3B+しか持ってないからネットに繋げられないってシチュエーションが想像できないな
0998デフォルトの名無しさん
垢版 |
2019/04/20(土) 01:38:26.24ID:tdttDGmt
スゥウィフトの4値エラーとか革命的発想だと思うんだけどな
なぜ話題にならない?
1000デフォルトの名無しさん
垢版 |
2019/04/20(土) 01:47:41.08ID:tdttDGmt
>>996
ただの文字列インタンスを生成するのにそんなゴミ情報くっついてたらオーバーヘッドがオーバーだろが
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 5時間 17分 31秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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