質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

2回答

1580閲覧

新しい言語やフレームワークの習得方法について

toshisum

総合スコア20

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

1グッド

1クリップ

投稿2017/04/10 01:24

###前提・実現したいこと
本日、teratailを利用をしてみようと思い、早速投稿してみようと思ったのですが、バグ的な所で困っているものが今はありません。
なので、無理やりの質問ですが、様々な言語・フレームワーク・ソリューションなど、新しい技術が出てくるなかでそれを習得するために皆さんどうされていますか?私は簡単でもいいからサービスを作ってみるのですが、書かれたコードがベストプラクティスである自信はありません。

基本的な実装方法などは独学でわかるのですが、いざモノづくりしようとしたタイミングでライブラリは何を使う?エラーハンドリングどうする?とかが、わかんなかったり、そもそも何がわからないのかもわからないようなシーンがあったりします。

そういったシーンで普通はteratailのようなサイトで質問するのか、詳しい人捕まえてきっちり教えを乞うのか、本・ネットで独学で勉強するのか。等どうしているのか知りたいです。

例として、私が今その習得で迷っているのはswiftでstoryboardを使わずに開発する場合です。
調べたswiftの初級者向け説明書籍・動画がstoryboardありきだったりするので、それを使わない場合はviewの部分をどう切り出すのがよいかを知りたくgithubで参考になりそうなものをあさっています。

この場合、どのように調べたりしますか?

can110👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

あるまとまった新しい技術や知識を学ぶ、使う場合、私は基本的に独学で、以下の流れで進めています。

what?

まずはそれが何者か?何ができるか?を調べます。
最近ではググるだけで、それなりにまとまった情報が得られますが、以前は、技術系雑誌のバックナンバーを漁ったり図書館に行って資料を探したりしてました。
最初から、相手が大物(がっつり取り組まないといけない)と分かっている場合は、入門書、学問的なものなら教科書を借りて読みます。

how(to)?

もしあればチュートリアル的なもの、なければサンプルソースを探して実際に動かしてみます。
このとき、必要な環境の構築方法はもちろん、デバッグ方法まで早めに把握するようにします。
実際に動かしていくうちに、ある目的のためにはどうすればよいか?どんな処理が得意・不得意かがなんとなく分かるようになります。
また、あるhowtoをググって検索結果が少ない場合は、たいてい不得意、実装が困難だとざっくり予想したりします。
サンプルを修正し、意図しない動作をした場合は、デバッグして原因をちゃんと特定し理解できるように努めます。この場合のデバッグとは、不具合を修正するというより、動作の流れを理解するために行います。

why?

技術や知識の背景、具体的なコードであれば、なぜそのように書くべきなのか?を理解するように努めます。
これらが体系的にまとめられた、ある程度ボリュームのある資料を参照することが多いです。
昔は書籍などがほどんどでしたが、最近は公式サイトで提供されている資料だけで事足りることも多いような気がします。
ちなみに、このwhy?まで書いてある資料は、たいてい良い資料だと思います。
もっとも、大物の場合は、最初にこのあたりまで理解しておくように努めますが、急いでいる場合は、これを最後に持ってくることも特に最近は多いです。

投稿2017/04/10 08:22

編集2017/04/10 08:30
can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toshisum

2017/04/12 21:29

お返事が遅くなりました。 ご回答ありがとうございます。参考にさせていただきます
guest

0

私の場合は、ちょっと特異なので参考にならないかと思いますが。。。

私は、Javaある1つの言語をみっちり勉強して自分のものにしました。
APIを丸暗記してますので、どこのパッケージに何のクラスがあって何の引数で何を返して
発生する例外はこれとかを覚えています。
ですので、Javaを書くときは専ら、テキストエディタとコマンドプロンプトです。
EclipseなどのIDEは、プログラムの保管機能とかが逆に邪魔になるのであまり使いません。

話がそれてしまいましたが、新しい言語が出てきた場合は、どうしているかというと
まず真っ先に**(忘れがちな)公式のドキュメント**を最初から最後まで読んでいます。
#プログラミングも新サービスも必ず読むようにしています。

公式ドキュメントを読む理由としては、他人の感情がない正式なドキュメントですから、
多少難しく書かれているかもしれませんが、それを丸暗記しても問題にはならないからです。
つまり、自分が誰かに説明するときに間違った情報を与えず、かつ、突っ込まれないようにするためです。

プログラミング言語は文法が違えどもプログラミングの作法は大きく変わってきません。
アーキテクチャなどもベースがあるので大体理解できますから、覚えるのは型とか比較の仕方ですね。
大半の言語は1日で読破して、1週間もあれば大体書けるようになります。
1つの言語をしっかり理解すると、多分この言語にもこういう仕組みがあって、
こんなクラスやメソッドがあるにちがいない
こうするとエラーがおこるにちがいない
といった観点から他言語の習得もしやすくなります。

基本的な実装方法などは独学でわかるのですが、いざモノづくりしようとしたタイミングでライブラリは何を使う?エラーハンドリングどうする?とかが、わかんなかったり、そもそも何がわからないのかもわからないようなシーンがあったりします。

私が質問者さんにお薦めしたいのは、
アーキテクチャなども含め1つのプログラミング言語をしっかりと理解することだと思います。
この言語だけは誰にも負けないと思えるぐらい理解すれば良いです。

独学だろうが、誰かに教えてもらおうがネットで調べてもなんでも良いです。
例えばプログラムの本を1冊最初から最後まで読んだことありますか?
本に書いてあるプログラムを全部自分で打ってみたことがありますか?
独学でやるなら1冊やりきってみてください。かなりの自信になりますし、
自分の実装しているプログラムが、実はベストプラクティスだったわーと言えるようになりますよ。

1冊まるまるやらなくてもある程度理解できるようになり、考え方も今と随分違ってくるはずです。

投稿2017/04/10 09:35

lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toshisum

2017/04/12 21:29

お返事遅くなりました。 ご回答ありがとうございます。参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問