プロが教える店舗&オフィスのセキュリティ対策術

プログラマーになるにあたって、
有名大学を卒業することで享受されるメリットを教えて下さい。

そしてそのメリットは、有名大学を卒業しなくても、
努力次第で手に入れることは可能でしょうか?

A 回答 (15件中1~10件)

> 確かに質の良い環境で学ぶことは大切だと感じます。



うん、大切だと思うよ。

でだ。ちと思いついた事があるから書く。まあ、これも教えて!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に投稿・・・ってのも良くある。
大体が教育側の問題なんだよ。

と言うわけで、余力があるならやっぱ「いい大学」行った方がエエんちゃうかいな。色んな投稿見てきたけど、投稿者の学生がどーの、って言うより教員側の方に問題が多いんじゃないの?って思ってる。おかしな事を言ったりやらせたりするのは教員側の質の問題でしょ。
やっぱいい先生とか、いい同級生がいた方がメリットはデカイんじゃないのかな。
「プログラマーと学歴の関係性について」の回答画像15
    • good
    • 0
この回答へのお礼

根拠を適切に述べられており、
プログラミングにおける枝葉と幹が分かりやすかったです。
まるで質の良い講義を受けているようでした。
ご回答ありがとうございます。

お礼日時:2024/05/09 00:40

身内で、専門学校を2校出て、その世界で頑張っている人がいます。


専門学校によって学べる分野が違ったそうで、こうなったと言ってました。

身内は、何社か渡り歩いて実績を積んでいますが、現場だとそこまで学歴は言われないそうです。
身内は、昇進したくない人なので、その点も学歴は気にしないのかもしれません。

あと、語学はそれなりにできた方がいいかな〜とも言ってました。

ただ、わたしの考えとしては、もしも大学で学んでいたら、講義でもっと深く学べたり、学生同士で学べたりと、得られるものは大きかったのでは?と思ったりもしました。
専門2校行くことなかったのかな?と。

大卒の方の努力の仕方と取り組む姿勢は、高卒専門とは違うように感じます。
周りからの刺激を受けるという面でも、大学に行った方がいいのではと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

自身も質の良い環境や、
自分に合う友達が改めて大切だと感じます。

お礼日時:2024/05/09 00:38

あるといえばある(肩書きみたいなもの)しないといえばない(勉強しないとプログラム組めない)ので直接は関係ないけど良い学校でちゃんと勉強したら良いプログラマになれると思います。



ただプログラマぐらいなら早い人は半年も勉強したらなれると思うので少しずつ目標をステップアップしていくと良い気がします。
    • good
    • 0
この回答へのお礼

自身の未来像が着実に見えてきました。
ご回答ありがとうございます。

お礼日時:2024/05/09 00:38

〈そしてそのメリットは、有名大学を卒業しなくても、


努力次第で手に入れることは可能でしょうか?

元々適性がある人であれば可能です。
努力しても適性がなければ無理です。
    • good
    • 0
この回答へのお礼

自身の性格にプログラミングが合っているか慎重に考えます。
ご回答ありがとうございます。

お礼日時:2024/05/09 00:38

人生ってそんな単純なものじゃなくてもっと複雑なものなんですが、


一般庶民から見る
有名大学を卒業するメリットは何も考えなくていいってことじゃないでしょうか。

努力しても手に入れることは出来ないと思います。
そもそも努力しないでいいって言うのがメリットですから。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
自分が何をしたいか、丁寧に考えてみます。

お礼日時:2024/04/26 18:56

質問の意図が、「今高校生で、有名大学に合格する学力はあるのだが、進学を目指すか、高卒で就職もしくは専門学校に行くか?」ということで迷っているのであれば、お金の問題が無いのなら、大学ですね。


一流大学には一流の先生がいるし、頭の良い同級生もいます。彼らから刺激を受けることは大きいメリットです。成長できます。これらは高卒での努力ではまず手に入りません。
また論理的に物を考える訓練も受けます。これはまあ、可能性としては努力でも何とかなるかもしれません。現実的には困難でしょうね。

あと、企業に就職するなら、10人の募集に20人の応募者とかなら20人を丁寧に面接するのは可能だろうから努力の成果を見せることは出来るでしょうけど、10人の募集に応募が1000人とかだと全員に丁寧な面接をするのは無理なので、書類で足切りをするのじゃないでしょうか。
数十人~数百人募集の中大企業だと大卒でないとそもそも応募できないかも知れませんが、上記のような迷いなら、大企業就職は最初から考えてないのでしょうから関係ないですね。
高校生だと、個人の趣味で開発するプログラミングと、組織でのプログラム開発の違いが分かってないと思うので、そのあたりをどうやって知るか。バイトですかね。
就職せず個人で起業するつもりならそもそも関係ないですが。
    • good
    • 1
