• 締切済み

言語の習得

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

noname#203932
noname#203932
  • Swift
  • 回答数8
  • ありがとう数10

みんなの回答

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.10

理解しやすいかどうかについてはまさに人それぞれでしょうね。なんとなく動かしながら造った方がいいという人もいれば、言語仕様を丁寧に読んだほうがいいという人もいるでしょう。 「どちらが一般的か」はそもそも「どの状態を一般的とするか」を定義しなければ意味がありませんから、それをせずに一般的を強く問うても、判断の難しい抽象的質問に過ぎなくなり、有効な回答はつきにくくなるでしょう。統計的にどちらが理解しやすいと感じる人が何%なのかを知りたいというのであれば、金を出してアンケートをとり統計調査をしてくださいということになります。 理解しやすいかしにくいかの問題ではなく、本を書く人間の能力の要因が大きいと思いますよ。 言語の仕様をきっちりと説明しようとすると、相当な能力が要求されます。ですのでそもそもしっかりした本が少ないのです。 一方で、言語の仕様をきっちりと勉強したわけでもないけど、なんとなく開発の方法は分かったという程度の人が本を書くことが多いです。そういう人が書くと、自分が体験した開発方法についての解説になってしまうのです。 言語の仕様をしっかりと学びたいのならオライリーを買ったほうがいいと思います。で、なんとなくその言語で流行っている開発手法を学びたいのなら、ネット上に転がっている情報で十分だと思います。いろいろごちゃ混ぜ入門書の内容のレベルは、そういったネット上の情報と同レベルですのでわざわざ買う必要はありません。と思っています。、

noname#203932
質問者

お礼

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

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.9

初級のうちは、とにかく動かすことが有効だと思います。 開発環境の構築からアプリケーションの起動まで通して説明する、というのは「とにかく動かす」にはいい方法でしょう。 この段階では、 #include <stdio.h> は「おまじない」でもかまいません。 そんな初級者向けの本で大体の感覚を掴んで、更に上を目指す段階で、それぞれに特化した資料を読めばいいでしょう。 次の新しい言語を習得するときには、既に「初級者」ではありません。 プログラミングの基本、開発環境の操作は身についているはずです。 だったら「初級者向け入門書」をわざわざ読まなくてもよいでしょう。 「混在しているとわかりづらい」と感じているのなら、なおさらです。 まあ、それも「人それぞれ」ですが、それを言われてしまったら、どんな回答しても無意味になってしまいます。

noname#203932
質問者

補足

> プログラミングの基本、開発環境の操作は身についているはずです。 私の場合、初心者の頃はエディタでコードを書いてコマンドラインでビルドしていました。 なので、初めてVC++を使った時は、開発環境の操作は全く初めてでした。 いろいろな環境の人がいますから、「~はずです」って言い切るのはどうかと思います。 > だったら「初級者向け入門書」をわざわざ読まなくてもよいでしょう。 > 「混在しているとわかりづらい」と感じているのなら、なおさらです。 誰に向けての発言がわかりませんが、少なくとも私は、入門書を読んでも 内容がわかり辛いから、誰か助けてくださいって言ってるわけじゃないですよ。 > まあ、それも「人それぞれ」ですが、それを言われてしまったら、どんな回答しても無意味になってしまいます。 人それぞれだからこそ、自分はこう思うけど一般的にはどうなのかなって疑問を持ったので質問しています。

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.8

回答No.5: > 人によってわかりやすいドキュメントも、別の人にとってはそうでないこともありますよね。 > そう考えると、1冊あればじゅうぶんとは思えません。 むしろそれは、プログラミングの素養があるかどうかの問題です。プログラミングに向かない者は、どんな教材を与えても、だめ、って話です。 そもそも幼児向けや、小学生向けの教材の話をしているわけじゃないと思うんだが。いいかえると、「じぶんが向上しないのは、教材のせい」って、みっともないいいわけだよ、ってこと。

noname#203932
質問者

補足

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

noname#212058
noname#212058
回答No.7

