探検
動的言語で大規模開発
■ このスレッドは過去ログ倉庫に格納されています
1uy
2012/07/24(火) 09:10:42.04 たててみた
304デフォルトの名無しさん
2014/02/05(水) 11:54:42.46 本物の動的型っていうのは
たとえばJavaやC++のことだよ。
型安全かつ動的。動的っていうのは
ポリモーフィズムのことを言う。
実際に使われるクラスが動的にしか決まらないから。
インターフェースは静的だけどね。
でも具象クラスが動的に決まるならば、
それは動的言語なんだよ。
たとえばJavaやC++のことだよ。
型安全かつ動的。動的っていうのは
ポリモーフィズムのことを言う。
実際に使われるクラスが動的にしか決まらないから。
インターフェースは静的だけどね。
でも具象クラスが動的に決まるならば、
それは動的言語なんだよ。
305デフォルトの名無しさん
2014/02/05(水) 12:09:06.82 などと意味不明なことを供述しており精神鑑定の結果を待って慎重に対応する予定です
306デフォルトの名無しさん
2014/02/05(水) 12:54:50.99 >>304
なんでゴミってこんなつまんねーことしか言えないんだ
なんでゴミってこんなつまんねーことしか言えないんだ
307デフォルトの名無しさん
2014/02/05(水) 12:58:26.58 ほっほっほ、反論は無しw
308デフォルトの名無しさん
2014/02/05(水) 13:12:01.88 >>307
死ねゴミ
死ねゴミ
309デフォルトの名無しさん
2014/02/07(金) 06:53:01.21 死ねゴミ
310デフォルトの名無しさん
2014/02/07(金) 16:38:35.68 ぁーーーやっぱり型推論やる感じの静的言語になるのかなぁ
色々考えたけどやっぱし無理かも
結局コンパイル時に出来る限り多くのエラー検出してくれた方が、
実行後に「気にしなきゃいけない事」が減ってくれるから
その差が理論的にどうやっても静的言語と動的言語じゃ埋まらない
それでも短いコード書く場合は動的言語のほうが良いのは事実だけど
完全に動的になってる言語ってどうも、eval上でコード動かしてるのと似たような気分になる事があるし
それでも何とかなるとしたら物量か
色々考えたけどやっぱし無理かも
結局コンパイル時に出来る限り多くのエラー検出してくれた方が、
実行後に「気にしなきゃいけない事」が減ってくれるから
その差が理論的にどうやっても静的言語と動的言語じゃ埋まらない
それでも短いコード書く場合は動的言語のほうが良いのは事実だけど
完全に動的になってる言語ってどうも、eval上でコード動かしてるのと似たような気分になる事があるし
それでも何とかなるとしたら物量か
311デフォルトの名無しさん
2014/02/07(金) 20:40:16.60 JSでとあるゲーム2,3年ぼちぼち作っててデータやView部抜きで1万行くらいをキープしてるけど
今までで一番長時間ハマったのは暗黙の型変換の挙動かな
確か正規表現で取り出した数字文字列を、==で数値と比較してる部分があって、その時点では問題なかったけど
後からそこ見て数値同士の比較かと思ってカッコつけて==を===を直してしまったんだよね
でもそれからは気をつけて、代入時に型と値の範囲を一気に確定させておく書き方を心がけるようにした
あくまで例えばだけど、文字列から少数を取り出すのなら、
m = +(str.match(/\d+\.\d+/)||[0])[0]
のような勢いで
こうやって一発で行数を減らしておくと全体の見通しがよくなって更に嵌りそうなことが減る
単行演算子とか用いると実装速度も微妙に上がるしね、asm.jsライクな記述すると
それで確かにその時は==となって欲しいケースが稀だったことや
その場所が予想外にViewに当たる場所だったこともあってかなり特定が大変だったけど、
逆に数値演算ばかりの結構複雑だと思うメインロジックでは難しい問題起こらなかったんだよね
評価関数の出来って動かしてみないと良くなったかどうかわからないってこともあるし、
エラーではなくアルゴリズム的に正しいかどうかの判断は動かしてなんぼで不満なかった
「大規模」ではなくて、「多いコード」だから動的が向いてないっていうのは違うんだろうね
例えばES6でclassシンタックスが入って大規模がよくなるっていうけど
ひたすら配列の操作をやるのだと関数型チックなので困らないし
まあ「大規模」っていうのは色んな要素が入ってると思うけど、そこをまず具体的に洗い出していったほうがいいかもね
その上でそれぞれに対して動的型でどうしていったらより良くなるか考えよう
今までで一番長時間ハマったのは暗黙の型変換の挙動かな
確か正規表現で取り出した数字文字列を、==で数値と比較してる部分があって、その時点では問題なかったけど
後からそこ見て数値同士の比較かと思ってカッコつけて==を===を直してしまったんだよね
でもそれからは気をつけて、代入時に型と値の範囲を一気に確定させておく書き方を心がけるようにした
あくまで例えばだけど、文字列から少数を取り出すのなら、
m = +(str.match(/\d+\.\d+/)||[0])[0]
のような勢いで
こうやって一発で行数を減らしておくと全体の見通しがよくなって更に嵌りそうなことが減る
単行演算子とか用いると実装速度も微妙に上がるしね、asm.jsライクな記述すると
それで確かにその時は==となって欲しいケースが稀だったことや
その場所が予想外にViewに当たる場所だったこともあってかなり特定が大変だったけど、
逆に数値演算ばかりの結構複雑だと思うメインロジックでは難しい問題起こらなかったんだよね
評価関数の出来って動かしてみないと良くなったかどうかわからないってこともあるし、
エラーではなくアルゴリズム的に正しいかどうかの判断は動かしてなんぼで不満なかった
「大規模」ではなくて、「多いコード」だから動的が向いてないっていうのは違うんだろうね
例えばES6でclassシンタックスが入って大規模がよくなるっていうけど
ひたすら配列の操作をやるのだと関数型チックなので困らないし
まあ「大規模」っていうのは色んな要素が入ってると思うけど、そこをまず具体的に洗い出していったほうがいいかもね
その上でそれぞれに対して動的型でどうしていったらより良くなるか考えよう
312デフォルトの名無しさん
2014/02/07(金) 22:01:54.81 ==と===の違いは面倒だから使うなって、
オライリーから出ている薄い本の何処にでも書かれてるだろ
オライリーから出ている薄い本の何処にでも書かれてるだろ
313デフォルトの名無しさん
2014/02/07(金) 22:03:36.88 テストコードやCIしながら書くもんじゃないのか
314デフォルトの名無しさん
2014/02/07(金) 22:04:48.68 静的言語ならバグが含まれないってのが、そもそもの幻想
315デフォルトの名無しさん
2014/02/07(金) 22:13:41.93 静的言語でバグを作り出さないなら、JUnitなんて出てくるわけがない
いちいち変数定義するなら、それ無しでテストコードまで書いた方が効率良い
という発想。(テスト自体はSmalltalkからJavaへ輸入されてた気がする)
いちいち変数定義するなら、それ無しでテストコードまで書いた方が効率良い
という発想。(テスト自体はSmalltalkからJavaへ輸入されてた気がする)
316デフォルトの名無しさん
2014/02/08(土) 01:39:35.92 ウェブで言うと、昔は専用サーバは高価でシェルを使えるのは希だったから、スクリプト言語の方が動かしやすかったんだよ
プログラム自体も単純なものが多かったから、タイプセーフじゃなくても問題なかった
プログラム自体も単純なものが多かったから、タイプセーフじゃなくても問題なかった
317デフォルトの名無しさん
2014/02/08(土) 06:00:40.97 >>312
それは今回の件とは関係ない
例え最初から===にしてたとしても、前述したように稀かつゲームを進めないと出てこない問題だったから気付けなかった
むしろこういうケースがあるから==の方を使ったほうが殆どの場合でいいと思ってる
まあ、言いたいことはそういうことじゃない
今回テストは作りたて関数やバグが出たら使い捨てくらいの軽い気持ちで作るという感じだったが
よほど労力(とテストにかかる時間)をかけていたとしても発見できたかは微妙だった
今回のケースは自分はもっとメタ的に解決すべきだったと思う
例えば演算子オーバーロードができればそういったハマりやすいポイントでワーニングが出せる
それだけじゃなくて統計をとって最適化にもきっと活かせる
(例えば結果がSMIのようなJITエンジンがより最適化してくれる範囲内かどうか等)
他にもProxyとかメタ的やハックでの「動かしながらの」分析によるテストが
特に緩い動的言語での大きな開発でかなり有効なんじゃないかと自分は思ってきてる
ある程度はデバッガの役割だろうが、例えば条件付きブレークポイントみたいに
汎用的に細かいことがしたければ結局コードを書くことになるので、しかたない
でもそういったことが十分できるのならば自分は開発になんら不満、不安を感じない
また今回は流れでテストするのにデータのObservingが役に立ってる
各処理関数に全く関わる必要もないしテストも全く省けてる
目でのチェックと同時に比較的低負荷でできるのがかなり効率がいい
自分はES6,7などこれからのJSにはそういう部分に結構期待してる
それは今回の件とは関係ない
例え最初から===にしてたとしても、前述したように稀かつゲームを進めないと出てこない問題だったから気付けなかった
むしろこういうケースがあるから==の方を使ったほうが殆どの場合でいいと思ってる
まあ、言いたいことはそういうことじゃない
今回テストは作りたて関数やバグが出たら使い捨てくらいの軽い気持ちで作るという感じだったが
よほど労力(とテストにかかる時間)をかけていたとしても発見できたかは微妙だった
今回のケースは自分はもっとメタ的に解決すべきだったと思う
例えば演算子オーバーロードができればそういったハマりやすいポイントでワーニングが出せる
それだけじゃなくて統計をとって最適化にもきっと活かせる
(例えば結果がSMIのようなJITエンジンがより最適化してくれる範囲内かどうか等)
他にもProxyとかメタ的やハックでの「動かしながらの」分析によるテストが
特に緩い動的言語での大きな開発でかなり有効なんじゃないかと自分は思ってきてる
ある程度はデバッガの役割だろうが、例えば条件付きブレークポイントみたいに
汎用的に細かいことがしたければ結局コードを書くことになるので、しかたない
でもそういったことが十分できるのならば自分は開発になんら不満、不安を感じない
また今回は流れでテストするのにデータのObservingが役に立ってる
各処理関数に全く関わる必要もないしテストも全く省けてる
目でのチェックと同時に比較的低負荷でできるのがかなり効率がいい
自分はES6,7などこれからのJSにはそういう部分に結構期待してる
318デフォルトの名無しさん
2014/02/08(土) 08:08:08.34319デフォルトの名無しさん
2014/02/08(土) 11:30:21.22 オライリーのどの辺が反面教師なの?
あなたは国内出版社の方?
あなたは国内出版社の方?
320デフォルトの名無しさん
2014/02/08(土) 13:01:18.60 基本的にオライリーはゴミな上に一回本出した後で
売れ残りすぎてるから2版3版って更新されんのが遅すぎて
載ってる情報が古すぎるケースが多すぎ
あれ読んでる奴はゴミ
売れ残りすぎてるから2版3版って更新されんのが遅すぎて
載ってる情報が古すぎるケースが多すぎ
あれ読んでる奴はゴミ
321デフォルトの名無しさん
2014/02/08(土) 13:07:19.15 オライリーは言語によって出来が違いすぎる
322デフォルトの名無しさん
2014/02/08(土) 13:07:59.08 英語版はやっぱり出来がいいよね。
323デフォルトの名無しさん
2014/02/08(土) 13:19:36.72 本毎に差がありすぎるんだよな
あと翻訳者
日本人が書いてゴミなRuby本もあったな
あと翻訳者
日本人が書いてゴミなRuby本もあったな
324デフォルトの名無しさん
2014/02/08(土) 13:28:19.75 書店にいって適当に本の後ろの発行日を見たらいいよ
オライリーは5年とか10年ものとか平気でおかれてる
売れてないからそうなってる
初心者チックな本でも、せいぜい1〜2年以内に出た新しい本買ったほうが絶対良い
あとはネットで調べりゃいいだけ
オライリーは5年とか10年ものとか平気でおかれてる
売れてないからそうなってる
初心者チックな本でも、せいぜい1〜2年以内に出た新しい本買ったほうが絶対良い
あとはネットで調べりゃいいだけ
325デフォルトの名無しさん
2014/02/08(土) 13:33:40.49 オライリーは新しくないとダメなものは向かない
新しい情報はネットで集めた方がいい
適当な他の本買うぐらいならオライリーのがマシなことが多いな
それよか、ピアソンどうなるんだ?
新しい情報はネットで集めた方がいい
適当な他の本買うぐらいならオライリーのがマシなことが多いな
それよか、ピアソンどうなるんだ?
326デフォルトの名無しさん
2014/02/08(土) 13:40:16.96 オライリーはゴミw
327デフォルトの名無しさん
2014/02/08(土) 13:42:03.17 1年2年で入れ替わるくらい変化が激しい物ならそれこそ本なんて遅すぎて
いらないってなるだろうに。
いらないってなるだろうに。
328デフォルトの名無しさん
2014/02/08(土) 13:56:41.14 ITってそういう分野
ハードウェア絡むような場所だけだよ
5〜10年昔の知識が通用するなんて
ハードウェア絡むような場所だけだよ
5〜10年昔の知識が通用するなんて
329デフォルトの名無しさん
2014/02/08(土) 14:00:39.74 もうオライリーみたいな重厚長大な本の時代じゃないね
昔はラクダ本とかボロボロになるまで読んだけどね
昔はラクダ本とかボロボロになるまで読んだけどね
330デフォルトの名無しさん
2014/02/08(土) 14:21:34.64 ゴミw
331デフォルトの名無しさん
2014/02/08(土) 14:23:39.19 ネットの情報は断片的に拾い読みする分には良いが
まとまった情報って本で無いとねえ。
って言うのは古いかw
まとまった情報って本で無いとねえ。
って言うのは古いかw
332デフォルトの名無しさん
2014/02/08(土) 14:31:47.88 リファレンスとかは完全に ネット > 本 になった
333デフォルトの名無しさん
2014/02/08(土) 14:57:45.25 では、ハズレの本を出さない出版社を発表しちゃってください。
334デフォルトの名無しさん
2014/02/08(土) 15:21:13.00 >>328
OSやコンパイラの基礎的な知識がここ5〜10年ほどで全部置き換わったとでも?
何か新しいツールやライブラリなんかも利用期間が長ければ長いほど後方互換を
考えて思想的な部分を変えることが出来なくなってるよ?
基礎的な知識がない人、表面だけなぞってる人は全く変わって通用しなくなると
感じてんるんだろうけど、そんなことは無いんだけどね。
OSやコンパイラの基礎的な知識がここ5〜10年ほどで全部置き換わったとでも?
何か新しいツールやライブラリなんかも利用期間が長ければ長いほど後方互換を
考えて思想的な部分を変えることが出来なくなってるよ?
基礎的な知識がない人、表面だけなぞってる人は全く変わって通用しなくなると
感じてんるんだろうけど、そんなことは無いんだけどね。
335デフォルトの名無しさん
2014/02/08(土) 15:24:34.62 つ電子書籍
すっかりぐだぐだのイメージが広まりつつあるがw
すっかりぐだぐだのイメージが広まりつつあるがw
336デフォルトの名無しさん
2014/02/08(土) 15:26:17.39 ここ15年くらい何も進歩してない
モバイルへのシフトが見えるくらい
モバイルへのシフトが見えるくらい
337デフォルトの名無しさん
2014/02/08(土) 15:34:56.49 結局は、ノイマン型のコンピュータが登場して以来何も進歩してないんだよ
338デフォルトの名無しさん
2014/02/08(土) 15:55:37.52 話でかくなりすぎw
339デフォルトの名無しさん
2014/02/08(土) 16:36:22.62 プログラミング言語だけ見ても、PHPでもRubyでもC#でもJavaでもこの10年で大きく変わってる
ライブラリやミドルウェアはもっと変わってる
これだけラピッドリリースが当たり前の時代、オライリーは本棚に並べて自己満足するぐらいの価値しかない
ライブラリやミドルウェアはもっと変わってる
これだけラピッドリリースが当たり前の時代、オライリーは本棚に並べて自己満足するぐらいの価値しかない
340デフォルトの名無しさん
2014/02/08(土) 17:06:39.19341デフォルトの名無しさん
2014/02/08(土) 17:08:41.77 Ajax でブラウザとJSの地位が大幅に向上したというのは進歩かもしれない
それ以外は驚くほど何も変わってない
それ以外は驚くほど何も変わってない
342デフォルトの名無しさん
2014/02/08(土) 21:58:29.94 JSに関してはかなり変わってきてると思う
00年代後半くらいに出た本はまだコーディングルールもままならなかったJSに対して
JSの安全で多言語との相異があまりない部分だけを使うという、かなり厳しい立場なものが多い
そしてそれ以降にでた本もそれを踏襲しているから同じ
ES3まではクラスベースの皮をすっぽり被ったプロトタイプベース言語だったからしかたがない
ゲッターすらも定義できないような未熟な言語だったのは確か
でもES5,ES6ときて例えばブロック文中の関数宣言の振る舞いの問題とか、
根底の不安定さがかなり解消されてきてる
そしてES6ではクラスシンタックスが入ったり、ミキシン等のサポートや、
プライベートっぽくもできるSymbolの導入、また何と言っても今までは
クラスベースの皮に隠れてたプロトタイプが表面にでたお陰でかなり変わってる
Promiseとか、関数型の方向性も強化されてきていて、
マルチパラダイム言語としてかなり磨きがかかって底上げされている
他にもモジュールやブロックスコープとか、書ききれない
コーディングルールの面でも、最近ではgoodpartsを書いたグーグル内、
例えばV8グループ内でもセミコロンフリーのソースがコミットされたりもしている
JSに関しては、何がいいのかは(ブラウザ間の差もあるし)その時その時で考えていくべき
JSも成熟してきて、JSerも成熟してきてるから、無闇矢鱈に縛る必要がなくなってきている
00年代後半くらいに出た本はまだコーディングルールもままならなかったJSに対して
JSの安全で多言語との相異があまりない部分だけを使うという、かなり厳しい立場なものが多い
そしてそれ以降にでた本もそれを踏襲しているから同じ
ES3まではクラスベースの皮をすっぽり被ったプロトタイプベース言語だったからしかたがない
ゲッターすらも定義できないような未熟な言語だったのは確か
でもES5,ES6ときて例えばブロック文中の関数宣言の振る舞いの問題とか、
根底の不安定さがかなり解消されてきてる
そしてES6ではクラスシンタックスが入ったり、ミキシン等のサポートや、
プライベートっぽくもできるSymbolの導入、また何と言っても今までは
クラスベースの皮に隠れてたプロトタイプが表面にでたお陰でかなり変わってる
Promiseとか、関数型の方向性も強化されてきていて、
マルチパラダイム言語としてかなり磨きがかかって底上げされている
他にもモジュールやブロックスコープとか、書ききれない
コーディングルールの面でも、最近ではgoodpartsを書いたグーグル内、
例えばV8グループ内でもセミコロンフリーのソースがコミットされたりもしている
JSに関しては、何がいいのかは(ブラウザ間の差もあるし)その時その時で考えていくべき
JSも成熟してきて、JSerも成熟してきてるから、無闇矢鱈に縛る必要がなくなってきている
343デフォルトの名無しさん
2014/02/09(日) 00:23:11.54344デフォルトの名無しさん
2014/02/09(日) 04:44:50.85345デフォルトの名無しさん
2014/02/09(日) 10:36:31.60 > 10年前の本でも読んでると良いよ
2004年の本ですか? そりゃ読むでしょうよw
2004年の本ですか? そりゃ読むでしょうよw
346デフォルトの名無しさん
2014/02/09(日) 12:19:57.73 10年前のApacheの本とかBindとかSendmailとか
347デフォルトの名無しさん
2014/02/09(日) 21:59:17.96 JavaScriptは約5年の間にES3→ES6で仕様書は3倍になったし、
もっと言えばHTML5との絡みで世界が日に日に拡大してるから仕方ないね。
そのとき常識でも、半年経つと状況がガラッと変わった照りするからね。
例えば今はアニメーションはライブラリの手を借りないと困難だって認識だろうけど、
確か今年の6月くらいににAnimationsAPIが勧告されるからね。
まあフラグONにすればもう一部は使えるんだけど、そもそも存在を知る人も少なそう。
もうちょい先の話だとServiceWorkerとかね。
スクリプト言語はAPIあってのものだから大変だね。
もっと言えばHTML5との絡みで世界が日に日に拡大してるから仕方ないね。
そのとき常識でも、半年経つと状況がガラッと変わった照りするからね。
例えば今はアニメーションはライブラリの手を借りないと困難だって認識だろうけど、
確か今年の6月くらいににAnimationsAPIが勧告されるからね。
まあフラグONにすればもう一部は使えるんだけど、そもそも存在を知る人も少なそう。
もうちょい先の話だとServiceWorkerとかね。
スクリプト言語はAPIあってのものだから大変だね。
348デフォルトの名無しさん
2014/02/10(月) 09:34:39.88 情報が古いと分かってる本読んでも得るもの何もないからな
信頼できない本読んで間違って覚えてそれで良いと勘違いしてる状況のほうが厄介な問題起こりそう
ゴミ
信頼できない本読んで間違って覚えてそれで良いと勘違いしてる状況のほうが厄介な問題起こりそう
ゴミ
349デフォルトの名無しさん
2014/02/10(月) 14:01:59.53 過去の仕様が根こそぎ変化するわけじゃないんだから、
古くなってる部分だけ調べりゃ良いだろ
古くなってる部分だけ調べりゃ良いだろ
350デフォルトの名無しさん
2014/02/10(月) 14:43:51.08 古いものの方が
肥大した無駄機能もなく
本質的な部分に絞りこまれていることが多い
ただし破壊的変更を繰り返してフラフラしている駄ツールには当てはまらないかもしれない
肥大した無駄機能もなく
本質的な部分に絞りこまれていることが多い
ただし破壊的変更を繰り返してフラフラしている駄ツールには当てはまらないかもしれない
351デフォルトの名無しさん
2014/02/10(月) 14:48:45.54 古い本を読んでる最中に古い情報(間違った情報)と新しい情報(正しい情報)の区別をどうやってつけるんだか
ゴミかよ
ゴミかよ
352デフォルトの名無しさん
2014/02/10(月) 14:49:39.61 ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwww
353デフォルトの名無しさん
2014/02/10(月) 16:10:40.42 問題が生じてから調べりゃ良いだろ
354デフォルトの名無しさん
2014/02/10(月) 16:35:30.36 損害被ってから調べるわけか
新しい本がないならまだしも
新しい本があるにもかかわらず古いほう読んで間違った知識身に付けたがるゴミってペチパー以上に理解できない存在だな
死ねゴミ
新しい本がないならまだしも
新しい本があるにもかかわらず古いほう読んで間違った知識身に付けたがるゴミってペチパー以上に理解できない存在だな
死ねゴミ
355デフォルトの名無しさん
2014/02/10(月) 17:21:58.51 学んだことが数年で間違った知識と化すのならばその技術・ツールそのものが害なのだ
356デフォルトの名無しさん
2014/02/10(月) 18:40:07.47 IT分野に来ないほうが良いな
357デフォルトの名無しさん
2014/02/10(月) 18:45:28.28 RubyやRailsが顕著だけど、それ以外のプロダクトも互換性は早く捨ててイノベーションする動きになってる
358デフォルトの名無しさん
2014/02/10(月) 21:34:55.60 互換性と情報の古くなりやすさは違う気がする
JavaScriptなんて顕著な例だし
むしろ古い情報が中途半端に有効なことが問題を大きくしてる
まあ、本っていうのはやっぱ向いてる分野が限られてると思う。
JavaScriptなんて顕著な例だし
むしろ古い情報が中途半端に有効なことが問題を大きくしてる
まあ、本っていうのはやっぱ向いてる分野が限られてると思う。
359デフォルトの名無しさん
2014/02/10(月) 23:11:20.52 言語機能もライブラリも互換性ぶったぎってるから、本の通りに書いても全く動かない
依存関係があるから、部分的に古いライブラリ使おうと思っても一筋縄じゃ行かない
そんなの自力で解決出来る知識あるなら、そもそも本なんか不要
依存関係があるから、部分的に古いライブラリ使おうと思っても一筋縄じゃ行かない
そんなの自力で解決出来る知識あるなら、そもそも本なんか不要
360デフォルトの名無しさん
2014/02/11(火) 01:14:27.60 誰が
何のために
変えているのか?
何のために
変えているのか?
361デフォルトの名無しさん
2014/02/11(火) 07:53:46.12 コンパイルエラーなんかでて、動かないならまだ良いけど
「動くけど動作が違います^^;」
っていうのが最もヤバい
ruby1.8→1.9のヤバさは想像を絶する
Ostruct、クラス変数、シャドウイング使いまくってた人たちってどうなったの
「動くけど動作が違います^^;」
っていうのが最もヤバい
ruby1.8→1.9のヤバさは想像を絶する
Ostruct、クラス変数、シャドウイング使いまくってた人たちってどうなったの
362デフォルトの名無しさん
2014/02/11(火) 07:57:41.43 中途半端に途中まで正しく動くなんてまさに無能な働き者
仕事をしないならしないで良いのに、
ちょっとした期待をさせるからそれに頼ってみるとやはり失敗するという
船乗りとか、登山家が、余計な足手まといは連れて行かないのと同じ
プロだけで行くなら良いのに素人が一緒に来るとプロまで道連れになるんだ
人間レベルで
「動くけど動作が違います^^;」
は、困る
仕事をしないならしないで良いのに、
ちょっとした期待をさせるからそれに頼ってみるとやはり失敗するという
船乗りとか、登山家が、余計な足手まといは連れて行かないのと同じ
プロだけで行くなら良いのに素人が一緒に来るとプロまで道連れになるんだ
人間レベルで
「動くけど動作が違います^^;」
は、困る
363デフォルトの名無しさん
2014/02/11(火) 09:06:04.31 育成しろ
おまえの役目だぞ
おまえの役目だぞ
364デフォルトの名無しさん
2014/02/11(火) 10:10:44.65 >>325,349
死ねゴミw
死ねゴミw
365デフォルトの名無しさん
2014/09/19(金) 11:11:48.63ID:uUn/9tg4 サーバサイドではNode.jsからJavaやGoへの切り替えが進み
クライアントサイドではTypeScriptを導入した連中が喜びの声を上げている、
もちろんSwiftもある
JavaScriptもPythonも型アノーテーション導入を検討しているし、Rubyもこれだ
https://twitter.com/miyohide/status/512768555385769986
> Matz「最近の言語(ScalaやGoやDartなど)はみんな静的な型を持っていて、
> ちょっとそれは悔しいので、Rubyでも導入を考えたい。」
情勢から見て、もはや静的型の勝利、動的型はやはり駄目だったよということで決着がついただろう。
とりわけ動的型の経験しかなかったウェブ屋やTDD厨がちょっと頭おかしかった。
動的型はゼロ年代の一時的な熱狂だったということで終わるのではないか。
冷静に考えてとにかくメリットがねーもん。まるっきり。
Real World Academia: Unit testing isn't enough. You need static typing too.
http://evanfarrer.blogspot.jp/2012/06/unit-testing-isnt-enough-you-need.html
> 「ユニットテストだけでは不十分だ。静的型も必要だ」
ってことすな。
クライアントサイドではTypeScriptを導入した連中が喜びの声を上げている、
もちろんSwiftもある
JavaScriptもPythonも型アノーテーション導入を検討しているし、Rubyもこれだ
https://twitter.com/miyohide/status/512768555385769986
> Matz「最近の言語(ScalaやGoやDartなど)はみんな静的な型を持っていて、
> ちょっとそれは悔しいので、Rubyでも導入を考えたい。」
情勢から見て、もはや静的型の勝利、動的型はやはり駄目だったよということで決着がついただろう。
とりわけ動的型の経験しかなかったウェブ屋やTDD厨がちょっと頭おかしかった。
動的型はゼロ年代の一時的な熱狂だったということで終わるのではないか。
冷静に考えてとにかくメリットがねーもん。まるっきり。
Real World Academia: Unit testing isn't enough. You need static typing too.
http://evanfarrer.blogspot.jp/2012/06/unit-testing-isnt-enough-you-need.html
> 「ユニットテストだけでは不十分だ。静的型も必要だ」
ってことすな。
366デフォルトの名無しさん
2014/09/19(金) 13:53:26.63ID:Xfkvubm0 この業界は一時的な熱狂が多すぎるよね
367デフォルトの名無しさん
2014/09/19(金) 16:44:39.68ID:3WQN+no2368デフォルトの名無しさん
2014/09/20(土) 09:47:56.33ID:b8OT/FfJ 型チェックというのも、テストの全てではないが
テストの一部なんだよ。
それが原因のバグもあるわけなんだから。
たとえそれが一瞬で修正できることだとしても
その為に別の作業中にバグ見つけて
割り込みで修正するとか思考の流れを途切れさせることはよくある話。
テストの一部なんだよ。
それが原因のバグもあるわけなんだから。
たとえそれが一瞬で修正できることだとしても
その為に別の作業中にバグ見つけて
割り込みで修正するとか思考の流れを途切れさせることはよくある話。
369デフォルトの名無しさん
2014/09/30(火) 07:23:04.54ID:2CeH2hLD >>366
幸か不幸か、ソフトウェアというのは一時的な熱狂だけで「動くもの」を作れてしまう分野だからだろうね
幸か不幸か、ソフトウェアというのは一時的な熱狂だけで「動くもの」を作れてしまう分野だからだろうね
370デフォルトの名無しさん
2014/10/11(土) 23:13:05.47ID:bgxomZ9f Rubyで開発やってるけど、
unitテストの設計と項目作成だけで
3人で三週間かかって、マジで倒れそうだわ
来週からテストだけど、かなり辞めたい気分
unitテストの設計と項目作成だけで
3人で三週間かかって、マジで倒れそうだわ
来週からテストだけど、かなり辞めたい気分
371デフォルトの名無しさん
2014/10/12(日) 07:22:26.20ID:5ixfa8wz372デフォルトの名無しさん
2014/10/12(日) 07:29:16.53ID:jjrAIsW+ 大変な所=メンテナンスだから、
今後ずっと大変な状態が続くよ、
Rubyをやめるのが一番の早道だな。
今後ずっと大変な状態が続くよ、
Rubyをやめるのが一番の早道だな。
373デフォルトの名無しさん
2014/10/12(日) 07:36:17.74ID:gqs4tO4e テストすらロクにしない>>372はどんな言語で書いてもバグだらけw
374デフォルトの名無しさん
2014/10/12(日) 09:08:57.89ID:5ixfa8wz375デフォルトの名無しさん
2014/10/12(日) 10:05:01.80ID:DxGoFyW9 >>371
UNITテストやるのもかなり大変だろ
テストの途中でメソッドが増えたり減ったりしてそのたびにテスト項目修正して
ログから障害の原因が分からない場合はログを修正して
RUNITのアサートも修正して、テスト項目も修正し無いと行けないし、、
考えただけでだるいわ
UNITテストやるのもかなり大変だろ
テストの途中でメソッドが増えたり減ったりしてそのたびにテスト項目修正して
ログから障害の原因が分からない場合はログを修正して
RUNITのアサートも修正して、テスト項目も修正し無いと行けないし、、
考えただけでだるいわ
376デフォルトの名無しさん
2014/10/12(日) 13:06:01.13ID:5ixfa8wz377デフォルトの名無しさん
2014/10/12(日) 17:09:28.84ID:gqs4tO4e >>375
ルビーの勉強がんばってください、入門者さんw
ルビーの勉強がんばってください、入門者さんw
378デフォルトの名無しさん
2014/10/16(木) 00:02:19.53ID:Ju1r+RJJ 動物言語に見えた
379デフォルトの名無しさん
2014/10/16(木) 07:57:26.33ID:Sk/7zxTc 面倒なのは全部ほかにまわせば確かに楽になるかもな
380デフォルトの名無しさん
2014/10/18(土) 12:19:07.94ID:xyIEV5M1 巷に出回る仕事術の基本
381デフォルトの名無しさん
2014/11/24(月) 00:10:36.26ID:NFvfX/bb 動的言語ってリファレンスが読みにくくね?
みんなどうしてんの?
みんなどうしてんの?
382デフォルトの名無しさん
2014/11/24(月) 00:12:03.59ID:LP7Sk3Ho 暗記
383デフォルトの名無しさん
2014/11/24(月) 00:16:50.33ID:PX1MFVrm そんなん言語によるだろ
384デフォルトの名無しさん
2014/11/24(月) 09:52:02.93ID:bceL07z7 >>381
具体的にどの言語のリファレンスが読みにくいと?
具体的にどの言語のリファレンスが読みにくいと?
385デフォルトの名無しさん
2014/11/24(月) 10:02:48.56ID:XLIBB3hZ pythonしか知らんが、pythonはかなりドキュメント類がしっかりしてると思うけどな。
ただまあ、マイナー言語、ライブラリは動的静的カンケーなく、結局ソースを読むことにはなると思う。
ただまあ、マイナー言語、ライブラリは動的静的カンケーなく、結局ソースを読むことにはなると思う。
386デフォルトの名無しさん
2014/11/24(月) 10:33:25.11ID:vb0rebZq 定番アプリのソースで似たようなことしてるものを探して真似る
うっかりソースを読んで入り込むとあとで変更された時にヤラれる
うっかりソースを読んで入り込むとあとで変更された時にヤラれる
387デフォルトの名無しさん
2014/11/24(月) 15:01:36.25ID:kcRDK3+j PHPとPythonのドキュメントはしっかりしてるけど
RubyとSmalltalkのはゴミだったな
RubyとSmalltalkのはゴミだったな
388デフォルトの名無しさん
2014/11/24(月) 17:34:32.45ID:XLIBB3hZ smalltalkはブラウザ開いて
オブジェクトと対話しながらプログラミングしていくスタイルだから
アレで良いのだ
と、多くのスモールトーカー様は思ってる
オブジェクトと対話しながらプログラミングしていくスタイルだから
アレで良いのだ
と、多くのスモールトーカー様は思ってる
389デフォルトの名無しさん
2014/11/24(月) 18:25:46.58ID:2QNpXJ+6 動的言語ではないがJavaのAPIドキュメントがしっかりしすぎてる。
390デフォルトの名無しさん
2014/11/24(月) 18:41:49.16ID:atmNtLqz Smalltalkのドキュメントって何のことだろう?
391デフォルトの名無しさん
2014/11/24(月) 19:12:45.95ID:NFvfX/bb pythonのopencvとかnumpyのリファレンス見てみたんだけど
なんの型を入れるとなんの型が帰ってくるのか明確に書いてないからサンプル見ないと分かんない
なんの型を入れるとなんの型が帰ってくるのか明確に書いてないからサンプル見ないと分かんない
392デフォルトの名無しさん
2014/11/24(月) 19:35:00.93ID:vb0rebZq その辺はネーミングセンスでカバーするという思想だろうけど
Cライブラリのラッパーとかだと全く通用しなくなるな
Cライブラリのラッパーとかだと全く通用しなくなるな
393デフォルトの名無しさん
2014/11/24(月) 20:12:08.30ID:2QNpXJ+6 >>391
ipythonで?して書いてなかったらソース読んでる。
ipythonで?して書いてなかったらソース読んでる。
394デフォルトの名無しさん
2014/11/24(月) 20:25:30.45ID:PX1MFVrm vimでKを押してdocumentがなかったら
\dを押して定義元のソースコードにジャンプしてる
\dを押して定義元のソースコードにジャンプしてる
395デフォルトの名無しさん
2014/11/25(火) 00:06:15.89ID:pX8dGPkN 下みたいコードのエラーを実行前に検出できるlint系ツールが存在する
Pythonを動的言語で括って良いものだろうか
def foo(x):
def f(g):
return g() + x
return f
def bar():
foo(1)(lambda: 'abc')
Pythonを動的言語で括って良いものだろうか
def foo(x):
def f(g):
return g() + x
return f
def bar():
foo(1)(lambda: 'abc')
396デフォルトの名無しさん
2014/11/25(火) 05:48:58.67ID:0npMaebU 最近追ってなかったけど
pythonは型アノテーション導入の話題もあるのな。
pythonは型アノテーション導入の話題もあるのな。
397デフォルトの名無しさん
2014/11/25(火) 20:38:28.15ID:NsP7IFUt やっぱ大規模開発には静的型があった方が
良いんだろうな
良いんだろうな
398デフォルトの名無しさん
2014/11/25(火) 23:51:15.09ID:n1duvf0w >>397
typoですら動かすまで見つけれないのは地味にストレスだからな。
typoですら動かすまで見つけれないのは地味にストレスだからな。
399デフォルトの名無しさん
2014/11/26(水) 04:22:00.60ID:zFnj+88g400デフォルトの名無しさん
2014/11/26(水) 05:14:33.37ID:iOq+FlWm >>399
動的言語は、typoを実行前に発見できないほうが多いよ。
発見できないパターンはこれ
obj.f00 (fooの間違い)
オブジェクトのメソッドのメソッド名を間違えた時
ほぼ全ての動的言語は、実行するまでtypoを発見できない。
なぜなら後で動的にメソッドを追加するかもしれないから
実行するまでわからない。
動的言語は、typoを実行前に発見できないほうが多いよ。
発見できないパターンはこれ
obj.f00 (fooの間違い)
オブジェクトのメソッドのメソッド名を間違えた時
ほぼ全ての動的言語は、実行するまでtypoを発見できない。
なぜなら後で動的にメソッドを追加するかもしれないから
実行するまでわからない。
401デフォルトの名無しさん
2014/11/26(水) 05:24:10.98ID:iOq+FlWm 動的言語だとtypoがわかると言っても
ローカル変数程度なんだよね。
そんな近くにある目で見てもすぐわかるようなものより
ファイルをまたいだりしている遠くにあるコードの
typoを知りたいんだが。
ローカル変数程度なんだよね。
そんな近くにある目で見てもすぐわかるようなものより
ファイルをまたいだりしている遠くにあるコードの
typoを知りたいんだが。
402デフォルトの名無しさん
2014/11/26(水) 08:52:45.01ID:IUNEYOWi403デフォルトの名無しさん
2014/11/26(水) 10:27:57.07ID:lFXPwW0W >>400
その理屈はなんかおかしいぞ。
後で動的にメソッドが追加されるかもしれないから
typoかどうか実行時まで*処理系側では*判断できない
というだけの話。
書いている人間様はそれがtypoかどうかは容易に判断できる(気づきさえすれば)。
だから、パーズ・コンパイル時に単に未定義だと文字通りワーニングを出せばいい話で、
実際そういう機能を持つ処理系やIDEは1980年代のSmalltalkから普通にある。
typoでたまたま他の既存のメソッド名とかぶってしまった場合に、
型でtypoかどうか判断可能という主張ならまだわかる。
その場合でも、型まで一致していたら静的型言語でもお手上げだ。
その理屈はなんかおかしいぞ。
後で動的にメソッドが追加されるかもしれないから
typoかどうか実行時まで*処理系側では*判断できない
というだけの話。
書いている人間様はそれがtypoかどうかは容易に判断できる(気づきさえすれば)。
だから、パーズ・コンパイル時に単に未定義だと文字通りワーニングを出せばいい話で、
実際そういう機能を持つ処理系やIDEは1980年代のSmalltalkから普通にある。
typoでたまたま他の既存のメソッド名とかぶってしまった場合に、
型でtypoかどうか判断可能という主張ならまだわかる。
その場合でも、型まで一致していたら静的型言語でもお手上げだ。
404デフォルトの名無しさん
2014/11/26(水) 10:37:02.67ID:IUNEYOWi typoっつーか、メソッド名を補完してたら
ウッカリ同じprefixの別のメソッド呼んじゃってた事はあるよ
でも、その間違ったメソッドが引数の型や数、戻り値の型まで一致してたことは一度も無かった
ウッカリ同じprefixの別のメソッド呼んじゃってた事はあるよ
でも、その間違ったメソッドが引数の型や数、戻り値の型まで一致してたことは一度も無かった
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 焼き芋を輪切りにして天ぷらにすると美味しいよ
- プロレスラーってロープに振ると走って戻ってくるけど
- お前らお嫁さん見つけた?
- なんでお前らってスピリチュアル系の話嫌いなの?
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- 薄いカーテンだけ閉めて部屋の灯りを消すと凄くいい
