5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【初学者目線】プログラミングってやっぱ難しいよ!

Posted at

はじめに

こんにちは、こんばんは! 堕罪オサムです。大学では国語学・日本語学を主に学んでいます。絶賛ゼミの発表資料作りに追われています……。

ゼミ資料に追われながらFlutterを勉強していて、【Flutter】わかんないよ!オブジェクト指向なんてわかんないよ! という記事でコードの理解を深めようと努力したり、その後もQiitaの記事を読み漁りつつ手を動かしを繰り返しているのですが、

「わかんないよ!Flutter全然進まないし、なんなら何がわかってないのかわかんないよ!プログラミング難しいよ!

という具合です。(トホホスギ)

今回は 初学者(主に私) が主にFlutterについてよくわかっていないところをまとめてみようと思います。

また後半ではFlutterだけでなくプログラミング学習という範囲まで広げて自分の思ったこと・考えたことをまとめました。

よろしくお願します!

わからないこと

  • Flutterでアプリを作るときの進め方
  • @override 以降のコードの構造
  • どこに何を書けばいいのか問題
  • 「なんとなくわかる・わからない」から質問するときや調べるときに言語化できない問題

この4つを説明させていただきます。

Flutterでアプリを作るときの進め方

Flutterで電卓を作ろう!新しいプロジェクトを作って~……ん?

「で、どうすればいいんだ?」

そもそもFlutterで電卓を作るにあたりビジョンが全く見えてこない……!

計算結果を出す画面は状態を持つからStatefulWidgetで作るんだろうな、でもボタンはどうするんだ?
そもそもボタンはどうやってつくればいいんだ?なんなら計算結果を出す画面もどうすればいいの?

電卓を作っている動画を「」視聴しても、あっちこっち書き足したり消したりしている感じがして難しく感じます。泣
画面やボタンの作り方が分からないに関しては明らかに私の勉強・知識不足なのですが、そこを超えた先にあるコードの組み立て方が一切わからないでいます。

@override 以降のコードの構造

上記に続き、コードの組み立て方がわからないので@override以降も大変なことになります。

「マクロからミクロに書いてる感じがする」
「CSSにあたるようなところはchildとかchildrenに書くのかな?」

ぐらいで、あとはAndroid Studioの便利な機能でいじってみたり、ネットで調べてコピペして動かしてみたりしてます。でも結局動かないし赤字エラーいっぱいになってどこから直せばいいかわからない、となってしまいます。

どこに何を書けばいいのか問題

あとはやっぱりどこに何をかけばいいのかわからない。 これがいっちばん辛いです。
Dartで処理を書くにあたって、その処理をどこの括弧内に書けばいいのか。
なんとなく、onClickの処理をするならそれを使うボタンのあたりに処理を書くはず、でもここに書いてもエラーが出る。ここは? ここはどうだ?

やっているうちに他のところもエラーが出てきてあちこちに赤いのがいっぱいになって不貞寝までがルーチンです。

「なんとなくわかる・わからない」から質問するときや調べるときに言語化できない問題

ここまで見てくださった方々、もう察しておられると思います。
「なんとなく」・「わからない」 という言葉がこの記事内でいくつ出てきたことやら! もうほんと勉強不足ですみません。

わからないところは調べて手を動かして、と努力はしているのですがやっぱり難しい!わからない!
そもそもその調べ方(調べるためのキーワードなど)があっているかもわからない。

これが一番高い壁かもしれないです。

どうすればいいのか

いっぱい勉強したほうがいい。
これに尽きる気がします……。特に初学者なので時間をいっぱい取ってプログラミングに意識を持ち続け、調べては書いて動かして、を繰り返すのが一番の近道、急がば回れみたいな、実際そうだと思います。つらいけど。

あとは以前、私がお世話になっているエンジニアさんから

「15分は自分で考えてね、それでもだめなら訊いてね」

という言葉をいただきました。
また同時に

「ChatGPTは最終手段」

とも言われました。ちょうどFlutterに苦しめられて(?)もがいている私にはかなり刺さりました。
自分でやることで自分の身になりますよね、たしかに。

「15分は自分で考えてね」という言葉から、その15分の中で何をやればいいかを考えたところ

  • 出てきたエラーを翻訳したり調べて、なにが原因でエラーが出ているのか明確にする
  • エラーが出る条件や原因の解決方法が載っている記事やサイトを確認する
  • エラー箇所やわからなくなったコード周辺・調べた記事でわからないワードをすべからく調べる
  • そのうえで何が分からないかを考える
  • それでもだめなら正直に「わからない」と伝える

ではないかと思いました。(あってるか間違っているかは別として、自分はこれを意識していこうという戒めもあります)

やはり一番よくないのは「何がわからないかがわからない」ことだと思いました。
最後のそれでもだめなら正直に「わからない」と伝える というのは、教えてくださる側の方々からするとチョット……だとわかってはいるんですけど、15分考えてわからないものを一人で悩むよりはいいのかも?実際仕事としてやるときに一人で分からないまま進んでいないというほうが良くないのかな?と思ったのでリストに入れました。

最後に

初学者としてこういった記事を書くことはいかがなものかと思っていますが、もしこの記事が、自分の悩みや考えが誰かのお役に立てればと思い投稿させていただきました。
もっと技術に踏み込んだ記事も書けるように精進します!

ここまで読んでくださりありがとうございました!

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?