X



【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0563デフォルトの名無しさん
垢版 |
2017/04/18(火) 22:41:32.37ID:ibb6Zkrz
>>560
> 動作を保証しないから問題だって言った(>>540)直後に
> 動作を保証しなくて何が悪いと返せる(>>550)って凄いねw

なんの動作?

ねぇねぇ、なんの動作?

わざとぼやかしてるでしょwww
0564デフォルトの名無しさん
垢版 |
2017/04/18(火) 22:42:21.03ID:ibb6Zkrz
あとそれから>>540は俺じゃないからねw
IDすら見えない?

チンパンジーになみの理解力だった?w
0565デフォルトの名無しさん
垢版 |
2017/04/18(火) 22:43:49.88ID:ibb6Zkrz
>>561
> JavaScriptのリンターはそんな方向では全くなかった。

TypeScriptがお前が望むものだよ
型を導入したJavaScriptだ。
いまあちこちで普及してる。
0566デフォルトの名無しさん
垢版 |
2017/04/18(火) 22:45:23.23ID:ibb6Zkrz
>>561
> ところで初心者はそういう「短く書ける方がイイ」みたいなことをよく言うが、
> 君が本当に一万行のコードを書ける奴なら、それは意味無いと分かるだろ。

え? なんで?

同じ一万行なら、短く書ける方がより多くの機能を実装できるから
やっぱり短いほうが良いじゃんw
0567デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:07:56.67ID:wXuuRzeA
>>566
つまり型は余計だということだね
インタフェースとか余計なことを書かなきゃいけないから
0568デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:13:36.64ID:ibb6Zkrz
>>567
それはインターフェースが余計なものであるという前提で成り立つものだ
インターフェースは余計なものではなくプログラマの意図を
コードというコンピュータにも理解できる言語で記述した価値がある情報だ
0570デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:18:22.51ID:ibb6Zkrz
>>569
正確に言うと「少ないステップ数」というべきだな。

