LoginSignup
8
5

プログラミングがなかなかうまくできない人。
情報処理技術者試験になかなか受からない人。

両方に共通する事を拾い出してみました。

言語の文法

文法をいくら知ってもプログラムは書けない。
文法は、コンパイラならコンパイルエラーを出してくれる。
コンパイルエラーを直しているうちに、文法は説明できなくても、エラーにならないように書けるようになっている。

言語処理100本ノックのプログラム例を拝見していると、自分の知っている文法を使おうとすると無駄な記述が増えるかもしれないと感じました。

言語処理100本ノック 2015(python) 落ち穂拾い 第1章: 準備運動
https://qiita.com/kaizen_nagoya/items/ee1b625b0b65cd63d42a

最初に覚えるプログラミング言語は何がいいですか?

覚えなくていいです。

よい事例

よい事例は、知っていなくても、ソースコードとして存在していて、何度も動かしてみれば良い。
人間が知らなくても、計算機が知っていればよい。

標準入出力
四則演算
文字列操作

C言語であればCコンパイラ、Linuxのようなものでもよい。
よい事例より、自分の好きな分野の事例の方が、役に立つことがあるというのが経験則です。

プログラミング言語教育のXYZ
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

65歳からのプログラミング入門

計算機の原理

不完全性定理
計算可能性

難しい原理を直接しらなくても、ソフトウェアでソフトウェアを検査しても確かめられないことがあることをなんとなくわかっていればよい。

プログラミング言語の勉強の仕方と水準

プログラマにとって、何か知っている必要なことは何もない 仮説(39)
https://qiita.com/kaizen_nagoya/items/30daf9836702bdefaf7d

まとめ

プログラム初心者は、文法、よい事例、計算機の原理にこだわらずに、
自分が作りたいと思うものを一度作ってみればよい。

そこで必要になる技術は、従来の常識ではない技術かもしれない。
熟練者の声に耳を傾けるより、熟練者がやったことを同じように動かしてみながら、
自分は違う道を探してもよい。

プログラム熟練者といっても、専門分野によって、必要な技能・経験がかなり違うかもしれない。

プログラミング言語を作ったり、改良する人
OSを作ったり、改良する人
図を書いたり、絵を書いたり、絵・図を描く道具を作る人、
DB(data base)、Webの仕組みを作る人
通信規約、入出力の装置運転(device drivere)ソフトを書く人

プログラム熟練者と言いながら、自分の分野でしか有効でないことを強調される人はいっぱいいる。
~~おかしなことを言う人はいっぱいいる。(#include <this>)~~~

オブジェクト指向についての記述の9割は特定の設計手段に偏っているか、おかしい。
関数に関する記述の5割は、副作用についてきちんと言及していない。
C言語規格では、副作用について、かなり詳しく書いているのに。

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

文書履歴

ver. 0.01 初稿 20190214 昼
ver. 0.02 まとめ追記 20190214 夕
ver. 0.03 はてなURL追記 20190218 早朝
ver. 0.04 参考URL追記 20190218 朝
ver. 0.05 標題追記 20190525
ver. 0.06 最初に覚えるプログラミング言語は何がいいですか?URL追記 20220312
ver. 0.07 ありがとう追記 20230530

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

このエントリーをはてなブックマークに追加

8
5
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
8
5