1 名前:デフォルトの名無しさん [2019/04/13(土) 22:32:20.81 ID:+hvu+lso.net] なかったので オブジェクト指向スクリプト言語Rubyが嫌いな人のためのスレッドです。 他言語の一方的なあげ足取りが好きな最強厨御用達言語Rubyについて。 1. 他の言語で満足している人を「楽しさ」「美しさ」とか主観的な基準で煽る 2. Ruby より機能が絞られている言語に対しては「不足」「楽しさが(ry」「快適さがない」「こんな機能がないなんて」 3. Ruby より機能が豊富な言語に対しては「大きすぎる」「美しくない」「そんな機能不要」 うっとおしいRuby厨やRails厨の迷惑や気持ち悪い主観の押しつけ、腐れ言語や不安定ライブリについて語り合いましょう。 ■関連スレ Rubyについて Part 36 pc12.2ch.net/test/read.cgi/tech/1246174168/ ■前スレ Rubyについて(アンチ専用) Part001 pc11.2ch.net/test/read.cgi/tech/1190559748/ Rubyについて(アンチ専用) Part002 pc11.2ch.net/test/read.cgi/tech/1200210768/ Rubyについて(アンチ専用) Part003 pc12.2ch.net/test/read.cgi/tech/1207233348/ Rubyについて(アンチ専用) https://mevius.5ch.net/test/read.cgi/tech/1249737531/
152 名前:デフォルトの名無しさん mailto:sage [2019/11/16(土) 19:57:40.34 ID:xDZismOl.net] きもっ
153 名前:デフォルトの名無しさん [2019/11/17(日) 10:14:29.17 ID:X9AhIAwA.net] スレタイ嫁
154 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 10:45:09.70 ID:nCwuraZ3.net] Rubyは日曜大工用の工具セットって感じ 仕事で家具や内装を作るならPythonやPHPみたいな現実路線の言語がいいし 家を建てるならJavaやGoくらいしっかりしてたほうがいいし ビルを建てるのはそもそも無理、Rubyでは杭打ちとかできない
155 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 10:45:55.87 ID:AGgtFCHm.net] > Rubyは日曜大工用の工具セットって感じ > ビルを建てるのはそもそも無理、Rubyでは杭打ちとかできない 根拠は?言ってみただけ?
156 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 11:11:49.93 ID:vz8eXEG6.net] >>154 RubyはおろかPythonもPHPもGoも知らないの丸出しですやん
157 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 11:16:31.47 ID:g3Yi+ZfA.net] なんだよ?即レスしてやったのになんの根拠も言えないのかよ。雑魚だな。
158 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 18:16:08.59 ID:BK4fkH2q.net] プログラミング初心者向けの本としてChris Pineが出てくる時点で、Rubyは根本的に初心者向きじゃないと白状してるようなものだよ 短文に慣れてしまって長文が読めず、画像で情報を把握するような今どきの若者に画像のない長文本は勧められない ここまでのこの文章ですら長いと言われるくらいだし 初心者向けの本は基本的に文章を極力減らして例示とマンガで説明してる
159 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 21:39:46.45 ID:YTKclXIe.net] Cも初心者向きじゃないと言われているし まずはPascalをやれと、師匠は言っていた
160 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 21:52:04.98 ID:Gjrc4uA9.net] 古いわ。w 当時からして、Pascalがそんなにいいとは思わなかったが。 今ならC#やな。 間違いなく。
161 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 21:58:56.68 ID:Ec0EQxOa.net] C ってよく出来てるなあと思う
162 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 22:18:53.20 ID:mRJcWm57.net] 懐かしいな、Turbo Pascal
163 名前:デフォルトの名無しさん [2019/12/12(木) 09:55:25 ID:a67Hqgb2.net] CはPascalより文法を緩くした実用(手抜き)言語のイメージ CやってからPascalやるよりも PascalやってからCやる方が スムーズに学習出来るのは確かだが 今からそれをやる意味はあるかは微妙 今ならPythonをお薦めする Rubyはダメ絶対
164 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 22:20:28.37 ID:iWm3nvUp.net] Pythonは嫌いだがRubyよりはマシ Rubyなんて今からやっても負債にしか
165 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 22:58:14.03 ID:ibvhlcts.net] 今Webアプリ作るならなにがいいんだろうな サーバーサイドは相当迷うよ
166 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 23:40:31.44 ID:DL4wAkQt.net] C#やろ!w
167 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 14:29:25.24 ID:a34Kc7WY.net] C#いいと思うけど
168 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 14:53:49.89 ID:io+QB1Sh.net] 『表紙に著者の顔写真が載っている本には手を出さない』これだけで驚くほどQOLが上がる…という意見に様々な感想「著者が腕組みしてる本も手を出さない」 https://togetter.com/li/1443255
169 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 22:30:04.47 ID:/W4lQx2e.net] rubyはperlの悪いとこばっかマネして無理に全部オブジェクト扱いしようとしたくそ言語だよ。
170 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 22:47:51.16 ID:gTx/lAPV.net] Perlをさんざん罵ったヤツなのに、Perlのせいにすんな! Rubyがダメだとしたら、ただただ純粋にRubyがダメだから!
171 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:35:09.97 ID:pAX2rrxb.net] JavaやPerlやPHPをクソミソに言ったツケが来てるな
172 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 07:12:04.39 ID:yAZ/jePH.net] PHP も型に厳しい方向になってて もう別言語でやって感ある 大規模開発も大事だけど 既存のコードが一番大事
173 名前:デフォルトの名無しさん [2019/12/22(日) 13:14:50.21 ID:6Us+wzVL.net] >>169 +1 ほんそれ @とかうざすぎ
174 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:50:39.57 ID:bTmhsrle.net] >>173 だから、Perlは関係ねえよ!
175 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 23:03:52.01 ID:O05uH48x.net] $とか@ってシェルスクリプトが起源だからさ PerlとかRubyはしれっと盗まないでくれないか?
176 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 20:24:56.87 ID:1fTZ/ZaM.net] @_ なんかにコンテキストで意味変わるようなものをドカドカ詰め込んだのは perlが最初だぞ。もちろん最悪のやり方だと思うが。
177 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 20:51:14.14 ID:aaAP7ysf.net] Rubyも同じようなの導入しようとして 失敗してるしな
178 名前:デフォルトの名無しさん [2019/12/26(木) 09:50:24.46 ID:qmNoWNu8.net] 賢者は歴史に学ぶ 愚者は経験に学ぶ
179 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 09:51:27.96 ID:ICbV3wFJ.net] >>178 それが正しいという根拠は?
180 名前:デフォルトの名無しさん [2019/12/26(木) 10:15:01.57 ID:qmNoWNu8.net] おまい意味判ってないやろ
181 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 10:16:34.15 ID:ICbV3wFJ.net] だからわからんからその意味を説明しろってw
182 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 10:26:37.91 ID:uIk/XshQ.net] なるほど、これが「愚者」なんだな
183 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:02:17.46 ID:3AF5y/RY.net] 「愚者は経験から学び賢者は歴史から学ぶ」←? よく分からなかったので丁寧に解説。 https://blog.goo.ne.jp/booter/e/ff3e7f69d7cfb970ce09147cb5b8b037
184 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:05:36.50 ID:V8wfE0dN.net] > 「愚者は経験から学び賢者は歴史から学ぶ」。 > 結論から言うと、これは誤訳である。 ワロタw
185 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:14:05.20 ID:/uKQZJNY.net] 歴史=他人の起こした出来事って意味がわからんやついるんだな 読解力がなさすぎるか日本人じゃないか
186 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:18:07.97 ID:V8wfE0dN.net] だからその「歴史」が誤訳なんだがな。もともとは歴史なんて言ってない
187 名前:デフォルトの名無しさん [2019/12/31(火) 19:32:08.67 ID:z/4e8Z8b.net] すみません、初学者で苦労してまして・・ Rubyxlでエクセルのテンプレートを編集したく そこで、特定のセルをコピーして特定のセルに貼り付ける 操作を行いたいのですが、ネットで検索しても全くヒットせず 有識者のかたいらっしゃれば、ご教授いただけましたら幸いです。。
188 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 20:25:07.74 ID:ozxOKIBe.net] 5ch では、マルチポストは禁止です! 同じ質問を、複数のスレに書き込んではいけません! ここで質問せず「Ruby 初心者スレッド Part 65」の方を使ってください!
189 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 20:41:41.22 ID:TaZygSKX.net] しかし、「アンチ専用」のスレで聞くかね。w
190 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 16:26:40.85 ID:AV+0j7FA.net] 愚者は経験にも学ばない
191 名前: mailto:sage [2020/01/02(木) 20:28:10.19 ID:VmmTWzwp.net] >>183 ,184 ビスマルクとは知らなかった、あのビスマルクの言葉だったとは…これは勉強になりましたね、
192 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:49:43.56 ID:Ifo0PTAe.net] 翻訳者が「盛った」んだろう
193 名前:デフォルトの名無しさん [2020/01/03(金) 10:40:11.91 ID:lHIykz7y.net] 試験では部分点すらもらえないタイプ
194 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 01:41:18 ID:HPdacZve.net] rubyXLでエクセルいじってるが 印刷範囲を設定したいときは、どのようにすればよいのでしょうか? いろいろ探しても見当たらず・・
195 名前:デフォルトの名無しさん [2020/01/26(日) 11:02:44 ID:+3DuCtIS.net] まるち
196 名前:デフォルトの名無しさん [2020/04/05(日) 16:08:20.26 ID:PRah2Hwr.net] まつもとはtraitの仕様を入れたけど そもそもなんのために入れたんだか忘れたって後から言ってる まつもとのバグはrubyのバグと言っても良い
197 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 17:30:57 ID:liJZihU7.net] 最近trait関係で何かバグった?
198 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 19:43:30.76 ID:oKEzp2HP.net] matzももうrubyやめたいんじゃねーの?
199 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 00:41:04.88 ID:qqlpdYMz.net] 生前退位するしかないじゃない
200 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 00:49:24 ID:UGXjqJtL.net] 特定の独裁者が仕切る開発はもう時代にあってないよね 言語の与える影響があまりに大きくなりすぎた
201 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 02:54:18 ID:qqlpdYMz.net] そう言えば、GuidoとかRMSは生前退位したんだっけ
202 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 19:57:19 ID:lqJgR+VC.net] >>200 独裁は必要。 でないと、決めればいいところが決まらん。
203 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 19:58:17.80 ID:lqJgR+VC.net] >>201 RMSは自主的だっけ?w
204 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 20:19:21.32 ID:Cbp9XIJ2.net] >>203 解任はされてないな
205 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 00:43:15 ID:X5vOHYGK.net] いつかLinusもしんどくなって生前退位する日が来るのだろうか
206 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 00:48:37 ID:X5vOHYGK.net] >>203 FSFの前に、Emacsは先に人に任せてなかったけ。あれもなんで降りたのかは忘れたけど
207 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 02:31:40.72 ID:xtDs1sbk.net] >>205 何年か前に、暴言きっかけかなんかで、しばらく休んでたやん? 来るべき引退に向けての予行演習でもあったんでは。
208 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 02:41:18.01 ID:8EkDixDm.net] 暴言復活したよ
209 名前:デフォルトの名無しさん [2020/04/08(水) 12:34:28.55 ID:lWfV0IAd.net] RMSもし糖尿だったらコロチャンから守ってやれよ
210 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 00:24:07 ID:V4nj16/7.net] >>207 あー、あったなあ…たしかに意図したかどうか予行演習になったなあ
211 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 09:39:55 ID:blHAWxBh.net] 右代入が酷い 俺の記憶が正しければ 末尾に追記することで変数への代入ができるのが右代入だったよな 1+2=>x がエラーになるんだがコレ何の意味があるんだ? >>196 taintのこと?
212 名前:おい!小池!!! [2020/04/11(土) 12:29:25.22 ID:YESHHzyk.net] 花よりコロナ matz.rubyist.net/20080129.html
213 名前:デフォルトの名無しさん [2020/04/11(土) 18:52:11 ID:Z+CRFteF.net] >>211 Rubyの構文解析器の気持ちになればわかるよ! 君のコンピュータに近づこう コンピュータはルール通りのことを間違いなくやる そのルールに人間が合わせればいいんだよ!
214 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 20:37:57.87 ID:38rg7boC.net] 名前のタイプミスを狙った悪質なパッケージがRubyGemsで多数公開される https://security.srad.jp/story/20/04/18/1920212/
215 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 18:35:09.90 ID:46NGSGFN.net] Ruby の使い過ぎで凋落なのかな? 2020.06.08 06:10 クックパッドの凋落、利用者1千万人減で赤字転落…人気のクラシルと真逆の方向 https://biz-journal.jp/2020/06/post_161220.html?utm_source=rss20&utm_medium=rss
216 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 03:24:02.38 ID:ms0eH1iEx] 週休3日制をさらに進めた週休4日制 https://www.k-society.com/recruit/why-four-days-off-a-week/ 採用情報(週休3日制を超えた週休4日制の正社員求人 | 副業OK https://www.k-society.com/recruit/ 2020年4月より「週休3日制」を導入。テックカンパニー化に向け、好循環を生み出すエンジニアリング組織へ https://prtimes.jp/main/html/rd/p/000000096.000016431.html 新潟から週2回東京に出勤、サイボウズの複業採用社員に聞く複業ライフのリアル。 https://www.businessinsider.jp/post-166126 兼業でフリーライター、サイボウズ社員・明石悠佳に学ぶパラレルワーク術 https://www.wwdjapan.com/articles/752575 「複業を解禁しなければ人も企業も成長しない」複業全面OKのサイボウズ社長と実践社員の本音対談 https://www.businessinsider.jp/post-33893 育休は最長6年、副業もOK! サイボウズはなぜ「100人100通りの人事制度」を作ったのか https://logmi.jp/business/articles/50252 超異例「週休4日制」の導入をSMBC日興証券社長が決めた理由 https://diamond.jp/articles/-/223832
217 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 10:25:01.72 ID:5w+mUOps.net] まつもとゆきひろのツイッターを見てRuby使うのをやめようと思った https://anond.hatelabo.jp/20201013213028
218 名前:デフォルトの名無しさん [2020/10/14(水) 11:16:18.04 ID:GsUUoEHv.net] 正解 気付くの遅い
219 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 11:24:50.05 ID:eKBY9SEr.net] 坊主憎けりゃ袈裟までで中身は無いな これに関係なくRubyはオワコンコースだと思ってるけどな
220 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 13:24:36.30 ID:rQGDkRcC.net] 作者のふるまいを気にするなら、Linuxもダメだな。 Linusは暴言家だからな。 Guidoもなんかなかったっけ? Larryはいい人そうだ。 なお、ワイもMatzはキライ。 昔、C++とPerlに言いがかりをつけていたことは忘れん。
221 名前:デフォルトの名無しさん [2020/10/14(水) 13:49:54.44 ID:OK1/udlE.net] Windows も dis ってたよ 漏れも Windows 嫌いだから良いけど
222 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 14:58:18.18 ID:c3J9iMWN.net] >>220 Linus反省したじゃん。
223 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 15:12:13.71 ID:4AmK2QjE.net] 採用や仕事でRubyは嫌いだ使いたくないという人がいて 技術的理由説明しないで作者の政治思想が 嫌いだからとか言い出したら帰ってもらうのは 間違いない
224 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 16:17:57.90 ID:z5Uy/Vd3.net] キリスト教の事を言い出したら、米国人は皆、キチガイじゃん 誰も進化論を信じていない。 人間は元から、猿じゃなかった。人間の姿のままだった 地動説も信じているかどうか、怪しい 中絶・同性婚を認めてはならない
225 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 20:36:09.48 ID:QEXq7zvm.net] 結局PythonとJavaScriptの二強になってしまったな 次点でGoか この3つの流行に食い込むのはもう無理そう
226 名前:デフォルトの名無しさん mailto:sage [2020/10/15(木) 20:07:16.15 ID:ODWTBHyE.net] Ruby3の型ヒント実装あんなのエコシステムとして成立するのか?
227 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 13:59:12.80 ID:cX3MrjsP.net] ローカル変数がちゃんと使いたいので、 Rubyからnode.jsに乗り換えようと努力している最中だったが、 node.jsはファイル関連が分かりにくい。 Rubyだとstdoutとファイルが対象になっていて、 print を fp.print に変えてやれば、ほぼそっくりそのまま動作してしまうが、 node.jsだと複雑そうだ。 あと、ファイル操作が基本的に非同期推奨なのも辛いし、非同期と同期の二系統あるので混乱が生じ易い。 複数ファイルのコピーもRubyは簡単に出来るが、node.jsだとncpという モジュールでやるが、これも非同期なので、promiseでthenやawaitを使った待機が必要になる。 しかし、それをしだすと、すべてがasync,await,thenなどを前提に書くことが必要になり、 非常に複雑になる。
228 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 14:00:01.08 ID:cX3MrjsP.net] >>227 誤: Rubyだとstdoutとファイルが対象になっていて、 正: Rubyだとstdoutとファイルが対称になっていて、
229 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 14:32:30.10 ID:8P0N3Qw4.net] >>227 その辺がサーバーサイドでは使いにくい理由だよね 従来のシステムコールとはかけ離れてる ファイルを非同期で読み取りたいケースなんてほとんどないし
230 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 16:11:52.56 ID:cX3MrjsP.net] あともう一つ、Ruby だと list の要素に対する繰り返しは以下の様に簡潔に書ける。 for elem in list do elem に対する処理; end しかし、Node.js だと、 list.forEach( function(elem) { elem に対する処理; }); か list.forEach( elem => { elem に対する処理; }); としか書けないらしく、なんだか見にくい。
231 名前:デフォルトの名無しさん [2020/10/17(土) 16:25:59.95 ID:0qFIP5N2.net] list.each{elem| elemに対する処理} 似たようなもんやで
232 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 16:35:37.45 ID:8mYxeAbP.net] >>227 streamが標準出力にもファイルにも使えるでしょ。 consoleオブジェクトに出力してる事自体がイレギュラーかと。 async awaitを使えば、thenは必要ないと思うが、混同してないか? Promise.allでコピー処理を待てば、複数ファイルでもたいしてかわらんかと。 >>230 for(let elem of list)で充足できない理由は?
233 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 16:38:07.81 ID:vimxgZ9f.net] for elem in list do elem に対する処理; end が簡潔で、 list.forEach(elem => {elem に対する処理;}); や for (let elem of list) { elem に対する処理; } が見にくいの?w 老眼では?ww
234 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 16:55:33.76 ID:4Rsat8LS.net] Rubyでforループ使うか普通? 特殊なポリシー持ってるか全然使ってないのでは
235 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 23:07:29.03 ID:3hrMdhxe.net] >>233 ほんの些細な違いだろうという指摘は理解したいけど、楽しく書ける(= 思考を妨げない)ことをポリシーとしている Ruby に慣れ親しんでいると、そんなことも気になってしまうんだよなぁ xs.each { |x| # スコープを作る(関数型スタイル) x に対する処理 } または for x in xs # スコープを作らない(手続き型スタイル) x に対する処理 end それが JavaScript になると: ・なぜ丸カッコと波カッコを入れ子にしなきゃいけないのかなぁ どちらか一つでいいはずだし面倒くさいよね? xs.forEach ({ x => # スコープを作る(関数型スタイル) x に対する処理 }) ・なぜ変な予約語 let が必要なのかなぁ、あってもいいけど蛇足だよね?(>>232 ) for (x in xs) { # スコープを作らない(手続き型スタイル、従来からある構文) x に対する処理 } または for (let x of xs) { # スコープを作る(一見関数型に見えるが、手続き型スタイル) x に対する処理 } もちろん JavaScript が「後方互換性の維持」を厳守しつつ、機能(構文と意味)を発展させてきた成果は大いに評価している とはいえ、「老眼では?ww」という批判は、ちょいと低俗で低レベルな発言ではないかと思われ もっとも客観的には >>230 の注文が高尚すぎて(w、他言語ユーザーにはあまりにも厳しすぎるだろ、とは感じてる
236 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 23:31:58.39 ID:8P0N3Qw4.net] >>235 あとfor inをプロトタイプ汚染されたオブジェクトに対して回すと恐ろしいことが起きるから基本的に非推奨だよ 書き方多過ぎるしアロー関数のthisの違いなど もはや罠が多過ぎて初心者に勧められる言語ではないと思う
237 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 23:35:51.32 ID:cI54o2aO.net] 好き好きとしか。 個人的には、C#とかC++(最近版)とかの論理的整合性のほうがはるかに。 Rubyも、えらそうなわりに、細かいところでいいかげんなところがちょくちょくあるんだよなあ。 えらそうでなければあまり気にならなかったのにな。
238 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 23:57:03.67 ID:vNzukYIq.net] そういう文法の癖をあげつらう方向なら Rubyも出てくると思うぞ
239 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:04:38.13 ID:xWXtsYNK.net] >>235 > 一見関数型に見えるが、 どこが?また半可通か。forで関数型とかあり得ないだろマヌケ。知らないなら黙ってろよww
240 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:06:56.33 ID:4X85KByZ.net] >>236 >あとfor inをプロトタイプ汚染されたオブジェクトに対して回すと恐ろしいことが起きるから基本的に非推奨だよ あえて触れなかったのですが、こう書くべきでしたね for (x in xs) { if (xs.hasOwnProperty(x)) { x に対する処理 } } 以下より引用:JavaScript: The Good Parts - 良いパーツによるベストプラクティス, C.10 for in 文, p140 >>237 >細かいところでいいかげんなところがちょくちょくある 同感ですね、自分もちょくちょくあります そういった事柄はこちらで遠慮せずに発言されてはいかがでしょうか?
241 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:14:51.55 ID:dOGGkbZr.net] Rubyはバグりやすい言語だよ。 ・型安全でない ・前後の文脈を見ないとその部分単体ではローカル変数とメソッド呼び出しの見分けがつかない書き方ができ、しかもその書き方(メソッド呼び出しに()付けない)のほうが主流 ・reduce/inject、map/collectのように同じことするメソッドの単なる別名と、Array#delete_if/Array#reject!のようにほとんど同じなくせして削除失敗時だけ挙動が異なるみたいなべつものメソッドが入り乱れててカオス ・Procオブジェクト(手続きオブジェクト)を作る方法が多すぎ。しかも作り方で挙動が異なる。Rubyの書籍を書いた人でさえ頭を抱える始末 ・簡単に「見せかける」ために省略記法を行き当たりばったりで導入しまくった副作用で、直感的な記述が逆にエラーとなることが多い(例: p {foo: 1, bar: 2}はエラーwブロックとして解釈されるため) まだまだあるよ
242 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:16:28.10 ID:dOGGkbZr.net] Rubyは最も一般的な方法で定義した関数(関数じゃないw)が値として取り回せない(第一級関数でない)クソ言語wwwww def add(a, b) a + b end def opTwo(a, b, func) func(a, b) end p opTwo(1, 2, add) => Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError) from t.rb:9 プギャーm9(^Д^ ) ちなみにPython: def add(a, b): return a + b def opTwo(a, b, func): return func(a, b) print(opTwo(1, 2, add)) => 3 ちなみにJavascript: function add(a, b) { return a + b; } function opTwo(a, b, func) { return func(a, b); } console.log(opTwo(1, 2, add)) => 3
243 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:20:52.55 ID:dOGGkbZr.net] でもまあRubyのどこが、なぜダメかってのをよく整理しながら考えることはそれはそれで勉強にはなるな。 何年か前の記事だが大変分かりやすい。 日本誤訳 https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/ 英語原文 https://blog.abevoelker.com/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
244 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:21:59.27 ID:2DM4LMSp.net] >>242 まあそこは言語の特徴だから そういう用途にはブロックを使えってこと 関数呼び出しに()が必要じゃないのはDSLを書くためには優れた仕様 他の言語で言語内DSLは実質不可能
245 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:28:17.88 ID:Xfoy2gzb.net] 明らかに他の言語どころかRubyの理解も 怪しいのがわかる
246 名前:デフォルトの名無しさん [2020/10/18(日) 00:28:24.01 ID:oU6L/1KQ.net] 大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】 https://foodfun.jp/archives/3490 誰でもカンタンにオンラインサロン・情報配信ができる便利アプリ【TOUKU(トーク)】が登場 https://prtimes.jp/main/html/rd/p/000000001.000061569.html 中学時代の車いす生活から、17歳で起業するまで https://www.advertimes.com/20200130/article306925/ ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家 https://roboteer-tokyo.com/archives/14840 自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣 https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life アプリの視聴率がわかる 高専卒起業家の独創力 https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/ 1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー https://sogyotecho.jp/glowship-adachi-interview/ まだ22歳の学生社長が得た、23億円の「使い道」 あの橋本環奈をCMに使うバイトアプリの雄 https://toyokeizai.net/articles/-/319511
247 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:32:03.16 ID:4X85KByZ.net] >>234 自分はすっかり関数型プログラミングに慣れてしまったので、近頃だと for/while 文を 使うのは、古い Pascal や Perl のコードを Ruby へ写経(移植?)する時くらいですかね ちなみに Ruby のブロック構文ですが、副作用がなければ波カッコ { … } で、 副作用(破壊的代入やI/O処理)があれば do … end と使い分けています 以下は定石(パターン化した)コードの雛形(スケルトン)です result = xs.select { |x| … }.map { |x| … }.inject( … ) { |acc, x| … } xs.select { |x| … }.map { |x| … }.inject( … ) { |acc, x| … }.each do |x| … # 副作用(破壊的代入やI/O処理)を含む処理 end 具体的なコード例はこちらへ:https://ideone.com/PKMUhx また、関数型プログラミングに興味がある方は以下をお読みください ・Rubyによる関数型プログラミング xtmlab.com/misc/FPwithRuby.html
248 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:35:23.34 ID:xWXtsYNK.net] ブロックとProc.newとprocとlambdaと->があるRubyはやり過ぎ
249 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:42:04.28 ID:dOGGkbZr.net] rubyの可読性は高くない。 pythonの「書きにくく読みやすい」と比較して「書きやすく読みにくい」と言われる。 そうなってしまう理由はたくさんあるが、ひとつのことをするのにやり方がたくさんあるというperlとかいう糞言語の信条をそのままパクってしまってることがひとつ。 またよくも悪くも設計が完全なオブジェクト指向にこだわっており、 javascriptなら関数ひとつで実現できることがblock、proc、lambdaと酷い有り様になっている。defで簡単に定義できまーすとかまさに初心者騙しもいいとこ。 また、流行り機能の無節操な取り込みが酷い。記号が足りなくなり、例えばオプショナルチェーンは他言語が?.のところrubyでは&.である。phpで文字列結合が"foo"+"bar"ではなく"foo"."bar"であるようなキモさ。 あとpythonと比べ多分野の優れたライブラリがない。あってもメンテされてない。作ってるやつが実用主義ではなく趣味だから。rubyでもできる!って言いたいだけ。よくも悪くもweb分野、しかもrails使うというやつ以外にはおすすめしない。 事実上rails専用言語。railsのDSLとして以外に存在価値はない。 初心者に勧めるなんてとんでもない。
250 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 00:57:58.47 ID:xeOKOt4d.net] >>232 >streamが標準出力にもファイルにも使えるでしょ。 どうやればいいの? 出来ないと思うけど。
251 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 01:05:21.49 ID:xeOKOt4d.net] Rubyは簡単に出来るのに node.jsは単独でディレクトリのコピーすら出来ない。 行うためには、 1. copySync()を使うためにはfs-extraモジュールのインストールが必要だが npm install -g fs-extraででインストールしても環境変数NODE_PATHに パスが通ってないため最初は使えず混乱する。 じぶんのためだけならいいが、作ったjsプログラムを初心者に使ってもらう のはこれだけでも不可能となり、一般人への自作プログラムの配布は絶望的となる。 2. copy、xcopy、robocopyなどの外部コマンドを呼び出せればコピーできるが、 RubyならC言語の伝統的なsysytem()関数をより強力で便利にした関数をサポートしている が、node.jsはしておらず、非常に使いにくいexec()やspawn()関数を非同期で使わなく てはならない。 以上により、node.jsは自分用としては使えるが、一般人に作ったプログラムを 配布して使ってもらうのは絶望的といえる。
252 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 01:10:26.15 ID:cCnPRoH8.net] >>235 eachがどう関数型なのか知りたいんだが。 mapならわかるけど。 ただのイテレータだろ。 その中括弧要らないよ。なんか勘違いしてない?