インターフェースは実行されないのでステップには含まれない。
他にも型宣言とかimportとかコメントとか空行とか
{ だけの行とか、そういうのもステップには含まれない。
0571デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:19:45.52ID:wXuuRzeA
>>570
> インターフェースは実行されないのでステップには含まれない。
こんなオレオレ定義聞いたことありませんw
0572デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:20:25.75ID:ibb6Zkrz
>>571
デバッガの「ステップ実行」って
使ったことないの?

インターフェースの前後でステップ実行することはない
0573デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:26:21.27ID:wXuuRzeA
>>572
ググってみたけどステップ数からインタフェースを抜くなんて計算方法はまったく出てこない
オレオレじゃないなら、どこか有名なサイトに計算方法が載ってるはずだからさ、ポインタでいいから
示してください
0574デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:39:00.32ID:ibb6Zkrz
>>573
ステップ数は単に英語の意味の通り、ステップ(一歩)という意味しかないよ。
ステップイン、ステップアウト、ステップ実行できる単位と考えればいい。
ステップできないのに、ステップ数に数えるとか意味不明だろう

ソースコードの行数はLOCという。
0575デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:42:54.39ID:wXuuRzeA
>>574
たとえばさ、↓のページにあるように、ステップ数というと一般的にはプログラム規模を測るための
指標なんだよね

http://e-words.jp/w/%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0.html

LOCからコメントや空行を抜いたり、中括弧だけの行を抜いたりと言語によって流儀はあるみたいだけど、
お前の言う流儀がどこにも載ってないんだよ
どこに載ってるか教えてくれないか?
0577デフォルトの名無しさん
垢版 |
2017/04/18(火) 23:54:29.25ID:wXuuRzeA
>>576
とはいえ、「インタフェースはステップ数に含まない」と断言するからには、それなりに普及してる
流儀なんでしょ?
その流儀がどこに書いてるか知りたいんだが
0578デフォルトの名無しさん
垢版 |
2017/04/19(水) 00:50:35.21ID:4qCNxF1h
動的型付言語の苦手な奴が多過ぎ
ダックタイピングでいいじゃん
スタティックおじさん馬鹿にしていながら、自分もスタティックおじさんみたいになってる
0580デフォルトの名無しさん
垢版 |
2017/04/19(水) 02:34:11.69ID:kxK9Wtdr
ここでダックタイプ嫌ってる奴って、ダックタイプを静的言語でやるとしたらジェネリクスとか言い出す奴だもんな
「自分の分からない技術は使えない技術だ」なんて完全にスタティックおじさんだよな
0581デフォルトの名無しさん
垢版 |
2017/04/19(水) 02:40:43.54ID:0X+KA4Ry
静的型の言語の補完の快適さは動的型言語には得られないものなんだよなぁ
インターフェイスとかをいちいち記述する手間を含めてもその最適さのほうが上回る感はある
0582デフォルトの名無しさん
垢版 |
2017/04/19(水) 02:43:32.85ID:kxK9Wtdr
>>581
という感想を持つ人は静的言語を使えばいいし、インタフェースとかをいちいち記述するのが面倒くさい人は
動的言語を使えばいいよね
ただそれだけの話
0583デフォルトの名無しさん
垢版 |
2017/04/19(水) 06:39:45.49ID:SqPK9IfP
自分だけで完結してる話ならそれでいいんだけど仕事だとそれじゃ駄目なんだよね
以前rubyのプロジェクトで酷い目にあったのでもう動的型付け言語は嫌だわ
0584デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:15:17.15ID:5nJ22bL2
インターフェースがある言語を使ってる人のほうが、よっぽどダックタイピング的思考をしてるだろう
rubyなんて脳内で型付けしてて、ダックタイピングのことなんて考えてない
教祖だけが狂ってる
0585デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:48:20.66ID:+KnDkITW
>>562 意見ありがとう。552です。

>Web環境ではJavaScript以外の選択肢はないんだし。
同意します。Google が TypeScript を標準言語にしているのも、その意味なんでしょう。

俺としては型推論の働く、濃密なコード記述可能で、良質のライブラリが揃っている言語が欲しい。

Haskell が型推論で一番強力だと思うが、キャズムを超えられないと思う。Python のよ
うな、全世界の知性による良質なライブラリの膨大な蓄積は期待できない。
0586デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:53:38.11ID:+KnDkITW
>> 562 ところで初心者はそういう「短く書ける方がイイ」みたいなことをよく言うが、
君が本当に一万行のコードを書ける奴なら、それは意味無いと分かるだろ。

この主張への反例として、下の URL にある RSA 暗号の実験コードを示す
http://www.math.kobe-u.ac.jp/~taka/asir-book-html/main/node96.html

二つの素数 p,q, から n=p q, n`=(p-1) (q-1) を経由して、秘密キーd 公開キー e を
構築する。ただし d e==1 mod n`。この 公開キー (e,n) を使ってデータ m から暗号
mm を生成し、mm から秘密キー(d,n) を使って m を復号する

## 素数 p,q から n` の定義する (暗号化されるデータ m は m < n` である)
p=13;q=17;n=p q; n`=(p-1) (q-1); n`
===============================
192

# e=35 は gcd(e,n)=1 となる適当に選んだ数数。
ts(); p=13;q=17;n=p q; n`=(p-1) (q-1); e=35; ts.gcd(e,n`)
===============================
1
0587デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:54:07.55ID:+KnDkITW
## e から d e %n` == 1 となる d を作る
p=13;q=17;n=p q; n`=(p-1) (q-1); e=35; d = e^(n`-1) %n`; d, (d e) % n`
===============================
(11L, 1L)

## p,q から作った (d,n) を秘密キーにして (e,n) を公開する。given m=100 に対する暗号は m^e mod n で行う
↑ (m^e mod n) ^ d mod n により、暗号 (m^e mod n) から m を複合できる

