質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

8回答

5385閲覧

来年から専門学校に入学しようとしています。今勉強するべきことは何だろうと悩んでいます。

makoto-n

総合スコア436

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

4グッド

4クリップ

投稿2016/01/21 08:53

編集2016/01/21 09:05

軽く自己紹介をします。
私は今23歳、高卒です。
来年に専門学校に入学しようと思っています。
大学でない理由は金銭面です。
また、学校に入学しようと考えている理由は言語を基礎から徹底的に学び、その後の就職に有利になるためです。
HTML/CSSはある程度理解できます。
wordpressもテーマ作りをしました。
デフォルトのテーマほどの完成度ではないですが。

将来的にJAVAやPHPも手をのばし、サーバーサイドのwebプログラマになりたいです。
while文やfor文などの基礎はphpで学習しました。

JavaScriptやjQueryは今すぐに学ぼうとは考えていません。
サーバーサイドのものでこれだというものはないでしょうか?
今はPHPで掲示板作成や自宅サーバーの構築、JAVAでアプリ製作を考えています。
JAVAの開発環境はできました。

ビジョンがはっきりせず、時間だけを浪費しています。

yuba, Chironian, throwsNullPo👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

izkn

2016/01/21 09:03

こちらの質問が他のユーザから「プログラミングに関係がない質問」という指摘を受けました teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。 「質問を編集する」ボタンから編集を行い、具体的に困っている理由や解決したいことを明確に記入していただくと、回答が得られやすくなります。
Chironian

2016/01/21 10:14

ほう。マイナス理由が公開されるようになったのですね。これはありがたい。 しかし、どのプログラミング言語を学ぶのが良いか?って質問を「プログラミングに関係がない」と判断する人がいるのにはちょっと驚きですね。
guest

回答8

0

ベストアンサー

まず、ちょっと前置きから。

teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。

との事ですが、「エンジニアのためのQ&Aサイト」と謳っている以上、本件のような質問を否定すべきではないと思います。

実装上の問題の多くは時間を掛けてググると自己解決出来る場合もありますが、エンジニアを目指して頑張っているが故に生じる疑問や悩みは、こうした場を借りて先輩エンジニアの生の意見を聞くことでしか解決出来ないので。

勿論、人生相談のようになっては困りますが、そこをわきまえてさえいれば、例えマイナス評価を受けようとも臆せずに質問して良いのではないでしょうか。


さて、本論ですが、既に皆様が回答されている通りです。つまり

ビジョンがはっきりせず、時間だけを浪費しています。

の一番の特効薬は、どんな形でも良いのでとにかく「実務に携わる」事です。
教科書をなぞるような勉強を何年続けてもあまり成長は見込めません。
プログラミング言語は道具に過ぎないので、教科書で学ぶ事よりも『実務で使う』ことでしか得られないモノの方が遥かに多いです。

それと、お気持ちはよく分かるのですが・・・今の時点で

サーバーサイドのものでこれだというものはないでしょうか?

といった考え方はしない方が良いと思います。
技術の流行り廃れを正確に予測するのは至難の業ですし、また、たまたま流行りの技術を習得出来ていたからといって仕事面での成功が保証される訳でもありません。

いわゆる潰しの利くエンジニアになるには、何を学ぶかよりもどのように学ぶかの方が何十倍も重要だからです。


次に、進路について少し。

自分は一応大卒ですが、工学系専門学校で一時期非常勤講師をしていた経験もあるので、両者について幾らか知っているつもりです。
両者共に、自分が高校生の頃に抱いていたイメージとはかなりかけ離れていて、少なからず失望したのを覚えています。

とは言え、それは学校側が一方的に悪いと言う事では無くて、むしろ自分自身の「能動的に学び取る能力」の欠如に失望していたのだと、今では思っています。

大学と専門学校は、似て非なるものです。
あくまでも一般論ですが、大学は基礎学問を教え研究する場なので、システム開発の実務的な事は余り教えてもらえません。
一方、専門学校は『実践的』である事を旨としているので実務的な事も多く取り上げられますが、あくまでも教科書的なレベルです。ですから就職後に直ぐに役立つか?と言えばかなり疑問です。

結局どこで何を学んだところで、その内容自体が実務に直結している訳では無くて、その学びや経験、人間関係を通して、どれだけ『問題解決能力』や『コミュニケーション能力』を培えるかが重要なのだと思います。

ちょっと語弊はありますが、大学が専門学校に勝っている最大の利点は、無駄にダラダラと過ごせる時間的な余裕の有ることかなとさえ思っています。
しかし、この一見無駄な時間が実はとても重要であり、自由な発想柔軟な取り組み方というエンジニアにとって重要な資質を育むのに大いに役立つのだろうと考えている今日この頃です。


さて、最後になりますが、専門学校へ進学されるのであれば是非とも基礎周辺に注力してください。

基礎』といっても学者になる訳ではない(プログラミングは基礎学問ではなく実学です)ので、知っているに越したことはないですが(学問としての)数学はあまり必要ではなく、むしろ『基礎技術』をしっかりと身に着けて頂きたいと思います。出来るだけ若いうちに!

