オフィスブログ

プログラミング学習するにはどの言語?

どの(プログラミング)言語を使うといいのでしょうか?

随分、長いことそういう質問を聞いてきました。

どんなプログラミング言語でもイイですよ。 ・・・と言うことが多かったかなぁ・・・(^_^;)

そうね、イイ加減な回答だったかもしれません。すみません。

質問が「どの言語を使うのがいいか・・」って言うくらいでは、ちょっと曖昧ですからね。

どのプログラミング言語でも、「ちゃんと学べば」・・・イイですよ。

そう言うしかないよね。

もう少しいろいろな状況・条件がついてくれば・・・ちょっとは違う答えもあったかもしれません。

こんにちは。ディーキャリアITエキスパート名古屋丸の内オフィスの志村です。

昔ね、「本物のプログラマはPascalを使わない」という文書を読んだことがあります。

ネットで検索したら出てきました。

わたしはbitという雑誌で読みました・・・昔ね。

検索して出てくるんだから、今でも、この文書を話題にする人・・・いるんだということね(^o^)

ただね、この文書を幾らかでも理解する人は、もう今の時代はかなりの少数派でしょうね(苦笑)

わたしはね、これを読んでちょっと気持ちが分かるくらい・・・年寄りです。

それで「気持ちはちょっと分かる」・・・んですが、構造化プログラミング言語のご先祖さまであるPascal(パスカル)をわたしは学びました。

実際に仕事で使ったのは、Pascalの次くらいに出てきて、構造化プログラミング言語と言われたC言語です。

Pascalを仕事で使ったことはありません。そういう仕事がなかったのでね。

当時、自分で使うパソコン(PC9801F2、OSはMS-DOS)で初めて自分でお金を出して買ったのは、Turbo Pascal(ターボ・パスカル)というコンパイラでした。それまでBASICでプログラムを書いていたので、 Turbo Pascalでプログラムを高速コンパイルして、実行もめちゃくちゃ高速で動いたので、感動しました。

「コンパイラだぁ。スゴイ。速い。トンデモナイ。実行ファイルがコンパクト。小さい。スゴイ」

オタクだったのでね、そういうのでワクワクしてました。

ちなみに Turbo Pascal はコンパイラですが、統合開発環境そのものでした。現代風でしょ? エディタから、コンパイル・実行まですることができるようになっている。

統合開発環境(IDE)のハシリです。

プログラマとして現場で仕事をしていた時に一番使っていたのは FORTRAN77 です。

その次がC言語でした。

構造化プログラミングが仕事で使われるようになった頃のことです。

「本物のプログラマはGOTOを使うことを恐れない」と書いてある(苦笑)

うん、GOTO 使ってました。最初にわたしが学んだプログラミング言語がBASICだったからです。 BASICではGOTO文は大事な制御用の命令でした。ただ、一応、言っておけば、注意して使いました。

GOTOは制御をどこにでも飛ばせますから、深く考えもなしに、その場の条件だけ考えてGOTOするとプログラムの制御はスパゲッティのように絡み合います。

スパゲッティプログラムと言われるプログラムはGOTOによってできた「ダメな」プログラムの典型です。

ちなみに初期のFORTRANはGOTOを使うのが当たり前のプログラミング言語でした。

ある時からGOTOは一切使うな・・・ということを言う人たちが出てきました。

そうね、使わないで済むようにプログラムを書けば良いね。

そうすると、プログラムコードは、ある程度まとまった塊として作ることができて、コピペしても使えるようになりました。

構造化プログラミングが大事なのだと、みんな言うようになって、わたしも確かにそう思います。

C言語プログラムは、そもそもが関数(function)の塊です。

構造化プログラミングが前提のプログラミング言語でした。

C言語の親が Pascal です。ちょっと書き方の制限が多いのですが、構造化プログラミングを勉強するのにPascalは悪くない。でも、仕事で使ったことがありません。

だから当時、プログラミングを学習するならC言語がいいのじゃないかな・・と言っていたと思います。

,ちなみに3つの制御構造だけで書くのが、構造化プログラミングではありません。それも重要な考え方ですが、構造化プログラミングの本質はプログラムを部品(モジュール)として捉えることです。

プログラミングでも何でもそうですが、何かを勉強する時は、まず取っ掛かりやすいところから始めて、徐々にレベルアップするのが良い。

最初にBASICを学んだことをわたしは良かったと思っています。
それで次がFORTRANだった。
それからPascal をやって、C言語です。

今、プログラミングを勉強しようという人に、何を勧めたら良いか・・・ なかなか難しい質問です。

今時のプログラミングはオブジェクト指向です。
構造化プログラミングの先までいく(学ぶ)必要があります。
いきなりオブジェクト指向プログラミングだと言われても・・・難しいよねぇ(苦笑)

まあ、仕方ありません。

だから、プログラミングを学習するなら、取っ掛かりやすいプログラミング言語で、ちゃんと後でも使う価値があるのが良いですね。

C言語から始めて、次のステップで、C++やJavaを学ぶのも良いかなと思います。
GUI環境のWIndowsで動くプログラムを考えたら、Webアプリ用のスクリプト言語がイイのかなとも思います。
そうするとね・・・ディーキャリアITエキスパートが、JavaScriptPHPを勧めるのも一つですよね。今のGUI環境で動かして結果を確かめられる。

小学生がとにかくプログラミングの楽しさを分かるために Scratch(スクラッチ) を使うのもアリだと思います。
でも、これがプログラミングだと思い込むと、実際にプログラムを書く時にギャップに戸惑うかもしれません。ちゃんと手引きする人が必要です。

ということで、今時、初心者から始めて、ちゃんとプログラミングを学習するなら、Ruby(ルビー)とかPython(パイソン) が良さそうです。

Pythonは仕事で使われることも・・・ありそうだ・・・ということもあります。 取っ掛かり易いし、いろいろ、使えるツールやライブラリ、フレームワークみたいのもありそうです。 Python や Ruby を使った仕事もあるようですし・・・
とは言っても、ちょっと気になるのは、実際の仕事で使う時の性能でしょうか。 処理速度を考えたら、ちょっと不利かもしれません。

40年前にわたしがBASICでプログラミングを覚えた時も、処理速度は遅いBASICでしたから、同じことですね。 もっと速い(速く動く)プログラムを作りたいと思って、コンパイラ言語に乗り換えていった。

さて「本物のプログラマは・・・」という文書、一度は読んでみると昔の技術者の気概って何かが分かるかもしれません。

あえて構造化プログラミング言語ではないFORTRANやアセンブラを使うのだ・・・という昔気質の技術者の気持ちは、技術の世界では大事なことを思い出させてくれもします。

人工知能をFORTRANで書くのだ・・・と言う技術者はね・・・う〜ん、そこまで言える人、今はいないでしょうね。

でもね、「弘法、筆を選ばず」 に相通ずるもの・・・感じること・・できるでしょうか?

わたしが最初にそういうことを感じたのは、再帰の仕組みを言語仕様上はもたないFORTRANやBASICで再帰処理する人たち(達人たちです)を目にした時でした。

わたしが若い頃知り合った、ゲーム制作をしていた天才プログラマさんは、C++を使わないけれどC言語でオブジェクト指向するから大丈夫・・・と事もなげに言ってました。

う〜ん、そういうのが「本物の」プログラマたちなんでしょう。

わたしはそこまで行きません。

適度に使いやすい道具に走りました(苦笑)

構造化プログラミングしなくちゃいけないから・・・C言語が良かった。
今、オブジェクト指向でイベント駆動のプログラムを書くなら Java かな。 C++でも良いです。
今どきのスクリプト言語はオブジェクト指向の言語ですから、JavaScriptでも、RubyやPythonでも良いと思っています。

楽だもの(笑)

天才ではないので、わたしは見合った道具を使います。

「わたし今、Windowsパソコン使っています。プログラミングを学ぶなら・・どの言語がいいでしょうか?」 と、聞かれたら、

そうね、手軽さを考えて・・・JavaScriptか、Pythonで良いかな。Rubyでも良いけど。
Javaはちょっと最初は難しいかもしれないね。
JavaScriptやPythonは40年前のBASICみたいなもんです。

最初はそこから入って、実際に仕事としてプログラムを書くようになったら、 C++、Java、もしかしてWindowsのプログラムを書かなくちゃいけないなら C# を学んだらいい。

構造化プログラミングって何よ・・・オブジェクト指向プログラミングというのは?・・・というのを順番に覚えたら、良いでしょうね。

ディーキャリアITエキスパートでは、Webアプリ開発から入りますから、大体はそういう順番でプログラミングを学びます。

少しだけ、その本質については手引する人が必要かもしれませんが。

ディーキャリアITエキスパート名古屋丸の内オフィスに来てくれたら、そういうこともお話しましょうね(^_-)-☆


ディーキャリアITエキスパート名古屋丸の内オフィス 
 ・電話052-218-4877
 ・メール it-nagoyamarunouchi@dd-career.com 
 ・所在地:〒460-0002
      愛知県名古屋市中区丸の内2-17-22丸の内桜通ビル2階
 ・HP:https://dd-career.com 


