読ませてもらって、タイトルの言い回しが悪かったなぁと思う記事だった。読ませてもらって、タイトルの言い回しが悪かったなぁと思う記事だった。PM自分はバイクに乗るのですが、いきなり大排気量の何もしなくても速いバイクに乗っているが、基本が無いが故にイレギュラーに対処できず、逝ってしまった友人が数人います。いった不幸な事態を防止するための苦言だと認識しました。ありがとうございました。返信Ruby習得のためのローカル開発環境を準備した。PMwebアプリケーションを作るための前提知識やライブラリがここまで多くなった近頃なら、むしろrailsなんかを使って「とりあえず作る」から始める方がいいと思うけどなあ。バラバラに知識を入れていって、ふわっと理解してから細部を調べていく方が挫折しにくいし学習速度が速いと思う。AM非常に気持ちがわかります。これはフレームワーク全般に言えることですが、「これをこうすればこうなる!!」と理解できますが、なぜそうなるのか分からない状態です。Railsを扱って超便利やん!!と思いますが、プログラムを初めて扱う人にはまったくチンプンカンプンだと思います。PMフレームワークのウリで必ずといっていいほど、「プログロム知識がなくても作れる」的なブラックボックス化の度合いを示した言葉が書かれてるけど。あれもどうなんでしょうね。最初に動くもの作れて、そこからプログラムに興味をもってもらってってのも凄く大事だとは思いますが。PMRailsは基本的に言語自体のメタプログラミング等、高度なテクニックとネットワークやデータベース・CSSやJavascriptまで熟知していなければ、使いこなせないほど、Rails自体やその周辺のGEMも高級なテクニックが利用されています。要するにとんでもなくBlackBoxになって恐ろしい(素人は感じないと思うが)単純にRailsを使う範囲では良いのですが、本当に使いこなすという意味では、Railsなんて勉強しても意味が無い。使いこなすには、かなりの学習が必要だと思うし、その学習はRailsなんて勉強しても身につかないと思う。PMはじめまして古い記事ですが、探し物をしていてたどり着きました。記事・コメントとも全て読ませていただいた上での感想です。『プログラミング初心者は安易にFWに頼るべきではない』という主旨には賛意を示します。【現段階においては】という但し書きつきですが。一時期のコメントが噛みつきぎみだったのは、『プログラミング初心者の学習としては』という主旨が記事から伝わってこなかったから(コメントまで読むと分かりますが)なので、問題ないかと。これって結局、【終端条件のない再帰下降】なんですよね。書いていて原因不明のバグに悩み、ついにRuby自体のCソースを読んだら言語自体のバグだったことがありました。Cの時代)には、Cのポインタで躓いている初心者に対して『やっぱアセンブラ知ってないとねー』というベテランもいました。『だったら、アセンブラまで遡れよ』ってのは極論。いうひとたちがいます。マイクロコードを書いているような人たちです。さかのぼれば、トランジスタで加算器をつくるところまで行きつくでしょう。逆方向を考えると、遠くない将来『え?フレームワークなんて、***低レイヤ***こだわらなくてもいいじゃん』な時代が訪れる可能性もありうると思います。【どこからはブラックボックスでいいか】は、時代とともにどんどん変遷していく。フレームワークなんじゃないの?』というのが私の感想です。使うな』まで言うと思います。車輪を作ってみるべきです。三角な車輪が出来てガタガタと乗り心地の悪くすぐ壊れる車輪になるでしょう。そこから学ぶことはとてもとても多いと思いますよ。すみませんが、mailaddressは記載したくない事情があるのでダミーになっています。PM昔のトピックですが、主張には全面的に同意します。......日本語入力に頼り切らずに、「やめる」を国語辞典をちゃんと引いてください。このトピックの紛糾ぶりの一端は「辞めてほしい」というあまりに刺激的なタイトルの誤変換によるものではないでしょうか?基本を知らずにフレームワークに振り回されて碌でもない結果になるっていうのと重なってみえます。PM8bit機のVisualではないBASICから入って、機械語からJavaやPHPなど一通り経験を持つ者ですが、入門としてはフレームワークありきで良いと思います。その先の思考停止がなければ、ですが。プログラミングは言語ではなく物事を組み立てる力です。理解しやすいところから始め、徐々に細かいところを覚えていくのがいいのではないでしょうかね。単なる言語ヲタクだと、特定の言語やフレームワークがなければダメという事態に陥りますので、そういうのは元からプログラマに向いていないだけと思って諦めてもらいましょう。AMかなり昔の記事ですが、面白いテーマなのでコメントさせて頂きます。多かれ少なかれ、自分の作ったソースコードを何回も試行錯誤して作り直したりしていると、自分なりの定石って出てきますよね。やったら保守性が上がるんだろうとか、なるべく疎結合にしたり。苦労の結果身についた定石って単なるテクニックじゃなくて、思想が伴うから応用が効くと思います。フレームワークっていうのはそういった知見や定石のアウトプットの集合体だと思います。使ってみたら開発が早い反面、初心者にはなぜそのように作ってあるのか、どんな課題を解決しているのかが汲み取れないことがあるも多いと思います。この記事は、初心者がフレームワークを使って開発するのが当たり前になってしまい、その思想やプロセスをたどる機会が後回しになってしまうことを危惧しているのではないでしょうか。試行錯誤して綺麗で保守性のあるコードを書くこと、自分なりにどんな設計が合理的なのか追求することもプログラミングの一つの醍醐味だと思います。これはオブジェクト指向やMVCの考え方とも似ている気がします。最初からJavaだと、手続きとデータをひとまとめにすることを、言語の制約として厳密に定めることがどれほど保守性に影響を与えるかが分かりません。試しに自分でオブジェクト指向を使わないでグローバル変数ばっかり使ってそれなりのWEBアプリケーションを書いてみればどれだけ苦労することやら。いった経験こそが大事ですよね。議論が複雑化してしまうのは、ブラックボックスの話が混ざってしまっているからだと思います。これに関して、コンピュータやプログラミングに限らず、物事を効率的に進めていくにあたってブラックボックス、あるいはホワイトボックス化を行うことは、どんなケースでも自明の理ですよね。通常、WEBアプリケーションを扱うエンジニアが発生した問題によってはフレームワークのソースコードの中身を確認しなければならないケースは割とありますが、アセンブラやハードまで扱うことはほぼありませんよね。その意味ではフレームワークを扱う人は最悪中身を読めるひとが扱うべきとも思います。PMRailsが、存在を忘れてしまうくらいパーフェクトに動いてくれるのなら、Rails上の開発で全く問題ないが、経験値を持たない場合は、全くそうじゃない。初心者の場合は、治しようがないから、あるいは治しても時間がかかるから、ネットで断片の情報をかき集めて、gemなどバージョン変えてインストールし直したり、あてもない作業を延々と繰り替えして、やっとできたみたいなことになる。この作業は「開発」とは言えない。私も開発経験は(かなり昔になりますが)ある人間ですので昨今の「すぐできる!」「未経験者が2か月で仕事をゲット!」というWEB記事に違和感を覚えています。web開発の進展の速さのため深刻な人材不足が発生している問題は私も耳にしました。rails」は便利なツールだと思います。基礎を飛ばして「いきなりフレームワーク」は確かに、後々困ることがあると思います。感じたのでコメントしました。私はこの記事を書いた管理者さんと同じ考えです。railsって、ユーザと意見調整するとき簡単に画面作ってイメージ持ってもらう時楽かなと思い色々調べている最中にこの記事を拝読しました。私も超大昔は開発だったので、管理人様の言われることは、私的には「(ブラックボックス化されたものは置いといて)「ある程度」仕組みを理解しておかないと、なんかあった時に対処(解決)できなくなるよ。人様に納得のいく説明できないよ」と理解しました。おっしゃる通りと思います。その機能がどんな動きするのかソースをある程度追ってから使ったらいいんじゃないのと言われているのかと思って拝読しました。「ある程度」は人それぞれですが、内容知っておかないとその感覚もつかめないわけで、そのためには中身を知る努力はしたほうがいいと私も思います。サト様の言われていることもごもっともと思います。仕事で使うことのなるんだから、プロとしてある程度理解しておかないとと思いました。この記事にあるように、railsだとwebサービスの本質は十二分には学べません。AM言い方とタイミングも大事だと思います。すばらしいアドバイスもこれらを間違うとただのおせっかいや嫌味になってしまいます。PM気に入らない意見があるととりあえず突っかかる池沼が多いね。RAILS”と書く人はおそらくプログラマーではないでしょう。半角スペースと全角スペースがどうして混じってしまったのか。PM筆者さんもそうだが、皆、どれだけ間に受けているんだか。「ウチの案件は、フレームワークこれこれですんで」って言われてやったことありませんでは案件取れないでしょ!「フレームワーク勉強してます」なんて、そういう面接の場の言い訳でしか聞かないよ。書くことないけど、無理矢理ネタを捻り出しただけでしょ。これ見て、目から鱗です!気を付けます!なんてどれだけいるんだよ。言わなくても分かってるって。AM『これからプログラミングの勉強を始めますという人から』の話なので、案件を既に他のプログラミング言語でやっている方については全く言及をしておりませんのであしからず。ORMのありがたみもわからなかったと思いますね。PM広告にある本を買えばよろし。9月末からテックエキスパートに通っているものです。Railsについて理解が深まりました。ありがとうございました。今後意識しながら学び、使いこなせるようになれたらと思います。PMこれから勉強する人に向けて書いた記事で辞めろって、人に指図するのってどうなの?建設的にこうしたほうが良いって書いたほうがいいんじゃないの?それにレスで問題が起きるコードを実行しろと言っててメチャクチャ。AMもっと覚えることが少ない、すぐ動くものが、プログラミング自体が初めての人には向いていると思って書いた記事です。手を出す気にはならなかったな。なんでかというと日進月歩で変わるWeb技術の、しかも最も流行り廃りのあるWeb系のフレームワークを習得する学習コストの高さが、怖かったからだ。結局、最近、Windowsプログラミングを学習して、まあそれなりのものは作ったな。オブジェクト指向仕様の文法はちゃんと使って。プログラミング歴は浅いが、工学系の学校にいたせいか文法仕様自体は特に難しいものではない。経験値が低いうちは、レベルの低い部分の文法仕様しか使えずに(使う発想がない)、汚いコードになるが、意識的に使うことを念頭においてたら、そのうち使えるようになった。1つの言語を集中的にやったほうがええね。学習する年齢が遅かったから、もういくつもの言語に手を出す気がないだけなんだけど。それでもプライベートでWeb系の御用を頼まれることがあって、しぶしぶ働かない脳みそにムチを打って、新しくJSとかPHPとかやってる。JSはJqueryを使ってるが、PHPは標準ライブラリだけで書いてるな。年だからフレームワークとかインストールするほうがめんどうなんよ。AM私はWindowsプログラミングを最初に短期集中的に覚えたから、その経験ですが、やっぱり最初は1コを集中的に、しかも「文法仕様をある程度使うような」「人に有難がられる(必要とされる)作品」をネタに、習得するのが一番いい気がします。具体的にいうとライブラリの作成ですね(私の場合WindowsなのでDLL)プログラミングの初心者は、まずライブラリの作成をお勧めします。ライブラリと言うのは「プログラマが使うプログラム」みたいなものですので、アプリと違って「動けばなんだっていい」じゃダメで、インタフェースこそがキモです。結果的にある程度の文法仕様を使うハメになります。最近、割り込み的にWeb系のことを頼まれてJSやPHPにも手を出し始めましたが、とりあえず汚いコードを書き散らかして、「動くものありき」で進めてますね。アプリ(またはWebサイト)だと、頼んだ人は「動けばいい」わけですから、あんまり勉強にはならないんですよね。頼まれると「早くしなきゃ」と思うし。いいつつ、そのなかでも悪あがきをしてリファクタリングとかやってますが。AM職業がプログラミングと全く関係なく、お仕事のように「はよう動かせ!」のプレッシャーがないからこそ、焦りが無く、基本的なところから学習し、短期的に得れたのだと思います。関数を突っ込んだり、それの延長で、何も身につかなかったかもしれません。新規学習には「ゆとり」が必要です。AMこれは個人的な経験ですが、職業でプログラムをやったことがなく、新しく学習使用としている人には、「文法を確認する程度の作品」ではなく、それなりに人が求める、それなりに時間をかけて作るソフトの作成を勧めます。自信につながるんですよね。いまホームページにWeb系のショートコードを備忘録代わりに書いてアップしてますが、やはりこれの繰り返しだと、自信にはなりません。ソフトを作ると成ると、文法学習というより、とにもかくにも(私のような初心者の場合)デバッグ時間が大半を占めますが、その過程で、「今まで時間をかけて書いてきたが、どうも汚いな」とかいって、作り変えたり、そういった繰り返しで、だんだん「目が慣れて」きます。この場合、肝心なのが作るソフトの題材の設定です。拡張することで、より需要に答えられるような題材を設定することが、モチベーションにつながります。すると仮に便利な高度なフレームワークがあっても、「コードのスタイル」を崩したくないから、むしろ利用したくなくなるかもしれません。AMメンドークサがりやで工学系の学校に居たくせに、プログラミングというのを一切しようとせず逃げまくってきたようなタイダーな私だが、それでも新しく学習したときは会社が終わって18時過ぎぐらいには(当時自宅にネット環境がなかったから)ドトールコーヒーに直行し、「前日わからんかった情報」はネットでサクっと仕入れて、あとはドトールがしまる21時まで、そして家に帰って0時まで(5時間以上)休日は朝から晩までとはいわないが、最低でも5時間、だいたい10時間以上は必ずやってた。その大半はデバッグで、別に新しく覚える時間ではないが、やはり時間を掛けないと物事は覚えられない。集中したらとまらなくなって、そのまま不眠で日曜日の朝(30数時間)連続でやってることとかザラにある・・・。(ちなみに仕事で産業用制御プログラムを書いたときは楽しくて連続で40時間以上ぶっつづけでデバグしてたこともある)意識高くて1000万円プレーヤーになる、とか言ってる人たちは30数時間とか、連続でやってるのかな。AMフリーランスエンジニアの人月単価がだいたい80万円〜120万円ぐらいなので、普通にプログラミングできる人、なら売上1000万円年間はすぐいきますよ。給料として年収1000万円の壁は高いですが。AMコードは書き始めるととまらなくなり、体調崩すから、週に3、4日程度だな。出社この日は帰社後にすぐに睡眠(全く、寝ないと死ぬので)↓その翌日から同じことの繰り返し・・1日おきにこんな生活をやってたら、「短期集中」でおぼえられますよ。応用的なものから始めて基礎的な方向に進んでもいいと思う。Railsを学んだあとにSQLを学んで、Railsでやってたあの処理ってSQLではこの処理だったんだと伏線回収的に学ぶのもよい。自分がちょうど心地よいと感じるレイヤから学んで、興味のある方向に進んでいっていいと思う。PMいまレイルズチュートリアル10章まで進めたプログラミング初心者です。初心者ながら、記事の内容に同意します。基本ができていないのに応用ができないのと一緒で基本的なプログラミングスキルが足りないのに、フレームワークを勉強しても限界があると思います。使いこなせるようなるためには、なにをどう勉強すれば良いでしょうか?初心者にとって、rubyを学んですぐにrailsというのは飛躍しすぎな気がします。rubyとrailsの間にはなにが必要だと思いますか?よろしくお願いします。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。日本を元気に、世界を元気にしたい。高校の弱小放送部で全国大会に出場出来たズルい方法カケホーダイは必要か?電話vsスマホアプリ。