回答No.3 です。 > 「いきなり言語仕様」を見せるのではなく、言語仕様の解説って意味です。 > いろいろな開発言語の入門書って売られてますよね。あのレベルの話です。 はい、ですからあのレベルの入門書は『ステップ・バイ・ステップ』 で動くものを作らせていくことを主眼にして書かれていますよね。 その場合、今触っているもの MFC の仕様なのか C++ の仕様なのか と言うのはあまり前面には出しません。 全くの初学者の人には、そのほうが『訳が分からなくなって、途中 で投げ出す確率』が低くなるぶん、「わかりやすい」と言えるのでは ないでしょうか。 これは、英語の学習で、最初は会話文のどれが主語でどれが動詞か 気にしないで教えるのと似ていると思います。 もちろん、質問者さんのようにガッチリ仕様を押さえてやっていく スタイルも学習法の一つだと思いますが、そのようなことができる 人は、最初からオンラインドキュメントで自力で解決してしまうこ とが多いので『入門書』の対象になりにくいでしょう。

noname#203932
質問者

お礼

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

回答No.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の公式サイトのリファレンスをちゃんと読む必要があると思います。

noname#203932
質問者

お礼

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

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.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冊あればじゅうぶんだと思いますが、いかが? ともかく、私はあなたの質問の前提が、成り立っていないと判断します。

noname#203932
質問者

補足

> ジャンルの性質上、日本語で書かれた書籍は、1冊あればじゅうぶんだと思いますが、いかが? 人によってわかりやすいドキュメントも、別の人にとってはそうでないこともありますよね。 そう考えると、1冊あればじゅうぶんとは思えません。 > ともかく、私はあなたの質問の前提が、成り立っていないと判断します。 質問の前提が成り立ってないとの指摘ですが、どのあたりがでしょうか。 ところで、回答にURLが書かれてますが、何ための書かれたのですか? 私は別に、気に入ったドキュメントがなくて困ってるわけではないですよ。書籍をちょっと調べてて疑問を持ったから質問しただけですよ。

noname#212058
noname#212058
回答No.3

> そこで質問なのですが、こういう開発環境、スレームワーク > 言語を並行して説明された方が、一般的には理解しやすいもの > なのでしょうか 初心者・初学者には、いきなり言語仕様を見せるよりも『ステップ・ バイ・ステップ』で動くものを作らせていくほうがわかりやすいで しょう。英語の学習もいきなり SVOC だの文法をやるのではなく、 まずは簡単な会話から始めますよね。 最初から言語仕様が欲しい人は、今は MSDN などオンラインで ドキュメントが出ていることが多いので本を買いません。 よって、言語仕様の本を作っても全く売れないので、そのような 本は流通してないのです。 Swift のオンラインドキュメントをまとめたページをご紹介します。 http://www.infoq.com/jp/news/2014/06/apple-swift-learning-resources

noname#203932
質問者

補足

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

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

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

noname#203932
質問者

お礼

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

