主要な目的がそのフレームワークに依存することである場合、コア言語の基本を過去に学習することは有益ですか?[閉まっている]


10

これは「[ ここにフレームワークを挿入 ]に進む前に、[ ここに [ プログラミング言語をここに挿入 ]をどれだけ知っておくべきか」ということではないことに注意してください。私が知りたいのは、プログラミング言語の高度な概念を学ぶことは、ほとんどの場合そのフレームワークに大きく依存することを意図している場合にどれほど有益かということです。たとえば、私はjQueryを使い始めて、最初にJavascriptのコアコンセプトを本当に理解するために時間を割きました。さらに、基本的な以外のいくつか(たとえば、Javascript忍者の秘密)を棚に置いて、その言語を本当に詳しく調べています。ページをざっと見てみると、かなりの部分がjQueryに引き継がれないことがわかります。私の主な目的はDOM操作です。

RubyとRoRについても同じことが言えます。これらの本は、全体として私をより良いプログラマーにしてくれるでしょうか?多分。これらのトピックは、そのフレームワークで私がそれをはるかに良くするのに役立ちますか?それは私が理解するのに苦労しているものです。


7
デバッグの際に、カーテンの向こうで何が起こっているのかを理解すると役立ちます。それ以外は、必要に遭遇したときに新しいことを学ぶことがほとんどで、楽しんでいます。
marczellm 2014年

2
私はこれについてマルツェルムのようなものです。私の一般的な態度は、自分の人生で生成できるコードは非常に多く、言語、方言、フレームワークは、コードを書くよりも基本的に速く出てくるというものです。すでに複数の言語とフレームワークを使用できる場合は、それらを常に知る必要があるか、または知りたいという基準で学習する必要があります。
Panzercrisis 14年

私は、このことを言うだろうIS別の「どのくらい」質問-それは確かにそのaはあなたの正確な状況に応じて規模をスライドということです同じ答えを持っています。
jmoreno 14年

jQueryは少し特殊なケースです。そのほとんど別のドメイン固有言語がJavaScript内に埋め込まれています。(ほとんど静かですが)。この特殊性のために、この質問はjQueryとJavascriptについて(jQueryとjavascriptが単なる例ではなく)具体的に記述されているのではないかと思います
Lyndon White

回答:


27

フレームワークを研究することよりも言語を研究することの方が重要です。言語を上手に学習すれば、フレームワークを上手に利用できます。

重要度の高い順に(最も重要なものが最初):

  1. 基本的なプログラミングの原則-アルゴリズム、データ構造など
  2. 言語パラダイム-OOP、機能など
  3. 言語機能。
  4. 構文とフレームワーク。

2
できれば、これについて多くの賛成票を投じます。プログラマーは、知らないことにより、高度な作業のための設計と機能の両方が制限されます。
Peter Smith

8
5.慣用的なコード。他の人のコードを読んで、この特定の言語のスタイルを学んでください。
ジョシュアテイラー

5
@JoshuaTaylor私はそれをフレームワークの前に重要視したと思います。慣用コードはフレームワークで使用される可能性が高く、それらを個別に学習する方が便利です-言語イディオムはフレームワークの一部ではなく、フレームワークのユーザーはおそらくさらに追加
イズカタ

それは私の個人的な偏見を確認するので賛成です。それにもかかわらず、あなたのソースをお願いします。
アーロンホール

5

もちろん。問題は、「その利益は時間を投資する価値があるか」です。それは常にそうであると私は主張しますが、それは利益(環境が知識からどれだけ得られるか)対コスト(学習にかかる時間、そしてどれだけうまくいくか)に影響するので、確かにあなたとあなたの環境に依存します。知識を吸収する)。

なぜそれが有益だと主張するのですか?いつもフレームワークにいるわけではないからです。最も包括的なフレームワークでさえ、依然としてより大きなエコシステムの一部です。jQueryを単独で呼び出すことはできません。スクリプトをページにバインドする方法、スクリプトの実行方法、スクリプトが目的のものとどのように相互作用するかを知る必要があります。それはあなたの本の「基本」かもしれませんが、より深い知識がコードをより速くし、確かに問題をより速くデバッグするのに役立つことをいつも発見しました。フレームワークかどうか。

それ以上に、現実の世界はプログラマーに侵入する嫌な癖があります。もちろん、今日のタスクはDOM操作を行うことかもしれませんが、明日はSWFObjectを接続する必要があるかもしれません。優れた基盤があれば、変化する環境に簡単に適応できます。

最後に、DOM操作のみを行いたい場合でも、単独で作業するプログラマはほとんどいません。同僚はおそらくプログラミング言語でより高度なことをするでしょう。あなたはそのコードを読むことができる必要があります、または少なくとも、それを台無しにしないでください。


1

おそらく、あなたが学ばなければならない量で少しバランスが必要です。全部ではないので、できるだけ時間をかけてください。フレームワークに依存することで、受け入れようとしているリスクを自問する必要があります。

必要なのは、Minimum Viable Productを稼働させることだけです。巨大なパフォーマンスや複雑な要件が必要になることはありません。これは、ビルドしようとしているものを処理できるフレームワークを選択したことを前提としています。

スペクトラムの反対側は、かなり大きく複雑なアプリケーションで作業していて、フレームワークがうまく処理できないものを見つけた場合です。大したことではないので、JavaScriptをもっと学ぶ必要があります。最初から学んだら、その時間を費やす必要があったでしょう。でも時間はありますか?時間通りに仕事を終わらせないというストレスの下で、基礎を学ぶことができますか?誰もそれに答えることはできません。

それをバランスさせることがおそらく最善の策です。自分のペース。可能であれば、JavaScriptを学びます。あなたは専門家になることはできませんが、それを無視する理由にはなりません。フレームワークは、あなたと同様の問題を解決する必要がある人々によって作成されましたが、あなたとまったく同じではありません。


1

コア言語を十分に理解する前にフレームワークを掘り下げることに苦しむ一般的な領域は、パフォーマンスです。これは、すべての言語/プラットフォーム(Hibernate n + 1選択など)に当てはまります。以下は、パフォーマンスに関連するコア言語の十分な知識に(とりわけ)依存するJQueryのヒントとテクニックの多くです。

各ネイティブ関数の代わりに使用は、ヘルパー関数よりも常に高速です。JSONとして受け取ったオブジェクトをループ処理するときはいつでも、JSONを書き換えて、ループを簡単にできる配列を返すようにすることをお勧めします。

クラスの代わりにIDを使用するライブラリの動作のため、IDでオブジェクトを選択する方がはるかに優れています。jQueryはブラウザーのネイティブメソッドgetElementByID()を使用してオブジェクトを取得し、非常に高速なクエリを実現します。


0

あなたの質問は誤った前提に基づいていると思います。まず、フレームワークに依存するつもりだと言ってから、フレームワークを超えて学ぶことが有益かどうかを尋ねます。もちろん、あなたはそれが価値がないという結論に達します。しかし、その前提には欠陥があります。フレームワークの使用に焦点を当てるべきではありません。適切な仕事に適切なツールを使用することに集中する必要があります。jQueryは特定のタスクに本当に優れており、Ruby on Railsやその他のフレームワークにも優れています。しかし、それらは常にすべてに適したツールとは限りません。フレームワークを超えて言語について学ぶこと、さらには他のフレームワークやマイクロフレームワークや他のツールについて学ぶことは、フレームワークが助けている以上に邪魔になるときを特定するのに役立ち、他のものを探す能力を与えます、

だから私の答えは、「はい、フレームワークはすべての仕事に適したツールではないので、それは絶対に価値があります」です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.