見出し画像

いいプログラマーとは、「問題を解決するのが大好きな人」

この記事にあるように、小学校でも複数の教科でプログラミングを教え始めている。

図書館から子供向けのプログラミングの本を借りてみた。

キキ・プロッツマン『遊んで、ためして、よくわかる プログラマーになろう!』化学同人、2020年

この本に、「プログラマーのように考える」ことについて書かれていた。

プログラマーになるために必要な才能にはいろいろある。
でも、多くのプログラマーたちに共通しているのは、「問題を解決するのが大好き」ということ。
プログラマーの考え方を身につけるには、次のことを覚えておこう。
1.プログラマーは前もって考える。プログラムがこんがらがってしまわないよう、やりたいことを最初によく考えよう。
2.プログラマーはものごとを細かく分ける。全部いっぺんにやろうとせず、一部を取りだしてやってみれば、プログラムのほかの部分は変えずに、いろいろな方法を試せるよ。
3.プログラマーは想像力をはたらかせる。プログラムをつくる前に、どんな動きをするかイメージをふくらませてみれば、いろいろな種類のプログラムを考えつくことができるよ。
4.プログラマーは注意深い。ほんのちょっとしたミスが1つあるだけで、プログラム全体が動かなくなってしまうことがある。だから、必ず2回はプログラムをチェックしよう。
5.プログラマーはなぞを解く。プログラミングがうまくいかないときは、どこがまちがっているのかを知るための手がかりを探そう。
6.プログラマーは根気強い。もう1回やってみる、何度でもやってみる、そういう姿勢が大切なんだ。すぐに放りだしてしまったら、新しいことを学ぶことはできないよ。
7.プログラマーはあきらめない。思いどおりにいかなくても、くよくよしない。だれでもまちがえることはある。あきらずに続ければ、最後にはきっとうまくいくよ。

Kiki Prottsman『遊んで、ためして、よくわかる プログラマーになろう! 』‎

これはとてもわかりやすい説明だ。
生成AIにも、「いいプログラマーとは、どのような人であるかについて、子どもでもわかるように教えてください」と頼んでみた。多分、生成AIにとっては、この質問は得意分野なので、まともな回答だった(※を参照)。

そこで生成AIに、「あなたは良いプログラマーになれるか?」と聞いてみた。

生成AIは、テキスト、画像、動画、音楽、コードなどの新しいコンテンツを作成するためのAIモデルとツールの1つのカテゴリーです。
生成AIは、ニューラルネットワークやディープラーニングアルゴリズムなどの様々な手法を駆使して、人間が書いたプログラムコードを自動生成することができます。
生成AIは良いプログラマーになれるかという問いには、一概に答えることが難しいです。
生成AIは、人間がやりたいことを推測してコードを自動生成できるようになっていますが、それはあくまで人間が与えたプロンプトやデータに基づいています。生成AIは、まだ完全に人間の意図やニーズを理解したり、複雑な問題を解決したりすることができるわけではありません
生成AIはプログラマーの仕事を奪う可能性があるという懸念もありますが、それは逆に言えば、プログラマーが生成AIを使いこなすことで、より高度なスキルや知識を身につけるチャンスでもあります。生成AIはプログラマーの助けになるツールであって、敵ではありません。

Bing

生成AIは、謙虚な優等生で、人間のしもべなのだった(今のところは)。

※生成AIに、「いいプログラマーとは何か」を聞いた結果 :

いいプログラマーは、コンピューターでプログラムを書くことが得意で、そのプログラムがバグ(エラー)が少なく動作するように設計できる人です。また、コンピューターでゲームやアプリなど、楽しいものを作ることができます
いいプログラマーは、コンピューターやプログラム言語に興味を持って、常に新しいものを学ぼうとしています。プログラミング言語や開発ツールなど、技術の進歩にも常に興味を持っています。
また、いいプログラマーは、コード(プログラムの記述)が読みやすく、保守しやすいように書くことができます。そして、チームで開発を行う場合には、他のメンバーとコミュニケーションをしっかりと取りながら、目的を達成するために協力できます
簡単に言うと、いいプログラマーは、プログラミングの技術だけでなく、好奇心、コミュニケーション能力、チームワーク、そして常に学ぶ姿勢を持った人です

ChatGPT

