

webのプログラミングとか、パソコンを動かすためのプログラミングとか、学ぼうと思ってズルズル引きずって来たので、何から始めたらいいですか？  
パソコンはfujitsuのintelのOS?はWindowsです  
高校生で商業科に通っています  
パソコンで使ったことがあるソフトウェアは、  
エクセルとワードくらいです

### 追記

  * 全体的にネットを動かしたい
  * webに関しては、あまりぱっとするイメージがありません
  * OS作ってみたいです！


CC BY-SA 3.0
2017-03-28T13:41:51.997
33613
2017-05-19T04:30:59.693
2017-03-28T15:45:04.483
19110
21247
question
プログラミング言語
今からプログラミング始めるのですが何から始めたらいいですか


(OSを作りたい、という前提のもとで回答します)

オペレーティングシステム (OS)
を作るためや、ネットワークのとても基礎的な部分をさわるためのプログラミング言語として古くから使われているのは、C言語のみでしょう。  
正直はじめてのプログラミング言語としてはとっつきにくいですが、他を思いつきません。

C言語を学ぶためのWeb上にある無料の日本語資料としては、たとえば[『苦しんで覚えるC言語』](http://9cguide.appspot.com/)があります。  
これが気に入らなければ、[『一週間で身につくC言語の基本』](http://c-lang.sevendays-
study.com/)などの他のサイトや[書店で売っている書籍](https://www.amazon.co.jp/s/?field-
keywords=C%E8%A8%80%E8%AA%9E)、あるいは[ドット・インストールのC言語入門](http://dotinstall.com/lessons/basic_c)などの動画教材が参考になるでしょう。

C言語をある程度読み書きできるようになったら、次のステップです。  
OSを作るための基礎を学べる日本語の書籍としては[『30日でできる!
OS自作入門』](https://www.amazon.co.jp/30%E6%97%A5%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B-OS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%B7%9D%E5%90%88-%E7%A7%80%E5%AE%9F/dp/4839919844)がおすすめです。  
OSを作る中で、コンピュータでたくさんのアプリケーションを同時に動かしたり、メモリを管理したり、TCP/IPをはじめとするネットワークの処理をしたりなどするためにはどういうことが必要なのかということが学べることでしょう。  
この本が気に入らなければ、類書として[『12ステップで作る組込みOS自作入門』](https://www.amazon.co.jp/12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%9D%82%E4%BA%95-%E5%BC%98%E4%BA%AE/dp/4877832394)があります（ただし組み込みOSという分野なので普段使っているWindowsやmacOSとは少し異なるOSになります）。また、[「Linuxカーネル」で検索したら見つかる本](https://www.amazon.co.jp/s/field-
keywords=Linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB)も、少し難しいですが参考になるかもしれません。

全体的に難しいことだらけだとは思いますので、自分で考えるだけでは解決しないことが多々あると思います。そういった場合はまず色んな単語で検索してみましょう。それでも駄目だった場合は再びスタック・オーバーフローのような質問サイトを利用したり、詳しい知人に尋ねたりするのが良いと思います。

* * *

[おまけ]

ここから更に深く知りたい場合、少し毛色は違いますがIPA (情報処理推進機構)
が主催するセキュリティ・キャンプの全国大会や地方大会でたまに開かれているOSにまつわる講座を見に行くと面白いでしょう。

  * [セキュリティ・キャンプ実施協議会](http://www.security-camp.org/index.html)
  * [セキュリティ・キャンプ 全国大会 2014 セキュアなシステムを作ろうクラス](http://www.ipa.go.jp/jinzai/camp/2014/zenkoku2014_kougi.html#section6)
  * [セキュリティ・キャンプ九州 in 福岡 2016 いじって壊して遊んでハッカーになろう](http://www.security-camp.org/minicamp/kyushu2016.html)
  * [セキュリティ・キャンプ 全国大会 2017 言語やOSを自作しよう](https://www.ipa.go.jp/jinzai/camp/2017/zenkoku2017_kougi.html#section7)

あるいは、実際のOSのソースコードを眺めてみるのも面白いかもしれません。たとえばLinuxというOSの中心部分 (OSカーネル)
のソースコードはここで見れます。

  * <https://github.com/torvalds/linux>

[xv6](https://ja.wikipedia.org/wiki/Xv6)や[Minix](https://ja.wikipedia.org/wiki/Minix)などの教育用の小さいOSからはじめ、カーネルハックして遊ぶのも面白いかもしれません。


CC BY-SA 3.0
2017-03-28T16:34:49.017
33617
2017-05-19T04:30:59.693
2017-05-19T04:30:59.693
19110
19110
33613
answer