ここから本文です

先ほどは回答ありがとうございました。それでは、改めて質問させて頂きます。

kyo********さん

2016/12/1801:29:57

先ほどは回答ありがとうございました。それでは、改めて質問させて頂きます。

先ほどの質問を整理しますと、つまるところプログラミングの勉強に関して教科書の先には何をしたらいいのでしょうか。
私は自然言語も学びますが、やはり実戦と教科書では乖離があります。そのギャップを埋めるべくあなたはどうされましたか?ぜひ、差し支えない程度に体験等交えて教えて頂けませんか?

また、先ほどの回答にはお礼が付されていなかったので、本回答のお礼を持って変えさせて下さい。

閲覧数:
73
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

tokit_sさん

2016/12/1804:36:33

pythonの質問をされていた方ですね。
気付きませんでした、失礼しました。

副専攻としてプログラミングをされているということですね。
ちょっと質問者様の経歴に持ちました。

お礼とかあまり気にしていないです。
質問者様の何かの役に立てばよいかと思います。

>私は自然言語も学びますが、やはり実戦と教科書では乖離があります。
>そのギャップを埋めるべくあなたはどうされましたか?
>ぜひ、差し支えない程度に体験等交えて教えて頂けませんか?

長文・稚拙な文章になるかもしれませんが、
ご容赦ください。

私は今40代でして、大学生のときは数学科でした。
大学2、3年のときはそれなりに数学を勉強しました。
英語の論文を読むぐらいに。
ですが、途中で数学に挫折してしまい、
コンピュータプログラムに走ってしまいました。
それがプログラマになったきっかけだと思います。
私が学生のときは、
Windows95とかの時代で、
IEブラウザも出てきたばかりであまり使われず、
Netscapeブラウザが主流でした。
そんな中、私もパッケージソフトウェアで一発当ててやろうなどと
ちょっと思っていました。
よくフリーソフトをVectorなどからダウンロードしては
大学のパソコンにダウンロードして遊んでいたと思います。
私が学生のときはそのような時代でした。
私が作りたかったWindowsソフトウェアがありました。
それは数学に関するもので、
社会人になってからもそれを作るのがテーマ(夢)としていて、
それとは関係ないようなソフトウェア開発の仕事をしてきました。
仕事とそのテーマは一致することはありませんので、
そのテーマに関しては自己流で勉強してきましたつもりでした。

仕事をしながら、何か自分で作りたいと思っていても、
中々出来るものではありません、
仕事を言い訳にして、放棄していたのかもしれません。

私に懇意にしている大学の先生がいまして、
その人にテーマとしているソフトウェア(元々はその先生が作りたいと言っていたものでした)
を作ると宣言もしていたのですが、
ずるずると20年近くも経ってしまいました。

今では、そのテーマ(夢)を考えることもなくなってしまいました。
「やりたいことやれない」というのは人間として不幸かもしれませんが、
よくあることだとは思っています。
恐らくは大抵の人はそうじゃないでしょうか。

そのテーマ(夢)を考えているときは、
仕事が忙しくて出来ない・暇な時間はあってもやらない
の繰り返しで焦燥感だけ感じられて、ずっと気分が晴れないような感じでした。
この焦燥感は眠っているときの夢にまで出てきていて、
本当に気分がすぐれることはなかったのだと思います。

今ではテーマは夢だったんだと割り切っています。

私はこれまでに、
・Windowsのシステム(データベース)
・組込みソフトウェア
・Web開発
・UNIX関連
・OSの移植
など色々なプログラムの開発経験を積んできました。
その中で、組込みソフトウェアが
コンピュータの原理などに関わるような感じがして
「組込みソフトウェア開発」を目指して今の職業にいます。
でも結局、「組込みソフトウェア開発」にはありつけてなく、
それも仕方ないと割り切っています。

>実戦と教科書では乖離があります
>そのギャップを埋めるべくあなたはどうされましたか?
確かにその通りです。
私はどうしていたんでしょうね。
上記経歴から言うとギャップは埋まってないのかもしれませんね。

なんとなく、社会人になって感じたことは何点かあります。
#質問と話しがずれていっているかもしれません、ご容赦ください

■1つ目
基本、ソフトウェア開発のほとんどの人は素人だと思いました。
ちゃんと(?)会社にいけば、
プログラミングをすためのルール「コーディングルール」や
ソフトウェア開発プロセス(業務を遂行するためのルール)
が規定されているのかもしれません。
中小企業だとほぼそんなものはないと感じました。
なのでみんな素人だと感じました。
ソフトウェア開発という業務自体、何十年しか歴史はなのですから、
当たり前なのかもしれません。
ソフトウェア開発プロセスなんて、昔からあった言葉ではないです。
働いている方の多くは日頃勉強しているわけでもありませんし、
そういう意味でプログラミングに関しては素人と感じます。
また学生上がりの人がある会社のサービスとなるシステムを作り、
そのまま会社のメインのサービス・商品となる場合があります。
ベンチャー企業なんてまさにそうです。
そう考えると、ソフトウェアなんで、
作ったんもん勝ち・作ってなんぼ・品質は後で確保 なんて感じも受けます。

もしかして他の業種・職業もそうなのかもしれないとも思います。
社長業にせよ、ほとんどの方は社長の勉強をしてから社長になるわけではないですがから、
そういう意味でほとんどの素人と思います。

ただ、ソフトウェア開発をしている上で、
業務上の専門知識(ソフトウェアそのものでなく、ソフトウェアを作る目的の知識)
が必要になるときがあります。
それは顧客とのやり取り必要になることだと思いますが、
これは「顧客とのやり取り」をしている人しか見につかないので、
これに関しては「プロフェッショナルさ」は感じます。
簡単には得られないと感じました。

