◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

次世代言語Part7[Go Rust Swift Kotlin TypeScript] ->画像>5枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1508403098/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2017/10/19(木) 17:51:38.66ID:EPSDvC75
文字数制限きついので改題
スレタイ以外の言語もok

前スレ
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
http://2chb.net/r/tech/1503924817/
2デフォルトの名無しさん
2017/10/19(木) 17:56:35.46ID:EPSDvC75
そろそろSwiftとTypeScript入れときたかったので
3デフォルトの名無しさん
2017/10/19(木) 19:23:30.17ID:33xh/nBB
5chってなんだよ
4デフォルトの名無しさん
2017/10/19(木) 19:35:46.24ID:C3Fl3waR
2ちゃんねる、正式に「5ちゃんねる」に名称変更!色々あって5chが誕生!
http://www.yukawanet.com/51096/archives/5274335.html
5デフォルトの名無しさん
2017/10/19(木) 23:31:42.71ID:nu6ztsFr
TSは普通に現代だろ
生JSはもうやれない
6デフォルトの名無しさん
2017/10/19(木) 23:43:07.41ID:1zFRkFBm
生JSもVSCodeによってコード補完がTypeScriptと比べてさほど遜色ないレベルにまで引き上げられたからなあ
結局MSが本気で開発環境を作ればどんな言語でもゴリ押しできることが証明されてしまった
7デフォルトの名無しさん
2017/10/20(金) 00:38:29.46ID:2lESXdgM
次世代というか、2010年代の企業発の静的型付け言語でまとめてみた
まだ載ってないのだとNim Hack Julia Crystal辺りがいいのかな
8デフォルトの名無しさん
2017/10/20(金) 01:01:22.11ID:eMg2A2/G
>>6
限定的な型補完のみだろ
静的チェックには絶対型が必要
9デフォルトの名無しさん
2017/10/20(金) 01:56:31.26ID:Ka6W9rl7
>>6
JS含む動的言語は大抵ダックタイピングって時点で補完が効かないじゃん。

個人的には「ダックタイピングのほうがインターフェース書かなくて済むから
手軽で良い」って言ってる奴がマジで理解できん
補完できなきゃどのメソッド呼べるのかいちいちコードかドキュメント見に行かんとならんからむしろ面倒
10デフォルトの名無しさん
2017/10/20(金) 02:15:40.71ID:yLtxI7rs
>>9
型が決まってれば動的言語だろうと補完できるでしょ
11デフォルトの名無しさん
2017/10/20(金) 02:54:33.08ID:Ka6W9rl7
>>10
JSDocに型を書いてないコードとかあったら発狂したくならない?
仕事じゃ周りのアホどもが書いてくれないからよくにあるんだけど
12デフォルトの名無しさん
2017/10/20(金) 03:57:09.23ID:YyMx7jsp
>>9
最初にコード補完をIDEに組み込んだのは動的言語
13デフォルトの名無しさん
2017/10/20(金) 04:05:45.74ID:Ka6W9rl7
>>12
それは知らんかった
何て言語?
14デフォルトの名無しさん
2017/10/20(金) 05:20:27.14ID:VprmOZRL
>>13
皆さんよくご存じのVBです。
15デフォルトの名無しさん
2017/10/20(金) 06:44:15.18ID:dSzguJuu
>>14
バカいうんじゃないSmalltalkに決まっとるがな
16デフォルトの名無しさん
2017/10/20(金) 06:50:33.12ID:VprmOZRL
>>15
https://en.wikipedia.org/wiki/Intelligent_code_completion
17デフォルトの名無しさん
2017/10/20(金) 07:06:06.25ID:eMg2A2/G
>>9
ホンコレンゴ
18デフォルトの名無しさん
2017/10/20(金) 11:11:11.05ID:P8/EFRxC
>>16
何を調べるにしてもウィキペ情報は参考程度に留めておいたほうがいいよ

ご多分に漏れずこの件に関しても間違っていてちょっとググっただけでも
少なくとも1980年代にはコンテキストを考慮した補完機能を有するAliceというPascalのIDEが出ていることがわかる
http://www.atarimagazines.com/v6n2/Alice.html

だから動的言語が初かの真偽はともかくVBがしかも1990年代にもなってから「最初」ということはあり得ない
19デフォルトの名無しさん
2017/10/20(金) 13:06:03.49ID:6HQ5gdkc
動的か静的かよりも暗黙に型変換するのかしないのかのが重要。
20デフォルトの名無しさん
2017/10/20(金) 14:49:05.79ID:RMJRt52l
typescriptの凄さってIDEの機能言語に組み込んだことだよな。
リファクタリングの機能を言語に用意してるから、
どのエディターでも使える。
21デフォルトの名無しさん
2017/10/20(金) 14:53:55.28ID:yLtxI7rs
>>16
>>18

Wikipediaが間違ってるんじゃなくてお前らの読み方が間違ってるだけだろ
最初にコード補完をIDEに組み込んだのはVBなんて事どこにも書いてない
22デフォルトの名無しさん
2017/10/20(金) 14:55:26.74ID:yLtxI7rs
>>11
JSDocとコード補完と何か関係あるの?
23デフォルトの名無しさん
2017/10/20(金) 18:06:03.89ID:yevn4/qi
折角の補完機能ガン無視してVimで書いててすまん
Vimに補完つけると重いんだよな
24デフォルトの名無しさん
2017/10/20(金) 18:12:51.51ID:UMfeFQLW
vimの補間が重い…?
25デフォルトの名無しさん
2017/10/20(金) 18:49:47.42ID:yevn4/qi
Jedi-vimとか謎に重くならん?
あれ?そうでもない?
26デフォルトの名無しさん
2017/10/20(金) 18:59:15.83ID:YvXWjlAq
>>20
MSは昔からやってるけどね
MSにとって目新しいのは、コンパイラ及びエディタをコード補完やリファクタリングに対応させるためのオープンなプロトコルを策定したこと
これほど早い段階でそのレベルにまで達するのはMSにしかできないこと
27デフォルトの名無しさん
2017/10/20(金) 21:43:00.33ID:x/nMj/Ym
誰だよ未だにプログラミング言語未満のRustをスレタイにいれてるやつ
ハロワ以上のプログラムをことごとくコンパイル弾く欠陥品、言語としての体をなしていない
28デフォルトの名無しさん
2017/10/20(金) 22:07:39.64ID:6WjQxFol
普通にrestでwebserverたててるが…
29デフォルトの名無しさん
2017/10/20(金) 22:07:46.81ID:6WjQxFol
Rustね
30デフォルトの名無しさん
2017/10/20(金) 22:29:29.77ID:dSzguJuu
名前間違う時点でろくすっぽ使ってないのバレバレ
31デフォルトの名無しさん
2017/10/20(金) 22:33:08.26ID:6WjQxFol
晩酌してたのとRest APIと混ざったんだよ
めちゃめちゃ使ってるっちゅーの
32デフォルトの名無しさん
2017/10/20(金) 23:15:48.68ID:KNQSc5p/
自動補完は正直うざいからオフにする
33デフォルトの名無しさん
2017/10/20(金) 23:58:05.68ID:K0f4yEve
>>31
じゃあさくっと木構造実装してみてよ
34デフォルトの名無しさん
2017/10/21(土) 00:09:44.49ID:WA0WypxL
>>33
ほい

enum Tree<T> {
Leaf(T),
Node(Box<Tree<T>>, Box<Tree<T>>),
}
35デフォルトの名無しさん
2017/10/21(土) 00:44:54.19ID:DO/riCmW
まあそれが一番素直な実装だね。

問題は循環するかもなグラフの場合。持ち主が曖昧になるから。
36デフォルトの名無しさん
2017/10/21(土) 01:18:33.12ID:EatcavDb
>>34
データ構造定義だけ書かれてもな
それに対して余計なアロケーション発生させずにappendとdelete実装してみてくれよ
できるもんなら
37デフォルトの名無しさん
2017/10/21(土) 02:15:10.99ID:VqKLKVGY
問題はTypeScriptに対して競合としてflowがあることだよな。
Reactを使うのにTypeScript使っててすごく便利なんだけどReactがflow押ししそうで怖い。
38デフォルトの名無しさん
2017/10/21(土) 03:03:32.99ID:WA0WypxL
>>36
まずはCかC++でお前の言う無駄なアロケーションのないappendとdelete付きの木構造とやらを書け。
そしたらそれをRustで書き直してやるよ。
39デフォルトの名無しさん
2017/10/21(土) 05:46:24.53ID:VmqPmNn/
>>37
Web系に言語は作れないってのはさすがにCoffeeやDartで世間に理解されたと信じたい
40デフォルトの名無しさん
2017/10/21(土) 10:28:21.87ID:wl/wLs0J
>>20
IDEの機能を言語に組み込むぐらい、LISPもSmalltalkもとっくの昔にやってるじゃん。
41デフォルトの名無しさん
2017/10/21(土) 10:29:25.77ID:wl/wLs0J
おまえらが次世代と呼んでいる機能のほとんどが60年代の再発明だなw
42デフォルトの名無しさん
2017/10/21(土) 11:01:34.95ID:sh0YDQHh
>>37
うちの案件フロウ使ってるわ
最初の技術選定でクソ馬鹿野郎が生JS選択したせい
しかも途中で辞職、いやいなくなってくれてせいせいしたが

んで、どうしようもないから後付けでフロウ
クソみたいな生JSに後から挿入れられるのはメリットだわな
ライブラリの対応はゴミだけど
43デフォルトの名無しさん
2017/10/21(土) 11:46:16.50ID:DO/riCmW
>>41
まあそういうところもあるけど、Rust なんかはだいぶ機能を整理した方かなとは思うよ。
実際に作って使ってみるとボローイングの解決しづらさがよくわかるってのはある。
理論と実践は繰り返してなんぼ。
44デフォルトの名無しさん
2017/10/21(土) 12:04:58.67ID:SwYl7d2P
言語レベルのリファクタリングを備えたTypeScript 2.5がリリース
https://www.infoq.com/jp/news/2017/10/typescript-2-5-refactoring
45デフォルトの名無しさん
2017/10/21(土) 13:02:01.91ID:VqKLKVGY
>>42
Typescriptも該当ディレクトリ内にXXXX.d.ts(XXXは生jsのファイル名)を置くだけで
型が付与できるけどな。しかも生jsの箇所をいじらずに。
どっちがいいかは何とも言えないが。
46デフォルトの名無しさん
2017/10/21(土) 13:03:37.91ID:VqKLKVGY
jsというかTypeScriptを使ってるんだけど。async-awaitマジでいいわ
と思ったが例えばclassのコンストラクタをasync対応してくれたらな〜って思うわ
初期化時に非同期関数使いたいと詰む。
47デフォルトの名無しさん
2017/10/21(土) 13:38:53.78ID:ZiJpfJlj
>>46
c#でずいぶんお世話になってるから嬉しいわ
48デフォルトの名無しさん
2017/10/21(土) 13:51:38.02ID:sh0YDQHh
>>45
ま?
49デフォルトの名無しさん
2017/10/21(土) 14:20:00.52ID:SGUxbDYw
>>46
わざわざasyncのinitializeメソッド作るの馬鹿らしいよな、仕方ないんだけど
50デフォルトの名無しさん
2017/10/21(土) 14:32:26.28ID:7p4/5GBE
>>46
constructor() {
 (async () => {
  await this.hogeAsync();
 })();
}
インスタンス作成側ではawait newとかできないけど、分かってて使えば
今のとここれで特に問題ないわ。
51デフォルトの名無しさん
2017/10/21(土) 18:32:34.18ID:VqKLKVGY
>>50
非同期関数がそのクラスの生成タイミングで終わる保証無いだろ。
大概ストレージとかネットワークアクセスしてるわけだし。
それで事足りてんの?マジで?
52
2017/10/21(土) 18:53:01.32ID:RC5niii9
>>9
使ってみたらわかるが、ちょっと頭おかしいレベルで補完効くぞ。
関数の型が、「Date | "不正日付" | "演算不能"」と、stringの中身まできちんと出してきたときにはびっくりした。
53デフォルトの名無しさん
2017/10/21(土) 19:06:53.76ID:guA6ZzKE
コンストラクタ非同期にしたい時は>>51の言ってる問題があるから、値をセットするだけのprivate constructor準備してpublicは別に公開したほうがいい

例↓

class Hoge{
  private constructor(public foo:string){}
  async create():Promise<Hoge>{
    const foo=await asyncFunction();
    return new Hoge(foo);
  }
}
54デフォルトの名無しさん
2017/10/21(土) 21:09:59.24ID:sahtjmhq
>>41
lisper召喚したいのか?
55デフォルトの名無しさん
2017/10/21(土) 22:04:06.57ID:HyKk2sND
Lisperとかもしいるなら是非来て欲しい
56デフォルトの名無しさん
2017/10/21(土) 22:07:10.31ID:1X5jAkAY
LisperはSmalltalker以上にめんどくさいぞやめとけ
57デフォルトの名無しさん
2017/10/21(土) 23:03:18.92ID:P/rJp3kV
>>43
> 理論と実践は繰り返してなんぼ。

同意
58デフォルトの名無しさん
2017/10/22(日) 01:10:34.37ID:yUcYB3x3
めんどくささを恐れてはならぬ。
59デフォルトの名無しさん
2017/10/22(日) 01:34:14.15ID:jKdYjftV
その通り
テキストエディタで打ったコードにこそ温もりがある
補完や静的解析なんて邪道
日本人ならPHPを使うべき
60デフォルトの名無しさん
2017/10/22(日) 01:56:35.88ID:bmxwOMJ1
>>59
日本人ならとか言うんならRuby使えよ。。。
何でPHPなんだよアホちゃうかと。。。
61デフォルトの名無しさん
2017/10/22(日) 02:06:21.14ID:ZsHOZNag
HSPだろ。
62デフォルトの名無しさん
2017/10/22(日) 02:11:19.39ID:IdeA6XVs
ひまわり ちゃうかな
63デフォルトの名無しさん
2017/10/22(日) 05:30:54.86ID:MmMCQJb7
Elixirってダメなん?将来性ないの?
サーバーがCowboyとかいう変なやつになるからダメなのかな
64名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 09:43:14.05ID:jKdYjftV
>>60
偽装・不正・いい加減がモットーのジャップランド土人村にとって
PHPほど相性のいい言語はない
PHPは日本人なんだよ、わかるか?
65名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 11:54:18.65ID:r0jppfs8
>>52
それは裏でTypeScriptの型情報を再利用してる。
だから標準APIとか有名所は使える。でも自分でライブラリを作るととたんに効かなくなるぞ。
66名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 12:05:58.19ID:HAzBzhoi
>>52の内容なら型アノテーションに頼らずとも型推論だけでいけるだろう。
67名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 13:12:06.46ID:yUcYB3x3
>>63
将来性とかさ〜自分で判断しろや。
それともここで将来性あるとか言われたらなんも考えずにその言語使っちゃうわけ?
将来メンテされなけりゃおれがやるくらいの気概をもって言語使ってほしいわ。
68名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 15:32:24.31ID:bmxwOMJ1
>>64
それはあくまで偏見の塊の君の個人的意見だろ。
そんなこと言い出したら
「日本人はもともと職人気質の人間が多いから
使いこなすのに職人レベルの技術が求められるC++と相性がいい。
だからC++こそ日本人のための言語だ。」
なんていう、今俺が適当に作ったトンデモ論法でも通っちまうだろうが。
69
2017/10/22(日) 15:36:36.11ID:dq05v2c8
>>65
違うよ。自作関数の戻り値と、それが代入されてる変数のヒントに出る。
自分でライブラリ作ってもバッチリ出てくれるけど、doc書いといたら間違いは更にないな。
70名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 15:57:37.80ID:rLFHcAK9
>>63
Elixirいいよ
将来性はコミュニティの頑張り次第
Phoenixはよく出来てる

実質的にWebアプリに用途が限定されるだろうから
このスレでは人気ない
71デフォルトの名無しさん
2017/10/22(日) 20:08:52.70ID:yoTgiwcF
>>68
いや、日本人はPHPでしょ
空気読んで面倒臭いことはナーナーにして
今が良ければそれでよし

当事者がたんまりお金盗って無事退職した後、
年単位越しでツケ払って大騒ぎ

PHPですか?いいえ、日本です
72デフォルトの名無しさん
2017/10/22(日) 21:46:29.44ID:c7gPCMa+
日本の技術力ガーとか言ってたくせに
結局全部嘘ばかり
バカチョン以下やでホンマ
そりゃペチパーが闊歩しますわ
73デフォルトの名無しさん
2017/10/22(日) 23:53:22.71ID:sz7LIs8a
ponyはまだまだマイナーだな
74
2017/10/23(月) 01:37:49.26ID:ko03P2Yp
>>72
多分お前よりはまともなもの作ってるとおもうわ。
75デフォルトの名無しさん
2017/10/23(月) 03:02:27.50ID:vIdD1XI1
haskellがやっと外れたなwスレタイ
76デフォルトの名無しさん
2017/10/23(月) 03:18:43.18ID:7Pp5HgLl
PHp本当に速くなったからな
相変わらずポーリングも特殊操作でしかできないクソだけど
77デフォルトの名無しさん
2017/10/23(月) 04:14:09.67ID:1oD0q36r
異常者の迷言「PHPは日本人」「日本人はPHP」
78デフォルトの名無しさん
2017/10/23(月) 08:27:35.76ID:+M73J5jp
気に食わない奴でも合法なら許す
違法なら許さない
この優先順位を歪めるから無法地帯になるのだ
79デフォルトの名無しさん
2017/10/23(月) 08:52:16.45ID:xr09IWoG
>>70
Elixirってrubyに強く影響受けてる言語なんだよな。
Phoenix触ってたらRailsの匂いを感じる。
でも今は動的言語は弱い気がする。Elixir + 型 が欲しい
TypeScriptが触ってて気持ちいいからサーバサイドもJSがいい気がする。
80デフォルトの名無しさん
2017/10/23(月) 10:51:25.73ID:WMNCDJb0
Elixirの問題は込み入ったことやるとErlangに足突っ込まなきゃいけないことで
プロダクションコードに突っ込むには人材要求が高すぎること
81デフォルトの名無しさん
2017/10/23(月) 14:31:56.92ID:f3vYk0Y4
結局ネットワーク系統のエラー処理は低レイヤーに突っ込んでいかないとどうにもならんよ。
抽象レイヤーでなんとかしたいって願望はわかるけどさ。
82デフォルトの名無しさん
2017/10/23(月) 17:32:43.36ID:KBSkknSp
Elixir(というかBEAM=ErlangVM)の場合はプロセス復活のために型情報が必要だし
静的にしたからって型情報は省略できない
83デフォルトの名無しさん
2017/10/23(月) 19:47:51.56ID:fT3gFD4f
C++を書きたくないんだが代替言語は今だとrustとdどっちがゆうぼ?
最近はnimと言うのが注目されてるとも聞いたが……
84デフォルトの名無しさん
2017/10/23(月) 20:22:06.86ID:ANMjmVZt
誠に残念ながら今そのポジションはGoの一強
85デフォルトの名無しさん
2017/10/23(月) 20:45:12.65ID:LSzHPC1F
Cよりスピード出るのはNimだけ!
86デフォルトの名無しさん
2017/10/23(月) 20:50:25.75ID:Y0tE+5bm
ジャップランド土人村企業が詐欺のために求めているのはPHPだけ!
87デフォルトの名無しさん
2017/10/23(月) 21:14:10.32ID:kb3Oh+Sb
どうかんかえてもRustだろ
88デフォルトの名無しさん
2017/10/23(月) 21:25:58.19ID:xr09IWoG
>>84
Goも弱点が多い言語だけど初期の学習コストとか考えると
rustよりGoかな。
もちろんrustもいいんだけどc++並に学習コスト高そう感ある。
89デフォルトの名無しさん
2017/10/23(月) 21:47:48.94ID:C8zrSpyb
Rustは言語と名乗れる水準に達してないのでGo
深くシステムに触るのには向いてないがな
90デフォルトの名無しさん
2017/10/23(月) 22:05:15.62ID:fT3gFD4f
Goなのか……
他言語が純粋な次世代Cを目指してる中、Goは微妙に設計思想が違うイメージだからあえて外したんだが……やっぱりgoogle正義なのか
91デフォルトの名無しさん
2017/10/23(月) 22:05:44.54ID:f3vYk0Y4
>>83
c++ で何を書くつもりなの?
無理に c++ で書かなきゃならんものって最近は減ってると思うけど。
92デフォルトの名無しさん
2017/10/23(月) 22:17:08.30ID:fT3gFD4f
>>91
c++ で書かれたオープンソースプログラムのdllプラグイン
悲しいことにc++ 選ぶ理由なんて結局既存ソースがc++ だからの理由に尽きる……
93デフォルトの名無しさん
2017/10/23(月) 22:32:24.88ID:QdR3J7Zg
>>90
goとか言ってる連中の言うこと本気にするなよ。
goは数年周期でバズってるだけでC++の代替なら
Dかrustって考えは間違ってないしrust理解できないやつが
こことrustスレで騒いでるだけだぞ。

Dはもう流行らんだろうが、rustは学習コストより標準ライブラリの弱さが面倒。
自分で書くか外部ライブラリに依存しまくるかで基本的なスレッドプールすら無い。
低レベル向けだから結局自分で書くならrustでいいし、それが嫌ならDでいいよ。

rustとD位の差なら正直好みの差。
94デフォルトの名無しさん
2017/10/23(月) 22:40:54.47ID:5YqbDQKx
>>92
ならやっぱりrustじゃない?
bindgen使えばc++のヘッダもパースしてc ffi用のglue code生成してくれる。
bindgenがどの程度まで万能かは俺もよくは知らんけど、
mozillaがfirefox quantumでservoとgeckoの橋渡しのために使ってるくらいだから
結構まともに動くんじゃないかとは思ってる。
95デフォルトの名無しさん
2017/10/23(月) 23:08:38.91ID:Y0tE+5bm
おまんらの大好き ぷ〜えちピーーブリブリッ でも使えばええじゃろw
96デフォルトの名無しさん
2017/10/23(月) 23:35:53.28ID:b+23gIO2
みんなサンクス。
Goは学習コスト低いらしいから後追いでもなんとかなりそうだし、とりあえずrustで書いてみることにするわ
一刻も早くc++ が絶滅する事を祈る
97デフォルトの名無しさん
2017/10/24(火) 00:05:09.11ID:9ZgmGLcB
TypeScriptとGoを交互に触ってるけど
やっぱりnull安全な言語とそうじゃない言語の差が際立つな。
Goのほうは早速null pointerアクセスで落ちる。
98デフォルトの名無しさん
2017/10/24(火) 00:39:57.10ID:7j3gEWSq
c++が絶滅したら今c++で書かれてる様々なコードベースが色んな言語に分裂するんだぜ
バベルの塔
99デフォルトの名無しさん
2017/10/24(火) 00:51:24.05ID:MROfWTvM
バベルの塔を高くし過ぎたからしょうがないね
100デフォルトの名無しさん
2017/10/24(火) 01:31:49.56ID:KQRKQofh
>>93
既存のまともに動いてるCコード移植しようとしてまともにコンパイルも通らなかった経験からまともな言語の水準に達してないといってるわけだが
少なくともRustでものが書けると信じこんでるお前よりはRust理解してるぞ
101デフォルトの名無しさん
2017/10/24(火) 02:18:45.70ID:EjQaHC6N
>>100
お前が前に沸いたアンチと同一人物かどうかは分からんが、前に言った木構造をとっとと書きやがれ。
それすらできないならお前はC、C++もそもそもまともに出来てないんだから黙ってろ。

> 38
> >>36
> まずはCかC++でお前の言う無駄なアロケーションのないappendとdelete付きの木構造とやらを書け。
> そしたらそれをRustで書き直してやるよ。
102デフォルトの名無しさん
2017/10/24(火) 07:07:12.19ID:ZX4BnJ5l
>>101
まずRustの木構造をちゃんと動くように書いてから言えよ
103デフォルトの名無しさん
2017/10/24(火) 08:36:29.96ID:uX1ymmQB
rust で木構造云々言ってる奴って、コンパイラすら通せない rust コードしか書けない奴だろ。

Cで書いてあった平衡木のライブラリを rust に移植したけど、
> それに対して余計なアロケーション発生させずにappendとdelete実装してみてくれよ
こんなん普通に出来るぞ。
Option<Node> に get_or_insert() するだけ。

かなり苦労したのは木の回転だけど、それでも rust 用に頭を使ったら、
take() して mem::swap, mem::swap, mem::swap, そして代入の 5 行で終わり。
全体を通して余計なアロケーションなんて普通に無い。

rust は学習コスト結構高いけど、初歩の初歩で躓いた落ちこぼれ>>100,>>102 とかは何を言う権利も無いよ。
104デフォルトの名無しさん
2017/10/24(火) 10:27:36.72ID:rYGI+fQg
Cのコードを示せないrustアンチは糞ゴミだけど、動くコードを示していない>>103も何も言えていない
105デフォルトの名無しさん
2017/10/24(火) 11:02:52.32ID:pkngrV2F
自分の頭を撃ち抜くCのプログラム書いても運良く助かってる人は
Rustのコンパイル通せなくなるよね
106デフォルトの名無しさん
2017/10/24(火) 11:29:48.61ID:Bfcpp5kd
そういう、Rustのコンパイルが通らなければ危険なコードって決めつけるRust信者本当にうぜえ
Rustが言語として表現できる範囲が狭いのをごまかすための方便でしかないのに
107デフォルトの名無しさん
2017/10/24(火) 11:31:23.83ID:9ZgmGLcB
TypeScriptは本家のplaygroundを触るだけで凄さが分かるんだけど
https://www.typescriptlang.org/play/

rustってそういうのある?ちょっと試すとかできる?
108デフォルトの名無しさん
2017/10/24(火) 11:33:53.63ID:Pu0WJP1A
>>105
自分の頭というよりユーザーにデバッグのコストを転嫁して儲けてるな
運が良いというより確信犯的に
109デフォルトの名無しさん
2017/10/24(火) 13:43:56.97ID:wa8jpGkt
>>107
ググるとかしない人?単にTypeScript宣伝したいだけ?
https://play.rust-lang.org/

もとよりゆるふわTypeScript使いがRustのコンパイルを通せるとも思えないので端から試す気ゼロだろうけど…
110デフォルトの名無しさん
2017/10/24(火) 13:56:01.66ID:Bfcpp5kd
選ばれた人しかコンパイラ通せない言語とかそれプログラミング言語って言えないよね
111デフォルトの名無しさん
2017/10/24(火) 14:30:25.93ID:9ZgmGLcB
>>109
そこは知ってるけど全然補完が効かないんだけど。rust使いは
しょぼいエディターで頑張る感じ?

TypeScriptはplaygroundから補完が効きまくって楽しい。
112デフォルトの名無しさん
2017/10/24(火) 16:07:36.55ID:0CxPdYg4
AltJSであるtsとRustのブラウザ上で動くplaygroundの機能差を語りたかったの?マジで?
Rustサゲしてる人はこの程度ってレッテル貼っていいの?
113デフォルトの名無しさん
2017/10/24(火) 16:17:29.04ID:VubGQCWP
単にプロダクト開発のスキルの違いだな
MSの開発環境チームのメンバーはHelloWorldの代わりにインテリセンス実装するんだろう
114デフォルトの名無しさん
2017/10/24(火) 16:23:54.68ID:rmRTTRfd
>>112
単純にPlaygroundの質からして違うってだけの話だろ
その程度もみとめられないよかよ
115デフォルトの名無しさん
2017/10/24(火) 18:42:18.67ID:bbIPnu9e
なぜrustの対抗馬にTypeScriptが挙がるのかまるで理解できない
用途が全然違うだろ……
116デフォルトの名無しさん
2017/10/24(火) 19:07:54.15ID:x0LH18ak
WebAssemblyが期待されてるから、あながち間違いでもない
117デフォルトの名無しさん
2017/10/24(火) 21:40:46.56ID:eZrIsy4p
>>113
ほんとMSってそういう所は笑えるくらいすごいよな
Rust開発者たちも見習ってほしい

一応rustもコード補完にrlsとかいうヤツあるけどなんかまだいまいちなんだよな。
vscodeにrust(rls)っていうエクテンション入れて使ってるんだけど、
クロージャ書いてるときは補完が効かないのは俺だけ?
あとlint?(エラー・警告を赤・緑の下線で表示してくれるやつ)が
時々なんの前触れもなく急に無反応になるんだけどそれも俺だけ?
118デフォルトの名無しさん
2017/10/24(火) 22:14:01.00ID:FaGN7Q1b
少人数のMS社員が片手間でVSCode作ってみたら一瞬で天下獲れちゃいましたというチート集団
MSがRust推せば余裕でGo潰してベターC++の定番を奪えるだろうな
119デフォルトの名無しさん
2017/10/24(火) 22:51:21.66ID:z3aqO0G+
片手間ってことはないし、エディタ作成なんてのは人数増やせばいいものでもない。
まあチート軍団ってのは確かだけど。
しかし Rust とか c++ みたいに教条主義的な言語ってやっぱ信者が湧くね。
わかりやすくていいとは思うけど。
120デフォルトの名無しさん
2017/10/24(火) 23:14:23.65ID:MOiTAdLh
片手間とか余裕とか、良い子は絶対に真似してはいけない情報ばっかり教えるんだよな
そんなところに信者を集めたら怠け者の集団ができそうだ
121デフォルトの名無しさん
2017/10/25(水) 00:51:09.03ID:KYsAJ7k0
>>36じゃないけど、雑に平衡木(AA木)Cで実装してみた。
つってもWikipediaのまるコピだが。
#include <stdio.h>
#include <stdlib.h>

typedef struct tree {
int value;
struct tree* left;
struct tree* right;
int level;
} tree_t;

int level(tree_t* t) {
if (t == NULL) {
return 0;
}
return t->level;
}

tree_t* leftEnd(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else {
return leftEnd(t->left);
}
}
(続く)
122デフォルトの名無しさん
2017/10/25(水) 00:51:31.44ID:KYsAJ7k0
tree_t* rightEnd(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else {
return rightEnd(t->right);
}
}

tree_t* skew(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else if (t->left->level != t->level) {
return t;
}
tree_t* l = t->left;
t->left = l->right;
l->right = t;
return l;
}
(まだ続く)
123デフォルトの名無しさん
2017/10/25(水) 00:52:33.16ID:KYsAJ7k0
tree_t* split(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else if (t->right->right == NULL) {
return t;
} else if (t->level != t->right->right->level) {
return t;
}
tree_t* r = t->right;
t->right = r->left;
r->left = t;
r->level += 1;
return r;
}
(続く)
124デフォルトの名無しさん
2017/10/25(水) 00:52:56.15ID:KYsAJ7k0
tree_t* decreaseLevel(tree_t* t) {
if (t == NULL) {
return t;
}
int ll = level(t->left);
int rl = level(t->right);
int expectedLv;
if (ll < rl) {
expectedLv = ll + 1;
} else {
expectedLv = rl + 1;
}
if (expectedLv < t->level) {
t->level = expectedLv;
if (t->right != NULL) {
if (expectedLv < t->right->level) {
t->right->level = expectedLv;
}
}
}
return t;
}
125デフォルトの名無しさん
2017/10/25(水) 00:53:17.67ID:KYsAJ7k0
tree_t* insertTree(tree_t* t, int v) {
if (t == NULL) {
t = malloc(sizeof(tree_t));
t->value = v;
t->left = NULL;
t->right = NULL;
t->level = 1;
} else if (v > t->value) {
t->right = insertTree(t->right, v);
} else {
t->left = insertTree(t->left, v);
}
t = skew(t);
t = split(t);
return t;
}
肝心の関数まで遠いなほんと
126デフォルトの名無しさん
2017/10/25(水) 00:55:17.25ID:KYsAJ7k0
tree_t* removeTree(tree_t* t, int v) {
if (t == NULL) { return t; }
else if (v == t->value) {
if (t->left == NULL && t->right == NULL) {
free(t);
return NULL;
} else if (t->left == NULL) {
tree_t* e = leftEnd(t->right);
int succ = e->value;
t->right = removeTree(t->right, succ);
t->value = succ;
} else {
tree_t* e = rightEnd(t->left);
int pred = e->value;
t->left = removeTree(t->left, pred);
t->value = pred;
}
} else if (v > t->value) { t->right = removeTree(t->right, v); }
else { t->left = removeTree(t->left, v); }

t = decreaseLevel(t);
t = skew(t);
t->right = skew(t->right);
if (t->right != NULL) {
t->right->right = skew(t->right->right);
}
t = split(t);
t->right = split(t->right);
return t;
}
おしまい。 まじこんなクソコードに何レスもついやしてすまん。
127デフォルトの名無しさん
2017/10/25(水) 00:56:55.22ID:KYsAJ7k0
改めて書いてみて思ったが、平衡木って平衡保つための操作がポインタのつけかえ多くて
確かにRustにはキツそうだなとか思ったり

データコピーなし縛りで実装するのはRust歴1週間の自分には無理そうだ
128デフォルトの名無しさん
2017/10/25(水) 01:27:50.62ID:egHPItlD
Rust 的にはそんなに派手に持ち主変えるな、もしくはコピーを使えって感覚なんだろう。
そういうのは上のレイヤーだったら正しいと思うけど、アルゴリズムなコードの場合は
ちと厳しいかもしれん。
付け替えが頻繁に発生する構造の場合は
int parent[]; int right[]; int left[];
みたいな配列実装しろてな記事は見た事なるな。
直感的ではないけど速度は出るし、まあ慣れてる奴からすればどっちも一緒といえば一緒かな。
129デフォルトの名無しさん
2017/10/25(水) 01:53:05.61ID:KYsAJ7k0
そういう、どうしても生ポインタごそごそつけかえる必要がある基幹アルゴリズムは、unsafeでくるんでやれって感じなのかね
実際この平衡木の実体が複数スレッドから独立に操作されるとか考えると割と困る
130デフォルトの名無しさん
2017/10/25(水) 06:54:35.09ID:2hh4Hzpf
gitみたいに、古いデータを消去することなく
しかも変更のない部分はいちいちコピーしないアルゴリズムを考えるんだ
そうすれば古い方のデータに別スレッドから安全にアクセスできるよ
131デフォルトの名無しさん
2017/10/25(水) 10:38:32.59ID:1aquIA8S
結局たかが赤黒木すらRustでは書けないって認識でいいの?
ほんとプログラミング言語名乗るなよ
132デフォルトの名無しさん
2017/10/25(水) 10:59:08.02ID:2hh4Hzpf
>>131
その認識は間違いだけど正解を無料で教えてくれるボランティアが足りないね
GNUみたいなボランティアがいっぱいいないとプログラミング言語を名乗れないのが現実
133デフォルトの名無しさん
2017/10/25(水) 11:14:21.26ID:j3LwAfcI
Rustの問題は後発のくせにIDE連携が弱すぎる。
KotlinとかSwiftとか後発の言語は大概IDEと一緒に提供してるから
最初から補完がきっちり効く。

Goも昔はイマイチだったけど改善してるから許せる。
TypeScriptは言語そのものにIDE連携のための機能をたっぷり盛り込んでいるから
見習ってほしいって話。

初学者程IDE連携が必要だからな。言語仕様が優れてていても
ツールとして使い勝手が良くなきゃ使わんよ。

それにRustの立ち位置って
OS開発とブラウザ開発くらいしかメリットが思い浮かばんのだけども

CLIならGoだし
WebならPHPとかRubyとかGoとか乱立状態だし
WEBのクライアントサイドならTypeScriptだし
スマホならKotlinかSwiftかObjC

このどこにRustが入り込むの?
134デフォルトの名無しさん
2017/10/25(水) 11:47:25.56ID:2hh4Hzpf
そもそもC++があまり成功してないから改善するためにRustがある
C/C++と合計して考えるとJavaより上だけど合計しなければC++は成功してないよ
135デフォルトの名無しさん
2017/10/25(水) 12:31:23.13ID:L5aebztM
C++が成功してないwwwwwwwwwww
どこの平行宇宙ですかwwwwwwwwwwwwwwwww
136デフォルトの名無しさん
2017/10/25(水) 13:46:26.44ID:egHPItlD
まあ c++ がうまくいってればこんなに言語がたくさんできることはなかっただろうね。
c++ の存在意義は今や高級な機能をどれだけランタイム速度落とさずに入れられるのかの
実験場って位置づけかな。
137デフォルトの名無しさん
2017/10/25(水) 13:55:53.69ID:L5aebztM
C++は完璧な言語だとか口が割けても言えないのは間違いないが、Rustなんて言語ですらない汚物使うくらいならC++使うわなあ
138デフォルトの名無しさん
2017/10/25(水) 15:45:07.57ID:+h/lSeC6
ID:KYsAJ7k0のコードのRust版まだー?
139デフォルトの名無しさん
2017/10/25(水) 16:40:52.54ID:GfXNw50M
>>133
rlsあるし十分やん
140
2017/10/25(水) 18:10:38.69ID:Wj9s3Y5p
TSは手段と目的がたまに入れ替わるのが見てるとちょっもモヤモヤするな。
C#が最近もう一度好きになってきた。
141デフォルトの名無しさん
2017/10/25(水) 19:10:42.88ID:ajBcpsg9
>>138
まあまあ今ごろコンパイラに怒られてる頃だしもうちょっと待ってやろうぜwwwwww
142デフォルトの名無しさん
2017/10/25(水) 20:35:19.01ID:rCcyDoqV
rustスレよりもりあがっとるやんここ
143デフォルトの名無しさん
2017/10/25(水) 20:59:03.30ID:EAW9qNH5
cに名前空間とラムダとattribute((cleanup))が入るだけでもだいぶ助かるのに。
なんでcの規格のバージョンアップは遅いんだ?
c++みたく3年毎にしてくれたらいいのに。
144デフォルトの名無しさん
2017/10/25(水) 21:12:25.50ID:7dSKsD7g
>>142
あそこモジラの工作員しかいねえし

Rustが言語ですらないただの汚物って正しい認識を共有できる人がちゃんといるのは素晴らしいと思う
145デフォルトの名無しさん
2017/10/25(水) 22:58:44.78ID:egHPItlD
>>143
C++みたく闇鍋状態にしたくないからだろ。
146デフォルトの名無しさん
2017/10/25(水) 23:13:35.98ID:GfXNw50M
モジラが2ch見てるわけねーだろ
糖質かよ
147デフォルトの名無しさん
2017/10/25(水) 23:16:03.33ID:j3LwAfcI
rustをそこまで毛嫌いする必要もないと思うけどな
rustのメモリオーナーシップモデルとかコードの改善に貢献するという話もあるし
ちょっと気にはなってる。
148デフォルトの名無しさん
2017/10/26(木) 00:20:17.07ID:9syp6YaG
rustアンチって同一人物だろ
コンパイル通らなくてイライラしてるんだね^^
コテ付けて、どうぞ
149デフォルトの名無しさん
2017/10/26(木) 00:21:04.60ID:T1ShqX6y
rustは何がそんなに駄目なんだろ
そこ迄言われると学びたくなってくる
150デフォルトの名無しさん
2017/10/26(木) 00:26:09.28ID:9syp6YaG
>>149
他の言語にはない所有権システムが原因で学習コストが高い
使いこなせば強力だけどとても難しい機能
それで使いこなせてない人が「コンパイル通らない」って発狂してる

例えると、初めてHaskell言語触る人が「変数に代入出来ないから何も出来ない!Haskellは欠陥言語!」って言ってるような物
151デフォルトの名無しさん
2017/10/26(木) 00:31:32.93ID:zsf3GtyN
rustのコンパイルを通せない低級汚グラマーが
嫉妬で腐してるだけだろ

腐ってるのはテメーの言語センスだろってね
152デフォルトの名無しさん
2017/10/26(木) 00:32:53.75ID:9syp6YaG
Haskell言語って何だ
夜は誤字増えるから寝よう
153デフォルトの名無しさん
2017/10/26(木) 00:50:43.34ID:T1ShqX6y
>>150
なるほど、でも面白そうだな

パフォーマンスは良いって聞くし
haskellも好きだし一通り触ってみるかな
154デフォルトの名無しさん
2017/10/26(木) 03:24:21.96ID:EtDTWIur
まあ御託はいいからデータコピーなしの平衡二分木をRustで書いてからにしてくれよ
Cのコードは出たぞ
155デフォルトの名無しさん
2017/10/26(木) 05:10:18.37ID:IaYxMsud
Haskellなら副作用だらけのコードは断固拒否するだけだが
Rustで副作用を拒否すると延々と粘着されそう

ついでにPythonは静的型を拒否するだけだが
Goはジェネリクスがない件で永久にいじめられるんだろう
156デフォルトの名無しさん
2017/10/26(木) 07:04:11.52ID:hnEjL22C
Haskellは速さは捨てて副作用を無くすことに全振りしてるけど、Rustはそうではないからな
157デフォルトの名無しさん
2017/10/26(木) 09:12:10.17ID:ZXFAdbhr
Rustはunsafeつかえば(ffiしたほうがはやいだろうが)できないことはないと思ってるんだが違うのかな?
158デフォルトの名無しさん
2017/10/26(木) 09:59:20.18ID:tFGGFqQC
Goはいつものgoogleのフカしで持ち上げられてる感がプンプンするぜ。
単なる昔ながらのVM使ってない静的型付け言語を
システムプログラミングとかいうバズワードを作って
スクリプトしか描いたことない奴らにいかにも新しいものであるかのように錯覚させてる。
159デフォルトの名無しさん
2017/10/26(木) 10:42:13.95ID:1t2EMvpb
>>157
初めからプログラム全体をunsafeで囲ってある状態を仕様にすればいいのにな

>>158
バズワードだろうがなんだろうが、速くて書きやすけりゃ正義よ
160デフォルトの名無しさん
2017/10/26(木) 10:47:47.28ID:Y5WhyQQy
最近は新しいOSSもGoで書かれてるの多くてうんざりする
再来年辺りには「Goは終わった」とか言われだしてScalaと同じ道を辿るのわかりきってるのにWeb系の馬鹿共は何度同じ間違いを繰り返すのか
161デフォルトの名無しさん
2017/10/26(木) 11:10:35.34ID:8qIiNs+I
個人的にはDが一番純粋なc++ 後継って感じで頑張って欲しいんだけどなぁ
まったく流行る兆しがない……
別に新しい言語を求めてるんじゃないんだ。c++ からc互換を取り除いて標準ライブラリと文法見直してくれるだけでいいんだ
162デフォルトの名無しさん
2017/10/26(木) 11:45:28.73ID:xVKEuI/f
>>160
「新しいOSSもGoで書かれてるのが多」いのに
「再来年辺りには『Goは終わった』とか言われだ」すのか。すげえな

まあGo2.0の漏れ聞く噂によると可能性なくもないんだが
163デフォルトの名無しさん
2017/10/26(木) 11:47:37.13ID:xVKEuI/f
>>161
GC言語な時点でそりゃねえわ
全く同じ理由でGoもC++の完全な後継ではないと思ってるけど
164デフォルトの名無しさん
2017/10/26(木) 11:54:33.47ID:Y5WhyQQy
>>162
Scalaという前例があるからね
特にビッグデータ系はScalaのOSSが多くて悲惨だよ
壮大な糞の山が残されてしまった
165デフォルトの名無しさん
2017/10/26(木) 12:17:09.48ID:xVKEuI/f
>>164
Scalaが廃れた理由は、言語のバージョンアップ戦略がクソofクソだったってのと
コンパイル回りの性能が悪いっていう言語自体の特徴、
それから置き換えを狙っていたはずのJavaの進化に取り残されたことっていう色々と複合的な原因がある

Goがその後追いをするかって言われると、
少なくとも書きやすさの面でC++がGoに勝てる目は向こう5年はないだろうし、
バージョン戦略は少なくとも1系の間は下位互換性崩さんだろうしな
166デフォルトの名無しさん
2017/10/26(木) 12:19:58.53ID:xVKEuI/f
不安があるとするなら、なんか1系と完全に互換性なくすとか言われてるGo2.0なんだよな
この辺の方針次第では、おっしゃる通り再来年にはゴミの山になってる可能性が無視できない

Swiftがクソバージョンアップでもなんとか成功してるのはプラットフォーム囲い込んでるのがでかい
167デフォルトの名無しさん
2017/10/26(木) 12:27:59.75ID:P+s05bng
AA木のRust版の移植を練習がてらやったぞ。
みんなunsafeが必要とか言ってるが、別に必要なくない?
ポインタ演算もサイズの違う型の変換もしてるわけじゃないから生ポインタ扱う必要ないと思うんだけど。
だた、マジで愚直に移植したから全くRustっぽくはないし、
俺がバカなだけで無駄なオーバーヘッドが気づかんうちにいっぱい発生してるかもだから指摘よろしく。
一応何回か適当にinsertとremoveして正しく動いてるとこまでは確認してる。
みんなunsafe使わないとダメ的なこと言ってるから正直これでいいのか全然自信がない。
168デフォルトの名無しさん
2017/10/26(木) 12:28:38.79ID:P+s05bng
#[derive(Debug)]
struct Tree {
value: i32,
left: Option<Box<Tree>>,
right: Option<Box<Tree>>,
level: isize,
}

fn level(root: &Option<Box<Tree>>) -> isize {
if root.is_none() {
return 0;
}
root.as_ref().unwrap().level
}

fn left_end(root: &Option<Box<Tree>>) -> &Option<Box<Tree>> {
if root.is_none() {
root
} else if root.as_ref().unwrap().left.is_none() {
root
} else {
left_end(&root.as_ref().unwrap().left)
}
}
(続く)
169デフォルトの名無しさん
2017/10/26(木) 12:29:34.82ID:P+s05bng
fn right_end(root: &Option<Box<Tree>>) -> &Option<Box<Tree>> {
if root.is_none() {
root
} else if root.as_ref().unwrap().right.is_none() {
root
} else {
right_end(&root.as_ref().unwrap().right)
}
}

fn skew(mut root: Option<Box<Tree>>) -> Option<Box<Tree>> {
if root.is_none() {
return root;
} else if root.as_ref().unwrap().left.is_none() {
return root;
} else if root.as_ref().unwrap().left.as_ref().unwrap().level != root.as_ref().unwrap().level {
return root;
}
let mut left = root.as_mut().unwrap().left.take();
root.as_mut().unwrap().left = left.as_mut().unwrap().right.take();
left.as_mut().unwrap().right = root;
left
}
(まだ続く)
170デフォルトの名無しさん
2017/10/26(木) 12:30:37.02ID:P+s05bng
fn split(mut root: Option<Box<Tree>>) -> Option<Box<Tree>> {
if root.is_none() {
return root;
} else if root.as_ref().unwrap().right.is_none() {
return root;
} else if root.as_ref().unwrap().right.as_ref().unwrap().right.is_none() {
return root;
} else if root.as_ref().unwrap().right.as_ref().unwrap().right.as_ref().unwrap().level != root.as_ref().unwrap().level {
return root;
}
let mut right = root.as_mut().unwrap().right.take();
root.as_mut().unwrap().right = right.as_mut().unwrap().left.take();
right.as_mut().unwrap().left = root;
right.as_mut().unwrap().level += 1;
right
}
171デフォルトの名無しさん
2017/10/26(木) 12:31:04.94ID:P+s05bng
fn decrease_level(mut root: Option<Box<Tree>>) -> Option<Box<Tree>> {
if root.is_none() {
return root;
}
let left_level = level(&root.as_ref().unwrap().left);
let right_level = level(&root.as_ref().unwrap().right);
let mut expected_level = 0;
if left_level < right_level {
expected_level = left_level + 1
} else {
expected_level = right_level + 1
}
if expected_level < root.as_ref().unwrap().level {
root.as_mut().unwrap().level = expected_level;
if root.as_ref().unwrap().right.is_some() {
if expected_level < root.as_ref().unwrap().right.as_ref().unwrap().level {
root.as_mut().unwrap().right.as_mut().unwrap().level = expected_level;
}
}
}
root
}
172デフォルトの名無しさん
2017/10/26(木) 12:31:51.05ID:P+s05bng
fn insert_tree(mut root: Option<Box<Tree>>, value: i32) -> Option<Box<Tree>> {
if root.is_none() {
root = Some(Box::new(Tree {
value: value,
left: None,
right: None,
level: 1, }));
} else if value > root.as_ref().unwrap().value {
root.as_mut().unwrap().right = insert_tree(root.as_mut().unwrap().right.take(), value);
} else {
root.as_mut().unwrap().left = insert_tree(root.as_mut().unwrap().left.take(), value);
}
root = skew(root);
root = split(root);
root
}
173デフォルトの名無しさん
2017/10/26(木) 12:34:16.58ID:P+s05bng
fn remove_tree(mut root: Option<Box<Tree>>, value: i32) -> Option<Box<Tree>> {
if root.is_none() { return root; }
else if value == root.as_ref().unwrap().value {
if root.as_ref().unwrap().left.is_none() && root.as_ref().unwrap().right.is_none() {
return None;
} else if root.as_ref().unwrap().left.is_none() {
let succ = {
let end = left_end(&root.as_ref().unwrap().right);
end.as_ref().unwrap().value
};
root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), value);
root.as_mut().unwrap().value = succ;
} else {
let pred = {
let end = right_end(&root.as_ref().unwrap().left);
end.as_ref().unwrap().value
};
root.as_mut().unwrap().left = remove_tree(root.as_mut().unwrap().left.take(), value);
root.as_mut().unwrap().value = pred;
}
} else if value > root.as_ref().unwrap().value { root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), value); }
else { root.as_mut().unwrap().left = remove_tree(root.as_mut().unwrap().left.take(), value); }

関数途中です(1レスに収まらんかった)
174デフォルトの名無しさん
2017/10/26(木) 12:37:30.92ID:P+s05bng
root = decrease_level(root.take());
root = skew(root.take());
root.as_mut().unwrap().right = skew(root.as_mut().unwrap().right.take());
if root.as_ref().unwrap().right.is_some() {
root.as_mut().unwrap().right.as_mut().unwrap().right = skew(root.as_mut().unwrap().right.as_mut().unwrap().right.take());
}
root = split(root.take());
root.as_mut().unwrap().right = split(root.as_mut().unwrap().right.take());
root
}
終わり。
クソコードの上に長くてほんとすんません。

あと、おもてのコードでは一度もunsafeは使ってはないけど
Option型のtakeメソッドが所有権を誤魔化すために裏でunsafe使ってる。
あとは、裏でも使ってないと思う。
175デフォルトの名無しさん
2017/10/26(木) 12:39:25.88ID:xVKEuI/f
Rustトーシロの初見だけどこんなにunwrap必要なの怖いって気分になるな……
CのポインタをOption<Box<>>で表現してるからしゃーないとはいえ
176デフォルトの名無しさん
2017/10/26(木) 12:39:26.85ID:P+s05bng
ここまでやったらもう飽きた。
誰かメソッド構文とかコンビネータとかをきちんと使ったRustyなコードに書き換えて。
177
2017/10/26(木) 12:42:49.23ID:+cEqlMCT
Rust嫌いな奴はCをすぐ引き合いに出すが、misraの案件やったら死ぬんじゃねえかなって思う。

GC言語も悪くはないぞ。ちゃんとGCの動き考えれば、正しく開放「されてない」理由もわかるだろ。
最初からデカイ配列を握って離さない、それを切り貼りして使う、みたいなJavaのプロジェクトあるしな。
178デフォルトの名無しさん
2017/10/26(木) 12:50:10.86ID:P+s05bng
>>175
あくまでも愚直に書いてるからこんなにunwrapとas_refとas_mutだらけになる。
if letとかコンビネータとかをきちんと使えばこんなひどいコードにはならないよ。
179デフォルトの名無しさん
2017/10/26(木) 16:47:19.95ID:hnEjL22C
rustのコード<>だらけで読みにくい
これはlispの括弧みたいに慣れたら読みやすいものなのか?
180デフォルトの名無しさん
2017/10/26(木) 17:58:11.26ID:9syp6YaG
>>153
難しいとは言ってもOOP→関数型のパラダイムシフトに比べれば簡単だけどね
181デフォルトの名無しさん
2017/10/26(木) 20:01:45.08ID:mFTohykf
>>154
おい、お前でてこいよ
182デフォルトの名無しさん
2017/10/26(木) 21:09:45.15ID:LcYnzbeR
rust も haskell も理解できても面倒だし無駄に言語に気使ってるだけじゃねーかって
思うんだが、信者はききやしない。。
「お前らは理解できないものを理解できる俺偉い」で思考停止しちゃってんだよ。
183デフォルトの名無しさん
2017/10/26(木) 21:15:34.16ID:hnEjL22C
一番言語に気を遣わないといけないのはC++だがなw
184デフォルトの名無しさん
2017/10/26(木) 21:19:35.59ID:+/fzZ2Vi
型っていうシステムが
そもそも良くないっていうのは無いの?
185デフォルトの名無しさん
2017/10/26(木) 21:46:13.96ID:OTLFFL6d
>>181
出てきたが、お前まさかこんな汚いコード未満とCのコード比較させる気か?勝負にならん。解散

>>182
それならマシで、Rust信者の工作員はモジラブランドのためなら使えないものを世界中の企業に絶賛させるための工作をに熱心すぎてもうね
186デフォルトの名無しさん
2017/10/26(木) 21:54:28.12ID:PekP06rX
>>185
おめー流石に一から書いてもいない奴が言うセリフじゃねえよ
Cライク信者からしても何様だてめえは
187デフォルトの名無しさん
2017/10/26(木) 21:55:02.68ID:mFTohykf
>>185
てめえがしね
188デフォルトの名無しさん
2017/10/26(木) 22:34:09.13ID:P+s05bng
>>182
「俺偉い」はさすがにないわ。笑かすな。

Rustに移植してみての感想だけど、確かにコンパイルを通すのには苦労したけど、
通ってしまえばメモリーリークはないって安心感がある。これが重要。
特に今回はunsafe一度も使ってないからなおさら安心できる。
Cのほうのコード一通り眺めてメモリーリーク無いって確信できる?
それができる超人君なら確かにRustは全く必要ないが。
Rustは君の嫌う面倒さと引き換えに安心を得ることができる言語。
むしろCで書いたコードにメモリーリークがあるのかないのか
自分の書いたコードに自信が持てないやつのためにこそRustがあると思ってる。
面倒だけが理由で思考停止しているのはどっちだ。

>>185
確かにこのコードは汚いよな。そこは自覚してる。
マジで誰かRust風に書き換えてくれない?
動いたところまで確認したところで集中が切れてしまってもうやる気が出ない。
Rustはオブジェクト指向も関数型のパラダイムを両方とも持っているし、
きちんと書けばかなり綺麗で整ったコードに書き直せるはずなんだよ。

あと、Rustアンチに1つ聞きたいことがある。
Rustが嫌いってことはわかったけど、じゃあアンチ君の好きな(愛用してる)言語は何なの?
その言語のメリット・デメリット含めて詳しく解説してくんない?
189デフォルトの名無しさん
2017/10/26(木) 23:26:00.76ID:LcYnzbeR
はっきり言わせてもらうけれど、
この規模のコードで書くのにそれだけ苦労する価値があると思えんが。
メモリリークについてもこの規模なら一通り見て、あるかないかくらい判断できるよ。

まあ主観といえば主観だけれど
本当に本心からこの程度のコードについてメモリリークを心配しちゃってるの?
言語を持ち上げるために無理に納得しようとしてない?
190デフォルトの名無しさん
2017/10/26(木) 23:35:06.69ID:9syp6YaG
そりゃこの程度の規模じゃRust使うメリット皆無だよ
で、実際のプロジェクトがこの程度の規模なの?
191デフォルトの名無しさん
2017/10/26(木) 23:35:07.35ID:51LPFkSD
なんでこの規模に限定した話をされているの?
192デフォルトの名無しさん
2017/10/26(木) 23:37:41.83ID:9syp6YaG
Rustアンチスレ
http://2chb.net/r/tech/1509028624/
193デフォルトの名無しさん
2017/10/26(木) 23:40:05.21ID:JSzFTz38
ブラウザの性能が圧倒的にchromeより上になったらrustの優位性が証明されるけど。
それをまとうかな。
194デフォルトの名無しさん
2017/10/27(金) 00:07:16.82ID:xwp9Pca0
性能の差で優位性を証明したことなんて今まであったっけ
オブジェクト指向も関数型もiPhoneもみんな性能と関係ない価値観だったような
195デフォルトの名無しさん
2017/10/27(金) 00:42:45.70ID:5+s2yfDd
>>185
さすがにコード一行も書いてない奴が言っていいセリフじゃねえわ……

>>189
さすがに後出し条件がひどい。そもそも発端は「Rustでは(unsafe使わずに)木構造すら書けねえだろ」って煽りが発端で
「さすがに木構造くらい(unsafeなし)Rustででも書けるわ」ってのの話がこれだろ

そりゃコンセプトが「安全性」なんだからCで書くより面倒なのは確かだし、この程度ならCの方がいいってのも当然だが、
そこを比較するために書いたもんじゃねえだろ
196デフォルトの名無しさん
2017/10/27(金) 00:47:50.32ID:/3yfU/y8
見苦しくなってきたな
197デフォルトの名無しさん
2017/10/27(金) 03:40:11.56ID:LQlgBzJd
流石に自演かすぎる…
198デフォルトの名無しさん
2017/10/27(金) 06:31:17.46ID:2A0a9mBA
>>183
そんなことはないと思うが
何か具体例ある?
199デフォルトの名無しさん
2017/10/27(金) 06:34:38.22ID:2A0a9mBA
>>195
言いたいことはわかるが
その「この程度」のも全部快適に書けるのが理想なわけだよね

この程度のをいっぱい書かなきゃいけなくなったときにこの調子じゃ萎える人も出てくるだろう
200デフォルトの名無しさん
2017/10/27(金) 09:50:28.38ID:T+eCoUsJ
>>195
安全性のためとか言って結局まともにかけないアルゴリズムがあることを見て見ぬふりの信者

健康のためなら死んでもいいを地で行ってるな
これが宗教ってやつか
201デフォルトの名無しさん
2017/10/27(金) 10:02:50.33ID:LQlgBzJd
Rustが面倒そうなのは伝わったが
C側の奴がコピペ野郎のくせに暴れてるクズすぎてなんとも
202デフォルトの名無しさん
2017/10/27(金) 10:35:02.10ID:aniL1VIL
>>200
まともに書けるけど無料で教えてくれる人が少ないだけだってそろそろ気付けよ
普通は健康のためではなくカネのためにやってるから
203デフォルトの名無しさん
2017/10/27(金) 11:13:40.46ID:T+eCoUsJ
というかさ、Rustのコードバグってるんだけどwwwww
バwグwっwてwるwんwだwけwどwwwww
remove_treeで要素Removeできてないwwwww

Rustはコンパイル通れば安心できる(ドヤァ)とかいってバwグwっwてwるwwwww
204デフォルトの名無しさん
2017/10/27(金) 11:26:28.21ID:T+eCoUsJ
ここにRustは、安全性を高めると言いつつまともにアルゴリズムを書こうとすると制約回避のためにとてつもなく汚いコードになり、
バグもCより出やすくなることが公になりましたとさ

ちゃんちゃん
205デフォルトの名無しさん
2017/10/27(金) 11:40:28.33ID:AXKOuk3Y
>>198
言語に気を遣わないとすぐ自分の足元を撃ち抜く言語であるということに同意しないということ?

具体例っていざ言われると困るなあ。ふと思い出した阿呆な失敗談を一つ挙げると、クラスの値型配列を作れちゃうところとか、クラスは絶対ポインタで持たないといけないDとは対照的に感じたな

常識的に考えたらクラスの値型配列なんてやったらダメなのはわかるんだけど、なぜかやってしまって、コンパイル通ってんのに思ってたのと違う挙動して困ったわ。こういう常識的に考えたらわかるけど、考えないといけない部分があるから言語に気を遣わないとやっていけん。

これは全然大したことない例だけど、なんか他にもあったような気もするし思い出したら書き込むわ
206デフォルトの名無しさん
2017/10/27(金) 12:04:57.19ID:aniL1VIL
代入がなければ値型でもポインタでも同じ挙動だ
だから、代入しようとしたらコンパイルが通らない言語が現れた
207デフォルトの名無しさん
2017/10/27(金) 12:27:06.09ID:Luz9kSs/
haskell追い出したら次はrustですか?
208デフォルトの名無しさん
2017/10/27(金) 12:49:17.54ID:aniL1VIL
追い出す権利はないね
あると思ってるやつは権利に甘えすぎ
209デフォルトの名無しさん
2017/10/27(金) 12:53:49.35ID:BmYygdVN
https://cpplover.blogspot.jp/2017/10/range-based-for.html

まあこう言う馬鹿がいなくなるまでは
実際のコードについて議論したほうがいいとは思うよ。

別にrustとかhaskellが悪いとは思わんけれど、コードなんて実際に現場で機能するかどうかが
一番重要なわけだから。原理に走ると都合の悪いことを無視し始めるのは気に入らん。
210デフォルトの名無しさん
2017/10/27(金) 13:27:23.45ID:OeXtCDV4
>>203
すまぬ。すまぬ。完全なうっかりミスだったわ。
訂正した。

fn remove_tree(mut root: Option<Box<Tree>>, value: i32) -> Option<Box<Tree>> {
if root.is_none() { return root; }
else if value == root.as_ref().unwrap().value {
if root.as_ref().unwrap().left.is_none() && root.as_ref().unwrap().right.is_none() {
return None;
} else if root.as_ref().unwrap().left.is_none() {
let succ = {
let end = left_end(&root.as_ref().unwrap().right);
end.as_ref().unwrap().value
};
>> 訂正前 root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), value);
>> 訂正後 root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), succ);
root.as_mut().unwrap().value = succ;
} else {
let pred = {
let end = right_end(&root.as_ref().unwrap().left);
end.as_ref().unwrap().value
};
>> 訂正前 root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), value);
>> 訂正後 root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), pred);
root.as_mut().unwrap().value = pred;
}
} else if value > root.as_ref().unwrap().value { root.as_mut().unwrap().right = remove_tree(root.as_mut().unwrap().right.take(), value); }
else { root.as_mut().unwrap().left = remove_tree(root.as_mut().unwrap().left.take(), value); }
...
211デフォルトの名無しさん
2017/10/27(金) 14:02:45.56ID:OeXtCDV4
>>204
何度も言ってるがこのコードが汚いのは制約回避のためじゃなくて、Cのコードを愚直に移植してるからだぞ。
CのNULLを表現するためにOption型を使用してるから、コンビネータとかを
きちんと使わない限りはunwrapだらけになってコードが汚くなる。
Rustのコードが汚いんじゃなくてRustyに書いてないから汚いだけ。
同じことを何度も言わせないでくれ。

確かに、Rustはコンパイル通すために苦労するから、
執行錯誤してるうちにうっかりミスしやすくなるという考えはあるのかもな。
まあ、この程度のミスを犯す俺が単純にバカすぐるのか、これもRustの課題のひとつだと考えるかは
人によって意見が分かれてくるところじゃないか?みんなどう思う?
212デフォルトの名無しさん
2017/10/27(金) 15:02:03.76ID:aniL1VIL
カネもないし時間のゆとりもないからコードが汚くなった
言語よりもカネと時間の使い方が間違っている
213デフォルトの名無しさん
2017/10/27(金) 17:07:21.98ID:2A0a9mBA
>>205
クラスの値型配列はごく基本的で有用なデータ構造なんだけど…
214デフォルトの名無しさん
2017/10/27(金) 17:26:21.22ID:2A0a9mBA
いや俺もちゃんと具体例出すか。例えば
class Point { public: double x; double y; }; だの Point3D だのが定義できて、
vector<Point> や Point v[..] が扱えなかったらシステムプログラミングなんかできやしない
…かどうかは別として別に値型の配列は必要なデータ構造だし、
immutable であれば直感に反した動作もないのでは。

実際に用途の多くは inmutable なオブジェクトの配列で、
C++17 では vector<const T> が許容されるようになりそうな流れ。
215デフォルトの名無しさん
2017/10/27(金) 17:40:16.82ID:AXKOuk3Y
>>214
ああ、すまん。Dでは構造体は継承出来ない代わりに値型可能、クラスは継承出来る代わりに値型不能なんよ。そのイメージが残ってたわ。
継承したものを値型で混ぜ混ぜしてしまったというのが俺のミスなのです
216デフォルトの名無しさん
2017/10/27(金) 18:04:05.75ID:697iydar
何でスレタイからHaskell外したんだよ
それならGo外せよ
217デフォルトの名無しさん
2017/10/27(金) 18:39:17.91ID:BmYygdVN
なんか元々の C のコードを Rust に下から生じた問題みたいに言ってるけれど
tree のアルゴリズムを実直に書けばそういうふうになるだろ。
それってつまり実直にアルゴリズムを記述するのに向いてないって言ってるようなもんだろ。
218
2017/10/27(金) 18:41:31.58ID:872yUCAe
また無様なHaskellのコード見るの嫌だし、むしろスレタイには言語一切入れんでもいいだろ。

好きなら、なぜ好きかを推すだけで充分議論になるのに、
他の言語を貶めて、○○はゴミだから△△が良い、って論調にするのはちょっとおかしいんじゃないの?

ホームレスが椅子で寝るの見て、俺はブラック企業戦士だけど屋根のある部屋で椅子で寝てるだけマシ、って言ってるように聞こえるよ。
好きで椅子で寝てるなら椅子寝のこだわりぐらい書けよ。パイプ椅子なら圧倒的に互い違い派だ、とか。
219デフォルトの名無しさん
2017/10/27(金) 19:47:08.69ID:aniL1VIL
貶めるのが許せないという気持ちがよくわからない
例えば残業代未払いは許せるが貶めるのは許せないとか
なんでそういう優先順位になったのか理解できない
220デフォルトの名無しさん
2017/10/27(金) 20:10:28.34ID:AXKOuk3Y
エアプガイジの言ってることわかる訳ないんだから絡むな��
221デフォルトの名無しさん
2017/10/27(金) 20:13:53.36ID:AXKOuk3Y
Rust派の意見としては、

@TreeはCより汚いけど他のメリットが大きいから許せ

Aもっとうまく書けるから俺が書いてやるぜ

B副作用のある木は糞