ITエキスパート名古屋丸の内のブログ一覧

  1. 仮想と現実・・・マトリックス?アバター?・笑

  2. 安定して働きつづけるために、大切なこと

  3. ディーキャリア卒業におけるプレゼンテーション

  4. 地味にスゴイ・・

  5. 入口と出口が問題なんですよ。

  6. OSのお話(その2)

  7. 生活リズムを整える=安定した就労への近道

  8. OS(オペレーティングシステム)のお話

  9. チャンスは何度かやってくる

  10. 大事なのは変わっていく事…変わらずにいること

  11. 気付きと活かしの宝庫、ライフスキル訓練

  12. 発達障害のある方におすすめの引っ越し先1選+α

  13. 2024年のディーキャリアITエキスパート名古屋丸の内オフィス

  14. 自分について想う

  15. 派遣の話・・・IT業界ではね・・

  16. 2023年を振り返って

  17. コミュニケーションにおける態度や心構え

  18. IT企業から見た時、何が目につくのか・・・

  19. 問題解決 ~勤怠の安定~

  20. ライフスキル訓練における意識 

  21. Windows前と後でプログラムは変わったんです・・・

  22. 時間

  23. COBOLをどう思います?

  24. 特性や診断と向き合う自己理解

  25. ポートフォリオ? ああ、作品集・実績ですね

  26. ポートフォリオはできました・・で、どうする?

  27. 全体訓練=ライフスキル訓練の利点

  28. たまには・・・意味のない?お話も、実は意味がある・・(^_-)-☆かもね

  29. やりっぱなしにはご注意を!

  30. プログラミング「技術」って・・・

  31. 発達障害の診断は自分に正直なしるし

  32. 短期回復と長期回復

  33. ごほうび効果

  34. プログラミング、はじめの一歩・・・

  35. 「業務アプリ」を使う理由(ワケ)

  36. 仕事ができるようになるには

  37. 就職する、がゴールではないですよね??

  38. パソコンなんか、何に使うの・・・

  39. chatGPT(チャット君)ありがとね〜

  40. ファイルシステムのお話

  41. どんなライフスキル訓練も自己理解に繋がっていますね?

  42. それでも、受かること、あるからねぇ・・・

  43. 今度は疑似言語ですよ・・おお、構造化プログラミングだね

  44. まず、やってみよう・・・それからだよ

  45. 設計するって何する?

  46. 派遣、SES、請負・・え?出向なの?

  47. ゆる〜い関係もまあ良しか・笑

  48. 就職では「人となり>技術力」かな・・・

  49. 想い続ける・・・いいね

  50. クラウド(雲)時代を生きる

  51. 今や、インターネットは一般用語ですね。

  52. この夏にやってみたいこと

  53. 水で通信しよう・・・

  54. 夏のセルフケア ~水分摂取の巻~

  55. (世の中の)歯車なんだよね・・・

  56. 「知っている」と「活用する」ことの違いについて

  57. フリーは、い〜な

  58. ITを活用する人になろう

  59. システムエンジニアなんですけど・・・

  60. 大きなシステムだって・・・分かってる?

  61. ある利用者からの質問

  62. 天気と気分・視点の変え方

  63. 自己肯定感を取り戻す

  64. 夢が叶う時…

  65. 何が大事って、安定した勤務です

  66. 梅雨時期の乗り越え方

  67. オタクですが・・・なにか(笑)

  68. IT人材は不足しているそうです

  69. 感情とその気付き

  70. ライブラリィ・・・ん?

  71. 3分間スピーチと自己開示

  72. 暗号化ってどうよ・・・

  73. 宣言効果と目標設定

  74. chatGPTは社会を変える?

  75. ネモフィラとセルフケア

  76. はなまる

  77. 報連相について

  78. ショックとのおつきあい

  79. 体調管理

  80. 発達障害のある方にお勧めするお金の管理法3選

  81. Iメッセージ

  82. 就職活動

  83. 負ける強さ

  84. 発達障害とお片付け

  85. ADHDのリスクとリターン

  86. しだれ桜

  87. スティーブ・ジョブズに学ぶ、もののとらえかた

  88. やすむこと

  89. “今、ここ”を意識することの大切さ

  90. 春の訪れ

  91. おかげ

  92. 心の防寒

  93. 立春

  94. 自己理解について

  95. アロマテラピーと自己理解

  96. 大寒波

  97. ホッと温かい寒さ対策

  98. 遅くなりましたが

  99. 自己理解、一歩踏み込んで

  100. 2023年は卯年

  101. 2022年を振り返って

  102. 年末にすること

  103. あっという間の1年

  104. ディーキャリアITエキスパート名古屋丸の内オフィス、配置変えの巻

  105. 冬の早朝

  106. 寒い中で気付けること、感謝できること

  107. 逃げること、回避すること

  108. 寒い季節の悩み

  109. 目的を持って取り組むこと

  110. ものの見方は自分次第、捉え方は2つ以上ある

  111. 最近のセルフケアと癒し時間

  112. 切り替えて別の案を考えること、満喫すること

  113. 毎月の目標設定

  114. 生活リズムを整えるには・・・

  115. コツコツと、ささやかな習慣化

  116. 秋の楽しみ、そして、セルフケア

  117. 楽しみ方

  118. 働く上で大切にしていること

  119. 睡眠の質

  120. 衣替え

  121. 雑談について

  122. 色とセルフケア

  123. 季節の変わり目

  124. アサーティブとは、しずかちゃん!

  125. 5分間のホッとする時間

  126. ライフスキルコースについて

  127. ビジネスマナー 右手を隠す編

  128. BGMの活用

  129. 仕事を楽しむには

  130. 雨の日の気分転換

  131. 開所4か月目

  132. セルフケアって何だろう?②

  133. ビジネスマナー

  134. セルフケアって何だろう?

  135. ITエキスパート名古屋丸の内スタッフ紹介! ②イケメンカリスマ営業マン(^_-)-☆

  136. ITエキスパート名古屋丸の内スタッフ紹介! ①システムエンジニア サービス管理責任者

  137. 発達障害特化とは(^_-)-☆

  138. オフィスのおすすめポイント② (^_-)-☆

  139. ITエキスパート名古屋丸の内オフィス 4月1日開所しました(^^)/

オフィス情報

ITエキスパート名古屋丸の内オフィス

アクセス
名古屋市営地下鉄 桜通線/鶴舞線「丸の内駅」3番出口すぐ
電話番号
052-218-4877