No.15ベストアンサー
- 回答日時:
> 確かに質の良い環境で学ぶことは大切だと感じます。
うん、大切だと思うよ。
でだ。ちと思いついた事があるから書く。まあ、これも教えて!gooに関わって見てきて、多分こうじゃないか、って話だけど。
知ってる範囲で言うと、実の事言えば、殆どの大学では「ソフトウェアの書き方」ってのを教えないんだ。
いや、プログラミングは教えるよ?でも「一つの作品の書き上げ方」は教えない。何か「作品を作り上げる」のならひょっとしたら、それこそ「ゲームクリエイター養成」とか掲げてる専門学校の方がキチンとしてるかもしんない。
一般的には、大学の方では「データ構造の作り方」とかさ。言っちゃえばライブラリやスクリプトレベルの書き方しか教えないんだよ。
唯一の例外があるんだけど、それは「インタプリタの書き方」なんだ。しかし、殆どの大学ではその「インタプリタの書き方」そのものが「ソフトウェアの汎用的な作り方なんだ」って学生に示さないのね。結局、教員側も「何故にインタプリタの書き方を教えてるのか」意味が分かってないんじゃないか、と言う(笑)。別にアカデミックだからそれがトピックだ、ってワケじゃないんだよ。本来は「インタプリタの構成法」そのものが「汎用的なソフトウェアの書き方」だから取り上げてるわけ。
しかし、「インタプリタの構造がソフトウェアの構造そのもの」って観点は完全に抜け落ちて、「字句解析」とか「構文解析」とか本来枝葉末節な話が講義の中心になるんだ(笑)。いや、それはそれで技術的には重要なんだけど、トピックの重要度としては本末転倒なんだ。
結果、学生側も一体「何故にそれを学んでるのか」サッパリ分からなくなる(笑)。で、その辺アタマに入ってないんだけど、卒業制作とかでいきなり「GUIのソフトを作ろう」とか思いついて、でもやり方分からんから教えて!gooに泣きついて投稿してくるわけだ(笑)。
そういうおかしな状況がままあるわけ。
こういうある種の「危機」ってのはやっぱ有名大学になればなるほど回避出来る確率は上がるだろう、ってのがあるのね。
いや、上に書いた話嘘だろ?とか思うかもしんない。でも多分事実だと思う。
と言うのも、もちろん僕も全部の出版済み書籍を読んだわけじゃないんだけど、「インタプリタの書き方がソフトウェアを作る一般的な方法なんだ」って啓蒙してる書籍って、知ってる限り2冊しかないんだ。他の初心者向けの「プログラミング入門」の類って大体その言語の簡易リファレンス、って程度のクオリティでさ。後は巻末にスクリプト例が2〜3例載ってる程度、ってのが殆どなの。
つまり、そんな本を読んでも「ソフトウェアの一般的な作り方は分からない」。結果そのテの本を読んでも「ソフトウェアは書けない」んだ。そして、「何か作りたい」とかなった場合、場当たり的に「掲示板作成入門」とか、「ゲーム作成入門」とか別途買って読まなきゃならなくなる。
んで、驚く事にそういう「簡易リファレンス」的な書籍を書いてる奴らって「現役エンジニア」とか紹介されてるのが多い事多い事。でも「ソフトウェア作成の一般論」ってのには全く触れてない、んだ。と言う事は、かつて学校で学んだ時にそういうパースペクティヴは学んでませんでした、って事になるわけじゃん?知ってるなら書くよな。知らんから書けないんじゃないか、って事になる。
彼らもその場その場で場当たり的にやってきました、って事に他ならないんじゃないか。
繰り返すけど、「インタプリタを書く」ってのがほぼ「ソフトウェアを書く」のと同義なの。それどころか、CPUとメモリの組み合わせ、そしてその動作も実は概念的には「インタプリタ」なんだ。僕らはハードウェア・インタプリタ上でソフトウェア・インタプリタを使ってる。ある種メタ循環になってんのね。
インタプリタは読み込み・評価・印字の組み合わせになってる。ソフトウェアも読み込み・評価・印字の組み合わせになってる。これをRead-Eval-Print Loop(REPL)と呼ぶ。構造的にはインタプリタもソフトウェアもREPLを持ってるんだ。
と言う事は、ソフトウェアを作る際、パーツとしては読み込み部、評価部、印字部を別々に作っておいて、それらをループで組み合わせろ、って事だ。ある意味ワンパターンで良くって、そういう「パターン」を学んでおけば色んな問題に対処可能だ、って事だ。恐らくそういうパースペクティヴは有名大学でしか教えてくれない。
例えばこういうのを考えてみよう。「数当てゲーム」だ。1〜100の範囲で適当に整数を選んできて、プレイヤーはそれを当てようとする。答えの数より小さい値が入力された場合は'lower'と表示し、大きければ'upper'と表示する。入力数が答えとドンピシャだった場合、そこまで入力した回数を表示する、と。
この程度だとREPLを使わずに書けば、より短くなるかもしんない。ただし、「インタプリタの基本」REPLを使うと次のようになるだろう(言語はPython3.10以降とする)。
数当てゲームのREPLによる実装例(注: ideone上でエラーになってるのは、処理系がPython3.9だから):
https://www.ideone.com/Gt7rqN
方針としては毎度毎度
1. プロセス対象のデータ構造を考える(このプログラム上では「環境」と呼んでて、クラスで作成してる)
2. Read、Eval、Printを別々に作る
3. プログラム本体(この例だとif __name__ == '__main__':以降)でRead、Eval、Printを組み合わせてループさせる
だ。
プログラムが複雑になる、って事はEval部が複雑化する、って事なんだけど、そう言う場合は、外部に別に関数を作ってそれをEvalから呼び出すようにする。
いずれにせよ、ワンパターンでO.K.なんだ。それがインタプリタ作成の示唆で、一貫したパースペクティヴを与える。
んで、教えて!gooなんかで投稿される質問だと、そもそも1.の時点で躓いてる例も極めて多い。「データ設計」の重要さをまるで学んでない学生も多い、って事なのか?
いや、学生を責める前に、やっぱ教員側がまずはキチンと教えてないんじゃないの?ってのをまずは疑ってる。
上で本の例を書いたけど、実際書籍類でも「言語組み込みのデータの説明」ばっかで、じゃあそれらを使って「どうデータ設計するのか」ってのは全く触れてない書籍ばっか、なんだよ。
分かる?教えて!gooを見てる限り、やっぱ有名大学に行った方が「教員がマトモで」キチンと教えてくれるんじゃないか、って思うんだ。
そうじゃないと学生が「徒手空拳」で色々と頑張らざるを得なくなる。
そしてGUIだと、REPLの延長線上にMVCがある。MVCはGUI構成法の基礎で、REPLとMVCの関連性に付いても教えてないケースが多いんだ。
他にもこう言うのがある。アルゴリズムの基礎として「再帰」ってのがあるんだけど、教員側が「再帰は難しい」って言うのね。でも僕らはそれを高校数学で習ってるんだ。高校数学では「再帰」を「漸化式」と呼ぶ。そしてモダンな言語ではほぼ、漸化式は直接プログラミングが可能だ。実際は、高校数学(多分数学II?)の問題集でも引っ張り出して来て、「漸化式」の問題を10問もプログラミングすれば形式にはすぐ慣れる、って程度の話でしかない。
一体何のために高校数学履修者相手に「数学で入試」を実施して、それを無にするような発言をするのか。サッパリ意図が分からん。教員側が高校数学さえ知らんのとちゃうの?と言うちょっとゾッとするような話だ。彼らはアメリカ人が「再帰は難しい」と言うからそのまま言ってるんだ。しかしアメリカ人の一般的な数学的能力は日本人のそれより遥かに低い。
こんな蒙昧な発言は有名大学の教員ならしないだろう。
ちなみに再帰 = 漸化式だ、って書いてる「プログラミング入門書」なんつーのも見た事がない。
あと、あんま程度が高くない大学か何だか知らんが、Pythonを使ってるトコで、「機械学習が簡単に出来る!」とか言ってんのかな。pandasだ何だ、って外部ライブラリを使う方策を持っててもPythonそのものの「使い方」を教えきれてない、とか。そういうのも教えて!gooで良く見かける。「ライブラリ使用前に言語だろ?」とか思うんだけど。
このテの話で間違えてるのは、そもそも「ライブラリの問題」ってのはプログラミングの問題じゃないんだよ。通常、外部ライブラリにはフォーラムやユーザーグループ、あるいはメーリングリストなんかがある。使い方に関して質問するなら教えて!gooじゃなくってそっちなんだけど、おかしな学校ではそういう事を「紹介」さえしてないらしい。
あと、Google Colabの使用率が高い。「ブラウザ使えば簡単にプログラミングが出来る!」とか言ってるっぽいんだけど、それが結果一番面倒くさい事となる。プログラミングの実行環境が手元にない、ってのは学習上かなりマズイんだ。そしてそれに対して学生をフォローする事もしない。困って教えて!gooに投稿・・・ってのも良くある。
大体が教育側の問題なんだよ。
と言うわけで、余力があるならやっぱ「いい大学」行った方がエエんちゃうかいな。色んな投稿見てきたけど、投稿者の学生がどーの、って言うより教員側の方に問題が多いんじゃないの?って思ってる。おかしな事を言ったりやらせたりするのは教員側の質の問題でしょ。
やっぱいい先生とか、いい同級生がいた方がメリットはデカイんじゃないのかな。
根拠を適切に述べられており、
プログラミングにおける枝葉と幹が分かりやすかったです。
まるで質の良い講義を受けているようでした。
ご回答ありがとうございます。
No.14
- 回答日時:
身内で、専門学校を2校出て、その世界で頑張っている人がいます。
専門学校によって学べる分野が違ったそうで、こうなったと言ってました。
身内は、何社か渡り歩いて実績を積んでいますが、現場だとそこまで学歴は言われないそうです。
身内は、昇進したくない人なので、その点も学歴は気にしないのかもしれません。
あと、語学はそれなりにできた方がいいかな〜とも言ってました。
ただ、わたしの考えとしては、もしも大学で学んでいたら、講義でもっと深く学べたり、学生同士で学べたりと、得られるものは大きかったのでは?と思ったりもしました。
専門2校行くことなかったのかな?と。
大卒の方の努力の仕方と取り組む姿勢は、高卒専門とは違うように感じます。
周りからの刺激を受けるという面でも、大学に行った方がいいのではと思います。
No.11
- 回答日時:
人生ってそんな単純なものじゃなくてもっと複雑なものなんですが、
一般庶民から見る
有名大学を卒業するメリットは何も考えなくていいってことじゃないでしょうか。
努力しても手に入れることは出来ないと思います。
そもそも努力しないでいいって言うのがメリットですから。
No.10
- 回答日時:
質問の意図が、「今高校生で、有名大学に合格する学力はあるのだが、進学を目指すか、高卒で就職もしくは専門学校に行くか?」ということで迷っているのであれば、お金の問題が無いのなら、大学ですね。
一流大学には一流の先生がいるし、頭の良い同級生もいます。彼らから刺激を受けることは大きいメリットです。成長できます。これらは高卒での努力ではまず手に入りません。
また論理的に物を考える訓練も受けます。これはまあ、可能性としては努力でも何とかなるかもしれません。現実的には困難でしょうね。
あと、企業に就職するなら、10人の募集に20人の応募者とかなら20人を丁寧に面接するのは可能だろうから努力の成果を見せることは出来るでしょうけど、10人の募集に応募が1000人とかだと全員に丁寧な面接をするのは無理なので、書類で足切りをするのじゃないでしょうか。
数十人~数百人募集の中大企業だと大卒でないとそもそも応募できないかも知れませんが、上記のような迷いなら、大企業就職は最初から考えてないのでしょうから関係ないですね。
高校生だと、個人の趣味で開発するプログラミングと、組織でのプログラム開発の違いが分かってないと思うので、そのあたりをどうやって知るか。バイトですかね。
就職せず個人で起業するつもりならそもそも関係ないですが。
一流大学には一流の先生がいるし、頭の良い同級生もいます。彼らから刺激を受けることは大きいメリットです。成長できます。
という文章が刺さりました。
ご回答ありがとうございます。
No.8
- 回答日時:
う〜ん・・・。
良く分からんけど、有名大学の方が、思いきって「入門用言語」がPythonなんかの導入が簡単な言語を使ってるカンジ?
逆に偏差値が低い大学なんかの方が「昔ながらの」C言語を導入に使って、学生が苦労してる印象(笑)。
また、教えて!gooの質問なんかを見てきた印象だと、偏差値が低い大学の方がやっぱ宿題の問題が良くないのね。「出題者って本当にC言語の仕様把握してるのか?」みたいな。あとは汚いコードを学生に書かせるのもヘーキ、とか言う印象かなぁ。「動けばいいだろ」みてぇな。信じられない(笑)。
それで言うと、まず「教員の質が」やっぱ違うんだろうな、って事。有名大学の方が言語の選び方、宿題の出し方、に無駄が無い気がする。
そういうのが積み重なって学生に影響を与えていく、ってのはあると思うね。
まぁ、あくまで教えて!gooの質問の印象だけどさ。
あと、例えば「最先端の」関数型プログラミングの考え方の導入、とか有名大学の方が柔軟に取り入れている気がする。偏差値が低いトコだと「就職だけ」が目標で、プログラミングの「理論」周りにあんま関心を払わん、っつーかさ。結果、色々と「最新のアイディア」に触れる機会、ってのは有名大学の方が多いんちゃうの?
総合的に言うと、まぁ、理屈寄り、ってトコはあるけど、「色んなプログラミングの側面が学べる」って意味だと、有名大学を卒業する方がメリットがあるんじゃないかなぁ。
教えて!gooとか、他の質問サイト見てるとそんなカンジ。繰り返すけど、教員側の知識とかスタンスとかが全然違うんだよな。それが「有名大学の」メリットだと思う。
No.6
- 回答日時:
有名大学を卒業するメリットは、有名大手企業に入社しようとする場合に有利です。
それは、中小企業に就職するよりも、高給が得られることに繋がります。なお、一般的に言われていますが、IT業界は建築業界と同様にピラミッド構造となっていて、上のほうに位置する企業は有名大手のIT企業であり、開発の監督・管理を行って、実際のプログラミングは、下請け・孫請けの中小派遣IT企業の社員(や非正規社員)が担当する分業体制になっていることが多いです。
そのため、ネットで書かれていたと思ったのですが、「プログラマーになりたいから、有名大手IT企業ではなくて、小さなIT企業を選んだ」なんて話もあります。
真偽のほどは分かりませんが、大手企業でプログラミングをがんばろうとしていた方が、上司から「そんなことやるな、それは下請けの仕事だ!!」と怒られたという話もあります。
つまりは、有名大学をめざすこと(卒業すること)は、プログラマーへの道をめざす方にとってはマイナスになる可能性があります。
(No.4さんの回答に近いですね)
ただ、情報系大学のシラバスなどを見ていると分かりますが、プログラミングの世界では、しっかりやろうとすると、いろんな理論を学ぶ必要があったりします。
情報系の大学を卒業することで、そういう分野を学ぶ機会が得られるメリットがあると思います。
昔、インド人プログラマさんと某大手通信会社の仕事をいっしょにしたとき、「この人たちは、しっかり理論を学んでいるなあ・・」なんて感じたものでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 法学 法学部を卒業するのは難易度高いですか? 法学部を卒業したものです。 最初は判例や過去の有名な事件、法 7 2023/03/25 16:37
- 教育学 通信卒の人は学歴を堂々と名乗れるのか?、、 慶應早稲田の通信卒業の有名人が堂々と早慶卒と名乗ってたり 3 2024/02/13 11:37
- IT・エンジニアリング 身長187cmです。 新卒未経験からプログラマーを目指すにあたって、大学の土木工学科よりも機械工学科 4 2023/01/11 23:13
- その他(メンタルヘルス) ぼくは精神障害です。苦労は買ってでもしろと言いますが、精神障害者が苦労するメリットってゼロなんですよ 5 2022/06/01 02:12
- 新卒・第二新卒 就活で大手を受けないのはもったいないのですか? 3 2023/07/02 15:45
- その他(教育・科学・学問) 海外留学の奨学金について 1 2023/12/15 02:09
- IT・エンジニアリング なぜ誰でもできるプログラマーになるのですか? 23 2024/02/20 11:27
- タレント・お笑い芸人 芸能界でも高学歴者が多くなる中、最終学歴が中学卒業にも関わらず、成功を掴んだ芸能人・有名人はいますか 5 2024/01/10 05:47
- 高校 出身高校が廃校になった人はいらっしゃいますか? 1 2023/10/20 01:24
- 新卒・第二新卒 海外大卒から外資系企業へ 5 2022/08/12 12:42
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
AIの登場でプログラマーたちが解雇されていますが
その他(プログラミング・Web制作)
-
プログラミングを教えたいです。そういうSNSないですか?
その他(プログラミング・Web制作)
-
楽しくて最高のプログラミング言語を作りたいのですが、そもそもプログラミング言語を作る意味なんてないと
その他(プログラミング・Web制作)
-
-
4
プログラミング ソースコード
その他(プログラミング・Web制作)
-
5
プログラミングについて。 1つのループで Aという計算と Bという計算をするのと これらを分けて2つ
C言語・C++・C#
-
6
過剰なオブジェクト指向脳からの脱却について
その他(プログラミング・Web制作)
-
7
プログラマーは誘惑にさらされる人生?
その他(プログラミング・Web制作)
-
8
40代後半でゼロからのプログラム業界への転職
その他(プログラミング・Web制作)
-
9
プログラム言語について c言語もコードによって機械語に通訳されると知りました。直接機械が通訳しなくて
C言語・C++・C#
-
10
逆コンパイルと逆アセンブルの違いはなんですか
C言語・C++・C#
-
11
mallocについて
C言語・C++・C#
-
12
C言語をコンパイルするとコンピュータ上でどう動くかというコードになるみたいな説明をよく聞くのですがこ
C言語・C++・C#
-
13
ITの見積もりってなんであんなに高いんですか? 原価がかからないのに
その他(ソフトウェア)
-
14
プログラミングの課題がわからないので教えていただきたいです。特にサークル関数を定義した後に呼び出す方
C言語・C++・C#
-
15
小学1年生の子です。塾に行かせるのは難しいので、自宅で学べたらと思うのですが、子供にプログラミングを
その他(プログラミング・Web制作)
-
16
システムエンジニアの適正について
C言語・C++・C#
-
17
なんかC言語でプログラム書いてると脳汁というかエクスタシーというかなんかすげえ気持ちいいんですけどな
C言語・C++・C#
-
18
CPUが16bitでも32bitOSでコンパイルしたコード(例えばintが4バイトと定義されている)
C言語・C++・C#
-
19
文系のSE志望です。プログラミングを今から習得したいのですが、初めて学ぶのにオススメの言語があれば教
その他(プログラミング・Web制作)
-
20
C言語 配列と関数の練習問題
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rでのデータフレーム作成について
-
vba クリップボードクリアにつ...
-
Google ColaboでGUI作成
-
fortran write文について マチ...
-
アセンブリ言語について。
-
Pythonのエラーメッセージをコ...
-
フロントエンドエンジニアをし...
-
Webサイト内に埋め込んだmp4動...
-
プログラミングのやり方ざっく...
-
コトリン言語について。
-
gpioを使ってSPIをシミュレーシ...
-
このURLで広告を出しているのは...
-
エディターで以下のような色に...
-
テキストファイルの1行目のみを...
-
Python... 環境設定 初心者です...
-
Fortran の定数表現について
-
Pythonでの文字列からfloatへの...
-
Selenium4でボタンをクリックで...
-
そのまま使っただけなのに・・...
-
htaccessで特定のディレクトリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラマーと学歴の関係性に...
-
Fラン大学卒だと負け組ですか?
-
文章を構成し、物語を作る、主...
-
大学生です。生きたくありませ...
-
「年次」と「年時」に使い方に...
-
学費納入期限を過ぎてしまいま...
-
授業で理解した内容をレポート...
-
東京工業大学が東京科学大学に...
-
大学の志望理由書 400字制限で...
-
補導について
-
先日、1年生前期の成績が発表さ...
-
一日遅れで、学費未納のため大...
-
大学1年生の女子です。 先週、...
-
昔の短大の偏差値は高かったの?
-
大学の欠席についてです。 評価...
-
大学の教授の苦情はどこへ言う...
-
大学行きたくないです。 片道2...
-
必修科目って5回休んだらもう単...
-
豊橋技術科学大学って高専生が...
-
外出理由
おすすめ情報