みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

言語の習得

最近、Appleの開発言語であるSwiftを習得しようと、いろいろ書籍を調べ始めたところです。
以前、Objective-Cを習得しようとした時もそうでしたが、言語の説明に的を絞った書籍が非常に少ないと思います。開発環境であるXcodeの使い方や、フレームワークの説明が混在したものが殆どで、個人的には非常にわかり辛いと思っています。
大昔、MicrosoftのVisual C++の習得した時も同様で、開発環境の仕様と、MFCの仕様と、C++の言語仕様の境目が、初心者だった私にとって分かり辛かったと記憶しています。

そこで質問なのですが、こういう開発環境、スレームワーク、言語を並行して説明された方が、一般的には理解しやすいものなのでしょうか。

投稿日時 - 2015-01-12 12:48:34

QNo.8888778

暇なときに回答ください

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.10

理解しやすいかどうかについてはまさに人それぞれでしょうね。なんとなく動かしながら造った方がいいという人もいれば、言語仕様を丁寧に読んだほうがいいという人もいるでしょう。

「どちらが一般的か」はそもそも「どの状態を一般的とするか」を定義しなければ意味がありませんから、それをせずに一般的を強く問うても、判断の難しい抽象的質問に過ぎなくなり、有効な回答はつきにくくなるでしょう。統計的にどちらが理解しやすいと感じる人が何%なのかを知りたいというのであれば、金を出してアンケートをとり統計調査をしてくださいということになります。


理解しやすいかしにくいかの問題ではなく、本を書く人間の能力の要因が大きいと思いますよ。

言語の仕様をきっちりと説明しようとすると、相当な能力が要求されます。ですのでそもそもしっかりした本が少ないのです。

一方で、言語の仕様をきっちりと勉強したわけでもないけど、なんとなく開発の方法は分かったという程度の人が本を書くことが多いです。そういう人が書くと、自分が体験した開発方法についての解説になってしまうのです。

言語の仕様をしっかりと学びたいのならオライリーを買ったほうがいいと思います。で、なんとなくその言語で流行っている開発手法を学びたいのなら、ネット上に転がっている情報で十分だと思います。いろいろごちゃ混ぜ入門書の内容のレベルは、そういったネット上の情報と同レベルですのでわざわざ買う必要はありません。と思っています。、

投稿日時 - 2015-01-14 23:41:14

お礼

回答ありがとうございました。

本心では統計をとって見たいぐらいですが、そこまでせずとも、こういったサイトで雑談レベルで、いろいろな意見が聞けたらいいかなと思って質問をあげたしだいです。

投稿日時 - 2015-01-15 00:19:24

ANo.9

初級のうちは、とにかく動かすことが有効だと思います。
開発環境の構築からアプリケーションの起動まで通して説明する、というのは「とにかく動かす」にはいい方法でしょう。
この段階では、 #include <stdio.h> は「おまじない」でもかまいません。

そんな初級者向けの本で大体の感覚を掴んで、更に上を目指す段階で、それぞれに特化した資料を読めばいいでしょう。


次の新しい言語を習得するときには、既に「初級者」ではありません。
プログラミングの基本、開発環境の操作は身についているはずです。
だったら「初級者向け入門書」をわざわざ読まなくてもよいでしょう。
「混在しているとわかりづらい」と感じているのなら、なおさらです。



まあ、それも「人それぞれ」ですが、それを言われてしまったら、どんな回答しても無意味になってしまいます。

投稿日時 - 2015-01-14 01:42:04

補足

> プログラミングの基本、開発環境の操作は身についているはずです。
私の場合、初心者の頃はエディタでコードを書いてコマンドラインでビルドしていました。
なので、初めてVC++を使った時は、開発環境の操作は全く初めてでした。
いろいろな環境の人がいますから、「~はずです」って言い切るのはどうかと思います。

> だったら「初級者向け入門書」をわざわざ読まなくてもよいでしょう。
> 「混在しているとわかりづらい」と感じているのなら、なおさらです。
誰に向けての発言がわかりませんが、少なくとも私は、入門書を読んでも
内容がわかり辛いから、誰か助けてくださいって言ってるわけじゃないですよ。