いいプログラマーとは、コンピューターに指示を出すことができる人のことです。でも、それだけではありません。いいプログラマーには、他にもたくさんの特徴があります。例えば:
ポジティブな態度を持っていること。プログラミングは難しいことも多いので、やる気を失わないで、楽しく取り組むことが大切です。
コミュニケーションスキルが高いこと。プログラマーは一人で仕事をすることもありますが、チームで協力したり、お客さんやユーザーと話したりすることもあります。だから、自分の考えや意見を分かりやすく伝えることができる人がいいプログラマーです。
問題解決能力があること。プログラミングは、コンピューターに問題を解かせることです。そのためには、問題を分析したり、論理的に考えたり、創造的なアイデアを出したりする必要があります。問題に対して挑戦的で、解決方法を探す人がいいプログラマーです。
新しいことを学ぶ意欲があること。プログラミングは日々進化しています。新しい技術や言語やツールが次々に出てきます。それらを使えるようになるためには、常に勉強することが必要です。学ぶことが好きで、自分で調べたり試したりする人がいいプログラマーです。
きれいなコードを書くこと。コードとは、プログラマーがコンピューターに指示を出すための言葉です。コードは、自分だけでなく他の人にも読みやすく、理解しやすく、修正しやすくする必要があります。そのためには、コードの書き方や整理の仕方に気をつけることが大切です。

Bing

A good programmer is said to be someone who loves to solve problems.

As you can see in this article, even elementary schools are starting to teach programming in multiple subjects.
I borrowed a programming book for children from the library.

One page in the book was about "thinking like a coder."

Coders have all kinds of talents. One thing that most coders share, however, is a love of problem solving. If you want to think like a coder, keep these things in mind:
1.Coders think ahead. Programs can be complicated, so it is helpful to know what you want at the start.
2.Coders break things down. By taking one piece of a plan at a time, you can try different things without changing the rest of your program.
3.Coders are imaginative. Start by imagining what your code will do before you make it. This will help you think of different types of program to create.
4.Coders are careful. One little mistake can keep  your whole program from working, so always check your code twice.
5.Coders solve mysteries. When something is not  right, see if you can find any clues about what went wrong.
6.Coders are persistent. Decide to try again. Try  over and over. If you quit too soon, it will be hard to learn anything new.
7.Coders don't give up. If something doesn't work  out, don't worry. Everyone makes mistakes! You can still end up with something you're proud of in the end.

Kiki Prottsman "How to be a coder : Learn to Think like a Coder with Fun Activities, then Code in Scratch 3.0 Online!"2019

I also asked the generative AI, "Tell me, in a way even a child can understand, what makes a good programmer." Probably, generative AI is good at this question, so it was a decent answer (see *).

So I asked the generative AI, "Can you be a good programmer?"

Generative AI is one category of AI models and tools for creating new content such as text, images, videos, music, and code. Generative AI can automatically generate human-written program code using various techniques such as neural networks and deep learning algorithms.
The question of whether generative AI can be a good programmer is difficult to answer. Generative AI can guess what humans want to do and automatically generate code, but it is based on prompts and data given by humans. Generative AI is not yet fully capable of understanding human intentions and needs, or solving complex problems. There is also concern that generative AI may take away programmers' jobs, but conversely, it is also an opportunity for programmers to acquire more advanced skills and knowledge by mastering generative AI. Generative AI is a tool that helps programmers, not their enemy.

Bing

The generative AI has been a humble honor student, and also a human servant (for now).

*Results of asking a generation AI, "What makes a good programmer?":

A good programmer is someone who is good at writing programs on a computer and can design those programs to work with fewer bugs (errors).
You can also use your computer to create games, apps, and other fun things.
Good programmers are interested in computers and programming languages and are always trying to learn new things. I have always been interested in technological advances, such as programming languages and development tools.
Also, a good programmer can write code (a description of a program) in such a way that it is easy to read and maintain.
And when developing in a team, you can work together to achieve your goals while maintaining good communication with other members.
Simply put, a good programmer is not only a person with programming skills, but also someone who has curiosity, communication skills, teamwork, and a willingness to learn.

ChatGPT

A good programmer is someone who can give instructions to a computer. But that's not all.
A good programmer has many other characteristics.
For example:
having a positive attitude. Programming is often difficult, so it is important not to lose motivation and to enjoy working on it.
Having high communication skills.
Programmers may work alone, but they may also work in teams and talk to customers and users.
Therefore, a good programmer is someone who can express his or her thoughts and opinions in an easy-to-understand manner.
having problem-solving ability.
Programming is making computers solve problems.
This requires analyzing problems, thinking logically, and coming up with creative ideas.
A good programmer is someone who challenges problems and looks for solutions.
Being willing to learn new things.
Programming is evolving day by day. New technologies, languages and tools are emerging all the time.
In order to be able to use them, it is necessary to constantly study.
A good programmer is a person who likes to learn, research and try things on their own.
Writing clean code.
Code is the language that a programmer uses to give instructions to a computer.
Your code should be easy to read, understand, and modify for yourself and others.
For that reason, it is important to pay attention to how you write and organize your code.

Bing

いいなと思ったら応援しよう!