自分に言語を教えるのに最適な場所はどこですか?


13

プログラミング言語はまったく知りません。私は独学しますが、最も基本的なレベルから学ぶことができる最適な場所を知る必要があります。言語を学び始めるのに最適な場所はどこですか?最初に学ぶのに最適な言語は何ですか?最初にRubyを学ぶのはばかげていますか?

ここで、私は高等言語のいくつかを学ぶことはあなたがそれらを最初に学ぶならばあなたを「怠lazにする」ことができると言う誰かに出くわしました。とりわけRubyのように。

私の母国語については、夫が(彼自身の個人的な興味のために)Rubyを学ぶことを勧めています。ただし、開始方法と最初に学習する言語について、独立したアドバイスが必要です。最終的にはRubyを学び、次にRailsを学びます。

4か月前、私の夫は客観的なCのテキストを注文しました。私はひっくり返り、それは明らかに私が来ている場所よりも進んだ場所で始まっていた。

Rubyのチュートリアルに手を出しましたが、わかりません。私が入れているものは自分が手に入れたものですが、それが何につながっているのか理解できません。最初にすべてのルールを知る必要があります。その後、コンピューター言語を調べて、バイナリコードの調査を開始しましたが、これは大いに役立ちましたが、どこから始めたいかはわかりませんでした。私は今まで(4人の子供と)人生に戻る時間があまりありません。私が学校に行くなら、それは違うでしょう。

アドバイスをいただければ幸いです。


言語を知らず、Stackoverflowを一度も訪れたことがないと仮定した場合、このWebサイトをどのように見つけましたか?また、最初はバイナリコードを学習する必要はありません(これまでにない)。

@Sergio:HubbyはおそらくOPがここに来るように勧めました(Rubyを既に知っているように聞こえるので)。バイナリコードは、アセンブリを勉強するのに適しています(プログラミングに真剣に取り組む人なら誰でもやるべきだと思いますが、自己学習型の場合は最初は正しくないかもしれません)。
FrustratedWithFormsDesigner

@Frust:アセンブリを学習し始めたばかりの人を思い浮かべません。

2
どのRubyチュートリアルを使用しましたか?私はRubyのなぜ痛いガイドが好きでした。mislav.uniqpath.com/poignant-guide
FrustratedWithFormsDesigner

1
@セルジオ:ああ、私は検索したときに自分でサイトを見つけました:言語を学ぶための最良の方法は何ですか。私の夫はフロントエンドのhtmlと彼の仕事に必要なものを知っているだけです...速度?彼はプログラマーではなく、ソフトウェア会社の製品マネージャーです。彼には忍耐がありません(しかし彼は愛されています)。言語で何が起こっているのかを知る必要があるため、バイナリコードを確認したかったのです。他の言語を構築する言語など。コンピュータはどのように「取得」するのですか?彼は私の質問に答えることができませんでした。
lorindaapps

回答:


2

Rubyは長期的にはあなたを失望させません。頑張って!あきらめてはいけません!

楽しい紹介が必要な場合は、Hackety Hackを試してください。また、なぜ幸運がこわばるのかを尊敬しています-tryrubyとWhy's( poignant )Guide to Rubyをもたらしたのと同じ男。彼はまた、2009年8月にインターネットから不思議なことに姿を消しましたが、私は脱線します。

Hackety Hackはプログラミング経験がないことを前提としています。バタフライネットと同じくらい楽しいです。試してみる。ああ、00000と1111111で実際に何が起こっているのか心配する必要はありません。それは重要ですが、最初に何をすべきかをコンピューターに伝えることに慣れたいと思います。なぜそれを聞くのかを心配することなく周りに上司。トースター、遺伝子組み換え食品、気分を変える化学物質など、あなたが使用しているが、それらがどのように機能するのかが明確ではないすべてのものについて考えてください。


興味をそそる...私が読んでいたバイナリは、2009年に彼からも行われたサイトでした。うーん。うーん。返事をありがとう...誰もが情報にとても寛大でした。私が見つけたサイトを教えてから、夫はくすくす笑っていました。彼は素晴らしい答えに感動しました!私はそのような環境に優しい質問を持っているので、私は簡単にショックを受けたかもしれません。とてもうれしい...これは素晴らしいコミュニティでなければなりません!
-lorindaapps

6

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

MITのコンピューターサイエンスコースの紹介をご覧ください。彼らはpythonを使用し、教科書も無料で入手できます。

http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

スタンフォードのイントロも見ることができます。コース。Javaを使用します。

http://www.youtube.com/watch?v=zmYqShvVDh4

最後に、Cal-Berkelyのイントロコースも見ることができます。私は彼らがSchemeや他のLisp方言を使っていると信じています。


2

なぜプログラミング言語を学びたいのですか?それぞれに異なる目的があり、特定の概念を他の人より教えるのが上手な人もいます。ソフトウェアを開発したい、またはコンピューターサイエンスのより理論的な側面について学びたいですか?大きな違いがあり、どちらを選択するかによって、どのように進むべきかが決まります。

