はじめに
こんにちは 高専一年のロボコン部部員です
今回は勉強していてふと思った、C言語とPythonなどの他言語との違いをまとめてみました
かなりざっくりとしています
ただしあくまで僕の捉え方ですので参考程度にお願いします
考え方の違い
C言語と他言語とではある明確な重きの置く位置の違いがあります
「効率的か」 と 「合理的か」 です
C言語
そもそも、C言語は古いプログラミング言語です
そのため基礎的なことで多くを作ります
「あれ?それってレベルが低くない?」そんなこともありません
C言語はパソコンの根本に近い考え方をしているために高い合理性を持ちます
そこを掘り下げてみます
ここであえて、C言語の不便なところを挙げてみます
C言語の不便さ
- for文を使う時、他言語ではリストなどと連動させて使うことができますがC言語ではいちいちfor文用の変数を作らなければなりません
- 変数や関数を使う際にはいちいち宣言が要ります
-
配列を作るときにはいちいち要素数の数の最大値を指定しなければなりません
さらにはそれを超えてしまうとエラーが起こるという厳しさです
C言語は他言語より規制が多いのです
それは決して悪いことじゃありません。
そのような言語を学ぶ際はそんな数々の規制に対応できるよう、自然とそのプログラミング言語の「捉え方」を身に着けるようになります
そして、その「捉え方」は学ぶほどに精度を増してより多くの構文に対応できるようになります
C言語は数あるプログラミング言語の中でその仕組みを可能とする合理性を持ち合わせるのです
そんなC言語で得られたプログラミング的な思考力、つまり「捉え方」は他の言語でも確実に役に立ちます
Pythonをはじめとした他言語
一方でPythonをはじめとした他言語は様々な要素をもち、それぞれに明確な強みがあります
現に、搭載されている関数やライブラリの数でいうと、Pythonの方がC言語より一枚上手です
多くの人がPythonの進化に携わっているので何をするにもレールがすでにひかれているような状態なのです
これは 「効率的」 だと言えるでしょう
まとめ
C言語は多くを覚えなくともその優れた合理性の見えやすさからある程度は良いものを作れます
しかしそれだけでは上手くいきません
コードが無駄に長くなったりと素晴らしいコードにはなりません
しかしPythonで同じものを作ると、ある関数で一発だったということがあります
他言語はC言語よりも、すこしだけ暗記ゲーなのです
個人的な意見
これから書くのは本当に単なる個人的な意見です
プログラミング言語の学習の入り口としてPythonから始める人は多いです
しかしそれってあまりにもしんどい気がしてなりません
前に書いた通りPythonは暗記ゲーです。
プログラミング言語の入門によく知らない仕組みの暗記を叩き込まれるのはかなりの苦痛でしょう
プログラミングが嫌いになってしまう可能性もあります
だから僕は最初にC言語を学ぶことを推したいです
C言語から多くの言語が派生しているので範囲も広げやすいですし
さいごに
ここまで読んでくださりありがとうございました
これはあくまで個人の意見ですので参考までにお願いいたします