> まあ、それも「人それぞれ」ですが、それを言われてしまったら、どんな回答しても無意味になってしまいます。

人それぞれだからこそ、自分はこう思うけど一般的にはどうなのかなって疑問を持ったので質問しています。

投稿日時 - 2015-01-14 21:15:24

ANo.8

回答No.5:

> 人によってわかりやすいドキュメントも、別の人にとってはそうでないこともありますよね。
> そう考えると、1冊あればじゅうぶんとは思えません。

むしろそれは、プログラミングの素養があるかどうかの問題です。プログラミングに向かない者は、どんな教材を与えても、だめ、って話です。
そもそも幼児向けや、小学生向けの教材の話をしているわけじゃないと思うんだが。いいかえると、「じぶんが向上しないのは、教材のせい」って、みっともないいいわけだよ、ってこと。

投稿日時 - 2015-01-13 09:18:28

補足

No.5に引き続き、せっかく回答頂いてるのですが、私の質問に対する回答は得られないようですね。

前提が成り立ってないことについては、投げっぱなしで別の話を進めようとしているのはどういう意図なのでしょうか。質問に対しての回答をする意志があれば、前提についての指摘等をするのが本筋だと思います。
「1冊あればじゅうぶんとは思えない」は、No.5の回答内の問いに対して答えただけで、私の質問とは関係ない話題ですよね。なので、それに対する意見を書かれても、話が横滑りしてるだけだと思います。

これらをのことから、そもそも質問に回答する意志はなく、単に自論を展開したいだけのように思えますが如何でしょうか。

投稿日時 - 2015-01-13 14:23:06

回答No.3 です。

> 「いきなり言語仕様」を見せるのではなく、言語仕様の解説って意味です。
> いろいろな開発言語の入門書って売られてますよね。あのレベルの話です。

はい、ですからあのレベルの入門書は『ステップ・バイ・ステップ』
で動くものを作らせていくことを主眼にして書かれていますよね。
その場合、今触っているもの MFC の仕様なのか C++ の仕様なのか
と言うのはあまり前面には出しません。
全くの初学者の人には、そのほうが『訳が分からなくなって、途中
で投げ出す確率』が低くなるぶん、「わかりやすい」と言えるのでは
ないでしょうか。
これは、英語の学習で、最初は会話文のどれが主語でどれが動詞か
気にしないで教えるのと似ていると思います。

もちろん、質問者さんのようにガッチリ仕様を押さえてやっていく
スタイルも学習法の一つだと思いますが、そのようなことができる
人は、最初からオンラインドキュメントで自力で解決してしまうこ
とが多いので『入門書』の対象になりにくいでしょう。

投稿日時 - 2015-01-12 21:17:06

お礼

回答ありがとうございました。

私はVC++を習得するときは、C++を『入門書』で勉強して、その後にMFCのドキュメントを見ていたので、いきなり両方をやる方が難しいと感じてしまいます。こういうものの感じ方は人それぞれなのでしょうね。

投稿日時 - 2015-01-13 00:09:47

ANo.6

Objective-Cは、C言語を拡張したものなので、言語仕様を最初から丁寧に解説しているものはあまりありませんでした。C言語仕様を理解していることが前提でObjective-Cの拡張仕様を丁寧に解説している良書はありました。

Swiftは、言語文法から新しいので、最初から丁寧に言語仕様を解説した書籍は結構あると思います。
http://matome.naver.jp/odai/2140254762300198501
とか見ると、私は中身を読んだことないですが「Swift言語入門」あたりが、なんとなく言語仕様解説中心っぽい気がしました。

> そこで質問なのですが、こういう開発環境、スレームワーク、言語を並行して説明された方が、一般的には理解しやすいものなのでしょうか。

読者のレベルによると思いますが、開発やプログラミングの経験が全くない初心者は、まず本に書いてある通りのことを言われたままにやってみて、実際にアプリを作る体験をしてみることが重要だと思います。そういう人たちにアプリ開発の成功体験をさせる近道は、仕様の解説に時間をかけず、どのように操作するのかの手順を細かく丁寧に解説することだと思います。