この回答へのお礼

一流大学には一流の先生がいるし、頭の良い同級生もいます。彼らから刺激を受けることは大きいメリットです。成長できます。 
という文章が刺さりました。
ご回答ありがとうございます。

お礼日時:2024/04/26 18:56

ああそれで、だ。



> そしてそのメリットは、有名大学を卒業しなくても、
> 努力次第で手に入れることは可能でしょうか?

可能だとは思うよ。
貴方が気になる「有名大学」のシラバス調べてみればいいんだよ。大概公開されてるしな。
そこで使われてる教科書を買って読んでみればいい。大体、シラバスには「どういう授業計画で」「何の教科書を使って」「どこを重点的にやるか(つまり定期テスト範囲だな・笑)」書いてあるから。
それ見れば自習やるとしても補助になるでしょ。
    • good
    • 0
この回答へのお礼

親身に書いて頂き感謝します。

お礼日時:2024/04/26 18:59

う〜ん・・・。


良く分からんけど、有名大学の方が、思いきって「入門用言語」がPythonなんかの導入が簡単な言語を使ってるカンジ?
逆に偏差値が低い大学なんかの方が「昔ながらの」C言語を導入に使って、学生が苦労してる印象(笑)。
また、教えて!gooの質問なんかを見てきた印象だと、偏差値が低い大学の方がやっぱ宿題の問題が良くないのね。「出題者って本当にC言語の仕様把握してるのか?」みたいな。あとは汚いコードを学生に書かせるのもヘーキ、とか言う印象かなぁ。「動けばいいだろ」みてぇな。信じられない(笑)。
それで言うと、まず「教員の質が」やっぱ違うんだろうな、って事。有名大学の方が言語の選び方、宿題の出し方、に無駄が無い気がする。
そういうのが積み重なって学生に影響を与えていく、ってのはあると思うね。
まぁ、あくまで教えて!gooの質問の印象だけどさ。

あと、例えば「最先端の」関数型プログラミングの考え方の導入、とか有名大学の方が柔軟に取り入れている気がする。偏差値が低いトコだと「就職だけ」が目標で、プログラミングの「理論」周りにあんま関心を払わん、っつーかさ。結果、色々と「最新のアイディア」に触れる機会、ってのは有名大学の方が多いんちゃうの?
総合的に言うと、まぁ、理屈寄り、ってトコはあるけど、「色んなプログラミングの側面が学べる」って意味だと、有名大学を卒業する方がメリットがあるんじゃないかなぁ。
教えて!gooとか、他の質問サイト見てるとそんなカンジ。繰り返すけど、教員側の知識とかスタンスとかが全然違うんだよな。それが「有名大学の」メリットだと思う。
    • good
    • 0
この回答へのお礼

確かに質の良い環境で学ぶことは大切だと感じます。
ご回答ありがとうございます。

お礼日時:2024/04/26 18:56

単に初任給が高いだけですね。


有名大学だから出世しやすいことはないです。
むしろ研修を長く設けないと現場で使えるものにはならないです。

純粋に即戦力としてプログラマー、SEになりたければ専門学校に行く方がいいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2024/04/26 18:56

有名大学を卒業するメリットは、有名大手企業に入社しようとする場合に有利です。

それは、中小企業に就職するよりも、高給が得られることに繋がります。

なお、一般的に言われていますが、IT業界は建築業界と同様にピラミッド構造となっていて、上のほうに位置する企業は有名大手のIT企業であり、開発の監督・管理を行って、実際のプログラミングは、下請け・孫請けの中小派遣IT企業の社員(や非正規社員)が担当する分業体制になっていることが多いです。
そのため、ネットで書かれていたと思ったのですが、「プログラマーになりたいから、有名大手IT企業ではなくて、小さなIT企業を選んだ」なんて話もあります。
真偽のほどは分かりませんが、大手企業でプログラミングをがんばろうとしていた方が、上司から「そんなことやるな、それは下請けの仕事だ!!」と怒られたという話もあります。
つまりは、有名大学をめざすこと(卒業すること)は、プログラマーへの道をめざす方にとってはマイナスになる可能性があります。
(No.4さんの回答に近いですね)

ただ、情報系大学のシラバスなどを見ていると分かりますが、プログラミングの世界では、しっかりやろうとすると、いろんな理論を学ぶ必要があったりします。
情報系の大学を卒業することで、そういう分野を学ぶ機会が得られるメリットがあると思います。
昔、インド人プログラマさんと某大手通信会社の仕事をいっしょにしたとき、「この人たちは、しっかり理論を学んでいるなあ・・」なんて感じたものでした。
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます。
自分が何をしたいのか、しっかり考えてみます。

お礼日時:2024/04/26 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A