■2つ目
プログラミングは、小学校の必修科目となるとのことですが、
確かにやってみると面白い面もありますので、
趣味としては成り立っていると思います。
自作パソコンと同じ感覚です。
そういう感じであれば、
教科書の延長で自分で勉強も続けられると感じました。
ただ、最新の情報・詳しい情報は、
海外サイトが多いので、英語で情報収集するのが一番よいのでは思っています。
(質問者様には無縁の悩みかもしれませんが)
日本もやっていますが、
海外ではGNUといったオープンソースソフトウェア開発が活発であるように感じます。Linuxもそうですが、Webサーバなどはオープンソースソフトウェアだったりしてサーバ群の裏ではこのようなものが多く動いているようです。英語が出来れば、オープンソースソフトウェア開発に参加して世の中に貢献できるソフトウェアに携わるということも可能でしょうね。ボランティア的な部分もあるのでしょうが、きっと最新の技術にも触ることができるでしょう。

■3つ目
個人におけるソフトウェアの開発目的についてです。
以下のような目的があるかと思います。
・職業
・趣味
・研究

大抵のソフトウェア開発者は、「職業」でしょう。
賃金をもらうためにプログラムを作ります。
派遣であればプログラム開発の労働に対する対価として賃金をもらい、
請負業務であれば、顧客の代理でシステム構築やプログラムを作り、
その費用として顧客から料金をもらうわけです。
なので、社会人になって気づきましたが、
職業で作ったプログラムは、
作った人に著作権はなく、客先のものとなります。
一回作って「納品して終わり」ということもありますが、
継続的にバージョンアップや改修などが続くことが大体あり、
これが定型的なソフトウェア開発業務となっていきます。
どの位の人が感じているか分かりませんが、
自分で作ったものが世の中に出る製品・サービスになれば、
満足している人も多くいると思います。
少なくても企業側はそう思わせるような感じはあります。

昔は「自分でプログラムを作ったのに自分のものにならない」ということに
もどかしさを感じたこともありましたが、
今は割り切れるようになりました。
稀にベンチャー企業等で自分でシステム・プログラムを構築して、
それが自社の製品・サービスになれば、実益と趣味を兼ねていて
とても幸せなんじゃないかと思います。まぁ給料が見合えばですけど。

昔から、
「コンピュータはソフトがなければただの箱」などと言われますが、
ソフトも「コンピュータがなければただのデータ」であり、
両者があって成り立つものです。

私はこのようなこと、
コンピュータがどうやって起動してソフトウェアを動かすのかなど興味を持ち、
それで組込みソフトウェアに興味を持ちました。

組込みソフトウェアとは、
PC上のシステム・ソフトウェアではなく、
家電などマイコン等で動くもので、
ハードウェアを直接制御するようなものです。

最近は、人工知能という言葉がニュースなどで日常的に見るようになりました。
これは凄いことと思いますし、分かりたいとも思いますが、
今は組込みソフトウェアがいいですね。

パソコンなんてなかった時代は、
コンピュータプログラムを作りたかったら、
大学のコンピュータを利用するか、
自分マイコンボードを作ってやるしかなかったそうです。
そのときは、
プログラムはアセンブラ言語(CPUが理解できる機械語と一対一に対応するもの)
で作り、自分でアセンブル(機械語に翻訳)して、
紙テープに機械語を移し替え、
それをROMに焼くか、それでテレタイプ端末という機械に通して、
やっとプログラムが動く状態だったそうです。
でもそれって40年そこら前の話しです。

きっとその頃はプログラムを書く人は
コンピュータの原理を理解して作っていたでしょうから、
なんとなくそのような時代が羨ましいと思いました。

今は今でよい時代かもしれません。
その気になれば、自分でウェブサイトを構築して、
何かのサービスを提供することも可能ですし、
FPGAという集積回路を使ってCPUを自作することも可能だそうです。

何が言いたいかというと、
趣味でやろうと思えばどこまででも趣味で作れるということです。
それで趣味の延長でプロにもなれる可能性もあるのでしょうし。

今までプログラミング・ソフトウェア開発という観点で書きましたが、
恐らくどの分野でも同様の話しにはなるのではないかと思っています。

自分の思いだけで書いてしまいました、質問の意図からも外れているかもしれません。
思いのほか長文になり、すみません。
もうすぐ朝になりそうなのでこれで寝ます。
おやすみなさい。

  • 質問者

    kyo********さん

    2016/12/1812:10:39

    回答ありがとうございます。
    夜分遅くに頂いたようで申し訳ありません。

    プログラミングの学習経験のみならず、SEの仕事の現実を教えて頂いたいてありがとうございます。
    就職はそちらの業界を目指しているので、今から変な期待を持たず勉強に励めそうです。

    今回は本当にありがとうございました。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

2016/12/1808:18:59

知恵袋では、基本的には、質問はその質問で、独立することが望ましい。
とされています。

が、pythonで、自然言語を勉強している・・・、で、よいですかね?

なら、マルコフ連鎖とか、ベイズ統計とか、数学的な知識も、重要なんですが。

いきなり、Mecab等の形態素エンジンを入れてみるのはどうですかね?
http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd

もしくは、CaboCha等の係り受け解析とか。

けっこう、面白いですよ。
他にも、テキストマイニング、とかで検索を。

こういうのは、どうしても数学的な要素が絡んでくるんですが、、、これかな?かなりうろ覚えなので、要注意。
で、文系でも理解できる本だった・・・・かも?
https://www.amazon.co.jp/%E4%BA%8B%E4%BE%8B%E3%81%A7%E5%AD%A6%E3%81...

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる