web-dev-qa-db-ja.com

まったくの初心者として、どのプログラミング言語から始めるのが最適ですか?

私はいくつかのコーディングを学びたいという強い衝動を持っています。ただし、どのプログラミング言語から始めるかについては、まだ決まっていません。周りの言葉はPythonですが、QBASICの知識が限られた人にとっては正しい選択ですか?

5
Mysterio

私もPythonは、過度の構文糖質のない、フレンドリーでアクセス可能な言語としてお勧めします。非常にシンプルに見えますが、おもちゃの言語ではありません。Google、NASA、YouTubeなどで使用されている言語です。それは非常に強力で柔軟性があり、命令型とオブジェクト指向の両方のプログラミングパラダイムをサポートしています。

その構文は単純明快であり、コードのフォーマットに関して適切な習慣を教えてくれます(他の言語と異なり、空白、つまりインデントなどが重要です。したがって、機能しないコードを書くことはできますが、常に見栄えがいいでしょう:)

ですから、私をPythonのファンとして数えてください。これは無料のクロスプラットフォームであり、インタラクティブに使用できます。つまり、Pythonシェルウィンドウを開いて、ファイルを編集して保存してコンパイルする必要なく、そこですぐにコマンドを試すことができます。Pythonも付属しています独自のIDE named [〜#〜] idle [〜#〜] を使用すると、Eclipseのように高度に洗練されているわけではありませんが、使用できます。

詳細については Python.org をご覧ください。多分これ Python初心者向けガイド が役立つでしょう。

味を伝える簡単な例を提供するために、Cで「Hello World」を印刷する方法を以下に示します。JavaおよびPython:

Cで

_#include <stdio.h>

int main(void)
{
   puts("Hello World");
   return 0;
}
_

Javaの場合:

_public class HelloWorld
{
   public static void main(String[] args)
   {
     System.out.println("Hello World");
   }
}
_

Pythonの場合:

_print("Hello World")
_

グーグルなら、Pythonチュートリアルのオンラインのlotを見つけるでしょう。

それを楽しんでください!

更新

私の意図は、「私のものはあなたのものよりも優れている」言語戦争を始めることではない。問題は初心者にどんな言語が良いかでした。 My答えはPythonです(そしてそのままです)。

上記の利点についてはすでに説明しましたが、Python(またはRubyその場合は)=)の概念的な手荷物ははるかに少なくなります。初心者はプログラミングの概念、無関係な問題ではありません。シェルを開くことができますPythonウィンドウとPythonステートメントを入力して、すぐに出力を観察し、 CやJavaとは異なり、ソースファイルを編集してコンパイルし、早い段階で実行する個別の手順は必要ありません。Cの「ヘッダーファイル」や、=の_public static void main_の全体の説明も必要ありません。 Java必要:)「印刷」が本当に必要である/という意味でputs()またはSystem.out.println()を使用する理由もありません。

上記の3つの例をご覧ください。初心者が理解しやすいコードはどれですか。プログラミングについて何も知らなかった場合、どちらの言語があなたはむしろ学ぶでしょうか? (余談:_return 0_をCで削除すると、本当にそれがはるかにわかりやすくなりますか?)

質問がUnix/Linuxでのシステムプログラミングに使用する言語が何であるかなら、Cと言い、Javaも使用します。ポインタと境界なしのチェックでCを使用しますか?配列と「手動」メモリ割り当てと解放は初心者にとって良い言語ですか?いいえ、私の意見ではありません。有能なプログラマはこれらのことを知っている必要がありますか?はい、もちろん、基本的な概念を習得した後で、当然です。ここでプログラマーを始めています。

このように見てください。もしあなたが車の運転を学ぼうとしている人がいたら、フェラーリに基本を学ぶことを勧めますか?

21
Levon

Learn to Program と呼ばれるChris Pineによるオンラインの無料の本があり、Rubyを使用しています。

それはあなたがプログラミングについて何も知らないと仮定し、そこから教え始めることから始まります。プログラミングについて少し知っていても、最初の章ではRubyの強力なスキルを身につけますが、繰り返しはありません。

11
bahamat

初心者に最適なプログラミング言語を尋ねるのは、配管工を始めるのに最適なツールを尋ねるようなものです。それは完全に無関係です。重要なのは学ぶことであり、それを表現する言語ではありません。

一般的なプログラミングに興味があり、それについて真剣である場合は、 コンピューター言語の構造と解釈 を読むことをお勧めします。それは 少し複雑です 平均よりも "7日間でC++を学びます 豊かになるそれ簡単に...、しかしそれは本物のプログラマになるための最短の道です。

しかし、これは現在のウェブサイトの範囲をはるかに超えています。 Stack Exchangeネットワークには、この質問が関連する可能性のある他のWebサイトがあります。物事を適切にするために、Unix関連のプログラミングについて学びたいと思っているとしたらどうでしょう。私は数週間を費やすことをお勧めします Cを学ぶ 、そしてスティーブンスによる nix環境での高度なプログラミング のコピーを入手します。それであなたは始められるはずです。

6
rahmu

Pythonに興味がある場合は、Al Sweigartによる " Invent Your Own Computer Games with Python "と呼ばれる基本的なレベルから始まるPDFブックをダウンロードできます。 Python言語に加えて、子供向けのプログラミングテクニックを教えることを目的としていますが、プログラミングの経験が限られているため、役立つかもしれません。各章では、新しい概念を学び、学習した内容を使用してプログラミングする方法を示します。

何よりもこの本はPDFで無料で、著者に寄付することもできます。

3
Fred
  • オブジェクト指向プログラミングを学ぶには、オリジナルを選択する必要があります:Smalltalk
  • 関数型プログラミングを学ぶために、Haskellはそのような最も純粋なものの1つかもしれません。
  • 論理プログラミングは、Prologで学習できます。

これにより、プログラミングの非常に異なる概念がわかります。

Linuxの開発とアプリケーションに参加するために、改善に使用できるものを探す場合、オプションは次のとおりです。

  • [〜#〜] c [〜#〜]Linuxカーネル
  • Python多くのGnomeアプリ向け
  • 多くのネイティブLinuxアプリ用のCおよびC++、2つの主に使用されるフレームワーク、gtkおよびQt
  • シェルで小さな問題を処理するには、bashが最も広く使用されていますが、他のシェルでも問題ありません。

サーバーで大きなものを開発したい場合、またはAndroidplattform、Javaを使用する方法です。しかし、Javaは言語であるだけでなく、多くのバインディングが存在するプラットフォームでもあるため、JRuby、JPython、Scala、Clojureなどの言語も使用できます。つまり、ほぼすべてのものが適切である。

したがって、奨励するよりも、一部の言語を思いとどまらせる方が簡単です。 Linuxバージョンが存在する可能性があるMicrosoftから作られているが、2番目の市民であるので、

  • C#
  • F#
  • VBA

一部の言語は機能し、あなたはあなたの仕事を成し遂げますが、それらはエレガントではありません。

  • PHP
  • Perl
  • ベーシック
  • Javascript

多くは非常に特殊化されたスコープを持つため、次のような特殊化された問題がない初心者にはあまり役に立ちません。

  • sed(ストリームエディター言語、正規表現によるテキスト操作に非常に便利)
  • awk(sedのような同様のスコープ)
  • 数学、特に統計/行列演算用のR言語
  • JavaScript(ブラウザの外ではそれほど便利ではありませんが、使用することは不可能ではありません-rhinoを参照)

リストは完全なものではありません。

あなたが学ぶどの言語でも: Art of Unixプログラミング からEric S. Rayomondも読んでください。

2
user unknown

あなたがLinuxを使用していることを考えると、Cはその母国語なのでCを使用します。カーネルにマージされることに同意しないので、私にとってのC++はカウントされません。それに伴う膨大な量の無料のリソースがあります。

チェックアウト http://freeprogrammingresources.com/

ここから、学ぶ言語を探し始めました。

2
Joe

JavaScriptをお勧めします。これはウェブの言語なので、便利でどこでも実行できます。また、満足のいく結果がすぐに得られます。 codecademyを試してください。

1
Adam

Python。 ノースカロライナ科学数学大学 で第一言語として教えています。私たちは2004年からこれを行っています。初心者には素晴らしい言語です。

1
ncmathsadist

ここでの唯一の本当の答えは状況によって異なりますすべての主要な候補者がほぼ同じであるチューリング完全性保証です。

だから、実際にはベルとホイッスルを考慮する必要があります。あなたが考えていることのほとんどを提供するのはどの言語ですか楽しい?楽しいことに興味を持ち続けます。

0
luser droog

そもそもPythonとPerlが最適です。 VB/Javascriptを使用することもできます

0
Ashok