低位の概念を簡単に理解できたように聞こえるので、Cが優れた導入手続き言語である場合があります。今日では実用的な意味では関係ありませんが、これは私が最初に学んだものの1つです。ダミーのためのC私が持っていた本は非常に、非常に基本的なレベルから言語を教えるのが得意でした。より実用的なものとしては、おそらくPythonが良い選択です。

より理論的なものについては、「コンピュータープログラムの構造と解釈」で Lispを学習してみてください。ただし、把握するのはおそらく少し難しいでしょう。


正しい。私は間違いなくソフトウェアを作りたいです。もしそれを楽しんでいるなら、将来的には理論的な側面に興味があると思います。
lorindaapps

2

質問と多くのコメントに基づく提案:

  • マシンの奥深くで何が起こっているのかを正確に知りたいという衝動は、特に好奇心の強い開発者にとっては強いものです。今のところ、この衝動を抑えるよう警告します。そうしないと、欲求不満になり、全体を捨ててしまう可能性が高くなります。プログラミングがあなたのためであるなら、あなたはあなたから詳細を隠す多くの多くのツールに出くわすでしょう。これは実際には良いことと考えられています-カーテンの後ろにあるものについてあまり考えずに問題に集中できます。その好奇心を失わないでください。とりあえず安全に押し込みます。
  • 詳細について考えるのを止められない場合は、「The Elements of Computing Systems:Building a Modern Computer from First Principles」のような本を購入することを検討してください。独自の(シミュレートされた)コンピューターを構築する手順を説明します。絶対的な基本(ロジックゲート)から始まり、ハードウェアとソフトウェアを備えた完全なコンピューターができるまで、ビルドとビルド、ビルドを行います。完了すると、メモリ、モデリングプロセッサ、オペレーティングシステム、仮想マシン、さらにはコードの解析などの実践的な経験が得られます。レビューを読んでください。この本はすごい。
  • tryruby.orgについてのコメントから、自分に過度の圧力をかけているようです。暗記する必要があるように感じるかもしれませんが、それはポイントではありません。著者は概念を紹介しています。彼らはあなたにあなたがその言語を感じて欲しい(そしてそれが好きだ)ことを望んでいます。デモからデモへと移行するとき、彼らはあなたが前に来たことをマスターしたことを期待していません。必要なときに物事を調べる十分な時間があります(私はこれを長い間行ってきましたが、まだ毎日物事を調べています)。
  • 特定のソフトウェア目標がある場合は、必ず共有してください。たとえば、目標がWebアプリケーションである場合、Webアプリを簡単にするツールとそうでないツールがあります。Cを使用してWebアプリケーションをゼロから開始することは、ツリーを切り倒してテーブルを作成し始めることに少し似ています。
  • 最後に、プログラムの学習には時間がかかることを忘れないでください。このサイトに貢献している人々の多くは、何万時間もプログラミングの学習に費やしています。必ずしも簡単ではありません。実際、時々悪臭を放ちます。それでも、ここの専門家はあなたとまったく同じように始めました。彼らはプログラミングに関する最初のことを知りませんでした。彼らはそれに固執し、強力なプログラマーになりました。

ありがとう!私はその本が好きでした(まあ、めくるだけです)。もっと深いことを知りたいという衝動があれば役に立つと思います。詳細を「隠す」ことは良いことだと思います。
lorindaapps

2

あなたはプログラミングの方法を知っていると思いますが、私たちはあなたがあなたの人生で学ぶ最初の言語について話しているのではありません。

この場合、新しい言語を習得する最良の方法は、使用する必要があるギグを取得することです。まじ?実際に。

まず、言語に関する本をいくつか読んでみてください。しかし、解決すべき実際の問題がなければ、失速します。本当の問題がなければ、あなたは「宿題」プログラムのみを実行し、それは少数のデータまたはそれを使用する少数の人々でのみ動作します。

言語を学ぶ最良の方法は、プログラミング、間違いを犯し、何が悪かったのかを理解することです。


1

教育とコンピューターリテラシーのために設計された環境から始めます。ほとんどのコンピューター本はそうではありません。

地元の図書館に行って、「ダミー」の本、「馬鹿」の本、図書館の子供用セクションのベーシックまたはロゴの古いものを見てください。SqueakおよびAliceプログラミング言語の子供向けの教材を備えたWebサイトもあります。

プログラミング言語に関係なく、最も簡単で楽しいと思われる本(または何でも)を選んでください。プログラミングの基本的な考え方がひとたびクリックされると、現在人気のあるまたは有用な言語の本に進むことができます。


「怠lazな」プログラマーになりたくない場合は、アセンブリ言語に関する教材を見つける必要があります。エドモンド・サイエンティフィックは、実際にこの目的のために段ボール「心臓」コンピューターを実際に販売しています。(数十年前、UCBerkeleyの非専攻コースのCSでこれを使用していました。)
hotpaw2

1

Pythonは最初のプログラミング言語としては良い選択だと理解しています。

最初の言語は、後で学ぶためにあなたの脳を形作るので重要です。必要に応じて後からいつでも他の言語を学ぶことができますが、ここでは最初の言語が重要です。たとえば、組み立ては、俳句の執筆が著者にとって重要であるのと同じ理由で重要です。

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