関連するQ&A

  • C言語の学習について

    今からC言語を覚えようと思っているのですが、 C→C++→C#と習得していかなくてはならないのでしょうか? お勧めの開発環境と書籍なども教えていただけないでしょうか。

  • Objective-C習得について質問です。

    現在、情報系の専門学校に在籍しています。 ですが、私の学校は俗にいう名前だけ学校です、授業が基本的なことの繰り返しです。 授業ではJavaの文法の基礎を1年以上も繰り返しているため、Javaがあまり好きではありません。 個人的に、C言語を勉強し、最近Iphoneに機種変更したこともあり、iPhoneアプリ開発に挑戦しようと、Objective-Cを習得したいと考えています。 C言語→Objective-Cの流れで大丈夫でしょうか? それとも、C言語→C++→Objective-Cの流れの方がわかりやすいのでしょうか? また、持っているパソコンがWindowsなため、Macパソコン購入までの間、開発環境はUbuntuを仮想環境に入れてやろうと思っていますが、Eclipseのようなソフトはありますか? よろしくお願いします。

  • Objective-C 勉強方法をお願い致します。

    iPhoneアプリケーションを開発したいと思います。 Xcodeなどは既に入手しており、開発するばかりの状態です。 皆様がObjective-C言語を開発するときは、何を参考にしましたか? おすすめの書籍、URLなどを教えてください。 皆様の御回答をお待ちしております。 宜しくお願いいたします。

  • 今後、プログラマーとして習得すべき言語

    今後、プログラマーとして習得すべき言語 自分はプログラマー2年目です。 今後のことを見据えて、言語の勉強を行おうとしていますが、 どの言語を習得すべきか迷っています。 現在はVB2005の業務用アプリケーションを開発する仕事をしていますが、 VBの開発がこの先もあるのか疑問です。 使える言語としては、VB2005、 JAVAとCが少々。 仕事にもよるところはありますが、 JAVA,JSP,PHP,C++,C# のいずれかの言語に挑戦すべきか・・ それともこのままVBをマスターすべきか・・迷いどころです。

  • 子供の第1言語と第2言語の習得過程

    外国語のテキストを読んでいるのですが、今一はっきりしません。 子供の第1言語と第2言語の習得過程の共通点(或いは違い)って あるんでしょうか。 一般的に第1言語を習得する環境は第2言語を習得する環境と違うと 思うんですよね。例えば親は第2言語を話さない、とか十分なイン プットが普段の生活から得られない、とか、ですね。 また第1言語の文法構造が第2言語の文法構造と相反する、と言う事 もあると思うんですよ。 テキストではこれらは似ている、と言っているのですが、じゃあ、 どこが、という説明がはっきりしなくて困っています。 分かる方、どうかよろしくお願いいたします。

  • プログラミング言語の習得について

    プログラミング言語の習得について こんにちは。某大学の理工学部数学科に通う4年生です。 プログラミング言語について質問させていただきます。 僕は先日基本情報技術者試験を受験しました。 その試験ではプログラミング言語を1つ習得しないといけなかったためC言語の入門書を一冊勉強しました。 今家にはC++とJavaの入門書、C言語の中級書もあります。 そこで質問なのですが、 続けてプログラミング言語を勉強するには、C言語の中級書、上級書というように1つの言語を徹底的にマスターした方がいいですか? それとも、C++、Javaの入門書を一通りやってC以外の言語も一応使えるようにした方がいいですか? ちなみに大学院に進学する予定なのでまだまだ勉強できる環境にあります。 宜しくお願いします。

  • MacのXcodeのObjective-C言語についてお伺い致します。

    MacのXcodeのObjective-C言語についてお伺い致します。 Objective-Cを入れたところ、以下の様なエラーメッセージが出ました。 !Expected';'before'}' token Mac初心者でよくわからないので申し訳ございませんが、 ご教示いただければ幸いです。

    • ベストアンサー
    • Mac
  • iPhoneアプリ開発について(初心者)

    当方の投稿を見て頂きありがとうございます。 ご相談させていただきたい内容は以下の通りです。 【相談内容】 (1)言語(Objective-C)の習得はプログラム言語としては難しいほうでしょうか? (2)習得が必要な(または知っておいたほうがいい)言語はObjective-C(Xcode)以外に何が必要でしょうか? (3)iPhoneアプリ開発の知識はAndroid用アプリの開発にも流用することが可能でしょうか? 【当方の状況】 ・プログラム言語は全く判りません。 ・モノづくりが好きなので、何かを作る作業はとても性に合っています。  →レベルの低い話ですが、仕事でExcelの作業を求められた時は、楽しんで自分で調べて関数などを学習しています。 ・社会人ですのでコツコツ勉強し、2年後をめどにアプリをリリースしたいと考えています。 ・パソコンに向うのは苦ではありません。(むしろ好きです) よろしくお願い致します。

  • linuxでiphoneアプリ開発

    iphoneアプリ開発をしたいと思っているのですが TitaniumなりSwiftなりObjective-Cなり iphoneアプリ開発のためのツールはlinux上でも動かせるということですが 結局はXCodeがなければ ソースコードを書くだけで プレビューさえもできないということでしょうか。 今からお金を貯めて2ヶ月先くらいにmacを買ってXCodeを使えるようになるとして 今何を準備のために勉強するのが良いと思いますか。 Cとjavascriptは若干理解しています。 この2つは今も本を読みながら勉強中です。 よろしくおねがいします。

  • iPhoneアプリのobjective-CとC言語について

    プログラミング初心者です。 iPhoneアプリを開発したいと思っているんですが、 まだMacを持っていません。 なので、Windows環境でプログラミングになれておこうと思っているんですが、どのような言語がいいでしょうか? objective-CがC言語ベースだということで、最近C言語を初めて見たんですけど、どうでしょう?

専門家に質問してみよう