その際たるものの一つが「ネットワーク技術」です。たとえば下記をしっかりと学習してください。

マスタリングTCP/IP 入門編 第5版

これは、Web系システムに限らず、これからのシステム開発全般において益々重要になってくる分野の知識です。こうしたキーテクノロジーの基礎をどれほどしっかりと理解しているかで、5年先、10年先の技術力に差がでてくるということに、全てのエンジニアが同意されると思います。

開発で実際に使用する言語については、とりあえずリファレンスを読めるだけの知識があれば十分です。それ以上深く学習したとしても、実際に使う機会がなければ宝の持ち腐れであり時間の無駄です。必要に迫られてから学習しても間に合います。

それよりも、コードリーディングやテストの手法について学習する方が余程実務に役立ちます。たとえば以下の様な参考書を、最初は拾い読みでも良いので目を通して見てください。

Code Reading―オープンソースから学ぶソフトウェア開発技法
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

知識ゼロから学ぶソフトウェアテスト 【改訂版】

これは個人的な見解ですが、システムの性能やメンテナンス性は、プログラム自体よりもデータ構造によって大きく左右されると考えております。そういう意味ではデータモデリングの基礎をしっかりと身に着けることも重要だと思います。

業務別データベース設計のためのデータモデリング入門

それから、周辺という意味では、インフラ系の知識も毛嫌いせず貪欲に取り入れてください。
インフラ系も非常に広範囲かつ奥深いテーマなので、あまり深入りする余力はないと思いますが、敢えて下記の参考書を推薦しておきます。

絵で見てわかるOS/ストレージ/ネットワーク~データベースはこう使っている

プログラミング言語について言えば、折角、環境を構築なさったのであれば、まずはJavaにじっくりと取り組んでみられると良いです。
プログラミング言語は、誤解を恐れずに書けば、どれが良いとかどれでなければダメということは無くて、要件として定められているのでない限り自分の好きなものをその都度自由に選べば良いのです。

自然言語だって、適切な訳語が見つからず苦労することはあったとしても、だからその言語がダメということはなく、その文化全体も含めて楽しめば良いだけです。
いろいろな言語に触れ、片言でも喋れるようになって初めて、母国語の美しさや奥の深さが分かってくるように、Javaに軸足を置きながら色々な言語に触れてみると良いのではないでしょうか?

中でも、CJavaScriptについては、ほんの入門程度で良いので早めに触ってみることを強くオススメします。(入門程度は既にマスターされているかもしれませんが)

Cはシステムの深層を理解したりアルゴリズムの学習にも有用ですし、JavaScriptは単純にツールとしての利用価値が高いので、プログラミング自体に直接使用しないとしてもかなり有用だと感じています。

とりとめもなく長文になってしまいましたが、いくらかでもご参考になれば幸いです。

投稿2016/01/21 14:16

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2016/01/21 16:08

> いわゆる潰しの利くエンジニアになるには、何を学ぶかよりもどのように学ぶかの方が何十倍も重要だからです。 ありがとうございます。 大変参考にさせていただきます。
guest

0

プログラム技術というのは就職してからでも学べます
本を読めば高卒程度の学力でも大概のことはわかります
歳をとってから若いうちにもっと勉強しておけばよかったと思うのは、
もっと基礎的な学問です
数学理論や言語学、物理学などは、大学で体系的に勉強しないと、
(よほどの天才でない限り)独学で習得するのは困難です。
経済的な理由が問題ならば、とりあえず就職して夜学や放送大学でもいいので
大学の勉強をされることお勧めします。
そういうことができるのは体力的にも家庭環境的にも若いうちだけです。
数学等は高校と大学では用語もなにもかも違うので、
あるレベル以上のことをやろうとして壁にぶち当たったとき、
独学では解決することができません(本を読んでもちんぷんかんぷんです)
技術的な問題で本当に差がつくとしたらそこです
(それ以外に差が付く大きな要因はコミュニケーション能力です)

まあ、「上を目指さない」「歳をとってからも使いパシリでいい」というのであれば、
そこまでがんばる必要はないのですけれど。

投稿2016/01/21 10:08

kozuchi

総合スコア1193

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2016/01/21 12:11

> 数学理論や言語学、物理学などは、大学で体系的に勉強しないと、 (よほどの天才でない限り)独学で習得するのは困難 うーん、なるほど、、 ありがとうございます。
guest

0

今後のプログラミングの基礎になるような数学や英語を勉強するのがいいと思いますよ。
大学に在学中は数学や英語を勉強し、自分で趣味で開発をする。
学校の制度があれば留学もいいかも。

プログラミング言語は常に変化します。今はJavaかもしれませんが、いつJavaが転落するかもわかりません。
もちろん保守とかはあるでしょうが。。

サーバーサイドの言語はあなたが卒業する頃には主流は変わっているかもしれませんしね。
就職が思ったところにできたとして、サーバーサイドのエンジニアをやれる保証はありません。
そのためには、プログラミングの基礎となる数学、海外のドキュメントを読めたり、コミュニケーションを
取れる英語能力があると全然違いますよ。
将来やりたいことがエンジニアじゃなくなっても使えるってあなたにとっても強い武器ですよ。