もちろん、それができたら自分の作りたいものが自由に作れるようになるわけではなく、見よう見まねでやったことの意味を自分で調べて理解する作業が必要だと思います。たいてい、その作業はAppleの公式サイトのリファレンスを読むか、キーワードをWebで検索してWebサイトの解説を読むことで十分理解できると思います。

Swift言語の仕様解説も、入門レベルとしては
http://libro.tuyano.com/index2?id=10206003
とかを読むだけで十分だと思います。
ただ、最終的にはやはりAppleの公式サイトのリファレンスをちゃんと読む必要があると思います。

投稿日時 - 2015-01-12 20:55:20

お礼

回答ありがとうございました。

初心者としては、ああいったものの方がとっつきやすいということでしょうかね。

投稿日時 - 2015-01-12 23:54:34

ANo.5

<<Swift>>

The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11

著者はApple Inc.。AppleがSwiftの採用をリリースした直後、電子ブックで公開されました。

詳解 Swift
http://www.sbcr.jp/products/4797380491.html

荻原 剛志 著。昨月リリース。

<<Objective-C>>

詳解 Objective-C 2.0 第3版
http://www.sbcr.jp/products/4797368277.html

荻原 剛志 著。

Dynamic Objective-C
http://hmdt.jp/hmdtbooks/dynamic_objective_c.html

木下 誠 著。

> 言語の説明に的を絞った書籍が非常に少ないと思います。

ジャンルの性質上、日本語で書かれた書籍は、1冊あればじゅうぶんだと思いますが、いかが?
ともかく、私はあなたの質問の前提が、成り立っていないと判断します。

投稿日時 - 2015-01-12 20:27:48

補足

> ジャンルの性質上、日本語で書かれた書籍は、1冊あればじゅうぶんだと思いますが、いかが?
人によってわかりやすいドキュメントも、別の人にとってはそうでないこともありますよね。
そう考えると、1冊あればじゅうぶんとは思えません。

> ともかく、私はあなたの質問の前提が、成り立っていないと判断します。
質問の前提が成り立ってないとの指摘ですが、どのあたりがでしょうか。

ところで、回答にURLが書かれてますが、何ための書かれたのですか?
私は別に、気に入ったドキュメントがなくて困ってるわけではないですよ。書籍をちょっと調べてて疑問を持ったから質問しただけですよ。

投稿日時 - 2015-01-12 23:42:04

> そこで質問なのですが、こういう開発環境、スレームワーク
> 言語を並行して説明された方が、一般的には理解しやすいもの
> なのでしょうか

初心者・初学者には、いきなり言語仕様を見せるよりも『ステップ・
バイ・ステップ』で動くものを作らせていくほうがわかりやすいで
しょう。英語の学習もいきなり SVOC だの文法をやるのではなく、
まずは簡単な会話から始めますよね。

最初から言語仕様が欲しい人は、今は MSDN などオンラインで
ドキュメントが出ていることが多いので本を買いません。
よって、言語仕様の本を作っても全く売れないので、そのような
本は流通してないのです。

Swift のオンラインドキュメントをまとめたページをご紹介します。
http://www.infoq.com/jp/news/2014/06/apple-swift-learning-resources

投稿日時 - 2015-01-12 13:17:06

補足

質問の書き方が良くなかったようですね。
「いきなり言語仕様」を見せるのではなく、言語仕様の解説って意味です。
いろいろな開発言語の入門書って売られてますよね。あのレベルの話です。

投稿日時 - 2015-01-12 13:36:55

ANo.2

>>そこで質問なのですが、こういう開発環境、スレームワーク、言語を並行して説明された方が、一般的には理解しやすいものなのでしょうか。

初心者向けの本で、開発全般について1冊の本で解説するとなれば、言語と平行してまとめて説明するしかないのでは?
で、その入門書で概要をつかんだら、フレームワークを集中的に解説した本、言語だけを解説した本、その他必要な分野の本をそれぞれ買って読むことになるような気がします。

投稿日時 - 2015-01-12 13:08:03

お礼

回答ありがとうございました。
私個人としては「平行して説明するしかないのでは?」と言われれば、そんなことはないと思ってます。
が、それは人それぞれなので、「平行して説明するしかない」と思われる方もいるわけですよね。

投稿日時 - 2015-01-12 13:25:59

あなたにオススメの質問