どれ?
222デフォルトの名無しさん
2017/10/27(金) 22:02:47.00ID:atz35ani
>>218
隔離スレだしな。
プログラマ自体、人口のほんの一部だし、複数の計算モデルが異なる言語を使いこなしてるのなんて更に希少種だから、もともと言語のマトモな比較が出来る奴が殆ど居ない。
だからここで言い合ってるのはおま環がデフォ。
223デフォルトの名無しさん
2017/10/27(金) 22:13:38.27ID:2kHVS/Sf
>>184
型がないと引数なり戻り値なりで与えられた情報をどう扱っていいかわからないでしょう
224デフォルトの名無しさん
2017/10/27(金) 22:23:07.44ID:W2Xgzzyi
返り値が返るのも
それも副作用って事にならないのはなんで?
225デフォルトの名無しさん
2017/10/27(金) 23:02:40.27ID:4WxMDiO8
式に値があるのは副作用と言わないから
226デフォルトの名無しさん
2017/10/27(金) 23:04:58.68ID:2kHVS/Sf
>>224
主の作用だからだろ
227デフォルトの名無しさん
2017/10/27(金) 23:23:42.05ID:LQlgBzJd
>>218
無様なHaskellコードって?
228デフォルトの名無しさん
2017/10/27(金) 23:45:39.75ID:BmYygdVN
>>211
ちゃんと具体的にコードを書いてくれて議論しやすくしてくれたのはありがたい。
tree を rust で実装しろって言われたら 10 人中 9 人は Box と Option を
使ったそういう構造体作ると思う。
229デフォルトの名無しさん
2017/10/27(金) 23:47:59.22ID:O21aknvD
>>214
Pointの例に限って言えば同意できないな
大量の小さなベクトルを扱うような場合、構造体を使うより各成分をそれぞれスカラー配列で持った方が効率いいよ
キャッシュに乗りやすくなる
C++系の言語で行持ちの方が好まれるのは、一番の理由は言語の性質上そのほうが扱いやすいからに過ぎない
最近は列指向DBなんかも普通に使われるようになって、データの列持ちが見直されつつある今、
列持ちのデータ構造をスマートに扱える言語があってもいいと思うわ
230デフォルトの名無しさん
2017/10/28(土) 00:01:16.09ID:rPyPw2Q2
>>229
Fortran, Juliaのことか?
231デフォルトの名無しさん
2017/10/28(土) 00:03:34.74ID:1i6fvk7+
>>227
>無様なHaskellのコード

908 :あ:2017/05/31(水) 09:15:21.09 ID:dc+IbjjD
>>905
具体的に上げろと言われてもなぁ。
<T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。

これのことじゃないの?(適当)
232デフォルトの名無しさん
2017/10/28(土) 00:24:09.93ID:rPyPw2Q2
てか
>>229
> 各成分をそれぞれスカラー配列で持った方が効率いいよ
キャッシュに乗りやすくなる
これってどういう演算の時にそうなるんです?
233デフォルトの名無しさん
2017/10/28(土) 00:46:39.85ID:pDpr3v8b
Rustアンチくんはペチパー

はっきりわかんだね
234
2017/10/28(土) 00:51:22.50ID:Nq0Bzlbk
>>219
許せないんじゃなくて、健全ではないよね、と。
なんせ改善せずとも、自分があたかもまともであるかのように思える一番楽な方法だし、進歩もない。

>>222
ホントに。好きなら好きで良いんだよ。
バカで比べる事ができないなら素直に信者してりゃ良いの。
狂信者が戦争起こすような真似をネットでまでやらんでもよろしい。

>>227
>>231
しかも、結局すごくひねり倒してグダグダ言った割に、最後まで動くコードが出てこなかったんだけっけ。
235デフォルトの名無しさん
2017/10/28(土) 00:58:11.14ID:Ng05dLeH
>>232
分かりやすいのはパディングが入るケース
ループのベクトル化もスカラー配列の方が効きやすいらしい
236デフォルトの名無しさん
2017/10/28(土) 01:07:07.63ID:rPyPw2Q2
>>235
うーむ……
もしかしてPoint3Dのベクトルに一括して行列を掛けたりする状況を想定しているのか?
237デフォルトの名無しさん
2017/10/28(土) 01:09:54.95ID:Ng05dLeH
そういう状況でもない限りそもそもボトルネックにならないからな
238デフォルトの名無しさん
2017/10/28(土) 01:16:42.42ID:FXSZ1oP/
>>211
試行錯誤の過程でアルゴリズムぶっこわれるってのはよくあるが、そうならないためにテストコードがあるっちゃそうだから、
明確な欠点とは言えないかもな

まさかスレに貼るサンプルコードにまでテストコードつけろなんて言えねえし。
239デフォルトの名無しさん
2017/10/28(土) 04:09:54.80ID:62CU1Qsk
>>234
ドアの奴なかな?
あれならHaskellのコード出てただろ
いつまで言ってるんだ
240デフォルトの名無しさん
2017/10/28(土) 09:04:44.68ID:C9milqrp
コード出すという行動ではなく
コードが正義っていう知見への承認とか共感が欲しかったんじゃないか
だから行動だけでは駄目
241
2017/10/28(土) 09:19:59.46ID:Nq0Bzlbk
>>239
じゃ、いつまで、スレタイにはHaskellが、って言ってんだよ(笑)
242デフォルトの名無しさん
2017/10/28(土) 10:25:15.53ID:CAnYo5YI
なぜ私達は Python から Go に移行したのか
https://frasco.io/why-we-switched-from-python-to-go-19581e27de7c
243デフォルトの名無しさん
2017/10/28(土) 10:45:03.08ID:rPyPw2Q2
よくあんな無様な知ったかぶりしといて人のこと無様とか言えるな
244デフォルトの名無しさん
2017/10/28(土) 11:06:53.69ID:pDpr3v8b
これだからペチプァは
245
2017/10/28(土) 11:20:03.53ID:McmdGm+1
>>243
自分が無様だと思ってる奴に無様だと言われるのはさぞ辛かろうが、
俺が無様なのとHaskell書いたやつが無様なのは別の事象で、

同時に無様でありえるんだから、その指摘はナンセンスだろ。
その理解力でHaskell最高!と思ってるのも面白いな。Maybeの真髄だろ。事象を整理するのは。
246デフォルトの名無しさん
2017/10/28(土) 11:28:14.87ID:rPyPw2Q2
なんだこいつなんで俺がHaskell 信者みたいな前提で煽って来てんだ
247デフォルトの名無しさん
2017/10/28(土) 11:36:54.21ID:c+qfWZBO
もう最新規格のFortranで良いよ
248デフォルトの名無しさん
2017/10/28(土) 12:01:24.16ID:1i6fvk7+
Fortranに第一級関数がついてimplicit noneがデフォルトになってinterface文をもうちょっと短く書けるようになって引数の型指定をCみたいに書けるようになって
配列の大きさ指定の関数に組み込みでない関数を使えるようになってgfortranのbind(C)周りのバグを解消してくれたらFortranでいいよ
249デフォルトの名無しさん
2017/10/28(土) 12:13:39.86ID:pDpr3v8b
西京言語PHPを使えばいいじゃん(いいじゃん)
250デフォルトの名無しさん
2017/10/28(土) 12:20:24.44ID:aTcnbQEE
PHPが、前世紀末に流行したPerlでCGIという極悪システムを撲滅した功績は大きい
251デフォルトの名無しさん
2017/10/28(土) 12:31:15.99ID:MXV4el39
mod_perlとだったら大して変わらん気がする
252デフォルトの名無しさん
2017/10/28(土) 12:33:46.88ID:pDpr3v8b
>PHPが、前世紀末に流行したPerlでCGIという極悪システムを撲滅した功績は大きい

キリッ

www
253デフォルトの名無しさん
2017/10/28(土) 17:09:33.99ID:GkEAGE6K
皆がCGIという共通ルールを守る中
汎用性のない独自実装をしたphp
254デフォルトの名無しさん
2017/10/28(土) 17:24:26.31ID:6pjbn+cV
まあ今更Perlとかって選択肢はないからね
255デフォルトの名無しさん
2017/10/28(土) 17:31:59.24ID:Hah9JG+z
FacebookはなんでPHP推しなの?
256デフォルトの名無しさん
2017/10/28(土) 18:04:40.73ID:D4ynCBSM
PHPをC++に変換するんだっけ
むしろJavaをC++に変換するのを誰もやらない理由を知りたい
257デフォルトの名無しさん
2017/10/28(土) 18:12:54.21ID:z3Njt94H
>>256
Javaは事実上サーバーでしか使われていないので、
全くメリットがないから
258デフォルトの名無しさん
2017/10/28(土) 18:27:47.92ID:GkEAGE6K
phpのがサーバでしか使われてない印象
どっかで使ってる?
259デフォルトの名無しさん
2017/10/28(土) 18:32:36.63ID:GkEAGE6K
>>254
別にCGIはperlでなくてもいいだろ
プロセスを起動するインタフェースのお約束だよな
perlは文字列処理が得意だっただけで
260デフォルトの名無しさん
2017/10/28(土) 19:01:45.06ID:0vLNpJP2
PHPの特徴ってインスタンスの生存時間が極端に短い。ってこと。
request受けてからresponse返すまで。
だからGCが貧弱でも何の問題もないし。糞汚いコードでもメモリリークが問題にならない。
261デフォルトの名無しさん
2017/10/28(土) 19:13:14.28ID:PFwR8W+K
>>256
GCC
http://news.mynavi.jp/news/2016/09/08/290/

あと、AndroidはJavaじゃないからノーカンなのかもしれないが、
以前はネイティブに全部変換していたのをやめた
262デフォルトの名無しさん
2017/10/28(土) 19:51:46.92ID:SOIebb5r
>>255
むしろPHPを積極的に潰そうとしてる印象なんだが
クソ挙動しかしないウンコ製造機PHPを潰すためにHHVMは作られたんだぞ
263デフォルトの名無しさん
2017/10/28(土) 20:44:53.33ID:VLfN62TL
>>255
最初は何も考えずにお手軽に作れたからPHPだった
大きくなりすぎてから管理コストを考えてノロノロと移行を企てている
そんなとこだろ
264デフォルトの名無しさん
2017/10/28(土) 21:07:01.93ID:ruX3/fgh
それ以上ペチパーの心のより所を叩くのはやめてやれw
彼ら、憤死してしまうでwww
265デフォルトの名無しさん
2017/10/28(土) 21:37:38.45ID:GkEAGE6K
>>260
言ってること滅茶苦茶だな
266デフォルトの名無しさん
2017/10/28(土) 21:57:38.28ID:D4ynCBSM
伝えようとすれば滅茶苦茶
隠そうとすればバレバレ
だから型情報とか一生懸命伝えようとする言語が報われない
267デフォルトの名無しさん
2017/10/29(日) 03:03:23.28ID:7slaGsXS
>>242
go 好きな人ってまともすぎてつまらんな。
268デフォルトの名無しさん
2017/10/29(日) 05:05:09.88ID:ZPHcoPj2
>>261
ARTは全部変換なんてしてない
元からJITとAOTの複合
269デフォルトの名無しさん
2017/10/29(日) 05:05:25.10ID:ZPHcoPj2
>>267
きんも
270デフォルトの名無しさん
2017/10/29(日) 17:16:13.61ID:sv965ldD
>>268
http://gihyo.jp/lifestyle/clip/01/awt/201603/24
>しかし,AOT方式をいざ導入してみると,サイズの大きなアプリのインストールや,
>一度に複数のアプリをアップデートするような場合にコンパイルに時間がかかり,
>場合によっては20分程度かかるケースが存在していたようです。
>このインストール時間を問題と捉えて,Android NのARTでは,JIT方式をもう一度使うことになりました。
271デフォルトの名無しさん
2017/10/30(月) 08:01:20.39ID:BetGXhC9
>>242
GOいいな
272デフォルトの名無しさん
2017/10/30(月) 10:22:57.04ID:sonZMQS5
>>271
Goは色々足りないところも多いが、生産性にステガン振りしてるって点で評価できる
Rubyみたいに前借りではない
273デフォルトの名無しさん
2017/10/30(月) 11:06:54.77ID:ywxMmK0+
Rubyの教訓は、「Perlよりマシ」に全振りしたけどPythonと比べると大したことなかった
274デフォルトの名無しさん
2017/10/30(月) 17:27:48.73ID:ExtYgMew
Goのどこに生産性があるんだよ
275
2017/10/30(月) 18:12:26.17ID:53AKimFl
>>274
そりゃ、ひたすら書ける部分だろ。
迷わんぞ。書く量が多いだけで。

生産性と言うと表現力ばっかり取り上げられるが、単位時間あたりのアウトプットも見ないといかん。
その点、信じられないレベルで楽。
276デフォルトの名無しさん
2017/10/30(月) 19:01:45.29ID:ExtYgMew
>>275
行数多くなるから生産性が高いように見えるだけだろ
277デフォルトの名無しさん
2017/10/30(月) 19:15:05.61ID:LhEsAIcv
そいつは関数型しったか野郎なので話すだけ無駄
無知が無知なりの常識で頑張って答えてくれるかも知れないけど参考にはならないだろう
278デフォルトの名無しさん
2017/10/30(月) 20:23:14.16ID:1YWjfXwW
迷わずひたすらに書かれたF77のコード読みづらすぎ
279デフォルトの名無しさん
2017/10/30(月) 20:45:20.95ID:uihdCXQ7
Goは構造体へのタグ埋め込みや、codegenまわりのツールが充実してるお陰で
ボイラープレートコードを書かんでいいのがでかい
それだけならLLでもできるが、テスト作ってから設置して実行するまでの作法が簡潔に固まってるのが更に強い

少なくとも時間当たりのテスト含めた成果物は他の言語と比べ物にならん
280デフォルトの名無しさん
2017/10/30(月) 21:31:16.17ID:d6rNWUAL
逆に、汎用ライブラリ書こうとするととたんにinterface地獄になってボイラープレート増えるんだがな
だから、目の前の仕事の案件片付けるのに特化した言語だと思ってる
281デフォルトの名無しさん
2017/10/30(月) 22:18:12.05ID:1mVUn5ql
>>221
ちょっといまさらだがRust版平衡木(AA木)をリファクタリングしたぞ。
まあ、だれも書いてくれそうになかったし、数日たったらまたやる気も出たから自分でやり直したわけだが。

基本的にはAだが、すべて当てはまるな。
RustはNull安全なのでOption型のチェックが必須、コンパイラに所有権を伝えるためas_ref等が必要、
デフォルトはイミュターブルのためミュータブルを扱うためにmutキーワードが必要などが主な理由。
そこら辺の安全性と引き換えに多少は目をつぶってくれという感じはある。
Bに関しては副作用もあるが、それよりもどちらかというと木構造の回転操作みたいな
変数の所有者が次々に代わるようなコードはRustでは所有権システムがあるため書きづらい。

とはいえ、前のコードに比べれば大分マシにはなったかと。
まあコードが綺麗か汚いかなんて個人の主観によるところが大きいから、まだ文句を言うやつもいると思うけど。。。
特に>>217なんかには「どんなアルゴリズムだろうが言語によって最適な書き方は違う」
ということをきちんと理解してもらいたい。

あと、コードのリンクを貼るという手段があることを知った。
比較できるように全て載せておく。
C版
https://wandbox.org/permlink/fc1xI7dDCdOMgysC
Rust版 before
https://wandbox.org/permlink/cbzzpLw97K2Tydk1
Rust版 after
https://wandbox.org/permlink/ppQOQREnDlpccpJV
282デフォルトの名無しさん
2017/10/30(月) 22:28:38.00ID:LhEsAIcv
ほう
283
2017/10/31(火) 00:08:53.17ID:VssU1hfB
>>276
そーでもないぞ。

>>277
関数型以外シッタカの意識だけ高い系に言われてもな。
人をディスるんじゃなくて、自分を高めれば?
無理なんだろうけど(笑)
284デフォルトの名無しさん
2017/10/31(火) 00:13:46.41ID:AszsXbkO
関数型以外シッタカ←根拠なしのただのディス
からの
人をディスるんじゃなくて自分を高めれば?

自戒かな?
285デフォルトの名無しさん
2017/10/31(火) 00:16:52.10ID:xO8W0Vv5
そいつの相手しても得るもん無いってことくらいはそろそろ分かって欲しい
286
2017/10/31(火) 00:17:14.17ID:VssU1hfB
言い返されてそれはみっともないリアクションだな。
よほど、関数型言語が好きなんだね(笑)

専スレ立ててやれよ。次世代言語でもないわ。
287
2017/10/31(火) 00:19:38.37ID:VssU1hfB
好きなら好きで良いのに、なぜ固執するかわからん。
ナイフで整備できるようにネジを全部マイナスネジにしたロシア(?)の戦車みたいな間抜けな話と同じように、目的に対して使う道具なんか考えりゃ良いのに。
288デフォルトの名無しさん
2017/10/31(火) 00:26:46.01ID:AszsXbkO
よほど関数型言語が好きなんだね←誰もそんなことは言っていない

なぜ固執するかわからん←固執していない

誰と闘っているんだコイツは。少なくとも俺じゃねえな
289デフォルトの名無しさん
2017/10/31(火) 00:39:43.26ID:H/nTnETZ
おまえら旧世代猿人類どもはウンコブラシのプェチピィのゲリクソピィでもプリプリしてろ
290デフォルトの名無しさん
2017/10/31(火) 01:21:58.60ID:nWIRKYZE
>>281
コンパイル通らんのを試行錯誤してる間に答えが出てしまった悲しみ
まとめてもらって感謝。勉強してみるわ
291デフォルトの名無しさん
2017/10/31(火) 07:32:43.21ID:nUaOreAB
>>281
比較を載せてくれてありがたい。
やっぱり
C -> rust before -> rust after
となっていくごとに読みづらくなってるんだけれど。。
292デフォルトの名無しさん
2017/10/31(火) 07:35:28.96ID:u9ib2mEN
>>270
それの何が反論になってると?
元から速度云々関係なしにネイティブ変換できない部分があったんだよ
293デフォルトの名無しさん
2017/10/31(火) 09:37:19.94ID:EcpjGxny
>>291
root.as_ref().unwrap().level

root->level
と書いて良いというシンタックスシュガーを導入すれば良い気がする
294デフォルトの名無しさん
2017/10/31(火) 09:56:03.51ID:nWIRKYZE
unwrapはNoneだった場合にランタイムクラッシュする関数だから本来使ったらアカン関数
この辺はnil安全うたってる言語はおおむねそう
295デフォルトの名無しさん
2017/10/31(火) 10:23:24.56ID:2R0mp116
Goは最初期Javaかっていう後退レベルだし、Rustは木構造すら数日かかりで必要な難解言語だしでどっちもクソ言語
はいこれで仲直り
296デフォルトの名無しさん
2017/10/31(火) 10:43:17.86ID:gJSMspm+
パラダイムシフトを強いる言語は地雷が多いな。
俺はリアクティブプログラミングで懲りた。
297デフォルトの名無しさん
2017/10/31(火) 10:44:19.94ID:Bl0tBU4z
数日がかりというが兎と亀みたいにRust以外の言語は寝てたから
Rustが一番早い
298デフォルトの名無しさん
2017/10/31(火) 11:07:20.83ID:AszsXbkO
その理屈だとCが一番じゃん?
299デフォルトの名無しさん
2017/10/31(火) 11:21:14.97ID:f3HKFkZK
結局当面はC#系(TypeScript/Kotlin)の天下ということでよろしいか
300デフォルトの名無しさん
2017/10/31(火) 11:40:23.38ID:YHJiaIXY
>>294
そういうこと。だからRust版 afterではunwrapはほとんど使用していない。
通常、Optionの中身を取り出すときはunwrap_or, unwrap_or_else, unwrap_or_default
のどれかを使用してNoneだったときはどうするのか指定する。
unwrapを使用するときはアルゴリズム的に中身が存在しないこと自体がありえなくて、
Noneならバグと判断してむしろそのタイミングで落ちてバグを知らせてほしい時のみ使用する。
この仕組みによってNullが存在しない(いわゆるNull安全な)言語を実現している。
多少書くのは面倒だが「10億ドルの損失」に比べればこのくらいカワイイもんだろってこと。

ちなみにC#なんかでも導入が検討されているらしいが、既存コードとの互換性が保てないので難儀しているようだ。
Type scriptみたいにコンパイルオプション付ければいいのにとか俺は思うんだが、なんか理由があるのかな?
301デフォルトの名無しさん
2017/10/31(火) 11:47:33.10ID:f3HKFkZK
コンパイルオプションだと既存コードを一緒にビルドできなくなるだろ
互換性を絶対神とするC#に導入するなら、#pragmaでソースファイルごとにオプトインするか、
asyncみたいに修飾子で特定のスコープだけ解釈を変えるか、
デフォルトをnull非許容にするのは諦めてstring!にするかのいずれかだよ
302デフォルトの名無しさん
2017/10/31(火) 12:45:40.51ID:JU1cd7E4
Goが優れてる点はcode生成に最適化されてる点だと思う。

Goはメソッド定義が同じディレクトリ内なら何処でもできる。
つまりコード生成によってメソッドを追加できる。
ファイルでコード生成の箇所と自作の箇所をわけれる。
303デフォルトの名無しさん
2017/10/31(火) 12:48:35.27ID:JU1cd7E4
>>296
Rxはもっとシンプルな定義にできないのかなーって思う。
「全てはストリーム」という考え方はシンプルなのにいざ使おうとすると
ライブラリは複雑すぎる。

もしかしたら言語まるごとRxの考え方で作ったら簡単になるんかな。
Rubyの作者がStreamって言語をつくってるけど、、、、完成しそうもないし
304デフォルトの名無しさん
2017/10/31(火) 15:40:47.27ID:ivXWtcCM
rust で
if root.is_none() {
return 0;
}
root.as_ref().unwrap().level

match root {
Some(node) => node.level,
None => 0
}
と書かないのは何故?所有権とかの問題?
305デフォルトの名無しさん
2017/10/31(火) 16:19:26.73ID:YHJiaIXY
>>304
え?どっちでもいいよ?
リファクタリング後のコードでは使用してないはずだけど。。。
それでもいいし
root.as_ref()
.map(|node| node.level)
.unwrap_or_default()
でもいいし
if let Some(ref node) = *root {
node.level
} else {
0
}
でもいい。どれを使うかは好みの問題。
ただし、>>304のmatch文は正確にはこうなると思う。
match *root {
Some(ref node) => node.level,
None => 0,
}
rootはたぶん型が &T (借用) だから*で参照外しないといけないし、
ref は所有権を「移動」じゃなくて「借用」するために必要。
306デフォルトの名無しさん
2017/10/31(火) 17:24:30.09ID:YHJiaIXY
>>304
>> リファクタリング後のコードでは使用してないはずだけど。。。
誤解を招くかもだな。すまぬ。
if root.is_none() {
return 0;
}
root.as_ref().unwrap().level
のほうはリファクタリング後のコードでは使用してないはずだけど。。。だな
307デフォルトの名無しさん
2017/11/01(水) 08:38:18.68ID:R9aAc8x6
なるほど。ありがとう。
308デフォルトの名無しさん
2017/11/02(木) 00:38:25.36ID:0kOiRsC5
いいってことよ
309デフォルトの名無しさん
2017/11/02(木) 08:54:18.64ID:N8nuZaLN
if not is_none 判定時に実行される、
コンパイラさんにも非noneと分かるコードパスでは
unwrap省略できれば読み書きする際にもPanic起こさないと分かりやすいしシンプルになるな。

実際にも最適化でチェックのコードも吐かれてないだろうし。
310デフォルトの名無しさん
2017/11/02(木) 12:08:13.82ID:jpQjT5m9
>>308
んん?ちょっと待て。良くないぞ
誰だぁ?俺の手柄を取ったヤツは?
311デフォルトの名無しさん
2017/11/02(木) 12:58:12.12ID:jpQjT5m9
>>309
そのやり方は所有権システムの関係で難しいかもしれないな。
非noneが分かっていたとしても中身を取り出す時に所有権を移動する借用するのか決める必要がある。
そして、移動するにせよ借用するにせよ、取り出した時点から所有権システムの制約により
その親にあたるOption型の変数がスコープを抜けるまでは参照不可になる。
移動する場合は、スコープが抜ければOption変数ごと一緒に消費されるはずなので問題ないと思うが、
借用の場合は、スコープを抜けるまでOption変数が参照不可のままじゃ困る場合も多いだろう。
結局は、if let や match 等のスコープを使って借用が終わるタイミングを
コンパイラに知らせるための表現が必要になるんじゃないかと思う。

自分も所有権システムを完全に把握してるわけではないので、間違ってたら指摘してくれ。
312デフォルトの名無しさん
2017/11/02(木) 16:01:49.17ID:24MXnSEE
panic の代わりに未定義動作を行うことで、最適化時にNone時の経路が取り除かれる unchecked_unwrap() とかある。
外部クレートだけど。
313デフォルトの名無しさん
2017/11/02(木) 18:20:00.53ID:hBgfRlI6
FFIと静的型は相性悪いなあ
314デフォルトの名無しさん
2017/11/02(木) 21:04:39.70ID:aCC/XP/X
嫌われているプログラミング言語ランキング - Stack Overflow
http://news.mynavi.jp/news/2017/11/02/073/
315デフォルトの名無しさん
2017/11/02(木) 21:06:15.09ID:aCC/XP/X
最も嫌われているプログラミング言語は?--Stack Overflowが調査結果を発表
https://japan.zdnet.com/article/35109803/
316デフォルトの名無しさん
2017/11/03(金) 01:51:06.45ID:8/ecCbDm
だから何度も言ってるだろ
型なし能なし未来なしの糞言語が
使ってる連中は今すぐ首吊ってなるべく苦しんで無様に血糞尿にまみれて死ねよ
317デフォルトの名無しさん
2017/11/03(金) 01:55:11.36ID:KPeHygtG
>>316
死ぬだけじゃダメだな
来世でも来来世でも苦しみ抜いてもらわないと
318デフォルトの名無しさん
2017/11/03(金) 09:09:40.17ID:8/ecCbDm
>>317
せやな
一族郎党末代まで呪われて地獄の業火で焼かれるべきだ
319デフォルトの名無しさん
2017/11/03(金) 09:10:55.64ID:FED00RZ3
その政策の予算をいくらまでなら払えるか考えよう
予算なしは能なし未来なし
320デフォルトの名無しさん
2017/11/03(金) 10:56:17.26ID:Z9aKc5RB
すまんが型なし言語って何ンゴ?
321デフォルトの名無しさん
2017/11/03(金) 11:18:42.35ID:4GoOMjot
機械語のことかな?
322デフォルトの名無しさん
2017/11/03(金) 11:44:21.79ID:TD8MDvzA
変数に型の無い言語か
323デフォルトの名無しさん
2017/11/03(金) 14:34:55.34ID:5BCFVkq4
Go言語で
var 変数名 = 値

の表記の時は型を省略できるそうですが
値が数値で、値から型が確定できない場合はどうなるのでしょうか?
値から型を確定できるのは文字列型と真偽値くらいだと思いますが
324デフォルトの名無しさん
2017/11/03(金) 14:43:12.88ID:tw8puOLs
>>323
値に応じたデフォルトの型か決まっている
325デフォルトの名無しさん
2017/11/03(金) 14:58:26.87ID:5BCFVkq4
>>324
なるほど
たしかにだいたい推測できますね
ありがとうございました
326デフォルトの名無しさん
2017/11/03(金) 15:00:00.55ID:fYVptX6H
>>319
予算がないからクソゴミクズ汚物言語を使い続ける?
地獄に落ちろビチグソ野郎
327デフォルトの名無しさん
2017/11/03(金) 15:50:26.42ID:Tuvr4QS2
VBA は explicit 付ければ堅く書くこともできるんやで〜。
そんな書き方するやつあんまいないけど。。
328デフォルトの名無しさん
2017/11/03(金) 16:36:07.91ID:FED00RZ3
>>326
誘導尋問するなよ
というかどうせ誘導するなら天国に誘導しろよ
329デフォルトの名無しさん
2017/11/03(金) 17:02:16.49ID:Ro85MhDs
>>320
PHPは型がないから
とかおっしゃってるいつもの人だろ
330デフォルトの名無しさん
2017/11/03(金) 23:58:20.96ID:HHSOzVXl
>>328
なーにが誘導尋問じゃ
どんな理由があろうと下痢未満言語未満のぷぃーえっちぷぃーを使うことを肯定する時点でお前は地獄行きじゃ!

地獄でビチグソにまみれて二度と転生してくるな!!
331デフォルトの名無しさん
2017/11/04(土) 00:00:53.97ID:I+CIRt80
次スレはワッチョイつけないとな。
330みたいな異常者をNGするために。
332デフォルトの名無しさん
2017/11/04(土) 00:03:54.76ID:gh0lmyH1
HHVMを使うという手もあるんじゃ
333
2017/11/04(土) 00:24:15.28ID:CAYPLKQ7
と言うか、では実務ではウェブの案件には何をお使いで?と聞きたいな。
ホントに何なんだろ。
334デフォルトの名無しさん
2017/11/04(土) 00:42:18.37ID:OREBcHC8
>>333
330じゃねーけど、フツーにRailsって答えそうではある
フロントいらないAPIサーバならFlaskかGoかってところか
335デフォルトの名無しさん
2017/11/04(土) 00:42:59.68ID:xCfQAlvJ
node + ts

未だにphpでlampとかもう(笑)も付かないレベル
336デフォルトの名無しさん
2017/11/04(土) 00:46:07.02ID:sWNabS3I
叩きは理想の言語とやらでRails越を越える
フレームワークを作ってからしてくれ。
337デフォルトの名無しさん
2017/11/04(土) 02:10:05.95ID:gh0lmyH1
俺の中ではgoでgoaかな。swagger.jsonを介して通信周りもコード生成できる。
API設計するとclientライブラリまで一括して作れるからSPA開発が捗る。
TypeScriptのクライアントライブラリ生成してapiの返すjsonのinterfaceまで作ってくれるから至れり尽くせり。
338
2017/11/04(土) 02:22:57.88ID:CAYPLKQ7
Railsか。なるほどありがち。
APIサーバはGoとかnode確かに便利。
tsは置いといて。
あれやるくらいならc#とnancyで書いたほうが余程安定する。寿命の面でも。
そして.net coreすごいわ。

TSは最近イケイケドンドン過ぎる気がする。
イシューは閉じれてないけど、次以降のリリースに頑張るわ、ところでこれ!新機能盛りました!
みたいなノリ。
339デフォルトの名無しさん
2017/11/04(土) 08:30:20.53ID:xYAYvDdv
nodeはnodeで闇深いがな……あいつ結構非自明なメモリリーク起こしやがる

ts on nodeってその辺解決できてるのか?
340デフォルトの名無しさん
2017/11/04(土) 08:35:04.21ID:xCfQAlvJ
で。おまえは実務ではウェブの案件には何をお使いで?
PHPとか言って笑いを取る必要はないぞ
341デフォルトの名無しさん
2017/11/04(土) 09:38:29.95ID:ZfOcIIq3
Django
何だかんだ言われてるけど強いよこいつは
342
2017/11/04(土) 13:55:52.44ID:CAYPLKQ7
>>340
何でも使う。書捨てでビューがあればphp
ビューがあって書捨てじゃなけりゃasp.net
Tomcatとservletは嫌い。
安定したAPIサーバはGoかc#とNancy。
nodeは個人用。
イントラ多いから、デプロイ先がWindowsサーバで、セットアップが必要な処理系は入れづらいのよね。
phpは過去の案件ですでに入ってたり、だいたいIISは動いてる。
343デフォルトの名無しさん
2017/11/04(土) 15:34:33.21ID:F1n0Y3Pu
ウチはseaside.st
344デフォルトの名無しさん
2017/11/04(土) 18:58:28.17ID:xCfQAlvJ
>>342
浅く広くの器用貧乏なんだね
どうりで、知識はあるけど深い話になるとボロがでるわけで
345
2017/11/04(土) 22:22:28.71ID:F/oA6Mmk
>>344
器用貧乏だろうなぁ。メインの言語以外は特に。
そもそもしばらくシステム屋じゃないし。
道具としては色々使うけど。用を果たせば良い部分と、趣味として使う分は別けてる。
流石に20代でもあるまいし、わきまえてるよ。仕事は。

ボロが出るというより、単純に知らんので参考になってる事も多いよ。
346デフォルトの名無しさん
2017/11/04(土) 22:23:05.19ID:M2bfsYrO
しったかするから、自分の知らない領域ついても知識があるように見えるだけだぞ
347
2017/11/04(土) 22:28:21.22ID:F/oA6Mmk
>>346
勝手にそう見てるだけで、俺自身が知ってるよ言ったことはあんま無いんじゃないかな。
俺はこう捉えてる、は話すけど。
348デフォルトの名無しさん
2017/11/04(土) 23:34:55.56ID:M2bfsYrO
>>347
854 :デフォルトの名無しさん:2017/05/30(火) 13:17:09.64 ID:ynDKwlR5
851
>当たり前だがHaskellみたいに実行時に多相性を解決してる
おいおい、Haskellの実装知ってんのか?
Haskellで実行時に型情報が必要な多相性はほんの一部だ。
ほとんどの場合、コンパイル時に解決される。

863 :あ:2017/05/30(火) 16:00:40.31 ID:CncaY8jR
854
知ってるよ。実行時に多相性を「しない」のならその主張もわかるが、「ほとんどの場合しない」は「してる」だよ。
「施錠確認した?」「ほとんどしました」って、要は全く施錠の確認できてないのと変わらんよね。
349
2017/11/05(日) 00:07:40.19ID:NGm20Afw
>>348
おお、それは知ってたから。
あんまりと書いてるからわかるだろうけど。
350デフォルトの名無しさん
2017/11/05(日) 01:40:33.90ID:LYbC1fh+
>>341
scaffoldがないのが非常に残念
俺は言語としてはPythonが好きなのに、webとなると無意識にRailsを選ぶようになってしまった
351デフォルトの名無しさん
2017/11/05(日) 11:59:20.40ID:3qpI8vVt
器用貧乏の対義語に名前をつけたい
サンクコスト貧乏かな
352デフォルトの名無しさん
2017/11/05(日) 12:02:14.14ID:KWRWj+y1
Railsって未だに生産性高いんか。
PHPがパクっていろんなフレームワーク作ってるけど
353デフォルトの名無しさん
2017/11/05(日) 12:11:59.33ID:/wBATO2P
ペチパーって何であんなにフレームワーク作りたがるんだろうな
自己主張が強いのか、ママの愛が足りなくて承認欲求に飢えてるのか
354デフォルトの名無しさん
2017/11/05(日) 12:16:38.92ID:KWRWj+y1
>>353
たかがテンプレートエンジンがでしゃばりやがって感ある。
でもインスタンスの生存時間が短いから開発者に優しい言語ではある。
まぁwebScoketとか繋ぎっぱなしにするような仕組みには弱くなるけど
355デフォルトの名無しさん
2017/11/05(日) 12:26:54.29ID:LYbC1fh+
>>352
なんだかんだであれは死なないよ
資産が豊富で、webのラピッドプロトタイピングにおいては群を抜いておる
Railsライクな他言語のフレームワークがRailsを羨ましがる場面はあっても、恐らくその逆はない
356デフォルトの名無しさん
2017/11/05(日) 12:51:00.18ID:CS19J9AT
慣れの世界って感じもするけどな
俺はテンプレートエンジンより、Reactで書くほうが最近は楽なのでtypescriptで書いちゃうことが多いな
サーバサイドも必要ならrustかJavaでちょろって感じ
357デフォルトの名無しさん
2017/11/05(日) 13:29:53.61ID:KWRWj+y1
時代はSPAの方向を向いている中あえて今Rails使うメリットってあるんかな。
最初からWebAPI提供できたほうがいいし。

React覚えるとモバイルももれなく作れるのがいい
358デフォルトの名無しさん
2017/11/05(日) 14:06:42.08ID:k+vH6ph9
Node.jsとTypeScript使っとけば幸せになれるということ?
359デフォルトの名無しさん
2017/11/05(日) 14:17:26.71ID:o4zLpSg/
>>358
webassemblyの時代が来るまではね
360デフォルトの名無しさん
2017/11/05(日) 14:50:39.74ID:PoYQIzOm
wasm時代の覇権がどうなるか想像出来ん
とりあえずC++は安定だろうけど
361デフォルトの名無しさん
2017/11/05(日) 15:02:45.09ID:/wBATO2P
PHP使ってれば食いっぱぐれることはないやろ
ガイジどもが作った負の遺産を保守し続ける楽なお仕事が半永久的にあるで
362
2017/11/05(日) 15:14:12.83ID:kqNrnSiP
>>351
器用貧乏の反対は、ホントにその役職に居なければ「大先生」とか「教授」だろ。
363デフォルトの名無しさん
2017/11/05(日) 15:32:04.98ID:3qpI8vVt
フレームワークやIDEを
ドラえもんの道具にたとえると四次元ポケット
364デフォルトの名無しさん
2017/11/05(日) 20:51:56.70ID:vWNY+clC
>>361
真っ先に自動化されるか、見捨てられるシステムだな。
365デフォルトの名無しさん
2017/11/05(日) 20:55:20.91ID:Fa7z1jl7
COBOLやJavaならわかるけどPHPではなあ
ある日突然消えてなくなったところで大した問題のないゴミばかりだろ
366デフォルトの名無しさん
2017/11/05(日) 21:28:49.35ID:wTe1xxd0
おい、アスペチプァさんを馬鹿にするなよ
彼らが本気出したらお前ら血便漏らして死ぬようなコード書くぞ
367デフォルトの名無しさん
2017/11/05(日) 21:40:31.01ID:RFcD7Uma
日本の技術力ガーとか言ってたくせに
結局全部嘘ばかり
バカチョン以下やでホンマ
そりゃペチパーが闊歩しますわ
Rustアンチくんはペチパー
はっきりわかんだね
これだからペチプァは
それ以上ペチパーの心のより所を叩くのはやめてやれw
彼ら、憤死してしまうでwww
ペチパーって何であんなにフレームワーク作りたがるんだろうな
自己主張が強いのか、ママの愛が足りなくて承認欲求に飢えてるのか
おい、アスペチプァさんを馬鹿にするなよ

マジキチ
368デフォルトの名無しさん
2017/11/05(日) 23:19:35.12ID:wTe1xxd0
>>367
巣へお帰り

自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1506823587/
369デフォルトの名無しさん
2017/11/05(日) 23:22:51.31ID:2EuxY2gH
ペチアンチの面白語録非難してる奴って胸に突き刺さって抜けないペチパーか?
370
2017/11/06(月) 00:12:29.28ID:/hMSyilp
好きの反対は無関心になるはずだしな。
嫌いな事と言うのは、実は興味があったり、かつて好きだった事があったり、強制され抵抗できなかった惨めさがあったりするもんだ。
あまり人の憎しみを面白半分で扱ってはいかんな。
371デフォルトの名無しさん
2017/11/06(月) 01:15:12.61ID:TNQjb5Zj
>>357
SPAは一番最初のローディングがアホみたいに遅いじゃん
これ解決するためだけにSSRもやるの辛い
じゃあ最初からSPAいらないやってなる
372デフォルトの名無しさん
2017/11/06(月) 01:24:21.52ID:HP5doPtx
【泥沼】 京都市のシステム開発失敗、IT企業に7億5千万円の損害賠償請求 企業側は支払い拒否
http://2chb.net/r/news/1509849067/
373デフォルトの名無しさん
2017/11/06(月) 07:18:27.19ID:9YhppvEm
>>371
dynamic importが実装されている現状から言って最初のローディングが遅いって問題は解決する。というかminifyすれば十分小さい。
せいぜい500kbとかでしょ開発中は10MBとかだったりしてビビるけど。
374デフォルトの名無しさん
2017/11/06(月) 07:21:45.70ID:9YhppvEm
>>371
後、最初のローディングが遅い問題がSSRで解決するって初耳なんだけど。
どっちかというとSEO的な問題の解決かと
375デフォルトの名無しさん
2017/11/06(月) 09:16:46.62ID:MQujfIpu
>>374
意味不明
順序的な動作いらないし負荷や遅延も減るんだから速いだろ
376デフォルトの名無しさん
2017/11/06(月) 09:17:47.31ID:TNQjb5Zj
>>373
最初のローディングを早くするのとSEOできるっていう二つがSSRのメリットだと言われてないか?
それからSPAの初回表示が5000msとかかかるのは、DOMを構築する処理のせいだろ?
500kbというのはjsのサイズか?ファイルがいくら小さくてもな…

dynamic importは調べてもよくわからなかったが、解決するというなら良いことだ
377デフォルトの名無しさん
2017/11/06(月) 09:18:45.46ID:MQujfIpu
>>373
これも意味不明
スクリプトのサイズは飽くまでグロスの転送量の問題であって
動的モジュール読み込みだろうと結局初動が重けりゃ処理遅延するし
378デフォルトの名無しさん
2017/11/06(月) 09:20:16.78ID:MQujfIpu
>>376
だよなあ…
こいつ絶対エアプだわ
379デフォルトの名無しさん
2017/11/06(月) 10:13:51.90ID:YDBkedHo
>>367
Rustアンチスレ立てられる原因になったと自認してる俺だが、
PHPはゴミだと思ってるぞ安心しろ
380デフォルトの名無しさん
2017/11/06(月) 11:07:45.63ID:T8PAAaKN
cobol, fortran, vb あたりも相当恨みを買ってる言語だが、ここでの php への
恨みはそんなもんじゃないな。。
使ったことないからわからんが、そこまで嫌われるのは興味あるわ。
381デフォルトの名無しさん
2017/11/06(月) 16:11:09.26ID:9YhppvEm
>>377
俺の勘違いなのか?
動的ローディング使えばルーティングで該当ページが開く時にネットワークアクセスするから初回転送量は抑えられるだろ。

DOMの構築が遅いっていうのも意味がわかんないな。
現在表示している画面以外のレンダリングも裏でやってるとでも思ってるのか?
382デフォルトの名無しさん
2017/11/06(月) 16:32:50.51ID:SH+6BLR2
PHPは使う必要ないの?
383デフォルトの名無しさん
2017/11/06(月) 16:40:37.06ID:zYnuoH4p
無い
384
2017/11/06(月) 17:06:37.01ID:slDUJGNU
>>381
仮想DOMを作ってDOMツリーに展開していく部分でしょ、初回を早くするためのSSRって。
割と時間掛かる上に描画がロックしがちだから、最初からHTMLとしてDOMツリー渡して、仮想DOMとあとからバインドするんじゃねえの?
該当ページが開く前にロード、じゃなくて、初回の話でしょ。
385デフォルトの名無しさん
2017/11/06(月) 17:43:13.17ID:YFPXBPxU
むしろ「使い慣れてるから」とかいうクソペチパーの戯れ事以外でぷぃーえっちぷぃーなんて使う理由あるならそっちの方が聞きたい
386デフォルトの名無しさん
2017/11/06(月) 18:15:38.15ID:SH+6BLR2
PHPが滅んだとしてその穴を埋める言語って何?Js?
387
2017/11/06(月) 18:47:27.87ID:slDUJGNU
phpの良い所なぁ。
楽な部分だと、nginx+php-fpmでも、apacheでも、IISでも、ファイル置くだけで動く所が一番初心者には楽なんじゃないの?
あれやってるとContent-Typeとかヘッダを覚えない!なんて言うPerl使いももういねぇんだし。
aspやasp.netもまぁ同じ部類か。

unicornもsupervisordもforeverもpm2も要らない、サーバのポートを使う事もない。
リバースプロキシも要らない。リバースプロキシがヘッダを触ろうが割と平気。
こんな言語あんま無いぞ。良いか悪いかは別としても。
388デフォルトの名無しさん
2017/11/06(月) 20:08:38.89ID:XMp+x8Af
>>387
そういうレベルの奴が遊ぶからウンコ量産機になるっていう話なんだよなあ
389デフォルトの名無しさん
2017/11/06(月) 20:40:54.59ID:9YhppvEm
>>384
はー。なるほど。そこがボトルネックになるっていうのか。
じゃあSPA使わないという選択肢が一番だな。おつかれ。
390デフォルトの名無しさん
2017/11/06(月) 20:42:12.76ID:HSJSgREc
お手軽魔法のLAMP
391デフォルトの名無しさん
2017/11/06(月) 21:16:04.27ID:Ei8rpFR6
仮想DOMからDOMツリーに展開するのとHTMLをレンダリングしてDOMツリーを構築するのと
どっちが速いかって自明じゃないよね?
「HTMLとしてDOMツリー渡して」とか書いてるところを見ると、そこコスト0と思ってるとか?
392
2017/11/06(月) 21:57:40.34ID:/hMSyilp
>>388
単にうんこも作れると言うことだ。

>>389
古き良きFormとポストバックでも何でもすれば良いよ。

>>391
微妙な所では?プロファイルはしてないけど。
DOMツリーも、仮想DOMからどうエレメント作ってるかにもよると思うし、リフロー、リペイントが何回起きるかにもよると思うが、
HTMLとしてDOMツリーを渡して一番得なのは、DOMツリーを解釈したレンダツリーをレイアウトする所まで決定的関数になるから取り敢えず形としては一発で書けるという認識だった。
だから、AMPではレイアウト計算が走らんように、ロード後にサイズが変わる画像は使えない、みたいな縛りを入れてると思ってたよ。
違ったら教えて。
393デフォルトの名無しさん
2017/11/06(月) 22:45:29.40ID:hux2/GU9
SSRの実装次第じゃね。情報が古いことを許容するならキャッシュしたレンダリング結果を返すという手もある。
394デフォルトの名無しさん
2017/11/06(月) 23:47:45.62ID:MQujfIpu
>>387
ぶっちゃけPHP貶すやつはプログラマの経験浅いだけだろと思う
言語がどんだけクソだろうと、結局PHPほど、短時間でパッケージ売れて取り回しが楽な環境他にないからな
395デフォルトの名無しさん
2017/11/06(月) 23:55:59.09ID:UKBp9co4
>>370
> 好きの反対は無関心になるはずだしな。

じゃ、対偶と裏は何?
煽りじゃなくて純粋に疑問
396
2017/11/06(月) 23:58:52.19ID:/hMSyilp
>>393
まぁ、つまるところaspのUpdatePanelだな。
何回歴史を回ってるんだかわからん。

>>394
取り敢えずPHPをdisればウケるという安易な芸風なのか、本気で憎んでるのかはわからんが、ホントに便利だと思うよ。
作者の言う通り、歯ブラシなんだと思う。
397
2017/11/07(火) 00:08:23.71ID:BP2Kxffy
>>395
裏とか対偶を取ると何か意味がぼやける気がするが。

好きならば、関心がある
好きでないならば、関心は無い
関心が無いならば、好きではない

嫌いならば、関心がある
嫌いでないならば、関心は無い
関心が無いならば、嫌いではない

「関心」を共通項として消しこんでしまうから好きと嫌いが直結してるように見えるが、
本質的には好きと嫌いは全く違う感情として捉えるべきだと昔習ったよ。精神医学か臨床心理学かどっちかで。
そうしないと凄く嫌いな状態が好き、みたいなややこしいドMとかメンヘラ感情を説明出来なくなる。
398デフォルトの名無しさん
2017/11/07(火) 01:23:02.74ID:yN+d3e/T
頭にプリプリうんこの詰まったペチプリパァのおじちゃん

年収200万なのに生きてて恥ずかしくないの?
399デフォルトの名無しさん
2017/11/07(火) 01:43:06.64ID:JlqCGsEJ
WP納品してセキュリティも保守も拡張も考えなくていいならPHPで勝手にすればって感じだけど
まぁ関わりたくないよね
400デフォルトの名無しさん
2017/11/07(火) 04:40:28.24ID:G20ApN4s
phpがというより動的言語が嫌なんだよなぁ。
リファクタリングとかIDE支援が期待できない。

だからhackなら良さそうなんだけどだれも使おうとしないのはなんで
401デフォルトの名無しさん
2017/11/07(火) 04:58:43.28ID:G20ApN4s
GoをGAE/Goで使うとインフラもセットで完成した状態で使えるしオススメ。
dockerも、結局インフラ構築と変わんないから触らないで済ましたい
402デフォルトの名無しさん
2017/11/07(火) 12:20:53.38ID:iCCdSanC
>>400
その理屈なら、DOM操作をIDEで支援する方が良さそう
静的型がないhtmlは終わコンになる
403デフォルトの名無しさん
2017/11/07(火) 12:39:38.98ID:e73yffVV
>>402
reactがけっこう静的型html感ある。特にtypescriptでpropsのinterfaceをちゃんと定義した場合ね。
404デフォルトの名無しさん
2017/11/07(火) 19:58:30.70ID:SHDG9lem
react もなんかだいぶごっつくなってきちゃってるね。
大丈夫なんだろうか。
405デフォルトの名無しさん
2017/11/08(水) 02:44:50.04ID:fAd0cb4n
>>397
395ではないがなるほど。
でも、好きを+1、嫌いを-1、無関心を0と言うふうに数直線で見ると0を挟んで好き嫌いって反対という感じなんだよなぁ。
どMとかは虚数とか。
406デフォルトの名無しさん
2017/11/08(水) 05:31:11.16ID:aIBytdYn
>>248
実際Fortranって最新規格を見ると超素晴らしいんだよな……
コンパイラを見ると実装が全然追いついて無くてしょぼーんってなる

>配列の大きさ指定の関数に組み込みでない関数を使えるようになって
よくわからんがもしparameterized derived typesのことなら最近gccにも実装された
407デフォルトの名無しさん
2017/11/08(水) 06:30:17.43ID:giBp8lNc
CやFortranはやっぱ根幹だわ。
枯れて信頼性の高い処理系から、最新機能
を装備した処理系までとバラエティに富み、
常に進化し続けている。
408デフォルトの名無しさん
2017/11/08(水) 06:50:29.08ID:aIBytdYn
CもFortranも規格だけは刷新され続けているのに実際使える範囲はC99やF95で止まってるけどな
Cを止めてるのは主にVC++だけど
409デフォルトの名無しさん
2017/11/08(水) 07:58:32.73ID:hM94b8vG
そりゃ基本はC++の処理系だし、Cには関心ないんだろ。
それにそもそも、VC++がC11に対応したからといってC11が普及するとも思えんがな。
誰が使いたがるんだろう、あれ。
410
2017/11/08(水) 08:05:45.96ID:agAHXRVA
>>405
好きが実軸なら、嫌いは虚軸だよ。
411デフォルトの名無しさん
2017/11/08(水) 08:06:51.37ID:HmOnpGK3
C++が糞だから使いたくない人はCくらいしか選択しないだろう。
412デフォルトの名無しさん
2017/11/08(水) 23:41:09.61ID:8TXwlHft
swiftむずい
413デフォルトの名無しさん
2017/11/09(木) 08:24:27.56ID:6+7/preV
Cもラムダ式(かBlocks)とattribute((cleanup))入るだけで随分と楽になるのに。。。
規格更新が遅すぎるんだよ。
414デフォルトの名無しさん
2017/11/09(木) 08:43:42.68ID:F+Mngyv/
それな。特にBlocks
415デフォルトの名無しさん
2017/11/09(木) 09:20:27.50ID:C6Hnpcf+
jsの世界のbabelみたく新規格をとりあえずすぐ使えるaltCみたいなものを作ればいいんじゃないの?
416デフォルトの名無しさん
2017/11/09(木) 09:40:41.51ID:F+Mngyv/
は?
417デフォルトの名無しさん
2017/11/09(木) 09:45:23.55ID:aP107Usi
昔、Cfront と呼ばれるものがあってね。。
418デフォルトの名無しさん
2017/11/09(木) 10:19:46.53ID:ddqlamp+
Blocksは江添にクソって批判されてたような
C++との互換性考えたらラムダ式が現実的かと
419デフォルトの名無しさん
2017/11/09(木) 10:20:31.70ID:PlmGILRr
規格または実装のどちらかが遅すぎる法則
これ9割当たるだろ
420デフォルトの名無しさん
2017/11/09(木) 10:27:48.86ID:xB437NUI
最悪なのは「実装がバグだらけ!」
421デフォルトの名無しさん
2017/11/09(木) 11:20:20.07ID:Ks0zwITf
自己書き換えコードが禁止されてるからCでラムダ式とかが考えられてこないんだろうな。
422デフォルトの名無しさん
2017/11/09(木) 11:53:29.71ID:rCwX7bXU
いやCなら単純に関数定義と関数ポインタ渡しの構文糖衣でいいだろ
423デフォルトの名無しさん
2017/11/09(木) 12:05:07.58ID:F+Mngyv/
C++のラムダ式とか最適化のおばけやんけ
あれCに入れれるのか?
424デフォルトの名無しさん
2017/11/09(木) 12:55:14.10ID:lGQpurza
素直にC++使わないのは何故。
425デフォルトの名無しさん
2017/11/09(木) 14:14:40.60ID:F+Mngyv/
よくわからんし苦手だから
426デフォルトの名無しさん
2017/11/09(木) 15:25:39.37ID:EdyTgEfO
C++のラムダは文法、型付けともに最悪だろ
第一templateもautoもないCでどうやって持ち運ぶんだよ

それにBlocksもそうだけど
気軽に他言語からのFFIができなくなるんじゃないか
基本的なAPIにこういうのが使われだしたら他が困る……
427デフォルトの名無しさん
2017/11/09(木) 15:40:59.87ID:EdyTgEfO
あとC++ラムダもBlocksもローカル変数をキャプチャーする糞仕様だし
そんなのがABIとして定まってしまうと、例えばD言語が関数ポインタとスタックポインタのペアだけでやってるみたいな
シンプルかつより優れた実装を取ってる組が迷惑するだろ
428デフォルトの名無しさん
2017/11/09(木) 16:51:04.80ID:Ks0zwITf
Cの戻り値が一つしか出来ないというのも意味わからないよな。
2つのレジスターに値をセットして戻せばできるのにな。
429デフォルトの名無しさん
2017/11/09(木) 17:23:41.36ID:RK6L6tnV
評価した結果,値を2つ持つって方が意味わからん気がする
複数の戻り値を表すならタプルみたいなもので1つの値にしてしまうのが一般的だと思うけどCでそれは流石に…という感じ
430デフォルトの名無しさん
2017/11/09(木) 17:53:57.52ID:EdyTgEfO
x86_64のSysVみたいに環境によっては
レジスタ2つ分程度なら構造体で返してもrax, rdx使ってくれるぞ
それに10個とかになると結局構造体返しと同じになるだろうから区別する理由がない
431デフォルトの名無しさん
2017/11/09(木) 18:05:25.89ID:Ks0zwITf
引数は複数なのに戻り値は一つって対称性が乱れてるからな。
引数が一つってきまってるなら戻り値が一つでもいいんだけどな。
432
2017/11/09(木) 18:32:55.15ID:RgVZiOIN
まー、今更呼び出し規約変更するのも虚しい結果に至るだろ。
433デフォルトの名無しさん
2017/11/09(木) 18:40:38.48ID:xkkUp3yc
俺は今の言語が解析しにくいのが不満
xmlみたいにシリアライズ容易であって欲しい
プログラムからコードを作成したり
ビジュアル的にコードを表現したり出来ていいと思う

これが出来てやっと次のステージにすすめると思う
434デフォルトの名無しさん
2017/11/09(木) 18:56:04.11ID:aP107Usi
それ lisp やんけ
435デフォルトの名無しさん
2017/11/09(木) 19:02:43.09ID:xkkUp3yc
>>434
全然駄目だ
俺には読めないw
xmlとかcsvとか形式が決まってた方がいいな
436デフォルトの名無しさん
2017/11/09(木) 19:09:29.48ID:xkkUp3yc
htmlみたいにxmlでフローの書けるプログラムが組めるような言語とか次の覇権を握る
次世代はプログラムの自動生成がメインに来ると思うな
モジュールのビジュアル化
それらを組み合わせるAIとか10年後のスタンダードになると思う
437デフォルトの名無しさん
2017/11/09(木) 19:49:14.84ID:7aPgmrKc
>>431
カリー化祭
438デフォルトの名無しさん
2017/11/09(木) 21:03:11.32ID:rakEZX+F
Apache Jellyは全然流行らなかったな。
439デフォルトの名無しさん
2017/11/09(木) 21:08:41.44ID:F+Mngyv/
ID:aP107Usiじゃないけど、俺も言いたい

それLispやんけ
440デフォルトの名無しさん
2017/11/09(木) 21:17:49.45ID:PlmGILRr
確かに人間の能力で解析できるのはLisp程度かもしれないが
次世代AIだったらLispは甘え
441デフォルトの名無しさん
2017/11/09(木) 22:00:27.03ID:xkkUp3yc
c#は構文解析やるのも字句解析やるのも
結構疲れる
こんなんじゃビジュアル開発できないじゃん
IDEなんてリソースエディタまわり強化するぐらいしか進化する先ねーのに
言語複雑にしてっと自分のクビしめっぞ
442デフォルトの名無しさん
2017/11/09(木) 22:18:45.81ID:6LULX4BS
C#はRoslyn使えば一発でAST取れるぞ
MSのコンパイラというのは開発ツールのための言語サービスなんだよ
443デフォルトの名無しさん
2017/11/09(木) 22:47:28.93ID:6+7/preV
CもABI変えない範囲で新機能は追加してほしい
444デフォルトの名無しさん
2017/11/09(木) 22:53:10.61ID:Hmz/S4uV
常にデ/シリアライズ可能って良さげだな
ある時点のスタックトレースを丸ごとダンプして、丸ごと状態を復元できる
445
2017/11/10(金) 00:01:05.74ID:QEw38nat
>>436
なんかxmlを通すと形が変わる処理系なかったっけ?
SGML通した覚えがある。

ビジュアルなフローを繋いでいくとなると、LabVIEWとか色々あるじゃん。流行らなかったやつだと.netのワークフローとかあったし、
最近だとnode-redとか、Amazonのフローとか。

>>444
仮想マシンを一時停止にするほうが気が楽。
446デフォルトの名無しさん
2017/11/10(金) 00:51:01.42ID:D7HJ1e1B
みんなー、Nimでにむにむしよっ
447デフォルトの名無しさん
2017/11/10(金) 01:42:31.25ID:z2GdfpnL
むにゃ
448デフォルトの名無しさん
2017/11/10(金) 08:03:25.78ID:ZxotU10g
>>445
そうじゃないニム
例えばニムね、Reduxのある時点のStoreを丸ごとjsonにニムしたら
バグとかニムとかの再現に便利だと思ったニムンゴよ
449
2017/11/10(金) 12:48:28.65ID:ryCkgWWn
>>448
仮想マシン一時停止にしてスナップショット撮って、再開するのは不便だって事かな。
まぁ確かに不便か。

まあ、普通WPF書いてればモデルクラスにMVVMしてるだろうし、そいつをシリアライズしとけば良いと思うけどね。Reduxみたいに、となると。
450デフォルトの名無しさん
2017/11/10(金) 13:30:04.92ID:K9cBfZ0u
みんなー、Nimでにむにむしよっ
451デフォルトの名無しさん
2017/11/10(金) 13:55:44.53ID:nhsl7iAw
>>444
Smalltalk?
452デフォルトの名無しさん
2017/11/10(金) 16:56:43.44ID:MvZMhhNL
フォンノイマンマシーンではデータとプログラムの区別とかレジスターとかはないから
メモリーをコピーするだけで実行時と同じになるんだよな。
453デフォルトの名無しさん
2017/11/10(金) 17:35:03.38ID:JCZVtJuy
fortranって学生の頃に触ったけどなんか独自性あったっけ?basicと変わんないような気がしたけど
454デフォルトの名無しさん
2017/11/10(金) 18:41:24.13ID:QuLzQogR
>>453
numpyに匹敵する強力な配列アクセスと、明示的なfunctionとsubroutineの区別、引数の入力専用や出力専用を明示するintent機能、moduleなどの便利な機能がfortran90あたりから加わった

学生の頃に触るfortranは77が多いのでfortanはゴミという認識の人は多い
455
2017/11/10(金) 18:41:29.45ID:ryCkgWWn
>>452
ところが、メモリを完全に再現する方法がどんどんめんどくさくなってきて、逆にコンピュータ自体はどんどん高速になって、仮想マシンごと取るのが一番楽になってきてしまった。
データとプログラムの区別もつけ始めたしね。

>>453
pureな関数に対して、forallとかつけるだけでバラして実行にしてくれるとか、十年くらい前から、do concurrent で同時実行してくれるとか、でかい計算機使わないとあんまりメリット見えない便利機能とかが独自機能とかかな。
456デフォルトの名無しさん
2017/11/10(金) 20:31:42.80ID:pbDFhipo
>>453
C99のrestrictや複素数、VLA等の「C++に無いのにどこから出てきた」みたいなのは
Fortran対抗だったりするんだぜ
その後も改定は続いて今のFortranは驚くほど色んなことができるし速度面は依然最強格

実装があればね(´・ω・`)
457デフォルトの名無しさん
2017/11/10(金) 20:36:22.60ID:Qc9ud9aj
Juliaを持ち上げる奴は大抵Fortranを古そうというだけで食わず嫌いしてるよね
Fortranをちゃんと触ったことがあれば、今更Juliaなんか全く必要ないことがわかる
458デフォルトの名無しさん
2017/11/10(金) 20:45:03.48ID:pbDFhipo
ま、Fortranは構文がきもいからね……
あと実装(
459デフォルトの名無しさん
2017/11/10(金) 21:03:32.57ID:TE3zp5kQ
Juliaは関数を返す関数があるから……
460デフォルトの名無しさん
2017/11/10(金) 22:39:10.79ID:XT30o+c8
Fortran触ったことないゆとりの自分に、Fortranで3rd packageの導入・管理する方法を教えてくださらんか……
461デフォルトの名無しさん
2017/11/11(土) 00:15:52.24ID:TutobSU6
スクリプト言語ならソースを置くだけか、Cに丸投げだもんな
スクリプトとCを笑う者はパッケージ管理に泣く
462デフォルトの名無しさん
2017/11/11(土) 01:12:49.38ID:w1UaSNW0
>>460
良いように言えばFortranはC言語と同じく下層で使われる言語なので
管理はOSのパッケージマネージャでやらないといけない

悪いように言えば、管理するほどライブラリがない
463
2017/11/11(土) 01:39:43.40ID:X8lWnCzG
そもそも、ベンダが出すライブラリが一番速い。
その話は残念ながらできん、といったところかな。
464デフォルトの名無しさん
2017/11/11(土) 09:56:56.01ID:nIHGEsH/
>>461
そう考えるとcargoやgoはよくやってるって気分になるな
465デフォルトの名無しさん
2017/11/11(土) 10:05:48.57ID:SE28YWv1
他の言語だとあんまり思わないんだけど、 CやFortranの話になると何故か
「LD_LIBRARY_PATHの通っている領域に置くだけじゃん……」
って思う
466デフォルトの名無しさん
2017/11/11(土) 10:45:06.02ID:nIHGEsH/
>>465
例えばプロジェクトAではlibevent2.0を、プロジェクトBでは2.1を使ってる場合どうすんの?
1. LD_LIBRARY_PATHをプロジェクト毎にdirenvかなんかで切り替える
2. -Lオプションで切り替える
3. RustでいうcargoやRubyでいうBundleを手動で頑張る

どれがベストプラクティス?
467デフォルトの名無しさん
2017/11/11(土) 11:34:57.45ID:SE28YWv1
>>466
静的ライブラリなら-Lでいいんじゃね?
ベストプラクティスかは知らんけど
468デフォルトの名無しさん
2017/11/11(土) 11:35:47.08ID:yM7WeBzy
>>466
マシン二台用意しろよ
469デフォルトの名無しさん
2017/11/11(土) 11:37:39.35ID:SGA9z9gD
>>466
プロジェクト違うとライブラリだけじゃなく設定ファイルとかリソースファイルとかも変わるんじゃない?
そのための環境「変数」なんだと思うがね
470デフォルトの名無しさん
2017/11/11(土) 12:37:04.44ID:oec9ZFSW
dockerみたいなのでやるってこと?
471デフォルトの名無しさん
2017/11/11(土) 13:41:00.49ID:w1UaSNW0
んな大げさな、切り替えたいだけならpkgconfigでいい
472デフォルトの名無しさん
2017/11/11(土) 14:37:05.82ID:p8tTAq8V
てかそこまで動的に切り替えが必要かまず考えた方がいいのでは?
473デフォルトの名無しさん
2017/11/11(土) 14:44:58.04ID:6gUapX1N
プロジェクトのディレクトリ内に適当に置いとけばいいじゃんあほらし
474
2017/11/11(土) 14:46:30.00ID:X8lWnCzG
ちゃんとmakefile書け、じゃない?
475デフォルトの名無しさん
2017/11/11(土) 19:13:47.36ID:GuHfXsWY
>>405
好きの反対は嫌い
無関心の反対は有関心
好きも嫌いも有関心
476
2017/11/11(土) 19:29:47.46ID:X8lWnCzG
>>475
なるほどまとまってる。
477デフォルトの名無しさん
2017/11/11(土) 21:31:25.39ID:okinluKI
抽象度が低すぎる単語はポリコレ違反なんだな
だから性別や宗教等を特定できないレベルまで抽象化する
478
2017/11/11(土) 21:45:47.01ID:X8lWnCzG
好きも嫌いも、言葉は同じでも指すものが違うからな。
可愛さ余ってなんとやら。
479デフォルトの名無しさん
2017/11/11(土) 21:51:19.82ID:APGqgm8b
Goみたくメッセージパッシングう方式での並行性に非常に優れていて、そこそこ速いML言語とか誰か作らないかな…
480デフォルトの名無しさん
2017/11/11(土) 21:57:29.82ID:rbpvu0L2
>>479 何に使う?
481デフォルトの名無しさん
2017/11/11(土) 22:02:28.22ID:APGqgm8b
>>480
Webのサーバーサイドでのプログラミングとか?
482デフォルトの名無しさん
2017/11/11(土) 22:34:13.35ID:w1UaSNW0
F#がもうそうなってるんじゃね
483デフォルトの名無しさん
2017/11/12(日) 02:51:49.32ID:oBq+ACHI
あれ?かつて次代の大物言語とかいわれてたelixirは入ってないの?
484デフォルトの名無しさん
2017/11/12(日) 04:47:18.74ID:QTXr6k0W
そもそも関心があるかどうか関心を持った時点で関心があるから
関心が無いものは思いつかないものでないと関心が無いと言えない。
485デフォルトの名無しさん
2017/11/12(日) 05:23:32.70ID:VleGsMX6
>484
心理学の話はもういいよ。言語の話しようぜ。
486デフォルトの名無しさん
2017/11/12(日) 10:22:15.49ID:uKLz7AXa
俺の哲学的考察ドヤァ
487デフォルトの名無しさん
2017/11/12(日) 11:35:37.08ID:oQrEnmVF
次世代言語の話をしろ
488デフォルトの名無しさん
2017/11/12(日) 13:19:42.48ID:kuWG9Wn6
日常会話にもプログラミングにも使える言語とか誰か作れよ
厳密に文法定義するだけだからできるやろ
489デフォルトの名無しさん
2017/11/12(日) 13:39:49.42ID:K3cKPiCK
需要、なし!w
490デフォルトの名無しさん
2017/11/12(日) 13:47:57.09ID:VleGsMX6
>>488
ここ数年で広辞苑に「うざい」が載るようになったように日常会話は時代によって変容する。
つまり、日常会話に使う言語は「厳密に文法定義する」こと自体が不可能に近い。
だから厳密に文法定義できるプログラミング専用の言語が必要になった。
そして日常会話に使う言語を「時代によって変容できない」ようにすることも不可能だ。
491デフォルトの名無しさん
2017/11/12(日) 14:11:37.87ID:fZbwcKqG
プログラミング言語も時代によって変わる
逆に変化しないプログラミング言語は取り残されていく
492デフォルトの名無しさん
2017/11/12(日) 14:35:52.57ID:0gPm23+K
lojban使えば?PEGで構文解析できる人工言語で新しい単語も導入できる
プログラミング言語を覚えるより遥かに大変だけど
493デフォルトの名無しさん
2017/11/12(日) 15:35:12.54ID:kuWG9Wn6
>>492
ざっと見たけど糞やん
読み方あいまいやん
bridi
ブリヂか?
バリディか?
頭がブリブリなのか?
494デフォルトの名無しさん
2017/11/12(日) 16:32:04.38ID:QTXr6k0W
PEGは一文字ごとにメモリーを消費する。
495デフォルトの名無しさん
2017/11/12(日) 21:31:44.94ID:vqK3o1OI
そんなことよりponyの話をしようぜ
496デフォルトの名無しさん
2017/11/12(日) 21:59:29.66ID:enOCqUCD
>>495
初耳だったのでちょっと調べてみたけど面白そう。是非とも良さを語ってほしい
497デフォルトの名無しさん
2017/11/12(日) 23:54:49.92ID:7OkSLCD0
>>491
その進化論っぽい思想ももう聞き飽きた
498デフォルトの名無しさん
2017/11/13(月) 00:08:48.90ID:lPXXv2fZ
変わらないでいいじゃんもう
499デフォルトの名無しさん
2017/11/13(月) 04:56:24.27ID:bOYgOiq+
変わり続けることとは変わらない法則である。
したがって変わらないことこそ変わることなのだ。
500デフォルトの名無しさん
2017/11/13(月) 10:15:23.68ID:3/3Obauk
Pony Julia Crystal Nim
いいからv1.0になって出直してこい系言語
501デフォルトの名無しさん
2017/11/13(月) 12:34:31.66ID:QzWBzm7Q
次世代言語議論スレなのでセーフ
502デフォルトの名無しさん
2017/11/13(月) 13:05:38.64ID:TpgUuavl
本当に並列化で速度を稼ぎたい場合は
オーソドックスな手法で並列化するので・・・
というか割と稀

それとは別に、UIを固めないためだけの並列化が鬱陶しくて
async/awaitがあればかなり楽になるから、それでいいやって
503デフォルトの名無しさん
2017/11/13(月) 13:39:53.23ID:VLsI+U4t
>>501
コロコロ言語仕様が変わるのは次世代言語じゃなくてお遊び言語だろ
言語仕様が固まってから、さて次世代的にどういう用途が向いてるだろうかって議論するべきじゃないのか?
504デフォルトの名無しさん
2017/11/13(月) 13:47:15.36ID:TUCXx069
>>502
結局、モジュラリティー高くなるように書けや
って話でどんなツール、言語が出てきても関係ないっていう気はする。

ツール、言語を強要するよりかは
アンチパターンとして急いでる時にはどうしても依存しまくったコード
書いちゃうよねってなことを教えた方がなんぼかまともな気がしてる。
505デフォルトの名無しさん
2017/11/13(月) 13:58:49.36ID:QzWBzm7Q
>>503
「言語仕様が固まってない」って「前のバージョンのコードが動かない」って意味か?
「推奨される、もしくは書きやすいコードの書き方が変わる」って意味ならC++でさえC++11以前と以降では全然違うし、「言語仕様が固まっている」言語なんてCくらいしか思いつかないんだけど。
506デフォルトの名無しさん
2017/11/13(月) 14:09:32.75ID:VLsI+U4t
前者の意味だが、文法自体に変更なくとも、標準ライブラリのAPIが変わってしまうのも含むな
Scalaとかマイナーバージョン変わるだけで文法変わってなくてもコンパイル失敗するとかあったろ
507デフォルトの名無しさん
2017/11/13(月) 14:27:30.98ID:QzWBzm7Q
前のバージョンのコードが動くことって、今職場で使える言語を語るのには大切だと思うけど、未来を語るのにそんなに大切だろうか?
むしろ試行錯誤して、ダメな所はダメな所として直して文法を綺麗に整理してくれている分、C++みたいなキメラ感溢れる追加機能よりも期待が持てると思うんだけど

まあ俺はScala知らんし、Juliaなんかはdeprecatedになった機能はちゃんと警告してくれるし、いきなり機能削除で困ったことがないから出て来る感想かも知らんけど
508デフォルトの名無しさん
2017/11/13(月) 15:57:56.72ID:bOYgOiq+
CPUみたいに特殊な命令をコードの最初の行に書けば
上位のモードに移行するみたいな仕様にすればいいのにな。
509デフォルトの名無しさん
2017/11/13(月) 16:18:40.93ID:wtJ6F+YY
それ旧仕様もメンテし続けないといけなくなるやつ
510デフォルトの名無しさん
2017/11/13(月) 16:30:03.90ID:htvgMwwk
DockerのコンテナとかGoで書いてるらしいね
これからどんどんコンテナってつかわれるみたいだからその関係でGoって人気でてきたの?
もしかしたらこれから一気に流行るの?
511デフォルトの名無しさん
2017/11/13(月) 17:21:04.18ID:Uh06NB8u
いろいろ突っ込みたいがキリがないので、
Docker使う分にはGoを意識する機会は全く無いから関係ないとだけ言っておこう
512デフォルトの名無しさん
2017/11/13(月) 20:45:40.38ID:loSXLH9Q
>>503
それswiftにも同じこと言えんの?
正直swiftの先進性には感謝する。関数型言語に興味を持つきっかけになった。
だがGo並に仕様を固めてから公開してほしかった。もうswift4? swift0.4だろボケ
513デフォルトの名無しさん
2017/11/13(月) 22:22:24.83ID:IfkrQMwx
Swift Xへようこそ。

世界一ピュアなキス

ここから未来が始まります。
514デフォルトの名無しさん
2017/11/14(火) 06:53:56.25ID:l1fCT6kS
Elixirのプロダクトらしい
https://masto.news/2017/11/12/pleroma/
515デフォルトの名無しさん
2017/11/14(火) 07:58:21.96ID:7LtHkkfv
マス丼が来てないのに何言ってだこつい
516デフォルトの名無しさん
2017/11/14(火) 10:55:56.21ID:/ce101S1
>>512
林檎信者に刺されたくないからあえて名前出さなかったんだが、まさにswiftは念頭にあった
あれが言語になれてる理由は他ならぬ林檎がごり押ししてプラットフォームを囲い込んでるだけなんだよな
517デフォルトの名無しさん
2017/11/14(火) 12:29:50.19ID:RmEPBl/7
作った人退職しちゃったけどどうなの?
518デフォルトの名無しさん
2017/11/14(火) 13:16:41.60ID:9gqQQ/8Y
数ヶ月転職先で働いてまたやめたよ
519デフォルトの名無しさん
2017/11/14(火) 14:18:27.95ID:MOxq3KBn
言語開発者って企業戦士としては碌なのいないな
ヘルスバーグくらいか
520デフォルトの名無しさん
2017/11/14(火) 14:35:21.01ID:/4y+2Kom
まつもとさん
521デフォルトの名無しさん
2017/11/14(火) 16:29:24.82ID:MOxq3KBn
Matzはエンタープライズ系ITからの典型的なドロップアウト勢じゃなかったっけ?
522
2017/11/14(火) 18:20:56.55ID:j+l8jijk
ケントンプソンとかは?ベル研。
ジョンバッカスもずっとIBMだったような。
Wolframもずっとアカデミックな人で、途中で会社立ち上げてずっとmathmaticaを責任持って作ってるイメージ。
523デフォルトの名無しさん
2017/11/14(火) 22:33:33.05ID:XnMPPPKZ
>>516
swiftが登場したばっかのときは良かったんだよ。その後
何度も下位互換性がない仕様変更が繰り返されて開発者が疲弊していった。
正直言語仕様も複雑化の一途を取っているrustのメモリオーナーシップモデルも取り入れるって話も聞いたし、正直つらみがます一方。
androidのkotlinが羨ましくみえる。
524デフォルトの名無しさん
2017/11/14(火) 22:56:58.69ID:r3vvhD4+
ビャーネはずっとモルスタいるだろ
525デフォルトの名無しさん
2017/11/14(火) 23:28:52.46ID:bj4U4qLx
確かRustの主要開発者の一人が林檎行ってswiftやってんだっけか?

Rustもまあ言語仕様お世辞にも簡単とは言えんが、1.0以降下位互換性崩してないところは評価できるわな
526デフォルトの名無しさん
2017/11/15(水) 09:17:27.90ID:IgzwHXKJ
Rust は所有権とかボローイングとか、そもそもパーサーの方もまともに
理解できてねーじゃんとか思ってしまう。
527デフォルトの名無しさん
2017/11/15(水) 10:50:32.41ID:FBksKtwj
>>526
まあそもそもRustはモジラの提灯のための言語モドキで、プログラミング用途じゃないからな
528デフォルトの名無しさん
2017/11/15(水) 10:54:30.02ID:FBksKtwj
モジラ「これからは安全性!所有権!(って言っとけば金とれるわ。言語自体の出来?適当でいいじゃん)」
泥箱「Rust使ってます!(って言っとけばモジラが提灯代くれるし使ってないけど言っとこ)」
529デフォルトの名無しさん
2017/11/15(水) 16:31:11.01ID:SRCReWD1
例の糖質くんやんけw
530デフォルトの名無しさん
2017/11/15(水) 23:13:54.26ID:1FFyJZta
>>523
kotlinも使いやすさ的にはGroovyから一部劣化してるとこもあるが
今生きてる言語の中では一番まともな解だと思う
正直StaticなGroovyまんまだけど
531デフォルトの名無しさん
2017/11/15(水) 23:16:35.27ID:FbV3pGD5
いい言語とは誰にでも直感的に理解できる言語
532デフォルトの名無しさん
2017/11/16(木) 00:18:06.40ID:acyFWWoZ
PHPのことですね
わかります
533デフォルトの名無しさん
2017/11/16(木) 00:22:54.15ID:GeiRTeeW
次世代言語Part7[Go Rust Swift Kotlin TypeScript] 	->画像>5枚
534デフォルトの名無しさん
2017/11/16(木) 00:51:54.74ID:ht25sMap
>>531
直感は人それぞれだから
誰もが平等だという直感もあれば、強者だけ生き残り弱者は淘汰されるという直感もある
535デフォルトの名無しさん
2017/11/16(木) 01:17:20.88ID:72Ez3v5k
意味不明
536デフォルトの名無しさん
2017/11/16(木) 06:20:26.03ID:AGAujnJo
直感で感じるんだ
537デフォルトの名無しさん
2017/11/16(木) 06:23:29.47ID:NRQldjte
直観でわかるようになるようになるまで練習するならわかるけれど
初めから直観でわかる言語はないだろ。
538デフォルトの名無しさん
2017/11/16(木) 09:08:03.07ID:e/Hz7FiQ
何か一つの言語を知っていれば直感的に判る言語
その名もパイソン
539デフォルトの名無しさん
2017/11/16(木) 10:31:57.62ID:V2bWakot
Pythonは「なんでこれができてこれができないのか」という変な例外が少ないのがいいよね
RubyとかPoweShellのような驚異に満ちた楽しい言語を触ってから戻るとすごく安心する
540
2017/11/16(木) 10:34:50.06ID:2XWbEkjP
それはあるな。
メソッド第一引数のselfを隠さなかったり、構文だとpassが存在したり、
他の言語では言語仕様を工夫して誤魔化した部分に諦めを見せてくれる。
541デフォルトの名無しさん
2017/11/16(木) 12:47:14.41ID:YitAO71u
perl on Rails は何でコケたのかな
542デフォルトの名無しさん
2017/11/16(木) 12:59:02.32ID:T2x72Red
OSコマンドインジェクションを考慮しなければならない用途では特に価値のない言語だから
543
2017/11/16(木) 12:59:15.71ID:2XWbEkjP
perl自体時代遅れという風潮と、perlはゴミ!という今のphpディスの空気感そのものみたいなのがあったからでは?

結果、まともに書いてないperlは問題だったが、まともなperlスクリプトは今でも生き残ってるしそんなに問題視もされない(というか意識もされないレベル)になったけど。

今のphpディスは、今35〜40くらいの世代がperlを叩きまくってたのと被って、健全には見えんな。
544
2017/11/16(木) 13:01:54.55ID:2XWbEkjP
>>542
RoRでも本来は考慮すべきだよ。バッククォートの再定義とかそういう話になるかもしれんが。
545デフォルトの名無しさん
2017/11/16(木) 13:59:59.88ID:Uttk70vk
>>543
perlが生き残ってるってどこの話だよ
生き残ってるってだけならそれこそCOBOLだって生き残ってるわ
perlが生き残ってるような環境ならPHPみたいな汚物を肯定もできるんだろうな胸糞悪い
546デフォルトの名無しさん
2017/11/16(木) 14:46:50.92ID:MKSMN107
昔からperlは宣伝がうまい
「なんでlinuxができてperlができないのか」ってつっこみ入れるだけで普及する
547
2017/11/16(木) 19:22:40.75ID:2XWbEkjP
>>545
カーネルのソースにも沢山いるし、あとはrpm -q --whatrequires gitってやってみれば?
確かまだいると思う。メインコマンドじゃないけど。
胸糞悪い環境でgit commitしてるんだね。
548
2017/11/16(木) 19:23:07.70ID:2XWbEkjP
惨めだね、知らないって。
549デフォルトの名無しさん
2017/11/16(木) 19:44:36.44ID:81E2YZma
しかし perl はやっぱきついよ。
あんなにコンテクストに依存して記号の意味が与えられる言語、
他にないと思う。
550デフォルトの名無しさん
2017/11/16(木) 20:26:22.33ID:vK+1Iebs
Perlはワンライナーでしか使わない、汎用sed, awk
551デフォルトの名無しさん
2017/11/16(木) 20:35:42.27ID:eh41w0lb
惨めだね。知らないって(ブーメラン)
552
2017/11/16(木) 21:15:20.63ID:eALYWwoT
ブーメランでも飛ぶだけマシだろ。
553デフォルトの名無しさん
2017/11/16(木) 21:19:39.67ID:MKSMN107
>>549
まあその程度で罪悪感を覚えるような正義感の強いコミュニティが
あったらいいなと思う
554デフォルトの名無しさん
2017/11/16(木) 23:23:00.85ID:acyFWWoZ
頭がパーのP
PerlとPHP
ウンポコピー

ガイジ専用
555
2017/11/17(金) 00:05:33.90ID:fbp8aPNo
まー仕事してりゃ、嫌な言語の1つや2つ、保守する羽目になることもあるだろ。

ディスは簡単だが、その言語がなぜ使われたかまで考えると意外にディスる気も無くなるし「なるほどなあ…」と苦笑いにもなる。

ガイジ専用、と言って切り捨ててると、ガイジでも出来る事が出来てないままの、自分の実質ガイジ以下の部分に目をつぶることになるぞ。
556デフォルトの名無しさん
2017/11/17(金) 00:13:11.61ID:3GAWOghK
>>538
pythonでのバイナリ配列内の特定の1バイト(0x00)の検索方法がよくわからん
557デフォルトの名無しさん
2017/11/17(金) 00:34:25.88ID:zgI+QNxN
今どき新規でPerlとPHP選んでるようじゃ
ガイジ扱いされてもしゃーない
558
2017/11/17(金) 00:46:46.98ID:fbp8aPNo
誰がどこで「新規でperl」って書いたのか、書いてないものが書いてあるように見えるのってちょっと精神的に破綻してるよね。
559デフォルトの名無しさん
2017/11/17(金) 04:51:47.78ID:J/ECuHX9
>>545
これは恥ずかしいな
Linux触ってたら普通に知ってる事なのに
560デフォルトの名無しさん
2017/11/17(金) 08:09:54.21ID:zgI+QNxN
>>558

新規で〜の話をしただけで、別に君を非難したわけじゃないぞ?
大丈夫か?
561
2017/11/17(金) 08:43:14.48ID:GmVBN0UX
>>560
>>545からの流れかと。安価つけないのってメリットあるんだな
562デフォルトの名無しさん
2017/11/17(金) 08:51:26.95ID:smNhjLrp
「ここは後でちゃんと作るはずだからperlでテキトーに実装しておこう」

数年後: 誰も読めない長大perlコード
563デフォルトの名無しさん
2017/11/17(金) 09:28:46.29ID:RcEAFZjI
perlは正規表現でごちょごちょやるなら現役じゃないの?
564デフォルトの名無しさん
2017/11/17(金) 09:30:57.21ID:4WTZydzp
ソフト開発では使わない
ツールならまだある
565デフォルトの名無しさん
2017/11/17(金) 09:43:20.07ID:RcEAFZjI
rebuildfmの中の人とか小飼弾とか。
できるエンジニアはもとperl使いってイメージある
566デフォルトの名無しさん
2017/11/17(金) 10:15:32.65ID:ZScfeBfL
知ったかくんちょっと調子乗って人のこと侮辱し過ぎでしょ
567デフォルトの名無しさん
2017/11/17(金) 10:16:31.43ID:j/YEi+T5
なんでperlが残ってること誇ってんの?汚点じゃん
perlがあまりに保守性悪くてリプレイスできないけど機能自体を捨てたらキレる老害がいるから化石のように残ってるだけ

要するにCOBOLと同じ。残ってることは恥
それを逆に誇ってるんだから、そりゃー世の中にPHPみたいな汚物がはびこる訳だわ
568デフォルトの名無しさん
2017/11/17(金) 10:38:06.37ID:n+fIjN+j
perlは確かに難読化言語だけれども、一回わかってしまえば
PHPみたいに仕様が変な部分はほぼない……と思う

PHPって内部で変換を繰り返して変な結果が帰ってきたり
数学関数の解釈が間違ってたりするんだろ?
569デフォルトの名無しさん
2017/11/17(金) 12:01:52.43ID:ymzw4hJ5
perlのソフトdisってる人は開発当時の時代背景知ってて言ってんの?
570デフォルトの名無しさん
2017/11/17(金) 12:33:52.99ID:1DLi6wpZ
perl6開発当時の時代背景は知ってる
571
2017/11/17(金) 13:08:49.38ID:GmVBN0UX
>>567
言うに事欠いてそれかよw

読めるように書いたらちゃんと読めるし、何より
「新しく作るコストと現行のものを保守する(していく)コスト」の天秤の問題だし、
枯れきった環境ってのは大事じゃん。

ついていけないから置いてるんじゃなくて、それはそれで良いから置いてるんだよ。
誇るも何も、それより良い物作ってコミットすれば良いんじゃない?それより誇りたいなら。
物にはついてくるよ、みんな。
572デフォルトの名無しさん
2017/11/17(金) 13:16:32.70ID:AQwbboRb
Perlは変な書き方もできるが
PHPの頭のおかしな仕様に振りまわされることに比べたら
いたって普通。
573デフォルトの名無しさん
2017/11/17(金) 13:34:15.46ID:D7vYYt8n
比較対象が PHP ってところからすでにおかしいだろ。
574556
2017/11/17(金) 15:18:37.34ID:YsVDcKgI
>>556
わかったわ
575デフォルトの名無しさん
2017/11/17(金) 15:35:55.87ID:oWV9tUcB
マクロアセンブラ―みたいにマクロC言語って出てこないかな。
これがあれば絶対使いたいんだけど。
576デフォルトの名無しさん
2017/11/17(金) 15:47:49.21ID:4x0i5wmi
マクロPHP 或いは altPHPトランスパイラは銅ですか?
577デフォルトの名無しさん
2017/11/17(金) 15:53:27.78ID:i5UkdOT+
次世代言語スレで新規じゃない話してる奴ってなんなんだ
578デフォルトの名無しさん
2017/11/17(金) 16:44:20.35ID:m4E+5Wqt
>>575
#define
または template
がすでにその用途である
579デフォルトの名無しさん
2017/11/17(金) 17:04:41.52ID:YsVDcKgI
>>575
マクロにも名前空間が欲しい
580デフォルトの名無しさん
2017/11/17(金) 17:05:42.90ID:YsVDcKgI
>>575
あとatteibute((cleanup))も標準になって欲しい
581デフォルトの名無しさん
2017/11/17(金) 18:00:58.30ID:LjyHvP/L
ひどい雑談スレだな
582デフォルトの名無しさん
2017/11/17(金) 18:15:52.88ID:i5UkdOT+
まずなんで次世代言語スレでPerlの話題が上がるんだよ
せめてPerl6以外のPerlの話は禁止しろ
583
2017/11/17(金) 18:41:24.13ID:GmVBN0UX
>>577
過去にあったものより、良かったり違う思想だったりするものを議論するのに、
「知らない、話題にも上げなくて良い、知らなくても良い、どうせゴミだから。知らないけどね」って無責任と思うけど。
584デフォルトの名無しさん
2017/11/17(金) 18:50:07.33ID:qV/IIJ5J
次世代言語を議論する上で引き合いに出すならアリって感じか。
となると perl から得られる最大の教訓はなんだ。
使いやすくても読み難いものは宜しくない、と。
APL もそうか。
585デフォルトの名無しさん
2017/11/17(金) 18:53:26.65ID:i5UkdOT+
>>583
>>577の「新規」は>>558>>560>>561のレスを見て思ったことを書いたんだが、そのレスはそれに対する返答か?
586デフォルトの名無しさん
2017/11/17(金) 18:57:28.86ID:ymzw4hJ5
バージョンに6はつけるなという教訓
587デフォルトの名無しさん
2017/11/17(金) 18:59:24.46ID:i5UkdOT+
>>584の意味でperlに触れるのはありだと思うけど、当時の状況が云々とか未だに残ってるperlは恥だとか新しく作るコストが云々とかはスレ違い以外の何者でもない
588デフォルトの名無しさん
2017/11/17(金) 19:03:58.95ID:RD2my8vU
perl の教訓は python, ruby に受け継がれてるからいいんだよ。
589デフォルトの名無しさん
2017/11/17(金) 19:05:11.13ID:i5UkdOT+
Rubyってなんの教訓を生かしたんだ
590デフォルトの名無しさん
2017/11/17(金) 20:49:48.84ID:RcEAFZjI
rubyは最初からオブジェクト指向を言語仕様に含めた。
だから基本型もクラスなんだろ?
591デフォルトの名無しさん
2017/11/17(金) 21:38:37.78ID:EkFnC7lu
Rubyは設計者やVM実装者があっても大学院生レベルの知識で四苦八苦してるから
過去言語で解決済みの問題も顰みにならって抱え込んじゃってる
他言語のパクりの塊で元ネタを知らない大衆にはウケる面もあるけど正直新しみは何も無い言語
592
2017/11/17(金) 22:02:56.27ID:fbp8aPNo
>>584
アリどころか、違う思想、って言葉が使えなくなるでしょ。
perlの最大の教訓は、お前はEAXレジスタか、みたいな変数の使い方はやっぱり書くときは楽だけど読みづらいとか、
<>みたいな、便利なんだけど、それが正しい姿だと断言しづらい構文は辞めよう、ってとこみたいな負の部分と、
間接参照は正しく使えば可読性を下げずにうまくコードを短くできるみたいな正の部分色々あると思うよ。
593
2017/11/17(金) 22:04:52.82ID:fbp8aPNo
>>585
そうだよ。
新規だから次世代言語を使うべきだ、なんて新しい筆箱買ってもらった子供みたいな真似はするべきじゃない。
594デフォルトの名無しさん
2017/11/17(金) 22:08:54.79ID:ZScfeBfL
>>593
おまえはいったい>>577をどう解釈しているんだ
俺はそんなこと一言も書いてねえぞ
書いてないものが書いてあるように見えるのってちょっと精神的に破綻してるよね。ってやつか
595デフォルトの名無しさん
2017/11/17(金) 23:11:15.08ID:zgI+QNxN
>>573
ワロピオ
596デフォルトの名無しさん
2017/11/17(金) 23:28:57.50ID:RD2my8vU
python なんかは明らかに書き方の自由度を落とす方向で
perl の教訓を活かしてる。
ruby に関しては以下の感じらしい。
https://www.ruby-lang.org/ja/documentation/ruby-from-other-languages/to-ruby-from-perl/
まあ古い言語を勉強すると老人が鬱陶しいというのはあると思うけど
勉強として悪くはないよ。
597デフォルトの名無しさん
2017/11/17(金) 23:36:00.31ID:zgI+QNxN
苦労することが美徳だと死んでるあのお爺ちゃん、おりゅ?
598
2017/11/17(金) 23:51:54.59ID:fbp8aPNo
>>594
お前が何を言ってるかわからん。

次世代言語のスレで、古い言語の話をすべきでない、に対して、古い言語知らないと新しい言語が相対的に「新しい」じゃなくなるよね、次世代じゃないよね、って。前や今が無いと次はありえないんだから。
そこで、切り口として、「新規で作成するなら旧、現世代の言語なんてあり得ないよね」という論旨を受けて、
「そんなこと無いよね、今でもいっぱい使われてるし、その上に成り立ってんじゃん?旧、現世代があり得ないという理由が、我々は次世代言語を持っているから」なら、
それは子供が新しい筆箱買ってもらって嬉しくて今使ってる筆箱わざと壊して、意気揚々と新しい筆箱を持っていくようなもんだよね、建設的じゃないよね。
って話をしたつもりだが。
599デフォルトの名無しさん
2017/11/17(金) 23:52:28.39ID:RD2my8vU
クソ言語メンテするよりかは
クソ言語の歴史を学ぶ方が苦労は少ないと思うよ。
600
2017/11/18(土) 00:01:16.23ID:EluHaO9U
皆が苦労した歴史のつまみ食いできる奴らの方が圧倒的に楽だし、そうすべきじゃん。苦労自体はせずに、>>555で言う苦笑いだよ。
それに、それが本来あるべき姿の「昔の苦労」ってやつだろ。
601
2017/11/18(土) 00:01:49.78ID:EluHaO9U
>>599
そのとおりだと思う
602デフォルトの名無しさん
2017/11/18(土) 00:47:30.46ID:1bJyC4s0
ペェ〜ルとプェチピィは真性糞ゴミで
未だにそんな言語しか使えない連中は糞以下の蛆虫って
みんな共通認識もってるんだからそれでいいじゃん
603
2017/11/18(土) 00:59:36.61ID:qQnEMcHh
日下部の名台詞「ということにしたいのですね」が浮かんだわw
今日日、perlしか書けない奴なんか絶滅してるか、片手間にsed代わりにperl使う他の言語使える奴になってるだろ。
604デフォルトの名無しさん
2017/11/18(土) 01:11:50.72ID:+edZtTCr
あは自分が全く相手にされてないことに気付いてないのだろうか
perl以前にその冗長で可読性の低い自然言語をなんとかすることを考えたら?
君みたいな人は話し言葉や書き言葉に対してもプログラミング言語なんかと同じように論理的に距離をおいて考えることを身につけるといい
だいぶマシになるから
605デフォルトの名無しさん
2017/11/18(土) 01:47:08.81ID:w2/CbKAa
すまん。>>598の翻訳だれか頼む
606
2017/11/18(土) 01:56:14.42ID:qQnEMcHh
まあ、建設的な事も意見も言わずに、論旨も汲まずにシンプルに発言だけを否定していくと楽だよね。
俺もそうしようかなと思うぐらい。
607デフォルトの名無しさん
2017/11/18(土) 01:57:35.94ID:+edZtTCr
多分だけど、
新規とはいえ、経験やライブラリといった既存資産は開発生産性に大きく寄与するものである。
それでもなお新しい言語を使いたいなら、捨てるものに見合った見返りがあることを証明すべきである。
そのためには我々は既存言語を知らねばならないのだ。
という趣旨のことが言いたいんだと思う
608
2017/11/18(土) 02:01:09.24ID:qQnEMcHh
>>604
端的に書くと理解できない、一つ一つ説明すると冗長だと言う。
毎回随分な事言うなぁ。

まぁ、相手にされてないのだろうか、という相手をしてもらえるだけ広栄だと思っとくわ。
609デフォルトの名無しさん
2017/11/18(土) 02:05:40.25ID:w2/CbKAa
>>607
サンクス。だいぶわかりやすい。

もしかして、そもそも>>577
>>558
>誰がどこで「新規でperl」って書いたのか、書いてないものが書いてあるように見えるのってちょっと精神的に破綻してるよね。

に対する反応としての
>>577
>次世代言語スレで新規じゃない話してる奴ってなんなんだ

だって伝わってないのか???
俺は「新規で作成するなら旧、現世代の言語なんてあり得ないよね」とか一言も言ってないのに、その意見への反論を俺にぶつけられても意味わからんぞ??
610デフォルトの名無しさん
2017/11/18(土) 02:06:52.93ID:w2/CbKAa
>>608
端的冗長以前に文が下手糞。
>>607を見習え
611
2017/11/18(土) 02:09:29.60ID:qQnEMcHh
>>607
ちょっと違う。
既存のものとは世代が違う「次世代」というものを議論したいならば、
少なくとも既存の物がどういうもので、何かその「次世代」と違うのかわからん、単なる「新しいよくあるゴミ」ではないと言えない、ってのが前半。

旧世代言語はもう使うべきではない、と言う発想が、「旧世代言語は語れるほど知らないが、もううんざりして嫌いだし、次世代言語は楽しそうだから」と言う所から来てるなら、
ほんとに新しいおもちゃを「道具だ」と言い張って、今まで立派に道具として成り立っていた道具をわざわざ壊して捨ててまで学校に持っていく子供と精神性が変わらん、と言ってる。

見返りはその道具が本当に良いものであれば、あとからついてくるから割とどうでも良い。
考え方の問題。
612
2017/11/18(土) 02:09:54.22ID:qQnEMcHh
>>610
違うよ
613
2017/11/18(土) 02:11:25.91ID:qQnEMcHh
>>609
伝わってないな。
だって、次世代言語スレで、旧世代言語を無視できる方が頭おかしいと思ってるから。
614
2017/11/18(土) 02:13:33.66ID:qQnEMcHh
>>611
三行目、「わからん、単なる」→「わからんと、単なる」だな。ごめん。
615デフォルトの名無しさん
2017/11/18(土) 02:15:43.13ID:pKok+plq
Uberが言語(と称する何かを)発表したけどもろPythonよな
言語ではない気がするが一応
http://docs.pyro.ai/
616デフォルトの名無しさん
2017/11/18(土) 02:17:27.19ID:w2/CbKAa
>>613
俺は「旧世代言語を無視しろ」とは少なくとも>>577で言ってないぞ

ただ、「新規でperl使う話してない」っていうから、「新規プロジェクトに使う言語の話しろよ」って書いただけだぞ
617
2017/11/18(土) 02:24:02.32ID:qQnEMcHh
>>615
これ割と面白いな。ナナメに読んだ感じpythonに確率分布と確率勾配なんかの計算をを苦しみのない形でライブラリとしてのっけてる感じ。

>>616
あ、なるほど。それは読み違えてたわ。
マジで申し訳ない。
ただ、新規プロジェクトなら余計に過去の苦しみは引っ張り出してきて、「本プロジェクトの課題と目的」みたいな節に並べるかもしれん。
618デフォルトの名無しさん
2017/11/18(土) 02:24:39.50ID:w2/CbKAa
「旧世代言語はもう使うべきではない」とか「新規で作成するなら旧、現世代の言語なんてあり得ないよね」とかって俺の意見じゃないんだよな
なのにその意見への反論持ってこられても意味わかんね〜

たしか、ちっちゃい子供ってAさんとBさんの意見の違いを区別出来ずに自分or他人になるんだっけ?

こんなん困るわ
619デフォルトの名無しさん
2017/11/18(土) 02:26:56.40ID:w2/CbKAa
やっぱそこか
ちょっと他の人に聞きたいんだけどさ
俺は
「旧世代言語はもう使うべきではない」とか「新規で作成するなら旧、現世代の言語なんてあり得ないよね」とか言ってるように見えた?
620
2017/11/18(土) 02:28:53.50ID:qQnEMcHh
>>618
すまなんだ。IDまで見てなかったわ。そもそも俺もちょくちょくID変わるし。
621
2017/11/18(土) 02:30:56.33ID:qQnEMcHh
そこまで個の意見読めてるのか俺も気になる。
赤くなるのは俺ぐらいのスレだし。
622デフォルトの名無しさん
2017/11/18(土) 06:18:04.79ID:MB5v83Xq
覚えた言語を捨てる勇気が無い奴は、その言語を肯定して
自分に言い訳をする卑怯者だよ。
623デフォルトの名無しさん
2017/11/18(土) 07:09:31.95ID:Q2wZVPR6
ガイジばっかだな
624デフォルトの名無しさん
2017/11/18(土) 10:21:01.98ID:9bGbf/q7
自己紹介かな?
625デフォルトの名無しさん
2017/11/18(土) 10:59:14.98ID:lptBNr7G
>>619
簡単な話
そいつの相手してもなーんも得るもん無いから君は最初から放置すべきだった
そいつは病的なしったか自己弁護野郎で
自分の頭の悪いことすらを、文章の「端的冗長」などという問題に置き換えちゃってる
それも、何度も何度も何度も何度も、絶対最後はそういう逃げに走ってる
悲しく単調な茶番劇
626デフォルトの名無しさん
2017/11/18(土) 11:33:42.61ID:ptgryUw4
端的に説明するとそうなるね
627
2017/11/18(土) 11:53:18.33ID:F+BjC4W7
間違った事は言ってないつもりだし、明らかに間違えたら認めてるぞ。
冗長だから理解できない、話が下手だから理解できない、に俺は持ってって無いじゃん。
628デフォルトの名無しさん
2017/11/18(土) 12:06:38.87ID:qKgE/Foz
あガガイのガイ

ペェ〜ルヴォーイか?
629デフォルトの名無しさん
2017/11/18(土) 12:07:15.85ID:qKgE/Foz
それとも屁臭いプェチのゲリクソピィ虫か?
630デフォルトの名無しさん
2017/11/18(土) 12:07:56.35ID:qKgE/Foz
頭の$見えてるぞ
はやくプェチピィを保守する工程に戻るんだ
631デフォルトの名無しさん
2017/11/18(土) 12:07:56.84ID:D8muQy7+
何回か間違って認めているのに同じ間違いを繰り返すのは、学習能力のないガイジとしか言いようがない
話してる最中に「もしかして俺が間違ってるかも」って疑ったりしないんだろうな
632デフォルトの名無しさん
2017/11/18(土) 12:30:01.33ID:lptBNr7G
高速逆走ボケ老人「なんてこった!ワシ以外の全員が逆走しとる!」
633デフォルトの名無しさん
2017/11/18(土) 13:08:47.79ID:9rFYKu0I
そもそもパールやプィエッチピィを少しでも評価する下痢クソ野郎がなんで次世代言語議論スレにいるのか
俺にはわかりましぇーん
634
2017/11/18(土) 13:40:56.71ID:F+BjC4W7
>>633
そりゃ極端だろ。
635デフォルトの名無しさん
2017/11/18(土) 13:57:53.12ID:zdXSEhFu
perlやphpしか選択肢がなかった貧しい時代もあったんですよ!!!
636
2017/11/18(土) 13:59:11.15ID:F+BjC4W7
普通にCで書いてたり、極端なところだとbashのcgiとかもあったなぁ。
637デフォルトの名無しさん
2017/11/18(土) 14:04:31.33ID:9rFYKu0I
選択肢がなかった。それは残念、悲しい時代でしたね
だからこそそれは否定されなければいけないと思うんですけど
その時代を肯定しないと精神崩壊するような老害がなんでこのスレにいるのかって聞いてるんですよー
638デフォルトの名無しさん
2017/11/18(土) 14:05:36.40ID:zdXSEhFu
>>637
あっさんを馬鹿にするやつはPで殴り殺すぞ!この野蛮人!
639デフォルトの名無しさん
2017/11/18(土) 14:07:15.03ID:9rFYKu0I
汚物できゃっきゃしてるやつの方が野蛮人ではありませんこと?
640
2017/11/18(土) 15:33:24.85ID:eanOOMuW
>>637
単に否定されるべき、ではなくて、より高度に「専用品」が作られてきたようなもんで、
要は適材適所なのよ。今のperlの残り方見てもわかるように。
濫用はもちろんいかんが。
641デフォルトの名無しさん
2017/11/18(土) 16:05:50.83ID:9rFYKu0I
ウンコの適所って?
それしか選択肢がなかった哀しい時代ならともかく今ウンコの適所を探すやつがなんでここにいるのって何度言ったらわかるのかねー?
642デフォルトの名無しさん
2017/11/18(土) 18:24:47.03ID:ZQLxHiSg
タイムリーにスラドの新システムがperlだな
結局perlが可搬性最強ということらしい
643デフォルトの名無しさん
2017/11/18(土) 19:14:21.75ID:9Hd4TP3A
最近の言語ってclassは無くなって構造体にメソッド生やしてclassっぽく使える言語が多いイメージだけど
この場合の設計はオブジェクト指向的にするのが多いのかな
644デフォルトの名無しさん
2017/11/18(土) 19:54:43.23ID:/CJztcmS
そういうのは基盤領域が中心だから、
ビジネスドメインのモデリングとは違ってデータはデータとして真面目に設計するでしょ
645デフォルトの名無しさん
2017/11/18(土) 20:24:42.14ID:ZQLxHiSg
ああいうのって、ウィンドウライブラリみたいな実装継承が中心になるようなやつは
面倒くさいんだろなーと思って眺めてる
というより初期のOOPLが実装継承が中心だったのは
まさにウィンドウライブラリ作りたかったからだろうな
GUIをHTMLにできるようになったからウィンドウライブラリから開放されたみたいな勝手な想像
646デフォルトの名無しさん
2017/11/18(土) 21:53:31.79ID:u/9oqFXg
P言語っていうウィキペディアの記事あるけど、Pythonに失礼すぎん?
647デフォルトの名無しさん
2017/11/18(土) 22:31:09.78ID:ZQLxHiSg
MicrosoftのP言語じゃないのかよw
648デフォルトの名無しさん
2017/11/18(土) 22:37:11.57ID:KYuTS+5W
P-Code のことかと思ったぜ
649デフォルトの名無しさん
2017/11/18(土) 22:50:10.69ID:nVR7ASrc
ヒカシュー
プラスチックス
P-MODEL
650
2017/11/19(日) 00:07:06.15ID:LuozPxgy
適所を探すと言うより、最初からそれが無難な手だとわかってるから使うんだよなぁ。
適所を探して彷徨ってるのは、それこそ現世代で活用方法がイマイチ定まってない、次世代言語だと思うけど。
いちおう補足するが、単に旧世代、現世代言語を使う事を肯定して次世代言語を否定してるんじゃないからな。
それで充分なら、それを使えばいいってだけで。

僕鉛筆削れないから、ケータイに打ち込んでメモします、それが正しい。この時代鉛筆なんか使わないっしょ、常識的に考えて。削れないと言うか、削らなくて済むことを美徳として受け取ってほしい、みたいな極論に走るんじゃなくて、
鉛筆使うと手で擦ると汚れる、ボールペンって一回書いたら消せない、だからケータイでメモします。電池が切れると読めないって問題は認識してます。って話であるべきだと思うって事。
651デフォルトの名無しさん
2017/11/19(日) 00:25:54.36ID:pBpWIwqa
すまん三行でお願い
652
2017/11/19(日) 00:31:10.87ID:LuozPxgy
確実に使えると断言できるなら何でも使えばいい。
確実にこれにハマる!と断言しづらいのは次世代言語と言われる言語の方
ただし、次世代言語を否定して、旧世代言語を肯定してる訳じゃない、次世代言語が肯定できるならばそれもよい。かな。
653デフォルトの名無しさん
2017/11/19(日) 00:31:32.72ID:sfWxFlOB
鉛筆とか携帯とか子供のおもちゃとか謎の比喩なんなん?
654
2017/11/19(日) 00:36:48.49ID:LuozPxgy
なんでもないよ。もし理解できないなら可哀想だなと思ったゆえの空回りだから。
655デフォルトの名無しさん
2017/11/19(日) 00:40:49.43ID:IgGN+feq
意訳
旧世代言語には実績があるので使いどころは明らか。
対して、次世代言語はそれを模索している最中だ。
明らかに次世代言語が適しているという明確な理由がない限り、実績のある旧世代言語の方が推奨されるのは当然であろう。

なぜこう書けないのか
656デフォルトの名無しさん
2017/11/19(日) 01:05:24.17ID:kYPwLJsc
たとえば、>>654を正常な人間が書いたとしたら、
(もし理解できないとしたら可哀想だな、つまり、)理解しやすいように配慮した。
(空回りだから、と言いたいが、冒頭の「なんでもないよ」と被るので省こう)
という思考をすると思うんだよな
彼はADHDなので書いたそばから頭から抜け落ちてて、こういう頭の中でのフィードバックが機能してないんだろう
657
2017/11/19(日) 01:15:07.73ID:LuozPxgy
>>656
そんなに高尚なもんでもなく、単なる嫌味だよ。残念だけど。
658
2017/11/19(日) 01:24:47.29ID:LuozPxgy
>>655
旧世代言語が推奨される、とは言ってない。
次世代言語を推奨するに足る明確な理由があるのであれば、そうすべきとは言ってる。
「実績」を根拠にした「使いどころ」の2行目に対して、2行目はひとつの代名詞で受けるのもどうかと思うし、そもそも「それら」複数で受けるべきでもないんじゃないの?
実績と使いどころって前提に対して出す結論が「適す」「推奨」なのも変じゃん。
それでいいならそう書くけど。

次世代、現次世代の二者択一ではなくて「そもそも買ってくりゃいい」
659
2017/11/19(日) 01:27:40.75ID:LuozPxgy
途中で書き込み押しちゃった。

「そもそも買ってくりゃ良い」「既存のものが望む言語ではないが存在する」なら、それは、どちらの言語も選ばずに問題解決するんだし、作りたいものの性質によってベストも変わるんじゃない?
660
2017/11/19(日) 01:31:04.27ID:LuozPxgy
>>658
ごめん、よく読んだら行数無茶苦茶だったわ。代名詞で、受けてるのは三行目な。
661デフォルトの名無しさん
2017/11/19(日) 02:51:34.18ID:QT7cD2cz
>>657, 658
言葉遣い(言語定義)に関して「変」とか「べき」とか相手が間違っているかのように言っているが、
使い方が仕様として定められているプログラミング言語とは違い、
自然言語では「大多数の人間が直感的に理解できる」言葉遣いこそが一般的に好まれる傾向が強い。
つまり、自然言語の場合は自分以外の大多数の他人の総意により言葉遣いの正しさが決定される。
そして、君は言葉は>>655と比べて大多数に対して理解されやすい言葉なのだろうか?

嫌味というのは上記のように反語のかたちで使用する方が相手は理解しやすいと私は思う。
(わざと相手に理解されないようにさりげなく使用する嫌味もあるが)
「理解してほしい」という気持ちがあるのならば、言葉選びには多少注意を払ったほうが賢明だ。
662デフォルトの名無しさん
2017/11/19(日) 03:32:31.76ID:aH5RZwMw
ただでさえ壊滅的な文章力なのに、嫌味やら比喩やらぶっ込もうとしてさらに壊滅的になった結果がこれなんどなあ
663デフォルトの名無しさん
2017/11/19(日) 03:48:17.16ID:sfWxFlOB
知識も文章力もガバガバなのに嫌味だけは一丁前にぶち込んでくるの凄いわ
664デフォルトの名無しさん
2017/11/19(日) 03:57:01.75ID:5+BpDy9G
文章力はガバガバ、文章力を指摘されたら怒って相手の理解力に転化しようとしてたこともあったけど、本人は人の意見もちゃんと区別出来ない理解力
すごい奴だ
665デフォルトの名無しさん
2017/11/19(日) 08:29:39.37ID:kYPwLJsc
>>655の「それ」が指すのって、実績かもしれないし使いどころかもしれないし前文の文意全体かもしれないけど
どれでも意味は変わらないので曖昧なままでいいと正常な人間は判断するんだよ
ADHDの人みたいにそんなことをいちいち確定させないと頭のスタックがオーバーフローしてしまう、なんてことはないの
666デフォルトの名無しさん
2017/11/19(日) 09:22:17.02ID:kYPwLJsc
一般論と自分の意見をごっちゃにしてるのは彼のレスが読みづらい大きな一因だな。
(彼以外にとって)>>655があくまで一般論を述べているのは明らかであり、だから旧世代言語を使えという主張ではない。
俺はできれば次世代言語を使いたいという個人的意見を入れたいなら>>655の後に付け足すだけでいい。
一般的な事実+主張 という教科書的な論述の形になる。
667デフォルトの名無しさん
2017/11/19(日) 09:33:41.74ID:d5pZv6yX
お前らガイジをデバッグしてやってるつもりかもしれんが
そーいうのは医者かそいつの身内に任せとけ
そんなカンタンに直らないことだから放置されて今に至ったの分かるでしょ?
今後も、基本的にそいつは放置され行く運命なんよ…
668デフォルトの名無しさん
2017/11/19(日) 10:52:39.44ID:udpY6AOX
>>645
今の知識から適当に過去を想像するとそう見えるのかもしれないけど、
Smalltalk も C++ も全くそれに当てはまらない。
669デフォルトの名無しさん
2017/11/19(日) 11:51:15.79ID:pBpWIwqa
大学とかの学術系の人達って、オブジェクト指向言語を、
GUIのWindow制御と関係付けられて語られるのを
非常に嫌がるよね。
670デフォルトの名無しさん
2017/11/19(日) 12:14:49.69ID:udpY6AOX
だってそれ一部の linux の gui だけだからなあ
要は「きっとそうに違いない」レベルの嘘なんだもん
671デフォルトの名無しさん
2017/11/19(日) 12:16:52.00ID:udpY6AOX
嘘は言い過ぎか。俗説というのかな。
672デフォルトの名無しさん
2017/11/19(日) 12:40:38.90ID:rjDl7x2h
linux系の人達はシェルスクリプトでできることをC言語 (に似た言語) で書くのが嫌がる

「でもスクリプトでGUIは無理だよね」とかいう人は
自分自身が「スクリプトを非常に嫌がる人」だと自覚すればいい
他人のことは気にするな
673デフォルトの名無しさん
2017/11/19(日) 13:56:02.98ID:pBpWIwqa
MicrosoftもWindowsのGUIプログラミングにオブジェクト指向を最大限
利用してたけどな
674デフォルトの名無しさん
2017/11/19(日) 15:53:23.83ID:PchCVsrm
動的な要素が必要なものなら必然的にオブジェクト指向的な何かはでてくるだろうね。
逆にアルゴリズムみたいな静的なコードにはあんま馴染まない。
675デフォルトの名無しさん
2017/11/19(日) 16:05:17.87ID:8GqCvnDK
>>645
やってみればわかると思うが
ウィンドウシステムの実装で多用するのは
継承よりもコンポジションだ
676
2017/11/19(日) 17:06:50.76ID:LuozPxgy
直感的に理解した気分になれれば、正誤は気にしない。
これは理解に苦しむわ。
677
2017/11/19(日) 17:10:27.69ID:LuozPxgy
ADHDと言う病名がつく前から、「してはいけない、気をつけるべきこと」と指導教官に言われて徹底した事だけどな。議論の際の言葉の揺れは。
文は長くなれど語彙を少なく、時制の一致、代名詞は慎重に使用、もし使用するならば数詞は一致させる。

議論ごっこしたいだけならもう黙るわ。健全でもなんでもないよ。
678デフォルトの名無しさん
2017/11/19(日) 17:33:49.09ID:wGu3G50A
>>677
議論ごっこって具体的にどういうことを指してるの?
健全でもなんでもない、ってことは不健全でもないと理解していいの?じゃあ何が言いたいんだ?
あまりにも曖昧すぎる
679678
2017/11/19(日) 17:42:29.27ID:wGu3G50A
君自身は気付いてないみたいだけど、君の文章を君の言うような基準で評価するとこうなるんだよ
落ち着いて他の人のレスをじっくり読んでみると、曖昧な言葉遣いに見えて意外と厳密な言葉で書かれてることがわかるはずだよ
君自身のレスに比べれば遥かにね
680デフォルトの名無しさん
2017/11/19(日) 17:51:34.62ID:5+BpDy9G
言葉の揺れは注意されたようだが、文章力は指導しきれなかったようだな
指導教官に出会う前は今の文体+表記揺れだったんだろうか
指導教官の苦労が垣間見えて涙が出ますよ
681デフォルトの名無しさん
2017/11/19(日) 17:54:31.63ID:rjDl7x2h
大企業の偉い人でも決算や証明書に嘘を書いてしまう
一般人が文章を正確に書けるわけがない
嘘を書いたとしても反省したり罰を受けたりするようなシステムはもうないよ
682デフォルトの名無しさん
2017/11/19(日) 17:57:34.18ID:ij9+MaWL
怒られた小学生のようないいわけ
683デフォルトの名無しさん
2017/11/19(日) 18:04:01.39ID:wGu3G50A
>>680
変に単語だけ注意したのが失敗だったのかもね
それによって、ただでさえADHDで文章構成が苦手だったのが余計に単語に気を取られて全体を見れなくなってしまったんだろう
俺の上司もADHDだったけど、逆に全体の構成はおかしくなくて単語がおかしいタイプだったから、彼の文章に比べればずっと読みやすかった
684683
2017/11/19(日) 18:07:44.39ID:wGu3G50A
すまん自分で言っときながら曖昧だな
683の「彼」は「あ」を指す
685
2017/11/19(日) 18:55:31.75ID:LuozPxgy
伸びるなぁ
686
2017/11/19(日) 19:00:18.55ID:LuozPxgy
>>678
以前、スレタイに議論がついていた頃にもうやってる、その話。
読んできて。二回するの嫌。

>>679
曖昧だよ。

>>680
苦労されてましたな。まぁそのおかげで英語で論文出すときに訳に苦労しない論文がかけてるし、知財部に怒られることもなく割と通るし、
先生様々だよ。

>>683
だってこれで苦労してねえもんなぁ。
誤解の余地が生まれるほど歪めて読みやすさを作らないと読めない時点でどうかと思うが。
687デフォルトの名無しさん
2017/11/19(日) 19:31:13.14ID:D9ZDsmXZ
>>668
SmalltalkがGUIのために作られたのは純然たる事実じゃね
例え本人が否定していたとしてもそうだろう
>>670
WindowsでもOWLから数えてMFC、VCL、WinFormsと歴代のGUIクラスライブラリは
全部実装継承中心だったぞ。JavaもそうだしNext→Macもそう
688デフォルトの名無しさん
2017/11/19(日) 19:57:50.03ID:5+BpDy9G
今時学振とかでもとにかく一目でわかるように書けって指導されるのに、わかりやすさが二の次なんてことは断じてないゾ
689デフォルトの名無しさん
2017/11/19(日) 20:21:05.83ID:n7dw0jCn
日本語についてはわかりやすさを重視するのに、
プログラミング言語となると抽象化が著しい関数型を推すお前らがわからない
690デフォルトの名無しさん
2017/11/19(日) 20:26:43.14ID:8AE8ty3K
COBOLは可読性が高いと言われて無かった?
691デフォルトの名無しさん
2017/11/19(日) 20:48:08.24ID:ij9+MaWL
mapとか内包表記は読みやすいからしょうがないね
692デフォルトの名無しさん
2017/11/19(日) 20:54:36.63ID:IgGN+feq
>>690
単位時間あたりで読める文字数を可読性と定義するなら可読性は極めて高い
693デフォルトの名無しさん
2017/11/19(日) 21:17:43.05ID:5+BpDy9G
時間当たりのスクロール量を可読性と定義するならたしかに関数型言語は可読性が極めて低いな
694デフォルトの名無しさん
2017/11/19(日) 22:05:52.67ID:CbJdE71W
>>687
SmalltalkはOS(しかしユーザーが全体を理解可能な)を目指して作られているからGUIがすべてではないよ?

▼Smalltalkの底を流れる設計思想
http://web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24#
695デフォルトの名無しさん
2017/11/20(月) 00:18:08.04ID:1/JOn/hh
別にGUIだけではないが、GUIが最初からあったのも事実だろう
696デフォルトの名無しさん
2017/11/20(月) 04:12:09.45ID:SzQBx5h9
>>695
かなり初期(Smalltalk-72、74)にGUIは整えられたが、この時点で継承機構はなかった
次世代言語Part7[Go Rust Swift Kotlin TypeScript] 	->画像>5枚

そしてその後Smalltalk-76で継承機構が入ったのも、GUIだけのためじゃない
(例えば、Smalltalk-76でGUIに使われるクラス数の割合を調べてみたら分かる)

GUIはつねに&あくまでもSmalltalkの大きな野望(?)の一部にすぎないよ
ジョブズみたいなのが色々見せられても、結局GUIスゲーで終わっちゃったって話はあるかもしれんけど
次世代言語Part7[Go Rust Swift Kotlin TypeScript] 	->画像>5枚
次世代言語Part7[Go Rust Swift Kotlin TypeScript] 	->画像>5枚
697デフォルトの名無しさん
2017/11/20(月) 04:48:00.39ID:F1FX2mqd
>>696
その漫画クヤシク
698デフォルトの名無しさん
2017/11/20(月) 05:54:47.96ID:HaLrPJzK
>>697
ほらよ つ https://www.shogakukan.co.jp/books/09187569
699デフォルトの名無しさん
2017/11/20(月) 08:17:47.25ID:ste5Kj49
一部だけ切り出すと学習漫画みたいだな。
700デフォルトの名無しさん
2017/11/20(月) 08:33:10.27ID:uxY9p7WM
いかつい絵柄の進研ゼミ
701デフォルトの名無しさん
2017/11/20(月) 09:43:36.06ID:1/JOn/hh
>>696
貴重な資料をありがとう
で、物は言いようみたいであれだけど、Smalltalkの歴史はそのままOOPの歴史であり
GUIを実装する試行錯誤の歴史なんだから、継承が後からなのはむしろ当然で
継承がGUIに有効なことの左証では
702デフォルトの名無しさん
2017/11/20(月) 11:23:22.73ID:rQ5oV85S
>>701
> 継承がGUIに有効なことの左証では

実装継承がGUIに *も* 有効な事はだれも否定してないと思うよ

ID:ZQLxHiSg の
> というより初期のOOPLが実装継承が中心だったのは
> まさにウィンドウライブラリ作りたかったから

や ID:D9ZDsmXZ の
> SmalltalkがGUIのために作られたのは純然たる事実じゃね
> 例え本人が否定していたとしてもそうだろう

というように、GUIやそれに付随するウインドウシステムの構築のみに実装継承の目的を限定したり
SmalltalkがGUIだけのために進化してきたかのような言い方は少々視野が狭すぎませんか?という話
703デフォルトの名無しさん
2017/11/20(月) 11:43:35.09ID:lEG6T20x
値型のメンバー変数を作れない言語だったら
無駄なポインタを減らすために実装継承が有効だろう
704デフォルトの名無しさん
2017/11/20(月) 15:33:48.50ID:upeMVrL4
GUIはオブジェクト指向のインスタンスだしょ。
インスタンスは抽象化の具現化の一つで抽象化とは
実体のない仮想的なオブジェクトの集合であり、
その存在を具現化して表現してしまった瞬間
それは実体化し具現化してしまうのだよ。
705デフォルトの名無しさん
2017/11/20(月) 20:36:31.84ID:F1FX2mqd
>>698
ありがと!
面白そうだなこれ
706デフォルトの名無しさん
2017/11/20(月) 21:00:50.26ID:O0QjCqg/
新人プログラマがPHPを学ぶべき理由
https://qiita.com/Gazelle/items/8817a472f33d5163a5fd
707デフォルトの名無しさん
2017/11/21(火) 00:59:44.39ID:lnnQeNMw
PHP書いてるのなんてジャップランド土人村の頭がチンパンジーのエスアイアイのオサールサンダヨーだけだよー
708デフォルトの名無しさん
2017/11/21(火) 01:16:15.02ID:LMCDauea
https://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html
PHPといえば顔本のHHVMの今後

HHVMは来年にはPHP5のサポートを落として、PHP7には寄せずにHack言語に絞るそうな
やっぱり顔本もPHPは焼き払いたいんだな。Hack言語とやらがどれだけPHPから脱却できるか
709デフォルトの名無しさん
2017/11/21(火) 01:31:02.78ID:wI5wFT4b
技術選定の段階でいい加減にPHPを選んだクズ野郎は
相当恨まれてそうだな

いやどこの下痢糞プェチピィ現場でもそうだろうけど
710デフォルトの名無しさん
2017/11/21(火) 02:04:29.26ID:XgRd72eK
Hack言語はダメだろ。発表から大分立ってるのに進展が遅い。
フェイスブックの中でも重視されてないだろ? 必要性があるならどんどん開発してるはず。
711デフォルトの名無しさん
2017/11/21(火) 04:32:17.44ID:1CMkZgYy
それぞれ問題に対して最適な言語というものがあるわけで
何もかもに適した言語というのは存在しないよ。
712デフォルトの名無しさん
2017/11/21(火) 08:13:20.38ID:wI5wFT4b
何もかもに適してない言語ならありそうだな

いやどのPのこととは言わないがな?
713
2017/11/21(火) 08:13:51.83ID:QsmG8G9Z
単にディスるだけなら簡単だからな。
とはいえ、phpなんかにも「一番無難」以外に新しいメリット入れてかないとな。
もちろん他の次世代言語も「一番無難」を目指す所はあったほうがいいと思う。

.netに対してIIS、javaに対してTomcatみたいに、Dockerとか仕組みごと出す前にその言語の用のアプリケーションコンテナを強く押せば、一定のパイはあると思うんだが。
714デフォルトの名無しさん
2017/11/21(火) 08:46:28.66ID:JYBkdGYB
PL/Iのことか
理路整然としてて意外と良い言語だそ
業務系がC系やVBに流れることなくこのままの方向で進化してれば、業務系の開発は今よりずっとマシなものになってたと思う
715デフォルトの名無しさん
2017/11/21(火) 22:27:55.44ID:z7TaMi5f
Smalltalkって何であんなにゴミなの?
716デフォルトの名無しさん
2017/11/22(水) 00:13:25.96ID:rbs65c9L
PHPのどこが無難やねん
PHPでまともにシステム作れてた案件1割もなかったわ
717デフォルトの名無しさん
2017/11/22(水) 00:19:45.97ID:H40m9dAW
WebとGUIのデザインって時代背景に依存する消耗品じゃね?
718デフォルトの名無しさん
2017/11/22(水) 01:10:13.88ID:1Sdpbsa5
>>708
面白いなHackは独自言語に進化するんだ。
そう言えばHackのXHPって面白いな。
ReactにおけるJSXみたいなもの。

PHPではhtmlコード部分はただのテキストでHTML 部分の構文がどうだろうと無視されるけどXHPはHackの処理系で妥当性が検証される。
メリットとしては事前に構文がチェックされるのと
XSS対策くらいだろうか?詳しい人に聞きたい。
Reactみたいに独自のタグが作れるとかだったら面白いな。
719デフォルトの名無しさん
2017/11/22(水) 06:55:53.18ID:2YdhEIzW
>>715
今頃来ても遅いよ
720
2017/11/22(水) 08:40:43.24ID:MjBhGus4
>>716
結構あるぞ。
721デフォルトの名無しさん
2017/11/22(水) 09:16:12.81ID:vFQO0703
求人みると未だにphpが一番多くね
722デフォルトの名無しさん
2017/11/22(水) 10:02:13.08ID:eHFeMVAT
>>710
単純に旧PHPのサポートしなきゃいけなかったから実体反映遅れてんじゃねえの?
最近のHHVMはHackのバイトコード実行する機能入れてるし

文法はシラネ
723デフォルトの名無しさん
2017/11/22(水) 13:15:10.00ID:0VsrTrOA
>>721
日本全体で見れば店員や肉体労働の求人が多いのと同じことでは。
724デフォルトの名無しさん
2017/11/22(水) 13:51:58.93ID:h8Su9zOg
>>723
なるほど、頭を使わんでいい仕事は求人が多いってことか。
なんかすげー納得した。

それを言われて気づいたんだが、「PHPが世界で一番使われてる言語だから一番良い言語」って理屈は
「ハンバーガーとコーラが世界で一番売れている食べ物だから一番うまい食べ物」って理屈と同じってことだな。
725デフォルトの名無しさん
2017/11/22(水) 17:56:25.22ID:GZ19t0eq
>>714
> PL/Iのことか
> 理路整然としてて意外と良い言語だそ

言語仕様が大きな言語は最初から慎重に言語設計がされているから理路整然としているし
その後で言語仕様の拡張をしてもグダグダになりにくい(理路整然さを保った拡張が可能なことが多い)

これはPL/Iだけでなくそれ以降に開発された(各々の開発時点で最も複雑とされた)言語であるAlgol 68やAdaでも同様

> 業務系がC系やVBに流れることなくこのままの方向で進化してれば、業務系の開発は今よりずっとマシなものになってたと思う

Cのように本来は小さく単純なものとして産まれた言語は拡張に耐えるような基本設計になっていないので
拡張するとグダグダになり勝ち

ちょうど最初から巨大なビルとして設計されたビルは通路(人の動線)やエレベーターや水回りや電気系統などが整然と配置され
その後の多少の拡張や変更にもそれらの整然さが余り乱されないですむが、最初に小さな建物として作られた旅館が
色々と増築を受けると通路(特に避難通路)が迷路の如くなり電気配線や水回りの配管もほとんど誰も知らない謎めいた代物に
なるのと似ている
726デフォルトの名無しさん
2017/11/22(水) 18:00:15.91ID:NgxFNsMl
Java や C# は巨大ビルですか?それとも旅館ですか?
727デフォルトの名無しさん
2017/11/22(水) 18:40:29.63ID:/zFKpQSs
PL/M はどうなん?
728デフォルトの名無しさん
2017/11/22(水) 19:52:21.96ID:my8MUI48
PCは部品を増設できるからダメ
SIMロックしたスマホが最強に儲かる
ってことだろ
729デフォルトの名無しさん
2017/11/22(水) 22:10:06.01ID:DU4siyMG
>>721
メンテナンス放り出す奴が多いんだろ。
730デフォルトの名無しさん
2017/11/23(木) 00:57:55.01ID:rvi39iUw
>>723
>>724
ここ最近で一番的確なレスだね
731デフォルトの名無しさん
2017/11/23(木) 09:13:02.77ID:XBDj7YCq
>>724
という勘違いな。
頭使わないのは、仕事じゃなくて単なる作業だからいずれは機械に取って変わられる。
どんな仕事でも、マトモな奴はちゃんと頭使ってる、って事が社会に出たら分かるよ。
732デフォルトの名無しさん
2017/11/23(木) 09:16:33.31ID:SpN6ohaw
実際にはExelのマクロ使えば数秒で終わるような作業を
毎日数時間かけてタラタラ打ち込んで給料を貰ってる事務職は大量にいるよね
733デフォルトの名無しさん
2017/11/23(木) 09:22:09.16ID:XBDj7YCq
>>732
そのとおりだ。
それで稼いだカネをITに注ぎ込んてくれるんで、プログラマーの仕事が有る、っていうのも事実だけどな。
734デフォルトの名無しさん
2017/11/23(木) 10:22:33.43ID:e8aKLB85
>>731
なにぃ⤴!?
社会に出てるのに分からなかったよぉ。俺ってバカなんだなぁ⤴
社会に出てる君にはそのことが分かるんだろうなぁ⤴wwwww
すごいなぁ⤴wwww

少しまじめにレスすると「社会に出たら、まともな奴ってかなり少ないことが分かった」というのが俺の経験則だな。
大した根拠もなく、他人に勝手な偏見を持った発言をするのは控えたほうがいいと思うよ。
「こいつ、まともな人間じゃないな」と思われる危険性があるよ。
735デフォルトの名無しさん
2017/11/23(木) 11:10:08.14ID:e22cyQaC
多数決だから
まともなじゃない事象があっても確率が51%になるまで無視するから見えない
736
2017/11/23(木) 11:44:04.90ID:HFglKCpm
多数決は単なるきれいな暴力だからな。
きれいにお前らを封殺したいんよ、って意思表示も込められるくらいに腹に据えかねてるときしか使わん。
737
2017/11/23(木) 11:45:01.64ID:HFglKCpm
票が足らん?普段出ないような社員を「幅広い意見を募るため」と集めたるわ、ぐらいの時。
738デフォルトの名無しさん
2017/11/23(木) 11:54:58.61ID:KI69K7qK
>>733
だから、事務社員様の仕事を奪わないように、
業務モデルを効率化することなく
紙の上でやっていたことをPC上でやって
最終的に紙に印刷できなければならないのさ。
全ては事務社員様の雇用のために。
739
2017/11/23(木) 13:26:26.64ID:VyGloF6k
紙に印字できないといかんのはどっちかと言うと事務方よりITでないエンジニアの人の方がこだわるイメージだけどな。
医者は昔相手にしたことあるけど、常に野戦病院と化しても運用できる体制にこだわってたし、実際何度か近い大惨事を経験した。
機械屋も同じで、明るければ読める形での設計資料、過去整備記録、縮退運転切り替え要領書みたいなのにこだわってたな。

入力が楽になるのは素晴らしいけど、入力したものが必要な時って平常時とは限らない、みたいな思想だった。
いずれも、事務方のほうが力弱いから、負けた方の事務方は「今この場には必要ないかもしれませんが、こうすべきと言われてるのでオール電子化は反対です」と端的に言いよるけどね。
740デフォルトの名無しさん
2017/11/23(木) 13:40:51.84ID:DqyU4UwD
>>738
日本の受託ITにそれを批判する資格は無いんだよなあ
業務モデルを変えられないからIT屋に開発の仕事があるんだよ
システムに合わせて業務変えられる民族なら、そもそも大抵の案件は出来合いのパッケージ使えば終わりということになっちゃう
741デフォルトの名無しさん
2017/11/23(木) 13:50:02.49ID:rvi39iUw
>>738
ウンコードにウンコード激盛大将軍してウンコードを積む作業を生み出す
現代の錬金術師ペチパー様のことかね?
742デフォルトの名無しさん
2017/11/23(木) 19:36:28.54ID:ZEemQUxM
Googleが採用決めたSwiftが覇権で決まりか
743デフォルトの名無しさん
2017/11/23(木) 19:42:20.30ID:rvi39iUw
バカ「うーん、これは適材適所だからPHP!wこれもPHP!wあれもPHP!w」
744デフォルトの名無しさん
2017/11/23(木) 19:55:54.79ID:fGVRHt7J
>>742
まだバージョン0.4 なんでしょ?w
745デフォルトの名無しさん
2017/11/23(木) 20:55:11.34ID:H0+gJnL1
AppleがSwiftやめるらしいが・・
746デフォルトの名無しさん
2017/11/23(木) 21:07:15.98ID:99G+dhLG
>>734
>大した根拠もなく、他人に勝手な偏見を持った発言
724みたいなのも居るしね。
おま環で判断してないで、より良いものを探したら?
747デフォルトの名無しさん
2017/11/23(木) 21:11:45.46ID:y4EH93iG
GoogleがSwiftってことはC++の代替ってことだよな。
あれ、Go言語はどうなるんだ。
748デフォルトの名無しさん
2017/11/23(木) 21:13:15.54ID:ZEemQUxM
>>745
やめるわけがない
iOS 11やmacOS High Sierraで内部での採用も順調に増えてる
749デフォルトの名無しさん
2017/11/23(木) 21:31:24.03ID:e8aKLB85
>>746
ん?ごめん。ちょっと意味が分からない。もう少し詳しく説明してくれ。
750デフォルトの名無しさん
2017/11/23(木) 22:09:26.36ID:NGg/SBGT
未だにObjective-Cのほうが安全という事実
751デフォルトの名無しさん
2017/11/24(金) 09:28:48.51ID:i/MfPYN1
うちは社内の保守的なエンジニアのおかげでSwift移行しなかった。
現状を見れば良い判断だったと思う。
RustもいずれSwiftと同じことになると思う。
752デフォルトの名無しさん
2017/11/24(金) 10:17:28.01ID:dmeeOCgJ
Swiftはプラットフォーム囲ってるからまだ無茶が効く
囲ってる訳でもないRustが同じことなんてしたら一瞬で客が離れるだけだわ。火狐の現状がRustの未来だ
753デフォルトの名無しさん
2017/11/24(金) 10:22:52.20ID:oidK8tqZ
RustはABIを安定させないことで最適化と改良の余地を残しているから
1アプリで完結するようなのはいいけど、基礎的なものを置きかえるには適さないんだよね
サイズの問題もあるし

ま、こんなこといったらC++含めて全部不適格だけどな
C言語とJavaぐらいしか残らん
754デフォルトの名無しさん
2017/11/24(金) 11:05:30.58ID:qT2L8rY5
Fortran 使おうぜ
755デフォルトの名無しさん
2017/11/24(金) 11:19:01.17ID:KPD3W4uL
implicit、none(笑)
756デフォルトの名無しさん
2017/11/24(金) 13:55:24.14ID:jGNvQKc+
まあ確かに、イミュータブルによる安全高速化、動的ってんなら既にHaskell、Erlang、Crystalとか有るので、Rustが何を目指してるかは俺には不明だが、Rustファンでその辺知ってる人居る?
757デフォルトの名無しさん
2017/11/24(金) 16:59:13.92ID:U+xL4cDR
Rust は haskell と同じ道をたどるんじゃねーの?
ファン層も似たようなもんでしょ。
なんか理解しずらい高級な機能があるから覚えるとどや顔できるって感じで。
758デフォルトの名無しさん
2017/11/24(金) 17:13:50.15ID:ue40dD9y
>>756
GCのアルゴリズムが副作用だらけなのにイミュータブルとか嘘つくのをやめよう
RustはGC無しがデフォルト
副作用はある程度容認する
これなら嘘つかなくてすむ
759デフォルトの名無しさん
2017/11/24(金) 17:26:27.92ID:jGNvQKc+
>>758
既存言語を貶してもRustの価値が上がるわけ無いじゃん。
GC無しってのはアプローチの一つなんだから、既存言語の改良では済まない「何か」を何故可決できるのかを訴求しなきゃ、「僕の考えた最強言語」で終わっちゃうってだけだよ?
760デフォルトの名無しさん
2017/11/24(金) 17:41:02.84ID:ue40dD9y
>>759
価値は上げなくてもいい
実際に上げなくても、上がった上がったって嘘つくだけでも別にいいよ
嘘に寛容な世界とはそういう世界だ
だが、もし本当に価値を上げたいなら嘘つかない方法を考えた方がいいんじゃないか
761デフォルトの名無しさん
2017/11/24(金) 18:49:38.61ID:oidK8tqZ
GCってのは副作用を前提としたCPU上で副作用無しの世界を作る舞台装置なんだから
意味的な文句を付けてもしょうがないだろ
「GCはリアルタイム性落ちるし並列化にも適さないから糞」とか性能の話なら言っていい
762デフォルトの名無しさん
2017/11/24(金) 18:59:37.89ID:jGNvQKc+
>>760
何だ思い付き厨か、つまらん。
何でGCがポイントなのかも知らんのだろ。
763デフォルトの名無しさん
2017/11/24(金) 20:47:57.51ID:PBABpGxA
Rustつこてるもんは嘘つきってことでおk?
764デフォルトの名無しさん
2017/11/24(金) 20:51:48.12ID:jGNvQKc+
>>763
お前さんの脳内世界でお好きにどうぞ。
計算モデルが違うもんを比較する事に意味があると言うなら、別に止めはしない。
765デフォルトの名無しさん
2017/11/24(金) 20:53:34.51ID:dpb7W7tM
Cに回帰しようよ
766デフォルトの名無しさん
2017/11/24(金) 21:35:13.18ID:8Hl3EYId
>>756, >> 759
Rustが目指しているのは基本的にはC++の後継。
C++との一番の違いは、Cとの互換性を捨てることで、より厳格(安全)に書けるようにすること。
厳格であることを実現するために、型システムとメモリ管理などについて比較的新しい概念を導入している。
型システム、イミュタービリティやその他の構文に関してはHaskellの影響を強く受けている。
メモリ管理については、従来のC++ではプログラマがメモリ安全を保障するしかなかったが、
C++14以降のスマートポインタやそれに伴うメモリオーナーシップの概念の影響を受けて、
所有権、借用(参照)、ライフタイム(3つ合わせて所有権システムなどと呼ばれる)という形で構文にそれらを組み込むことで、
コンパイラがメモリ安全を保障することができるようにした。
ただし、あくまでC++の後継なので比較的簡単にFFI(Cを呼ぶ)ことができるようにという点も意識して作られている。
だから、unsafeを使えば生ポインタを直に使えるように設計されている。
Haskellとの違いはGCを使っていないこととミュータブルも扱えるようにしていること等で、
結局、それらはC++並みの実行速度を実現するため。
他にも細かい違いは多々あるが、大まかにはこんなところかな。
767デフォルトの名無しさん
2017/11/24(金) 23:50:42.23ID:IDv/pXr5
>>765
コンテナ系(hashmap等)を標準でサポートしてくれ
768デフォルトの名無しさん
2017/11/25(土) 11:23:50.59ID:IlEVZyoE
hashmapを仲間にしたら自動的にジェネリクスとGCが仲間になるパターン
だから仲間にしない
769デフォルトの名無しさん
2017/11/25(土) 11:32:23.12ID:0CVryiWG
<generic.h>という伝説の凶悪なやつがあるぞ
770デフォルトの名無しさん
2017/11/25(土) 12:28:18.18ID:8YG3Nyuz
コンテナを提供するのに GC も Generics も要らんだろ
771デフォルトの名無しさん
2017/11/25(土) 12:42:05.98ID:fhJ9yNRw
>>726
本質的には複雑に積み上げられた旅館でしょ
多少はリフォームして整理されてるけど
772デフォルトの名無しさん
2017/11/25(土) 12:52:41.30ID:IlEVZyoE
>>770
ただのコンテナではなく標準のコンテナだろ
GCとGenericsを使わずに標準やってる感を出せるか?
773デフォルトの名無しさん
2017/11/25(土) 13:04:31.47ID:0CVryiWG
qsortがあるんだからいけるいける
全部void*で
774デフォルトの名無しさん
2017/11/25(土) 13:31:58.11ID:IlEVZyoE
qsortの闇は深い
void*もあるが、要素の比較が本当にO(1)なのかどうかの責任を呼び出し側に転嫁する
775デフォルトの名無しさん
2017/11/25(土) 13:50:07.83ID:mxSpQEHX
なんだその責任って
776デフォルトの名無しさん
2017/11/25(土) 14:01:56.85ID:OgtFvRib
結局、型とgeneric(もしくはマクロ)をいい感じに統合するのって
かなり難しいんだろう。
アドホックなやり方になりやすい。
777デフォルトの名無しさん
2017/11/25(土) 14:38:33.35ID:jw2r+SZ3
そこでC++ですよ
778デフォルトの名無しさん
2017/11/25(土) 14:52:25.29ID:8YG3Nyuz
比較のオーダーはcのqsortに限らずなんでもそうだろ

なんだかんだ言って C++ はよく出来てるよね。
constexp なんて他の言語も見習って欲しい
779デフォルトの名無しさん
2017/11/25(土) 20:04:53.59ID:FJeVGVwT
Fortranのparameterもその類いだっけ?
780デフォルトの名無しさん
2017/11/25(土) 20:53:43.09ID:OgtFvRib
>>778
あんなもんチューリング完全厨のおもちゃにしかなっとらんわ。
コード生成系のがまだマシじゃねーかと思う。
781デフォルトの名無しさん
2017/11/26(日) 02:10:49.51ID:346jd0X/
スレタイにjava君も入れてあげて〜
使用人口の多い言語ですお
782デフォルトの名無しさん
2017/11/26(日) 03:30:42.95ID:2SXqucAT
>>778
C++のconstexprなんて後発もいいとこだろ
本格的な先鞭としてD言語のCTFEがあって、その前にも幾らかある
783デフォルトの名無しさん
2017/11/26(日) 09:00:59.28ID:d0SJzNDY
新興言語って少なくない割合でただの企業が持ち上げて広告収入に使ってるだけの詐欺なんだよな
M$のTypescript然り、顔本のD然り、mozillaのRust然り、TypesafeのScala然り

やっぱ実績の積み上がってる言語でないと信用ならん
784デフォルトの名無しさん
2017/11/26(日) 10:19:24.37ID:9HhrSf+y
>>783
両端十分な実績があるのですがそれは
785デフォルトの名無しさん
2017/11/26(日) 11:09:29.55ID:2p4Fc6MR
>>784
まぁ、実績のあるなしなんて個人の主観によって変わるからな。
>>783にとってはJava, C++, JavaScriptくらいの言語じゃないと実績があるとは言えないんだろう。
振興言語がそれらと同じ実績を持つためには一体どれだけの年月がかかることやら。
786デフォルトの名無しさん
2017/11/26(日) 11:48:04.80ID:CTy0yG7t
TypeScriptはともかくScalaは負債ばかりを残して消えた逆実績じゃね
唯一褒められる点としては関数型を流行させたこととKotlinを生み出したことかな
787デフォルトの名無しさん
2017/11/26(日) 12:05:21.53ID:5kKfR77D
C++がモダン言語の基本なので小学校で教えるべき。
788デフォルトの名無しさん
2017/11/26(日) 12:16:59.36ID:WC95tXr9
すまん、C++を全て理解してしている奴おる?
789デフォルトの名無しさん
2017/11/26(日) 12:27:10.16ID:5kKfR77D
基本であるC++の理解なくして言語を語ることはできない。
790デフォルトの名無しさん
2017/11/26(日) 12:38:08.71ID:jDig0YaY
>>783
林檎教団のSwiftも仲間に入れてあげて
791デフォルトの名無しさん
2017/11/26(日) 12:44:57.21ID:d0SJzNDY
>>790
Swiftは別に林檎以外で使ってるやついないしええんちゃう?
信者と信者相手にコード書く仕事してる人は大変だろうけど
792デフォルトの名無しさん
2017/11/26(日) 12:50:49.50ID:d0SJzNDY
Scalaは分かりやすい詐欺の典型だな
あれのせいでログ基盤まわりのOSSは焼け野原になってる
CoffeeScriptもちょっと古いが同類事例
GoやらTypescriptやらRustもそのうちそうなる
Dはバズるまえに自滅したのが幸い
793デフォルトの名無しさん
2017/11/26(日) 12:59:29.11ID:2dqUl+IZ
変な言語を使うとSCALAの様に開発が止まる危険性があるから
企業はリスクを回避するために独自の言語をつかって思い道理の仕様にできるように
するのだろうな。
794デフォルトの名無しさん
2017/11/26(日) 13:04:59.50ID:pQh5Iwo2
>>792
TypeScriptは大丈夫でしょ
Goは危なそう。Dartの前例があるし
RustはGCが邪魔でパフォーマンスが必要な一部の分野でしか使われないだろうからそんなに流行らないだろうし多分問題ない
795デフォルトの名無しさん
2017/11/26(日) 13:32:35.13ID:2p4Fc6MR
>>794
Rust は Web assembly で化けることに儚い期待を抱いている。
でも、正直 Web assembly はそのうち GC に対応するって言ってるし、
GC に対応したらGo, C#とかが Web assembly に対応するって言ってるから
そっちに取られるんだろうなぁとも思ってる。
そもそも Web assembly が普及すること自体いつになることやら。
796デフォルトの名無しさん
2017/11/26(日) 13:36:26.39ID:prdTxomD
しかし CoffeeScript って何がだめだったん?
es2015, typescript がそれなりにうまくいってるのを見るとよくわからんところなんだが。
797デフォルトの名無しさん
2017/11/26(日) 14:20:08.38ID:pQh5Iwo2
>>796
・構文が独特なのでJSerが手を出しにくい
・動的型付けなのでJSの根本的な問題解決にはなっていない
798デフォルトの名無しさん
2017/11/26(日) 14:30:45.34ID:qaxo00/7
>>793
Scalaって開発停止したの?
799デフォルトの名無しさん
2017/11/26(日) 14:53:16.27ID:d0SJzNDY
>>796
提灯記事にかける金と、企業間根回しの差
M$は金をかけまくって提灯記事を書かせまくり、Googleに根回ししてAngularをTypescriptで書き直させた
要するに大企業が本気で詐欺をやっただけ
800デフォルトの名無しさん
2017/11/26(日) 14:55:47.77ID:pQh5Iwo2
>>799
こいついつものモジラアンチ君やん
801デフォルトの名無しさん
2017/11/26(日) 15:49:18.98ID:G/Azh+n8
sで始まる言語のうんこ率は異常だな
802デフォルトの名無しさん
2017/11/26(日) 15:52:03.66ID:yaxsKkRl
言語そのものはともかくとして、狂信的な信者が付いてる印象。
803デフォルトの名無しさん
2017/11/26(日) 15:52:09.22ID:WC95tXr9
S言語
804デフォルトの名無しさん
2017/11/26(日) 16:50:11.59ID:pQh5Iwo2
Pから始まる言語の間違えだろ
805デフォルトの名無しさん
2017/11/26(日) 17:15:50.59ID:F+UxV2LO
>>800
別人だが確かに言い回し似てたな……アレと同類はさすがに勘弁

Sで始まる言語っていうと、
Swift、Scala、Smalltalk、SMLがこのスレでよく見るやつだが
確かに信者がうるさい言語だな
806デフォルトの名無しさん
2017/11/26(日) 17:37:24.93ID:WC95tXr9
Swift信者とかおったっけ?
807デフォルトの名無しさん
2017/11/26(日) 17:42:43.44ID:XFPVp9gV
>>804
おっさんなんでpascalとprologしか思い浮かばない
808デフォルトの名無しさん
2017/11/26(日) 17:48:25.70ID:pQh5Iwo2
>>807
Python/Perl/PHP
809デフォルトの名無しさん
2017/11/26(日) 17:51:22.14ID:WC95tXr9
なんでやPythonはええ言語やろ
810デフォルトの名無しさん
2017/11/26(日) 18:40:28.50ID:Keof52t0
Smalltalkは儲のロートルっぷりが笑えるがそれはさておき
アンチの低脳っぷり(「うんこ」連発)と粘着が常軌を逸してて笑えない
いずれにせよ迷惑だからこっちくんな
811デフォルトの名無しさん
2017/11/26(日) 20:27:35.67ID:692DDN1+
Pythonはたまたま流行ったお陰で便利なライブラリが沢山あるというだけで、言語仕様だけ見ると別に良い言語ではないよね
812
2017/11/26(日) 20:44:39.06ID:9F+mQkF+
>>811
シンプルで良くない?
他の言語だと空ブロック書くところにpassって書かないといかんところなんか滅茶苦茶良い割り切りだと思うけど。
変な構文で逃げるんじゃなくて、基本構文の上でNOP書かせるとか潔いと思うけどな。
メソッド第一引数を隠さない、とか。
813デフォルトの名無しさん
2017/11/26(日) 20:50:16.59ID:pQh5Iwo2
>>812
動的の時点で
814デフォルトの名無しさん
2017/11/26(日) 20:50:40.88ID:R1JePoM2
Smalltalkは信者のキモさだけは圧勝してるけど、言語自体の出来はTcl/Tkにも劣る
815 ◆QZaw55cn4c
2017/11/26(日) 20:55:55.94ID:rNgJnhxq
Python は private なメンバにもアクセスし放題だからね、言語としてどうかしていると思うときもある
その場しのぎのお助け機能満載なところはあるね
816
2017/11/26(日) 20:59:00.64ID:9F+mQkF+
>>813
型がなければ解決できない問題、ってのはあんまり無いからな。
型があるから解決できる、という触れ込みをあまり本気にしてもどうかと思う。
単に管理できない人が居るというだけ。

単なるlint目的なら、静的解析でもすりゃ良いと思うよ。
型がある言語には大体、型を無視できる構文があるようなもんで、ダックタイプにはダックタイプの利点がある。
817
2017/11/26(日) 21:06:26.91ID:9F+mQkF+
>>815
作法とルールの違いだろうな。
やっては行けないっぽい事をマナーとして守れるか、
やっては行けないっぽい事を一律排斥するか。

後者で仕組み上排斥した上で、それでもどうしても必要だと構文を作ると、そこから「コンパイルは通るけど動かすと動かない」みたいに破綻する。結局動的より酷い。
void*に一度キャストするとか、リフレクションするとか、スタック書き換えるとか。極端だけど。

だから俺は紳士協定止まりで良いと思うけど。

「出来ないことはチェックされるんだから、チェックされないならやって良いんでしょ」みたいな奴が増えるのは、本来のメリットを壊してるようなもんだと思うけどね。
818デフォルトの名無しさん
2017/11/26(日) 21:15:49.49ID:tn24fxAD
根回しといえば
GCCにGoが速攻入ったのってどう考えても利権だと思うんだけど
GNUはGoogleに乗っ取られてるんだろうな
819
2017/11/26(日) 21:25:46.01ID:9F+mQkF+
>>818
もともとgccgoがあったからなぁ。
利権も何も、普通にgccのコミッタだった人がGoogleの人で、その人が「メインラインに取り込むわ」って言い出したのが7年前だぞ。
gcj外してgo入れようぜって言い出したのはたしかRed Hatの人。
820デフォルトの名無しさん
2017/11/26(日) 21:38:43.34ID:hdv2mB5M
>>814
その程度の嫌いでアンチ続ける執念がキモイわ
821デフォルトの名無しさん
2017/11/26(日) 21:39:41.93ID:ejHa0S8T
Go人気なのか
オブジェクト指向勢から嫌われてたのに

なんかのフレームワークとか流行りのOAuth2とかが実装し易いとかあるん?
822デフォルトの名無しさん
2017/11/26(日) 21:44:08.66ID:jBgPnQyL
気持ちよくおしゃべりしているあは依存型も知らん様子
823 ◆QZaw55cn4c
2017/11/26(日) 21:51:01.31ID:rNgJnhxq
まだ gcj の方が役に立つと思うのだが…openJDK に移行してしまったようだね
824デフォルトの名無しさん
2017/11/26(日) 22:09:01.03ID:692DDN1+
Idrisの話でもする?
825デフォルトの名無しさん
2017/11/26(日) 22:26:19.56ID:9HhrSf+y
TSやFlowtypeは明らかに救済だろ
地獄のごった煮なフロントエンドに一筋の光をもたらした
実案件でTS使ってるが、素のJSなら確実に破綻していた
826デフォルトの名無しさん
2017/11/26(日) 22:30:22.25ID:2SXqucAT
>>824
おう、Idrisの話をしよう
827
2017/11/26(日) 23:23:32.48ID:9F+mQkF+
>>822
依存型が、いわゆる依存積みたいなものの事を言ってるなら、それこそ的外れ。

>>823
gcj、あんま良いところ無かったからな。
AOTぐらいだけど、パフォーマンスは落ちがちだったし。
828デフォルトの名無しさん
2017/11/26(日) 23:24:09.06ID:WC95tXr9
>>811
確かに
829
2017/11/26(日) 23:33:46.45ID:9F+mQkF+
積だけじゃなくて、和もそうだな。
どーせTypeScriptのUnionTypesあたりの、直和型と見せかけて、undefinedなんかも入りうる気持ち悪いものをありがたがってるんだろうけど。

それこそ意識高いHaskeller様で、何かとても良い空論でも教えてくれるのかもしれんけどな。
830デフォルトの名無しさん
2017/11/26(日) 23:36:35.81ID:jBgPnQyL
>>822 単に「型が無ければ解決できない問題は無いからなあ」という馬鹿発言を嘲笑してるだけだぞ
酒が抜けるまでレスすんな。酒飲んでないでそんなレスしかできないならトリップ付けてろ。NGに入れといてやるから
831デフォルトの名無しさん
2017/11/26(日) 23:40:05.59ID:i1z8rFU6
>>821
標準ライブラリが充実してる。
httpサーバが簡単に作れる。各種プロトコルも標準ライブラリに入ってる。
例えばsshもopensshに頼らずに自前で実装してる。
結果として外部依存が少ないバイナリが作れる。
https://mattn.kaoriya.net/software/lang/go/20170111165324.htm

ってところが魅力。
あとオブジェクト指向的には継承の簡易さに対してデメリットがでかいことがわかってきたからgoの方向性はそんなに変でもないと思う。

後はコンパイルが早い。と言うかコンパイルの速さのために
言語仕様を妥協してるところがある。(継承がないのもコンパイルの速さを優先してる)
832デフォルトの名無しさん
2017/11/27(月) 00:14:50.55ID:kgsU8O53
継承がない場合、GUIライブラリはどういう形に落ち着くんだろう?
833デフォルトの名無しさん
2017/11/27(月) 00:19:16.06ID:VTdrxhpK
>>832
インターフェイスじゃね
834デフォルトの名無しさん
2017/11/27(月) 01:24:38.90ID:RuMmCyGV
E言語作ろうぜ
835デフォルトの名無しさん
2017/11/27(月) 01:43:28.34ID:HZrBFFjJ
>>830
横からすまんが、
依存型を使ったことがないゆとりの俺に依存型がないと解決できない問題の例を教えてはくれないか……
836デフォルトの名無しさん
2017/11/27(月) 04:02:10.71ID:UW/5w9w8
>>835
配列の静的な境界チェック
837デフォルトの名無しさん
2017/11/27(月) 07:45:57.79ID:2gW8tPht
Rustの静的型チェックは確かに発見困難なバグを見つけてくれる感ある

他のしょーもない言語の型チェックは
ふつうにテスト書けば見つかるようなエラーしか見つからんので
正直、動的型付けとくらべて優位性が無いわ
838デフォルトの名無しさん
2017/11/27(月) 08:00:20.85ID:lA4+sBYi
(一般的な)静的型が本領発揮するのは運用開始後に手を入れるときだろ
依存関係が完璧に把握できるからな
839デフォルトの名無しさん
2017/11/27(月) 08:06:57.76ID:BLxyIU7+
GGG言語は熱い
840デフォルトの名無しさん
2017/11/27(月) 08:17:35.26ID:Q9OySQec
MLまでいかなくてもPascalでも使ったことあれば>>837のような幼い感想は出てこないと思うので
なんだか微笑ましい
841デフォルトの名無しさん
2017/11/27(月) 08:59:52.64ID:4bHQN/8n
静的型とちゃんとしたIDEならカーソル箇所のメンバを使ってる元とメンバが依存してる先が自動的に一瞬で全部表示される
grep(笑)
作りっぱなしで逃げられる開発なら型なんかいらないと思うよ
842デフォルトの名無しさん
2017/11/27(月) 09:00:19.33ID:oelMhkLH
Rustでコード書けない低脳勢の嫉妬が心地よいわ
843デフォルトの名無しさん
2017/11/27(月) 09:53:28.95ID:AnhEBxtH
>>835 「遅くて実用に耐えないが明快で仕様を満たしていることが分かる関数」と
「速いけど複雑で仕様を満たしているか分からない関数」が数学的に等価であることを示せる
あるいは求められている仕様を型として表現することで、その型を返す関数は仕様通りであることを示せる

証明駆動開発は依存型じゃないとできない
844デフォルトの名無しさん
2017/11/27(月) 10:24:46.55ID:yqPvbQsf
>>842
RustをHaskellで置き換えたら数スレ前によく見たやつになる
845デフォルトの名無しさん
2017/11/27(月) 10:27:49.38ID:yqPvbQsf
やっぱRustもHaskellも、強烈な選民思想を産み出すという点で、
この世に存在したらいけない言語だなほんと
846デフォルトの名無しさん
2017/11/27(月) 10:33:41.71ID:Q9OySQec
他を使ったこともないやつがいきなり先進的なのを使うと
全てがそのひとつの手柄みたいに思えてしまうんだよな
C#のときもD言語のときもよく見た
847デフォルトの名無しさん
2017/11/27(月) 10:46:19.87ID:kgsU8O53
そういえばhaskellの主張してた奴消えたな
848デフォルトの名無しさん
2017/11/27(月) 11:17:42.08ID:qLynQL2e
話は聞かせてもらったぞ
静的型と動的型のうち選民思想が強い方が滅亡する
849
2017/11/27(月) 11:30:52.56ID:gxJYhWYL
>>830
酒飲んでないぞ。
>>836
レンジチェックとか静的解析で割となんとでもなるでしょ。安物の解析ツール使ってるならアレだけど。
850
2017/11/27(月) 11:31:28.76ID:gxJYhWYL
>>837
あれぐらい縛るなら俺は両手を上げて賛成する。
851デフォルトの名無しさん
2017/11/27(月) 11:58:44.95ID:Q9OySQec
配列の境界チェックぐらいなら気の利いた処理系ならなんとでもなるが、
そういう類のをユーザー定義できると想像するといい
852デフォルトの名無しさん
2017/11/27(月) 13:08:54.03ID:nLFkP6Tp
静的型づけと動的型づけのほかにも強い型づけと弱い型づけがあるぞ。
両方を合わせると4パターンあることを考えたほうがいいぞ。
853デフォルトの名無しさん
2017/11/27(月) 14:31:06.76ID:VTdrxhpK
>>852
弱い動的型付けは存在しないから3パターンだぞ
854デフォルトの名無しさん
2017/11/27(月) 14:33:43.01ID:Q9OySQec
動的型付けでも、異なる型を混ぜた時に自動で変換されるのとエラーになるのがある
そういうやつのことじゃないの?
いや>>852に訊かないとわからないけど
855デフォルトの名無しさん
2017/11/27(月) 14:52:39.00ID:VTdrxhpK
>>854
弱い型付けってのはキャストはエラーはかずに出来るけどメモリぶっ壊して全く違う所でエラー起きたりするCとかC++みたいな奴の事だぞ
856デフォルトの名無しさん
2017/11/27(月) 15:04:23.55ID:Q9OySQec
>>855
その定義だとreinterpret_castができるやつは全部弱型になるだろ
んで、その定義でもObjCのid型やOO風拡張付きアセンブラやForthなんかは動的弱型じゃね
まあ>>825にry
857デフォルトの名無しさん
2017/11/27(月) 15:06:30.80ID:VTdrxhpK
>>856
ObjCは分からんが
unsafeブロックとかで限定的に弱い型付け許してる言語もあるけどそういうのは基本的に弱い型付けとは言わないね
858デフォルトの名無しさん
2017/11/27(月) 15:12:29.84ID:Q9OySQec
一般的にはnominalで暗黙の型変換を許さないやつがstring typeだと思うぜ
859デフォルトの名無しさん
2017/11/27(月) 15:13:04.01ID:Q9OySQec
/string/strong/ (苦笑
860デフォルトの名無しさん
2017/11/27(月) 15:19:26.38ID:RuMmCyGV
情弱言語
情強言語
861
2017/11/27(月) 17:59:38.96ID:gxJYhWYL
選民思想ってどういう意味なんだろう?
862デフォルトの名無しさん
2017/11/27(月) 20:05:56.25ID:ioN0hnnU
>>861
神に選ばれたとか生まれながらの血筋とか、
とにかく一部の選ばれた人間のみを良しとする思想。
白人至上主義みたいになのが代表的なものだろうな。
そのぐらいググれば出ると思うけど。
863
2017/11/27(月) 20:15:59.53ID:YD13FB3m
>>862
選民思想自体の意味はわかるよ。
言語に対して選民思想がある、ってのがわからん。
知れば選民なの?って感じ。
一見さんお断り、紹介制ね、セミナー・講習・試験受けてねー(笑)
でもあるまいし、なんか知ろうとする努力を放棄して便利な言葉でごまかしてるように見えるって事。
864デフォルトの名無しさん
2017/11/27(月) 20:20:31.71ID:AFwfxdAR
くっさ
865デフォルトの名無しさん
2017/11/27(月) 20:27:37.84ID:Q9OySQec
>>845のことなら強烈な自己肯定感と言い換えてもいいんじゃね
たかが2chの言葉遣いに厳密に意味を当てはめてもしょうがない
866
2017/11/27(月) 20:40:26.85ID:YD13FB3m
なるほど。自己肯定感を他者への否定で裏打ちしてるような人たち、か。
いるな。Ruby使いが全体的にそんな印象。
867デフォルトの名無しさん
2017/11/27(月) 21:24:06.34ID:HF1f2kGW
おまえらみんなそんな感じじゃんw
868デフォルトの名無しさん
2017/11/27(月) 21:30:42.30ID:zgUQvI9i
自分が使ってる言語以外は覚えるの面倒だから滅べっていう奴だな。
わかりやすいし、正直だとは思うが恥ずかしい言い分だということも理解しておいた方がいい。
869デフォルトの名無しさん
2017/11/27(月) 21:32:45.76ID:zgUQvI9i
>>818
go はそもそもシンタックスがパースしやすいようになってるから
実装が楽だって話だろ。
870デフォルトの名無しさん
2017/11/27(月) 22:33:25.18ID:pxmyvyPz
そもそもgccのgoってメンテされてないのでは?1.2くらいで止まってなかったっけ?
871デフォルトの名無しさん
2017/11/27(月) 22:35:11.55ID:pxmyvyPz
>>868
言語を2つくらい学ぶとそれ以降はソンナ手間でもなくなってくけどな?
最近は学習しやすいべ。
それよりエコシステムの使い勝手が大事。
nodejsは最近やっとまともになってきた
872デフォルトの名無しさん
2017/11/27(月) 22:42:59.78ID:zgUQvI9i
>>871
まあ個人的な見解になるんだが
そういう奴のいうところの「覚える」ってのは機能だったりシンタックスについて
すみずみまで覚えるってことだったりするわけよ。
なんか周りにも自分にもハードル上げちゃって原理主義に走ってしまうって感じ。

言語を覚えるっつっても人によってとらえ方はだいぶ差はあるかもね。
873デフォルトの名無しさん
2017/11/27(月) 23:03:54.83ID:BLxyIU7+
頭にウンポコピーのプェチピがつまった動的池沼型なしウンコマンがまた喚いてるようだね
うるさいゴミ虫だな!つぶれちゃえ、プチッw
874 ◆QZaw55cn4c
2017/11/27(月) 23:17:01.33ID:b0u4s5jJ
>>872
>機能だったりシンタックスについてすみずみまで覚えるってこと
最近になって、当方主力のC/C++についても、これを諦めることにしました、楽になりました…
875デフォルトの名無しさん
2017/11/27(月) 23:36:34.04ID:kgsU8O53
C++を「覚えて」いるやつなんて数えられる程度だろう
876デフォルトの名無しさん
2017/11/28(火) 00:19:59.65ID:j/VePoOF
>>872
それこそ忘れたらググればいいし、
IDE連携でfixも出来る。
機能の存在を知ってることが重要だよね。
あと大概の概念は言語間で共有してる。
877デフォルトの名無しさん
2017/11/28(火) 01:13:03.69ID:oL6iYiK7
共有してるが細かい違いがストレスになったりしない?特に「ぼくのかんがえたさいきょうのOO」は辛い
878デフォルトの名無しさん
2017/11/28(火) 01:57:11.51ID:5aM4mai7
>>877
おいPHPの悪口はやめろ
879デフォルトの名無しさん
2017/11/28(火) 09:52:26.16ID:LMrici0y
例のオライリーのrust本やっと出たようだな
880デフォルトの名無しさん
2017/11/28(火) 10:47:18.80ID:oqWjNxDa
型システムの概念はC++とHaskellですら共有してる
一方、オブジェクト指向の概念は共有してないのでストレスになる
881デフォルトの名無しさん
2017/11/28(火) 21:52:49.31ID:+Ls9Kpqr
昔はこの手のスレだと、補完が効くのは静的型だけだから動的型はダメだ!的な
無知丸出しのカキコミしてたJavaドカタを良く見たけど、
最近は流石に学習したのか、そういうの減ったね
882デフォルトの名無しさん
2017/11/28(火) 22:32:58.71ID:XwHAt9fz
とはいえpythonの補完はpycharmでさえたまにしょっぱい結果になるがな
883デフォルトの名無しさん
2017/11/28(火) 23:57:11.98ID:S3oF2yyz
つうか補完って個人的にはうざいからいらない。
補完ってそんな有難いかねぇ。
884デフォルトの名無しさん
2017/11/29(水) 00:01:06.36ID:Ro7m+vSG
>>883
ガイジかな?
885デフォルトの名無しさん
2017/11/29(水) 00:28:23.95ID:LyP2QHxX
どのみちJavaScriptはクソなのは事実
886デフォルトの名無しさん
2017/11/29(水) 01:08:31.46ID:ZTL4r6Le
jsが糞だなんて世界の共通認識やろ
887デフォルトの名無しさん
2017/11/29(水) 01:32:48.31ID:/BpqyHHR
何でやjsは最高やろ
javascriptはうんこだけど
888デフォルトの名無しさん
2017/11/29(水) 01:34:30.49ID:wq9Dycsx
jsはブラウザ標準だから広まってるけど実際かなりの変態言語だよね
大分マシになってきてるけど
889
2017/11/29(水) 08:18:33.62ID:fb/gmNyy
phpは、protectedとか何だかんだ大先生が要るって言うものはつけたけど、正直必要性がわからんね、みたいな事を作者が言ってるぐらいだからな。

JSはあの変態具合がじつに良い。
890デフォルトの名無しさん
2017/11/29(水) 10:31:45.07ID:/xS4M0rU
>>881
ダメだろ。動的言語の言語仕様として正確な補完は不可能。
PHPとかPHPDocで追跡できるようにもできるけど、結局ドキュメント部分だから
信用できるとは限らないし
891デフォルトの名無しさん
2017/11/29(水) 10:35:30.46ID:/xS4M0rU
>>889
ポリシーがない作者の言語は大体そう。
投票制で機能の実装を決めるって結局糞になる一方だと思うんだけど。
swiftも最近はそうだっけ?
892デフォルトの名無しさん
2017/11/29(水) 11:19:53.91ID:ags1OwXJ
ハンバーガーとコーラとWindowsが多数派になったおかげで、少数派の自己肯定感が強い
893
2017/11/29(水) 12:52:13.36ID:fb/gmNyy
>>891
作者は、ポリシーがないのがポリシーみたいな人だしな。
たまに引数の順序とか違うけど、仕方ねえじゃん。積み重ねってあるんだから。それに便利さって尺度あるじゃん?とか、
自然言語だって言語学者が整理して作ったら英語なんかと全然違う整然としたもの出来るけど、それってホントに実用になるかはわからんよね。
って開き直ってるからな。
goto実装したときのやり取りとか滅茶苦茶面白かった。

譲れない部分以外は適当に決めろよ、俺使わねえし、みたいな方向性もアリだとは思う。
894
2017/11/29(水) 12:55:46.19ID:fb/gmNyy
>>890
補完が無いからダメ、を否定してるんでは?
「補完なんか無くても書ける」レベルのやつが書けばいいんだよ、っていう主張かと。
そんで、俺はそれでいいと思う。
補完が無くても大体間違いようがない、っていう使い方はあるもんだし。システムハンガリアンじゃない、本当の意味の方のハンガリアンとか。
895デフォルトの名無しさん
2017/11/29(水) 13:46:28.77ID:N4X6syzD
>>894
その読解力でよく人に訂正できるな
間違ってるのはお前だよ
896
2017/11/29(水) 16:23:39.89ID:fb/gmNyy
>>895
是非説明して欲しい
897デフォルトの名無しさん
2017/11/29(水) 17:20:07.57ID:0SzzSOSo
>>896
是非も糞もお前以外正しく解釈してるんだからかき混ぜんな
898デフォルトの名無しさん
2017/11/29(水) 17:33:20.21ID:jE6TKqng
最近の言語なんて全部ポリシーないじゃん。
他の言語で流行ってる機能だからうちも入れよう
みたいな話ばっか。
899
2017/11/29(水) 18:31:36.52ID:fb/gmNyy
>>897
見えないすべての他人の代弁者ご苦労様。
900デフォルトの名無しさん
2017/11/29(水) 18:51:31.66ID:/xS4M0rU
>>898
Go言語はポリシーあるけどね。と言うかGoogle社内で使うための言語として
進化してきたって感じ?
結局C++コードベースで作ってきたシステムがコンパイルするたびに40分とかかかるようになってきたから、Go言語でそこを改善した。
具体的には継承を使わないようにしたり
パッケージ間の依存関係を極力抑えるために敢えてDRY原則無視したり。
後プリプロセッサを削除してパッケージシステムをしっかりしたもの(未使用なパッケージをimportしたらコンパイルエラー)
にしたり。
901デフォルトの名無しさん
2017/11/29(水) 22:33:45.37ID:0SzzSOSo
Goとか見るに、googleって意外と線形代数使わないのかなあ?
902デフォルトの名無しさん
2017/11/29(水) 22:55:35.66ID:xEIA2DIf
tensorflowを作ってるんだぞ?使ってるに決まってるだろw
903デフォルトの名無しさん
2017/11/29(水) 23:01:31.92ID:v9jZdRV7
そういうのはpython使ってんじゃないの?
904デフォルトの名無しさん
2017/11/29(水) 23:38:03.94ID:0SzzSOSo
goは線形代数使わない用途向けか?
TensorFlow for goで全部やってるってわけでもなかろうし>>903の言う通りだろうか?
905
2017/11/30(木) 00:01:53.15ID:5c50KJX1
Grumpyも単純に書くと遅いしな。
速度を出したいならcとインラインアセンブラで書くだろうし、大規模に走らせるならHPC系に載せやすいfortranとかベンダのCだろうし、
気楽に書きたいならpythonで良いし、
その為に何か言語を、って手段と目的が入れ替わってる気がする。

既存の道具で目的が果たせるならそれで良い分野だろ、それ。
906デフォルトの名無しさん
2017/11/30(木) 00:15:23.93ID:ZeZezy1g
Cとインラインアセンブラで書いた数学コードなんて今時見たことねえよ
907デフォルトの名無しさん
2017/11/30(木) 00:21:22.97ID:ZeZezy1g
Cで数学コード書く奴いるけどあいつら凄いわ
俺なんかFortanの形状引き継ぎ配列使わない縛りでも発狂しそうになるのに、さらにサポート少ないCでよくやるわ
908デフォルトの名無しさん
2017/11/30(木) 00:25:37.10ID:ZeZezy1g
いや、Cとインラインアセンブラって、もしかしてあれか。よく知らんけど、CPUベンダーが実装してるような何かか
909デフォルトの名無しさん
2017/11/30(木) 00:25:51.08ID:6I05rtBK
>>907
ゲーム目的とかならCでやるんじゃないの。
と言っても今は優秀なゲームエンジンが無料の時代だから意味ないかもだけど。
910デフォルトの名無しさん
2017/11/30(木) 00:27:36.54ID:4oSM3dIJ
Numerical Recipes in C にはお世話になりました
911デフォルトの名無しさん
2017/11/30(木) 00:30:03.93ID:ZeZezy1g
>>909
しれっとC++にしてEigenかublasかなんか混ぜたりしない?そうでもない?
あれCで書いてる奴本当に凄いと思うわ
912デフォルトの名無しさん
2017/11/30(木) 00:48:55.61ID:RJLQhcO3
いいニンクの日は過ごせましたか
913デフォルトの名無しさん
2017/11/30(木) 02:40:07.39ID:3Jq96VTV
アドベントカレンダー見てたら地味にelmユーザ増えてる?
reduxきっかけで流れてきたユーザー居るのかね
914デフォルトの名無しさん
2017/11/30(木) 02:43:19.27ID:3Jq96VTV
>>911
すげーかもしれんがそういう低レベルのコードを書くプログラマーっていま日本にどれだけいるんだろうな。もはや大手ゲームベンダーも他社のゲームエンジンに頼る時代だし
915デフォルトの名無しさん
2017/11/30(木) 04:01:07.03ID:aR0OMF8n
みんなC言語が分ってるのが当たり前だと思ってたけど、
最近はC言語は知らないのが前提らしい
低レベルプログラミングという本が殆どC言語の解説書なのは驚いた。
916デフォルトの名無しさん
2017/11/30(木) 06:58:09.24ID:DHC1c6S+
elmのアドベントカレンダー
2つめ全然埋まらなくてブチ凹む
917デフォルトの名無しさん
2017/11/30(木) 08:03:32.96ID:uu2PxLG/
Cについて知っててもらわんと色々説明しづらい部分があると思うんだが
大丈夫なんかね。
918
2017/11/30(木) 08:34:13.82ID:pYUAd/ci
>>909
流体のシミュレーション書いたことある。
多分同業は同じように内製してるか、か今は外注するかしてるけど、ガチの方のシミュレーションでは結構使う。
919デフォルトの名無しさん
2017/11/30(木) 09:05:16.03ID:6I05rtBK
>>916
ここで宣伝してよ。elmのメリット何?
使ってて気持ちいい?開発環境って使いやすい?
920デフォルトの名無しさん
2017/11/30(木) 09:09:00.14ID:TiHNvA1L
>>914
あんなもんCで書いてて嫌にならないのは怠惰さの足りない奴でしょ
そういうのをやらされる/やる人が減るのは健全なことだと思う
921
2017/11/30(木) 11:03:50.95ID:pYUAd/ci
新しい言語を作ってそしてメンテしていくほうが面倒だと知ってるからな。
トランスパイラに近い闇マクロがCにはあるので、その辺で逃げるが勝ちの部分もある。
922デフォルトの名無しさん
2017/11/30(木) 11:23:43.51ID:6I05rtBK
>>921
C11ってジェネリクスがあるの?
正直プリプロセッサで頑張れば何でもありな気もする。
ライナスがあんだけCだけ大好きっ子なのは何かあるんだろうね。
923
2017/11/30(木) 12:55:43.51ID:pYUAd/ci
>>922
思ってるようなジェネリクスとは多分違うけど型ジェネリクスで型から、呼び出される関数と引数を列挙してswitchみたいな事は出来る。それをマクロに書いたら型ごとに呼び出される関数が切り替わるように書ける。
けど使わん。ポインタなんかであっさり意図してない呼び出しになったりする事がままある。
ただの文字置換として展開出来るように書くほうが無難だと未だに思ってる。
924デフォルトの名無しさん
2017/11/30(木) 13:26:07.53ID:aR0OMF8n
違うジェネリックスが出来る前は
関数の名前の後ろに_intとかつけなければ同じことはマクロでも出来なかったんだよ
925デフォルトの名無しさん
2017/11/30(木) 13:37:31.49ID:SJCWnhNZ
標準機能だけでtgmath.hを実現できなかったから補うように追加したものではあるけど
そもそもサンプル以外でtgmath.hを実際に使っているところを見たことない
926デフォルトの名無しさん
2017/11/30(木) 13:57:00.88ID:6I05rtBK
>>925
>tgmath.h
そんなのあるんか、正直Cは10年以上書いてないから知らんかった。
http://www.c-lang.org/detail/tgmath_h.html
型総称マクロかー。linuxとかでもそう言うの駆使して進化した書き方してんのかな。
Cって二段構えなんだよね。マクロでプリプロセスするから結構、動的な処理もかける。obj-cも初期の頃はマクロで出来てるって聞いた。
それが現在でもiOSで健在だし、結構良く出来てる。

例えば、obj-cのコンテキストとcのコンテキストが明確に分離できてる。

正直c++よりobj-cのほうが好き
cの資産を利用できるし。なによりc++より言語仕様が理解しやすい。
927デフォルトの名無しさん
2017/11/30(木) 14:34:01.14ID:uu2PxLG/
まじめに20年以上c++追ってればこれほどコンパイラ毎に動作の異なる言語もないことはわかるよ。
残念ながらlinuxコードにあるプリプロセスマクロのがよっぽど安定してる。
928デフォルトの名無しさん
2017/11/30(木) 15:30:31.34ID:xynddTwh
Cもattribute((cleanup))が標準ならなぁ
929デフォルトの名無しさん
2017/11/30(木) 15:38:19.11ID:TiHNvA1L
LispならともかくCのマクロはちょっと……
930デフォルトの名無しさん
2017/11/30(木) 15:44:49.65ID:SJCWnhNZ
今更Cプリプロセッサが派手に変わることなんて無いもんな、そりゃド安定よ
しかしそろそろローカル変数名はマクロで置換されない程度の改良は欲しい
931
2017/11/30(木) 16:06:05.26ID:pYUAd/ci
>>924
ヘッダごと切り替えて、typedef自体も定義してたんじゃねえの?そういう時は。
932
2017/11/30(木) 16:09:24.35ID:pYUAd/ci
>>929
ハイジェニックでない事が予想もつかない活用()を生み出せる原点では?
bashかなにかのソースでびっくりしたことがある。十年以上前かな。
933デフォルトの名無しさん
2017/11/30(木) 17:58:05.82ID:TiHNvA1L
>>932
なんだ?Cの悪口か?
そもそも文章下手くそなくせに「活用()」とか独特な用語使ったり、突然bashの話始まったりして何が言いたいのかわからん
934デフォルトの名無しさん
2017/11/30(木) 18:04:13.66ID:6I05rtBK
TypeScriptでジェネリクス使っててちょっと複雑なことをしようとすると
とたんにしんどくなるのを体験して、型がない世界が羨ましいと思ったことはある。
(本末転倒感)

メタプログラミング部分を動的言語に任せてハイブリットにするというのが
ありかもしれない。

メタプログラミングツールの例
http://moapp.hateblo.jp/entry/2017/06/30/210636
935
2017/11/30(木) 18:14:08.53ID:pYUAd/ci
>>933
悪口じゃなくて、良くも悪くも無茶苦茶書けるのが良い所だって言ってるんだが。
今回はちゃんと会話できてる相手が居る以上、最低限、読もうと思ったら読めると思うが、なんか特別な説明要るの?怠惰な人には。

あとごめん、shのソースだった。見たらわかる。
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh
936デフォルトの名無しさん
2017/11/30(木) 18:17:01.73ID:7wApdvUL
>>934
TSやJavaのような型消去のジェネリックはいわば単なるLintの一種
メタプログラミングに使えるようなものじゃないよ
テンプレート方式じゃないなら.NETみたいにリフレクションでジェネリック型をnewできたりするような実行時サポートがないと
ジェネリックを活かしたメタプログラミングは無理
937デフォルトの名無しさん
2017/11/30(木) 19:06:08.45ID:JKXpXDoa
>>792
>>793
Scala をdisってんのかよ?
大人気動画サイトのドワンゴで使われてるって知らないのか?

Scalaにおける最適なDependency Injectionの方法を考察する
?なぜドワンゴアカウントシステムの生産性は高いのか?
https://qiita.com/pab_tech/items/1c0bdbc8a61949891f1f
938デフォルトの名無しさん
2017/11/30(木) 19:07:53.21ID:JKXpXDoa
AndroidアプリでのKotlin利用が増加中、Googleもサポート
https://www.infoq.com/jp/news/2017/11/kotlin-android-adoption-support
939デフォルトの名無しさん
2017/11/30(木) 19:09:50.98ID:3Jq96VTV
>>937
ニュース見てないのか?
このタイミングでドワンゴの生産性はscalaのおかげって、
思いっきりディスってるとしか。
scalaのイメージ落ちたわ
940デフォルトの名無しさん
2017/11/30(木) 19:10:03.54ID:JKXpXDoa
SwiftやObjective-Cから開発者が離れつつある? Xamarinのトレンドは本物か
http://www.itmedia.co.jp/pcuser/articles/1711/29/news089.html
941デフォルトの名無しさん
2017/11/30(木) 19:11:51.21ID:JKXpXDoa
>>939
いくらなんでも、すぐに釣られすぎじゃね?

ドワンゴがScala使ってるのは↓で知ったよ。
https://anond.hatelabo.jp/20171129214218
942デフォルトの名無しさん
2017/11/30(木) 20:07:57.37ID:TiHNvA1L
>>935
話し通じてるってなんだ?会話できてる人がいることと>>932の文が荒れていることにはなんの相関もないし、>>932をちゃんと読めていることを明示している人はいないぞ

要約するとこうか?
Cのマクロはハイジェニックでないが故に良い
何が良いかというと、予想もしない活用()を生み出せる所である

だとするとこの活用()に込められたニュアンスはなんだ?
943デフォルトの名無しさん
2017/11/30(木) 20:17:15.63ID:sboMNgKS
ニコ動の問題にアカウントシステム関係なく無い?
何がどう破綻してるのか謎だし
こじつけで無理やり並べてるだけだろ
944
2017/11/30(木) 20:35:16.45ID:5c50KJX1
>>942
解ってると明示する必要が無いのが、解ってるって事そのものだろ。
会話と文章が荒れてる事と相関がないと言うなら、文章の荒れと表現力に相関も無く、あるのは単純な読み手の理解力の問題では?

()に込められた意味?

もはやCのソースとしては成り立ってないような構文すら許される所。
せっかく探して貼ったんだから、どの.cでも良いから読んできたらホントに一瞬でなんの事言ってるかわかる。
945デフォルトの名無しさん
2017/11/30(木) 20:41:59.13ID:TiHNvA1L
>>944
そのレスに触れているのが俺だけなのによくそんなこと言えるな。前に黙っている多数の意見はわからないから代弁しない方が良いみたいなこと書いてたくせに自分は良いのか?

貼ってくれたshのソース見たわ。おまえこのmac.hのマクロの使い方はいいものだって思うのか?
いやこのマクロの使い方のどの辺がいいんだ?
946デフォルトの名無しさん
2017/11/30(木) 21:05:16.87ID:aDlGM/9P
ニコ生は今、Rust で書き直しているらしい

これからは、Rust, Elixir の2択じゃないの?
947デフォルトの名無しさん
2017/11/30(木) 21:06:38.21ID:4oSM3dIJ
襟臭
948
2017/11/30(木) 21:39:53.99ID:5c50KJX1
>>945
代弁してないじゃんw
必要無いのが解ってるって事だ、って言ってるだけで、皆は解ってるから明示してない、って主張じゃない。
「犬はワンって鳴くよね」と「皆はワンって鳴いたからあれが犬だと理解してる」の違い。

この表記が良いとは言ってないだろ。だから「予想もつかない活用()」なんだよ。
>>935で言ったように「良くも悪くも無茶苦茶書けること」自体が良い事だって言ってるの。
949デフォルトの名無しさん
2017/11/30(木) 21:44:38.87ID:ZeZezy1g
>>948
おまえに触れると面倒だからみんな触れてないんだよ
そこんところ勘違いしてるのは良くない
950
2017/11/30(木) 21:45:42.64ID:5c50KJX1
>>949
今回はわりと正しい事言ってる自信はあったんだがな。
951デフォルトの名無しさん
2017/11/30(木) 21:46:36.22ID:q+NcGFmb
>>948
はあ?Cのマクロが良いものだって言うんならせめて良い使い方の例持って来いや
952
2017/11/30(木) 21:47:31.29ID:5c50KJX1
一回名無しに戻って、煽りを辞めて書いたらどうなるかやってみるか。
953デフォルトの名無しさん
2017/11/30(木) 21:47:46.37ID:q+NcGFmb
おっとID変わったけどID:TiHNvA1Lな
954デフォルトの名無しさん
2017/11/30(木) 21:49:32.82ID:xrLQLoOt
>>946
なるほど。Rustで書いてるってモジラの提灯持ちすることで金をもらってる訳か
本当にRustで書けるわきゃねーからな
955
2017/11/30(木) 21:50:17.24ID:5c50KJX1
>>951
#define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
なんて良いマクロじゃない?kernelのswap。
956デフォルトの名無しさん
2017/11/30(木) 21:52:29.74ID:6I05rtBK
>>946
そういう新しい言語にすぐ飛びつくようじゃ終わりなんじゃ。
957デフォルトの名無しさん
2017/11/30(木) 21:59:56.00ID:q+NcGFmb
>>955
それはハイジェニックでない、無茶苦茶書いてる良い例ですか?
あとコピペしたけどコンパイル通らん
958デフォルトの名無しさん
2017/11/30(木) 22:02:10.12ID:q+NcGFmb
>>948
あと、
『代弁してないじゃんw
必要無いのが解ってるって事だ、って言ってるだけで、皆は解ってるから明示してない、って主張じゃない。
「犬はワンって鳴くよね」と「皆はワンって鳴いたからあれが犬だと理解してる」の違い。』

って何?面倒だから放置されてるそうだけどw
959デフォルトの名無しさん
2017/11/30(木) 22:15:03.46ID:ZeZezy1g
>>950
おまえが間違ってると思うし、読みにくいと思う。
それでよくそこまで相手を煽れるなと感心までする。
正直ウザいし二度と書き込まないで欲しい
960
2017/11/30(木) 22:15:56.48ID:5c50KJX1
>>957
だから、無茶苦茶書くのが良い例なんじゃなくて、無茶苦茶書ける余地があることに意義を見出してるんだが。
コンパイル通らんのは何て出てんの?
kernel.hから取ってきた事は覚えてるが、俺のアンチョコが間違ってるかもしれん。
#define pf(fmt, val) fprintf(stderr, #val " = " fmt ";\n", val);
これは割と無茶してるかな。出典不明。

>>958
そうだなぁ、これは俺が悪かったかもしれん。
961
2017/11/30(木) 22:16:56.76ID:5c50KJX1
>>959
思う分には個人の自由だからな。
よくぞそこまで煽らせるなぁ、とも思うが。
962
2017/11/30(木) 22:18:18.81ID:5c50KJX1
>>906>>907がたった6分で矛盾してるし、まぁそういう人なんだろう。
963デフォルトの名無しさん
2017/11/30(木) 22:18:33.66ID:+950NXzu
コンパイル通らんとか言ってる奴はマジで言ってんのか?
そんな理解度でよくCの話題に絡もうと思ったな
964デフォルトの名無しさん
2017/11/30(木) 22:20:02.16ID:q+NcGFmb
>>960
ハイジェニックでなく、滅茶苦茶書けるのが利点って言っておきながら、それをしたコードは悪いコードってどういうことやねん。
それハイジェニックな方がいいってことじゃん。何言ってんだ

あと、おまえは文が下手なことはいい加減認めろ
この関連何度目だよ
965
2017/11/30(木) 22:21:51.05ID:5c50KJX1
>>964
悪いコードとも言ってないだろ。
コード自体は良い悪い自体言ってない。書く奴が好きに書ければそれで良い。

よく読め。
966デフォルトの名無しさん
2017/11/30(木) 22:22:18.54ID:q+NcGFmb
あとエラーコードはstray ‘¥’ in programって奴だな
cのマクロなるべく避けてるし、正直初めて見た
>>963
ちょっとideonにでも書いて動いてる状態紹介してくれんか?
967デフォルトの名無しさん
2017/11/30(木) 22:23:05.85ID:ZeZezy1g
>>962
Cは見るけどインラインアセンブラは見ないってことなんだけど、お判りにならない?
968デフォルトの名無しさん
2017/11/30(木) 22:24:20.86ID:+950NXzu
>>966
swapの後ろについてる¥マーク取ったら動くよ
見たらわかるだろ
969デフォルトの名無しさん
2017/11/30(木) 22:26:50.85ID:q+NcGFmb
>>968
あ、動いたわ。これ改行の代わりか
久々に見たわ。ありがとう
970デフォルトの名無しさん
2017/11/30(木) 22:32:07.23ID:q+NcGFmb
>>965
あのさあ。ハイジェニックなマクロはちゃんとメリットあってハイジェニックなの

ハイジェニックでないことが良いって言っておきながら、ハイジェニックな良い例を挙げられないってどういうこと?

色々書けることそのものなんて、ハイジェニックなことの利点と比べたらゴミみたいな利点なわけ
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.8.2.htmlみたいなコード量産可能になることがハイジェニックなことより重いって思ってるわけ?
971デフォルトの名無しさん
2017/11/30(木) 22:33:22.07ID:+950NXzu
ていうか、kernelから引用するならもっと良いマクロあると思うんだが
container_ofとか

http://d.hatena.ne.jp/big-eyed-hamster/touch/20091226/1261754005

でもC言語大好きだった頃は凄いと思ったが、いま見たら全然しょーもないわ
972デフォルトの名無しさん
2017/11/30(木) 22:56:29.10ID:xSwrNC9m
まだフルHDに対応できてないニコ動
973
2017/11/30(木) 22:59:11.95ID:5c50KJX1
c11が実行できるところだと実行できると思う。pfの便利さもわかる。
ideoneはc11が動かんからcでは確認できないけど、c++14だと動いた。
https://ideone.com/0PBzBG
このままtest.cでも動くんじゃないかな。
スマホからでほかの環境めんどくさくて見てない。ごめん。
974デフォルトの名無しさん
2017/11/30(木) 23:01:14.04ID:q+NcGFmb
>>973
あー。いや。マクロ動かないのは完全に俺が悪かった。申し訳ない
975
2017/11/30(木) 23:01:40.03ID:5c50KJX1
>>970
知ってるよ。利点は。lispまだ使ってるしな。

>>971
それより、maxとminと、min_not_zeroの方が好き。
976
2017/11/30(木) 23:03:30.70ID:5c50KJX1
>>974
これは俺も煽って申し訳ない。
977デフォルトの名無しさん
2017/11/30(木) 23:09:55.30ID:6I05rtBK
そういやプリプロセッサが乗ってる言語って最新の言語では見ないよな。
Go言語は意図的に削ったのは分かるんだけど(コンパイル速度優先のため)
他のはどういう理由なんだろうな。swiftとかあったほうがいいと思うんだが
978デフォルトの名無しさん
2017/11/30(木) 23:14:35.31ID:SJCWnhNZ
構文として統合されたマクロならむしろ盛況な気がする
DやTemplate Haskellやcamlp[45]が散々こねくりまわして、nimにもrustにも
Cプリプロセッサのような、言語からも独立して使えるようなマクロはないけどさ
979デフォルトの名無しさん
2017/11/30(木) 23:20:37.73ID:7wApdvUL
>>977
単純にダサいからだよ
言語設計者にとってみれば、自分の言語はテキストマクロに頼らないと使い物にならないゴミですと恥を晒してるようなもんだ
980デフォルトの名無しさん
2017/11/30(木) 23:30:56.56ID:SJCWnhNZ
まあC言語のポータビリティの高さはマクロがテキストマクロってことが大きい
構文マクロだと、複数のコンパイラによって拡張構文がちょっとずつ違うみたいな状況には対応できん
次世代言語が実用に耐えてるのは処理系が「まだ」ひとつしかないって面もあると思う
981デフォルトの名無しさん
2017/12/01(金) 04:30:35.34ID:PZ2907El
Cのマクロは性能低いからな。
ワンパスだしな。
982デフォルトの名無しさん
2017/12/01(金) 07:30:06.98ID:lcmprfyj
>>945
すまんが今来た俺もお前が手抜き過ぎると思うわ
分かんないなら無闇に質問するんじゃなく勉強するか
じふには理解できないものと諦めろよ。
自分に理解できないのは相手が悪いみたいな態度は、
もっとこう、なんでも分かる人にしか許されないと思うぞ
それに相手ちゃんと質問に詳しく答えてくれてるじゃん。
以上。
983デフォルトの名無しさん
2017/12/01(金) 08:36:21.42ID:LZY9k/Ly
どうせあが言ってる事はまた理解できない事だろうから、俺が理解できないのもこいつが悪いに違いない
まあ仕方無いかもしれないな
984デフォルトの名無しさん
2017/12/01(金) 08:45:25.80ID:z9aMt2sx
cのマクロで言いたかったことは
別にcのマクロが良いものだって話ではなくて、
高級な機能のマクロでバカが作ったものより
低級な機能でも優秀な人が作った枯れた技術のが安定するってことなんだけどな。
985デフォルトの名無しさん
2017/12/01(金) 09:35:14.98ID:z9aMt2sx
>>977
include 処理とか, Boost みたいに高級な事すると恐ろしいコンパイル時間になることが分かったからでしょ。
あれのせいでファイル分割しないのがベストなプログラミングとかいう奴まで出始めたわけで。。

まあそういう実験所を提供してるってのはc++の良いところな気もするけどね。
実験に巻き込まれたくはないけど。
986デフォルトの名無しさん
2017/12/01(金) 10:04:19.13ID:79R00kdr
あと話してると混乱するからしゃーない
987デフォルトの名無しさん
2017/12/01(金) 10:26:42.51ID:AT8KOZxB
>>985
>include 処理とか, Boost みたいに高級な事すると恐ろしいコンパイル時間になることが分かったからでしょ。
これ。
インクルード処理にマクロを使ってるからな。
例えばpsコマンドのソースをコンパイルする時<sys/stat.h>を37回includeしようとするらしい。
こういうのがソースの依存関係が大きくなるに従って指数関数的に増えていく。
結果としてコンパイルに40分とかかかるように。

Goは上記のコンパイルの無駄な時間から生まれたらしい。

詳細は
https://talks.golang.org/2012/splash.article
988デフォルトの名無しさん
2017/12/01(金) 11:14:31.93ID:PZ2907El
40分とか掛かるのはPSの話じゃないし、
40分が30分くらいに短縮したってだけじゃん。
989デフォルトの名無しさん
2017/12/01(金) 16:40:31.22ID:JvjHpkLi
マトモな実用OSでC以外の言語で記述したの
何かある?
990デフォルトの名無しさん
2017/12/01(金) 17:05:34.67ID:/r1khpVM
つ Windows
991デフォルトの名無しさん
2017/12/01(金) 18:24:31.52ID:zV3aJam4
次スレのタイトル考えた
現行のままでもいいけど
文字数制限(48byte)には注意

次世代言語Part8[Elm Nim Julia Elixir Crystal]
次世代言語Part8[C#7.2 C++17 Java9 ES2017 PHP7.2] (他Python3.6)
992デフォルトの名無しさん
2017/12/01(金) 18:43:38.78ID:LZY9k/Ly
次世代言語議論スレ[略]
で良いじゃん、毎度揉めるなら。
2ぐらいに各言語入れとけば?
993デフォルトの名無しさん
2017/12/01(金) 19:35:24.94ID:bdQhlFjB
sで始まるウンコ言語が入ってなかったら何でもいい
994デフォルトの名無しさん
2017/12/01(金) 19:46:14.85ID:eSQZEdvI
Scratchか
995デフォルトの名無しさん
2017/12/01(金) 19:49:58.10ID:ytACGBKw
scheme?
996デフォルトの名無しさん
2017/12/01(金) 20:23:48.63ID:A20bJ4Ix
メジャー言語はいらないと思う
代わりにRustやSwift, Kotlin, Hack等の新興言語入れればいい
997デフォルトの名無しさん
2017/12/01(金) 21:30:52.08ID:WAbW55aH
いやHACKは無いわ
998デフォルトの名無しさん
2017/12/01(金) 21:44:59.50ID:/r1khpVM
ぜんぶメジャーだろ
999デフォルトの名無しさん
2017/12/01(金) 22:03:57.26ID:jFvanr8n
hackはnull安全だからあり。 
elmも仲間に入れて
1000デフォルトの名無しさん
2017/12/01(金) 22:32:36.12ID:opEEFYgA
ワッチョイよろ
-curl
lud20250114060249ca
このスレへの固定リンク: http://5chb.net/r/tech/1508403098/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「次世代言語Part7[Go Rust Swift Kotlin TypeScript] ->画像>5枚 」を見た人も見ています:
次世代言語15 Go Rust Swift Kotlin TypeScript
次世代言語Part8[Haskell Rust Kotlin TypeScript]
次世代言語17 Go Rust Kotlin TypeScript Julia
次世代言語議論スレ[Rust Kotlin Haskell]第6世代 [無断転載禁止]
次世代言語18 V Julia 他
【ゴキ悲報】次世代機どっち買う? Xbox Scarlett「43%」 Playstation 5「39%」
任天堂の次世代ゲーム機 Nintendo Smart、「すでに量産開始されている」とWSJが報道
Sony Mobile 次世代Xperia 総合232
Sony Mobile 次世代Xperia 総合147
Sony Mobile 次世代Xperia 総合157
Sony Mobile 次世代Xperia 総合150
Sony Mobile 次世代Xperia 総合225
Sony Mobile 次世代Xperia 総合214
Sony Mobile 次世代Xperia 総合175
Sony Mobile 次世代Xperia 総合203
Sony Mobile 次世代Xperia 総合177
Sony Mobile 次世代Xperia 総合181
Sony Mobile 次世代Xperia 総合172
NECの次世代PC「Frista」の発売を待ち侘びるスレ
Drico 次世代楽譜作成ソフト
次世代Nintendo Switch総合スレ ★37
【速報】次世代Xbox「Scarlett」はZen2、Navi、GDDR6、カスタムSSDで最高品質の次世代ゲーム機に★6
次世代XBOX『Scarlett』、2020年に従来型コンソールとクラウドコンソールの2種類を発売か?
【Scarlett】 Xbox次世代機はCSのパワー、スピード、パフォーマンスの新たな基準を打ち立てる製品 ★12
【Scarlett】 Xbox次世代機はCSのパワー、スピード、パフォーマンスの新たな基準を打ち立てる製品 ★9
【終戦】著名リーカー「次世代XBOXよりPS5の方が性能上」「次世代XBOXはメモリが少ない」【Scarlett】
Sony Mobile 次世代Xperia 総合146
Sony Mobile 次世代Xperia 総合127
Sony Mobile 次世代Xperia 総合246
Sony Mobile 次世代Xperia 総合255
Sony Mobile 次世代Xperia 総合276
【ARM】クアルコム、 次世代SnapdragonプロセッサーがWindows 10に完全対応へ
Google Stadiaの技術デモ観たけど次世代機やべーな。水が水みたいだぞ
PS5独占「Astro's Playroom」驚異の次世代グラフィックを僅かロード10秒で実 Part2
【速報】任天堂新型Switch用のVR/AR特許が公開。有名リーカー「次世代SwitchはVRハイブリッドになる」
【次世代パフォーマンスアイドル4】GEM/Little Glee Monster/フェアリーズ/J☆Dee'Z(2017年度)
【PS4で出ない】The Elder Scrolls VI発売は次世代機と判明
【Scorpio】次世代ゲーム機テクノロジースレ 【TegraX3版Switch 】
【Pro】【Switch】 次世代ゲーム機テクノロジースレ No.5【Scorpio】
【Pro】【Switch】 次世代ゲーム機テクノロジースレ No.161 【Scorpio】
次世代iPhone Part269
次世代iPhone Part268
次世代iPhone Part271
次世代iPhone Part253
【次世代OS】EOS part.2【6月カモン】
【ガラホ】次世代フィーチャーフォン総合 Part17
Switchの次世代機で出るのがマリカーが9じゃなくて8DXDXだったら面白くね?
【朗報】Xbox Series S、他の次世代機に先駆けて供給が安定し始める
次世代ビデオコーデック総合スレPart1 【HEVC/VP9/AV1等】
一人で行く次世代ワールドホビーフェア '18 winter in幕張メッセ
次世代ビデオコーデック総合スレPart2 【HEVC/VP9/AV1/VVC等】
【速報】次世代機Xbox Series S 発売日は11月10日 価格299ドル 1440p/120fps対応
【ゲーム】次世代機の初週販売速報。PS5は発売4日間で11.8万台、Xbox Series X|Sは発売6日間で2.1万台 [田杉山脈★]
Xboxの開発者、Project Scorpioは「本格的な次世代機」になると発言 [無断転載禁止]
【NEO】【NX】 次世代ゲーム機テクノロジースレ No.10 【Scorpio】[無断転載禁止] [無断転載禁止]
次世代iPhone part1
次世代iPhone Part134
次世代iPhone Part257
次世代iPhone Part200
次世代iPhone Part256
次世代iPhone Part185
次世代iPhone Part229
次世代の哲学を育むスレ Part 7
19:56:48 up 35 days, 21:00, 3 users, load average: 8.81, 8.91, 8.48

in 1.8657212257385 sec @1.8657212257385@0b7 on 021809