今自分も数学、英語ともに苦手で今は英語を勉強しています。

時間があるのなら考えても未来はわからないのでとりあえず何か作ってみてはいかがでしょうか?
他の企業は知りませんが、自分の知る限り、在学中にサービスを作ってる人が有利かと思います。
起業の道も開けますしね。

投稿2016/01/21 12:27

chonbo2525

総合スコア233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

いろいろと困難に突き当たっているご様子、お察しします。
また、勉強の過程において「基礎は習得したものの次にどちらへ進んでいいかよくわからない」という悩み、とてもありそうに思います。

自分を振り返るに、どうして「やりたいこと」に困らずに進んでこられたかと考えてみると、プログラミングに入ったのが血気盛んな中高生の頃で、やりたいことに困るどころか作ってみたいゲームの構想ばかりがあふれて作るのが追いつかないという状態だったからのようです。
大人になった今はそんなことはなくて、業務があるからこそそれをクリアするためにいろいろ動けているというところですが。

要はですよ、就職のためにプログラミングを学んでいるとは言え、学びを前に進めるためには業務が必要なのです。
だから本就職は専門学校を出たあとにするとしても、バイトでいいから開発の仕事に入りましょう。
その経歴だったら、十分PHP開発のバイトに応募可能です。
迷惑をかけるんじゃないか? たぶんかけますが、たぶんバイト先には「もっとひどい」人がいくらでもいます。迷惑をかけるよりもフォローしていることの方が多くなるかもしれませんよ。

バイト業務から動機づけと業務経験をもらい、専門学校の授業から基礎を学び、あとは技術系雑誌から刺激をもらい、でやっていけば立体的なインプットの中から自分の進むべき道、見えてくると思いますよ。
技術系雑誌としてはやはり「WEB+DB PRESS」でしょうね。
(たぶん今読んでもちんぷんかんぷんでしょうが、今後わかるようになっていくのが指標になると思います。あとプロにとっても専門外の記事は結構ちんぷんかんぷんなもんです)

投稿2016/01/21 09:24

yuba

総合スコア5568

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2016/01/21 09:34

本まで紹介していただきありがとうございます。 精進します。
guest

0

バイトで良いから実際の開発をやっても良いかと。できなければ別の職場で仕切り直せば済むことです。

一部上場の大企業で人事部が本人の適性を考えてシステム部に配属したであろう新人にOracle関係を教えたことがありますが、今日の講義でわからなかったことが、終電まで付き合うから今日中に理解するように、そうしないと明日の講義がわからないから、とサポート体制を敷いているのに定時で帰ってしまい、10人や20人にひとりくらいはどうしてもついてこられないメンバーもいます。

初心者が勉強するのに良いプログラミング言語 も参考に。

投稿2016/01/21 09:40

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

広島情報専門学校という専門学校の2005年度卒です。


とりあえず専門学校生の仕事は資格を取る事なので、ITパスポート→基本情報→応用技術者かな
応用技術まで行くのは実務経験の乏しい専門学校生にはちょいと苦しい

ぶっちゃけプログラミングって所で言えば専門学校では全く学べない
プログラミングの腕を磨くには以下

  • リーダブルコードを読む
  • 英語を読む訓練をする
    • 英語が出来ないとIT土方率が上がる
  • RubyかPythonを触る (これぞと思う言語ならなんでもいいけど)
    • 英文がそのまま降りてきたかのような美しいコードが書ける
    • 良いコードをGitHub等で入手しやすい
  • フレームワークを使ってなんか作る
    • 社会人になると勉強のための時間が中々作れないので、此処が踏ん張り時

投稿2016/01/28 23:20

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まぁ、プログラム作れても、若いうちだけかな

簿記、財務会計、会社経営学、異業種交流会の参加などで、仕事の幅を広げる努力はした方が
いいですね
やはり、年齢が上になると、設計、システム導入提案、システムコンサルティングとありますからね、この業界で生き残って行くには
多種多様の会社事業態の知識は必要ですね〜
プログラムは、似たようなソースがネットに
転がっていますから、そんなに苦労はないですよ
業務知識や経営概念、それらを理解した上での
スキルアップが長生きの秘訣ですね〜(^ ^)

投稿2016/01/27 16:39

KiyoshiMishima

総合スコア44

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2016/01/28 09:47

うむむ、ありがとうございます。 為になります。
guest

0

直接的な回答でなくて恐縮ですが、とあるキャリア理論を紹介します。
少し精神論的な内容ですが、参考になればと思います。

http://www.atmarkit.co.jp/ait/articles/0811/19/news151.html

「計画された偶発性理論」(Planned Happenstance Theory)
自らが計画して起こした行動(「明日はあそこに出掛けてみよう」など)から、自分を成功へと導く偶然のチャンスをつかみ、それをその後の人生に生かそうとするキャリアづくりのこと。

投稿2016/01/28 16:28

編集2016/01/28 16:29
two2mi

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問