# m = 100(<n` == 192) に対する暗号 m^e mod n:94 を生成する
m=100; p=13;q=17;n=p q; n`=(p-1) (q-1); e=35; d = e^(n`-1) %n`; m^e %n
===============================
94

# m = 100 に対する暗号 mm=94 から、元の m を複合数
mm=94; p=13;q=17;n=p q; n`=(p-1) (q-1); e=35; d = e^(n`-1) %n`; mm^d %n
===============================
100
0588デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:54:36.26ID:+KnDkITW
以上の計算ができれば、RSA 暗号を実装できる程度に理解したと言えます。

ここでの one-liners は、プログラムというより、コンピュータ計算可能な数式です。
これ以上に単純化できない程に濃密です。しかも独立しています。それ以前の文脈に影
響されません。試行錯誤のごみの山から御宝式だけを copy and paste で取り出せま
す。

これらの one-liners は短いけれど、可読性も備えています。

Python は、これだけの濃密なコード記述を可能にする良質なライブラリ群を備えています。

これらのコードを書くのに、一々 big num class を持ち出したりしてられません。RSA
暗号数学だけで、手一杯なのですから。

これらの one-liners で、int 型宣言する意味もないでしょう。
0589デフォルトの名無しさん
垢版 |
2017/04/19(水) 07:55:01.02ID:+KnDkITW
>>562 一番速いのは多分Rubyだろうし、この点ではPythonは遅いほうだよ。

老婆心ながら言っておきます。こんな理由で Ruby に学習コストを書けるのは止めるへき。

スピードが欲しいならば C 言語で実装して繋げばよい。SciPy は、実装にそうして実装
され、data science 分野で使われ、ライブラリが蓄積され続けている。

Ruby が書き安い言語なことには同意する。しかし勝手な互換性の放棄により、良質なラ
イブラリの作者たちを離反させすぎた。Python community とは差が付きすぎた。

Python は Ruby と比較して読みやすい。俺にとって読んで楽しめるコードは Python だ
けだ。C 言語はマクロの解析が必要になるなど、コードを読むことは苦痛のほうが勝
る。Ruby は C言語よりは読みやすいが、楽しめるほどではない。

今更 Ruby に向かうのは無謀すぎる。
0590デフォルトの名無しさん
垢版 |
2017/04/19(水) 08:42:44.89ID:NBkpFfOk
どうせエンジンのお粗末なRubyのことだから
型が付いてもそのまま実行するよりWASM経由でした方が早いとなるだろうな。
0591デフォルトの名無しさん
垢版 |
2017/04/19(水) 09:30:10.92ID:kxK9Wtdr
>>589
思いっきり文章の読み方を間違ってるよ
>>562 でいうスピードは変化のスピードだよ

君がPython好きなのは分かるが、他の言語をけなそうとする余り文章を読み違えるのは
いただけないな
0593デフォルトの名無しさん
垢版 |
2017/04/19(水) 11:52:47.70ID:oz+MR2rn
>>591
「このプログラミング言語は速い」って文脈で「進化の速度」のことを言っている奴は初めて見たな

普通は実行速度だよな? プログラミング基礎でO記法とか学ぶもの
0594デフォルトの名無しさん
垢版 |
2017/04/19(水) 12:15:11.91ID:kxK9Wtdr
>>593
>>562 で直前で
> とりあえず「進化している言語」を一つ追跡しておけば問題はないだろ。
と書かれているので、ここでの速いは進化の速度だよ
そうでないとJavaScriptを除外している部分と整合性が取れない
(JavaScriptは実行速度はかなり速いしね)
0595デフォルトの名無しさん
垢版 |
2017/04/19(水) 12:54:41.04ID:D6qUbZcQ
>>560
亀レスで申し訳ないが、それはお前の認識が誤っているからだ

あるライブラリAの、とあるクラスが、別のライブラリBて定義されている
インターフェースを実装していた場合
ライブラリAはライブラリBでも使われることを前提としている
というかライブラリBの上にライブラリAを築いている
あたりまえだろ?だから当然想定されている

で、ダックタイピングの場合は
メソッド名が一致しているからひょっとして使えるんじゃね?
ってレベルだろ
そんなの偶然の一致かもしれないし、使えるかどうかわからん
元の開発者はそんなこと想定してないかもしれない
微妙に動作が違うかもしれない
0596デフォルトの名無しさん
垢版 |
2017/04/19(水) 13:04:46.14ID:D6qUbZcQ
>元の開発者はそんなこと想定してないかもしれない

と書いたが、逆に使われることを想定しているんなら
インターフェース方式でも問題ないんだよ
ライブラリBのインターフェースを実装すればよいだけだからな
使われることを想定しているんなら、これは当然できる状態にある
そして明確になる
0597デフォルトの名無しさん
垢版 |
2017/04/19(水) 13:17:55.77ID:cvkGewar
>>596
どういう主張だっけ?
作者が意図しない使い方はすべきでない、つまりダックタイピングは悪
ってこと?
0598デフォルトの名無しさん
垢版 |
2017/04/19(水) 13:29:02.70ID:D6qUbZcQ
言いえて妙な話で、あるクラスがあちこちで使われることを想定しているなら
クラスの開発者は、想定する全ての使われ方について、全てのンターフェースを
実装すればよい
逆に、実装されてないインターフェースに関しては
「想定してませんよ、考慮してませんよ、ノーサポート」って事なんだよ
その場合は、当たり前だが自分でラッパークラスを書けばよい
ちょっとしたデータ変換や仕様のすり合わせもそこですればよい
元のクラスが想定してないんだから、これは当然なんだよ

ダックタイピングは全てのクラスが自分の管理下にあって
仕様を完ぺきに把握しているのなら可能かもしれんが、という話
0599デフォルトの名無しさん
垢版 |
2017/04/19(水) 13:31:56.22ID:D6qUbZcQ
ラッパークラスと書いたが、アダプタクラスと言ったほうが正しいかもしれん
0600デフォルトの名無しさん
垢版 |
2017/04/19(水) 20:03:28.85ID:NUjiGrCs
そこそこ有名なライブラリAがあって、多数のライブラリC,D,E,...の中でそれを使っていたとする

それよりパフォーマンスが良くてメソッドに互換性があるライブラリBを作って
CDEを変更することなくAからBに置き換えてもらいたくなったとき

インターフェースのある言語だとライブラリAのインターフェースをBでも使わないと不可能じゃないの?

もしAがGPLならBもGPLにしなきゃダメってこと?
0601デフォルトの名無しさん
垢版 |
2017/04/19(水) 20:58:25.69ID:kxK9Wtdr
インタフェースをきっちり設計するのは面倒だからな
これをそうじゃないという人間はある程度の規模のアプリケーションを組んだことがないんじゃないか
と言いたくなるぐらいにね
0602デフォルトの名無しさん
垢版 |
2017/04/19(水) 21:03:25.43ID:BnOg8tXa
>インターフェースのある言語だとライブラリAのインターフェースをBでも使わないと不可能じゃないの?
>
>もしAがGPLならBもGPLにしなきゃダメってこと?

それはインターフェース有り無し関係ない。FSFの主張だと、GPLなライブラリと組み合わせて使う前提のプログラムは、
全てGPLでなくてはならないことになってる。

実際、ダックタイピングな Python でも、 pyqt が GPL か商用ライセンスしかなくて敬遠されてたので、
pyside という LGPL なライブラリが作られた。
0603デフォルトの名無しさん
垢版 |
2017/04/19(水) 21:09:00.28ID:Fw9wzeAw
>>600
それは条件が公平ではない
動的言語がその差し替えを比較的容易に行えるのはソースコードを直に実行しており
依存関係がシンボリックだからにすぎない
CDEのソースが手元にあるなら、静的言語でもCDEをソースからリコンパイルすればいいだけの話
静的言語のリンクの仕方には色々あるが、同様にシンボリックなリンク方式を使っているなら
ソースが無くてもBにもAと全く同じインターフェースを定義すれば当然動く
0604デフォルトの名無しさん
垢版 |
2017/04/19(水) 21:14:45.53ID:kxK9Wtdr
>>603
> CDEのソースが手元にあるなら、静的言語でもCDEをソースからリコンパイルすればいいだけの話
さすがにライブラリ使用者にそこまで求めることはできないよね…
0605デフォルトの名無しさん
垢版 |
2017/04/19(水) 21:17:54.76ID:Fw9wzeAw
>>604
だからそれはインターフェースの有無ではなくコンパイルの有無の問題だよね
言ってる意味わかる?
0609デフォルトの名無しさん
垢版 |
2017/04/19(水) 21:44:06.41ID:Fw9wzeAw
>>608
そうだね
で、それがインターフェースとどう関係していると思うの?
一般論としては動的言語の方が比較的容易であることは>>603の冒頭で認めたうえで
それはインターフェースではなくコンパイル(の習慣)の有無の問題であるので
>>600の「インターフェースがあるから差し替えが難しい」は誤りだというのが俺の意見なんだけど
ここまで説明しないと理解できない?
0611デフォルトの名無しさん
垢版 |
2017/04/20(木) 00:06:00.75ID:goLojMqI
>>589
俺に言わせると、Pythonは学ぶ価値がないよ。

新しいプログラミングパラダイムを試したいなら、Rubyだろ。
「新しい事が至高」なコミュニティだから、今後もトップを走り続けるだろう。
逆に言えば、互換性なんて気にしている言語では、どうやってもRubyには追いつけない。

Pythonがゴミなのは、ラムダに式しか書けない点でも明らかだろ。
JavaScriptやってると分かると思うけど、式のラムダなんて使う割合は低い。
やりたいことが出来ない言語なんて、C派の俺にとってはゴミだよ。
そしてそれを教条的理由で採用しないというのも気に入らない。

Pythonの利点は、NumPyとかでしょ。
でもそれはNumJSとかにポーティングされれば終わる話。Python自体の魅力じゃない。
JavaScriptはローカルファイルへのアクセスが出来なかったからこの解はなかったが、
Nodeが出て、Electronが出て、という状況では、NumJSも時間の問題。
ただNodeなら直接Cで呼べるから誰もやらないかもしれないが。

Pythonが問題なのは、糞遅いこと。
これは現段階ではもう手当てする人が現れないでしょ。
NumPyでいい奴はそれで終わってるし。
NumJSが現れたら、Python+NumPyよりも確実に速い。
その時にPythonを選択する理由がない。

JavaScriptの問題は、コミュニティとして非同期が正義な事。
正直、書きやすいとは言えない。ただこれも慣れれば何とかなるのも事実。
ネスト地獄ガーっていうのははっきり言って嘘で、ちゃんと組めばそんなことにはならない。
ただし、関数が細切れになるが。
まあこの辺も何だかなーってのもあるけど、致し方なし。

Pythonを今使うのならいいけど、将来性は無いと思うよ。
0612デフォルトの名無しさん
垢版 |
2017/04/20(木) 00:14:11.81ID:goLojMqI
>>593,594
俺が言っていたのは「進化の速度」だよ。
というか、そんなに分かりにくい言い方だとも思わないけど。

ただ、本当に>>558が出来る言語が素晴らしいと思っているのなら、
まずは言語は何でも良いからガンガン書いてみて、
それをきっちり保守してみることだね。
そうすれば、そんな点は全く意味がないと分かるだろう。
0614デフォルトの名無しさん
垢版 |
2017/04/20(木) 01:36:16.89ID:1ly+xIep
>>606
> ライブラリは基本的にコンパイル済の状態で提供されるよね?

ソースコードが提供されているならば
ソースコードを修正してコンパイルすれば良い。

そのライブラリがコンパイル済みの状態で提供されているかどうかは関係ない
0615デフォルトの名無しさん
垢版 |
2017/04/20(木) 01:37:22.80ID:1ly+xIep
>>610
> ライブラリはコンパイル済が配布されるのだから差し替えは難しいよね?

少なくともオープンソースであれば、ソースコードとコンパイル済みの
両方が配布されているから差し替えは難しくない。
0616デフォルトの名無しさん
垢版 |
2017/04/20(木) 01:59:48.10ID:JQpZsY1s
>>610
多くのコンパイル型言語では故意に差し替え可能に設計しておかない限りインターフェイスの有無に関わらずライブラリのコンパイルが必要
たとえばC#でインターフェイスをつかわず、全部dynamicで呼び出してる場合でもDLL差し替えではだめ
0617デフォルトの名無しさん
垢版 |
2017/04/20(木) 02:37:35.64ID:jSNxj+lA
>>611
>>>589
>俺に言わせると、Pythonは学ぶ価値がないよ。
>
>新しいプログラミングパラダイムを試したいなら、Rubyだろ。
>「新しい事が至高」なコミュニティだから、今後もトップを走り続けるだろう。
>逆に言えば、互換性なんて気にしている言語では、どうやってもRubyには追いつけない。

釣り? 少なくともRubyは無いわ。昔はともかく、この2-3年は停滞しているように見える。
すまんが、最近Rubyに入った、新しいプログラミングパラダイムを教えてくれ。

# ちなみに貴方が腐している Python は、async/await とか、外部チェッカを利用した Gradual Typing とか Null safety とか入りました。
0619デフォルトの名無しさん
垢版 |
2017/04/20(木) 03:33:31.73ID:59/j45Wf
>>618
お前の頭がパラダイスだよアホ

ていうか、ruby3にgradual typing入れるってmatzが去年言ってなかったか?
0620デフォルトの名無しさん
垢版 |
2017/04/20(木) 04:55:25.22ID:DtO/sAcV
>>611
ラムダ式に式しか書けないのは関数型言語好きがコミュニティに増えたからって気がする。
Pythonそのものも関数プログラミングをサポートしつつあって、同じ機能にオブジェクト指向版と関数プログラミング版と二つあるのがチラホラ。。。
そういう意味じゃすっごく気持ち悪い。

でも、使う側から見れば使えるライブラリ多いPython。
面白いかどうかじゃなくて、使えるかどうかね。
Rubyで使える数値計算やディープラーニングのライブラリ紹介してくれ。
宣伝してやるから。
0621デフォルトの名無しさん
垢版 |
2017/04/20(木) 06:12:51.42ID:wBOWWhZ0
>>611
少なくともNumPyが使われ続ける限りPythonを学ぶ価値はあるだろ
Pythonから学ぶことは反面教師的なこと以外はほとんどないけどさ

しかしRubyには使いどころはおろか、学びも皆無
自称言語オタク(失笑)が聞きかじった話題の他言語の顰みに倣ったり
その失敗を含む二番煎じを、ろくすっぽ論文も読まない取り巻きとひたすら繰り返しているだけ

Rubyを見て新しいとかいってる奴は元ネタを知らないだけのただの哀れな信者
0622デフォルトの名無しさん
垢版 |
2017/04/20(木) 06:28:09.48ID:q9J6ThwX
アニメで小林さんがpython使ってたから本読んだ。仕事でciscoのopenpk使う事になった。小林さん、ありがとう。
0624デフォルトの名無しさん
垢版 |
2017/04/20(木) 07:34:57.19ID:Oql1W8zX
>>623
意味不明
お前は公開リポジトリに既存の有名ライブラリと同姓同名の俺ライブラリを登録するつもりか?
そんな迷惑行為は常識的には認められない
0625デフォルトの名無しさん
垢版 |
2017/04/20(木) 07:37:46.72ID:GRmYdHAz
>>624
ソースを入手してビルド、なんて依存性解決は面倒だしバージョンアップに追随するのも
面倒だしやってられないと思うんだが…

みんなやってられないと思ったからmavenやsbtみたいなのが作られたわけだし
0626デフォルトの名無しさん
垢版 |
2017/04/20(木) 07:59:30.03ID:Oql1W8zX
>>625
Java系なら同じパッケージ名で同じ名称のクラスやインターフェースを定義しておけば
バイナリをmavenやsbtを用いて差し替えることは可能だよ
そんな”迷惑行為”は大抵のエコシステムでは認められないし、
パッケージ名の勝手な使用によって法的な問題が発生する可能性すらある
0627デフォルトの名無しさん
垢版 |
2017/04/20(木) 08:09:16.54ID:jSNxj+lA
>>>617
>それのどこが新しいプログラミングパラダイスなの?

コルーチンが普通の関数っぽく書けるようになったり、動的型言語に部分的に静的型を導入したりNullチェックを強制できるのは新しくないと。
ま、Pythonが史上初めてではないが、他言語で評判が良い部分を取り込んだ感じだな。

じゃ、貴方が思う、最近Rubyに入った新しいプログラミングパラダイムを教えてよ。
Rubyは「トップを走り続ける」のだから、1つ2つは簡単に紹介できるでしょ。
0628デフォルトの名無しさん
垢版 |
2017/04/20(木) 08:42:44.18ID:KuJQA9vc
ここ最近このスレは全く書き込みが無くて閑古鳥が鳴いていて
人いるの?って感じだったのに
俺の書き込みを発端として昔のように熱いバトルが始まって本当にうれしい
書き込んでよかったよ
もう絶滅したかと思ってたが、まだ一定数、動的型信者がいるようで
あぶり出し大成功ってところか
危険人物なので隔離スレにいつまでも隔離されててください
今の猫も杓子も静的型の時代に、まだ回心できてないってことは
これから先もずっと無理だろうし
0630デフォルトの名無しさん
垢版 |
2017/04/20(木) 10:19:29.42ID:KuJQA9vc
このように、もはや違う時間軸に住んでいる人なんだよな
俺の住んでる時間軸では、新しくできた目ぼしい言語は
当たり前のように静的型の機能を持っていて
静的型の落とし込み方自体が言語の特徴というか
セールスポイントにもなってるんだが
そちらの時間軸ではどうなってるのかな?

タイプセーフは今時常識だよ
静的型の先進的機能を否定するのは過去に縛られたstaticおじさんと同じこと
また、言語に静的型の機能がないってことは
単純にその言語は手抜きってだけのこと
あと、言語としてもつまらない
0632デフォルトの名無しさん
垢版 |
2017/04/20(木) 20:02:10.05ID:GRmYdHAz
>>630
staticおじさんというのは「自分の知らない機能を使えない機能だと断言してけなす人」だから、ID:KuJQA9vc のことだよ
0633デフォルトの名無しさん
垢版 |
2017/04/20(木) 21:11:31.08ID:1ly+xIep
>>630
まーた、タイプセーフの意味をわかってないやつかw

http://postd.cc/what-is-type-safety/
> C言語とC++:型安全ではない。
> Java、C#:(恐らく)型安全。
> Python、Ruby:(ほぼ間違いなく)型安全。



> タイプセーフは今時常識だよ
そのとおりだよ。PythonとかRubyを見よ。
タイプセーフになってるだろ
0634デフォルトの名無しさん
垢版 |
2017/04/20(木) 21:17:24.18ID:mm5xT/YJ
タイプセーフと、実行時型エラー出るのとは別かもだが、実行時型エラーが問題。
客からそんな詰まらんエラーでクレームとか恥だわ。
0637デフォルトの名無しさん
垢版 |
2017/04/21(金) 13:28:51.30ID:jwNNIRXE
pythonは単純な手続き型プログラミングもできるしオブジェクト指向もそこそこできるし
関数型もそこそこできるすごいそこそこな言語なんだゾ
0639デフォルトの名無しさん
垢版 |
2017/04/21(金) 17:30:39.41ID:SD7KIjS1
今はjavascriptそのまま使うよりtypescriptでしょ
0640デフォルトの名無しさん
垢版 |
2017/04/21(金) 19:41:12.79ID:qLxCXNxk
ぼほ主流スクリプト言語はオブジェクト指向も関数型も搭載済み。
0641デフォルトの名無しさん
垢版 |
2017/04/22(土) 20:52:21.35ID:vDrwU1OX
ライブラリに頼らずjavascriptのそのままテキストエディタに手打ちで一気に書けるのが熟練エンジニア
コードの保管などいらないし、変数の型も当然頭の中で整理されていて矛盾など起きない

後で保守する奴のためには、ちゃんと事細かなコメントを付けてやり、見やすく改行とインデントを付けて置いてやる
フレームワークに頼る奴は二流だ
0643デフォルトの名無しさん
垢版 |
2017/04/23(日) 11:43:35.11ID:sn9lV80g
近年必要なコード量が多過ぎだよな
にも関わらずそれに対処しようとする言語は無い
それこそIDEやフレームワークに責任を丸投げしているが、
よく考えてみるとJSは当時で言うそれだったわけだ
もう一回りして未来に流行る言語はそういうものであって欲しいね
0644デフォルトの名無しさん
垢版 |
2017/06/04(日) 06:54:19.19ID:N3Ss45Z5
そういうことだな
0645デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:04:04.71ID:X3ins31N
http://goodpatch.com/blog/rubykaigi-2016-report-ruby3-typing/
>まずはじめに、プログラミング言語の「型」という側面についての
>振り返りがありました。

>プログラミング言語にも時代によって流行りがあり、
>それは振り子のように繰り返されています。
>かつては動的言語のSmalltalkやLispがあり、次に静的言語のJavaが流行し、
>JavaScriptやRubyのような動的言語が流行り、現在はGoやSwiftなどの静的言語が注目を集めています。

>このような変遷を辿り、2010年代に出てきた新しい言語には静的型付け言語が多く、
>Rubyのような言語は「死んだ」とまで言われることもあります。
>しかしMatzによると、このような流れは振り子のように繰り返されているので
>安易にRubyに静的型付けを導入するのではなく、Rubyにとっての型というものについて
>真剣に考えて導入していきたい、ということでした。

↑なんで嘘つくの?
動的型言語が静的型言語を抑えて人気だった時代なんか、あったか?
Rubyが流行っているといわれていた時代でさえ(ピーク時でさえ)
JavaやC/C++に負けていただろ、なんで嘘つくんだ?
振り子っていったい何のことだ?
当社比30%アップってやつか?
0646デフォルトの名無しさん
垢版 |
2017/06/14(水) 23:41:45.61ID:ypgXVN+Z
C/C++はもはや速度を求めるコアライブラリか組み込みでしか生き残ってないけどね
(競技プログラミングという変な分野もあるけど)

コンピュータの適用範囲が広がったので昔のようなC/C++が独壇場だった分野がメイン
ストリームではなくなったともいえるが
0650デフォルトの名無しさん
垢版 |
2017/06/16(金) 21:21:28.27ID:efyE3evL
>>649
だったらC/C++/Objective-Cと書かない?
CとC++をわざわざ併記してるのに、そこにObjective-Cを含めるのは拡大解釈っぽいと思う
0651デフォルトの名無しさん
垢版 |
2017/06/28(水) 10:05:18.31ID:+O8L6XqQ
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744

367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/

372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな

376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
0652デフォルトの名無しさん
垢版 |
2017/06/28(水) 10:05:44.06ID:+O8L6XqQ
瑕疵担保責任(かしたんぽせきにん)

瑕疵担保責任のポイント

民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
0653デフォルトの名無しさん
垢版 |
2017/08/23(水) 05:31:40.05ID:cGhuJuEk
js/es は new を廃止するか、new を関数に変更して、且つ、定義時にデコレーターとして使えるようにしなきゃ、今の大流行は尻すぼみになるだろうな。
0654デフォルトの名無しさん
垢版 |
2017/08/27(日) 14:22:07.87ID:78TyXvfU
newが問題だった訳じゃない、貧弱で変わり者のクラスシステムに頼らざるを得なかったことが問題だっただけ
それもES6で解消されたし、プロトタイプの設定が解禁されたのでnewに頼らないクラスシステ厶も自由に構築できる
それこそシンプルなオブジェクトだけのインスタンスベースでClass.new()みたいに書く世界を構築することも可能
0655デフォルトの名無しさん
垢版 |
2017/09/20(水) 15:15:08.16ID:8RXgPmEk
たまにはageとこ
0656デフォルトの名無しさん
垢版 |
2017/10/02(月) 21:19:36.62ID:SV15s/5a
ファイル操作とテキスト処理とか正規表現が得意なスクリプト言語ってないですか
0657デフォルトの名無しさん
垢版 |
2017/10/03(火) 06:25:55.26ID:p+b687/D
powershell
0659デフォルトの名無しさん
垢版 |
2017/12/11(月) 14:51:24.83ID:DnBfEOiq
今のサイトってHTML5ばかりだからjsを知ってるだけで得することが沢山あるよな
0662デフォルトの名無しさん
垢版 |
2017/12/30(土) 14:02:22.80ID:CRdrmtvM
phpで検索WebAPIを作ってみてるんですが、
page番号を指定しようと思って、?page=0とすると$_GET['page']で受け取れないようなんですが、
0は指定できないんでしょうか
一応1からの指定にしてphpの中で1を引くことでちゃんと動作できるようにはできたんですが
0663デフォルトの名無しさん
垢版 |
2018/01/02(火) 19:59:10.29ID:BCempIdS
いい加減そういうのをWebAPIと呼ぶのは辞めた方がいい
例えばRESTならRESTと言うべき
WebAPIはDOMAPIを含むブラウザライクなものから触れるAPIのことを指す用語であり
そちらのほうが言葉の使い方として適している
https://developer.mozilla.org/ja/docs/WebAPI
https://developer.mozilla.org/ja/docs/Web/Reference/API
https://developer.mozilla.org/ja/docs/Web/Guide/API
■ このスレッドは過去ログ倉庫に格納されています

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