する質問をすることでしか得られない、回答やアドバイスがある。何を学ぶべきか迷っています。表題の通りプログラミングの勉強方法で迷っています。私の簡単な経歴を紹介します。時にR言語に触れてそれを機に、プログラマーを目指す。(基礎ですが)コンピュータサイエンスの基礎の基礎の基礎も本を読んで勉強しました。新卒でシステム開発会社に就職COBOLの研修を3日間受けさせてもらう。)キャリアに不安を感じ転職のためにwebの勉強を始める。(新卒1年目)HTML5とCSS3とJavascriptを独学で勉強。webサイト制作会社に就職HTML5とCSS3とJavascriptの基礎はできるようになった。本格的にプログラムを組みたくなったため、システム開発会社に転職。現在,JSを使用しています。(転職して2ヶ月め)以上を踏まえて私としては、ラズパイを始めるのがいいのかな〜と思っています。ハードウェアやC、Linuxを初めて、基礎を固めるのがいいかなと・・ただ、JSも満足にできていないし、GOやScalaとかも人気だしな〜と。今後どうなりたいかというのは特にありません。何でもできるプロフェッショナルになりたいという漠然とした考えしか無いです。以上、よろしくお願いします。質問が悪く申し訳ありません。「優れたプログラマはこういった経験をしているから、こういったことができる。これを勉強したほうがいい。「私はこういう勉強をしたから、今役立ってる。今そのレベルなら次はこれを勉強するといい。」といった感じのことを教えていただきたい。いった意味の質問でした。何かやっておいてよかったもの等あればぜひ教えてください。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。「とにかくプログラミングのスキルをあげ」て、あなたはどうなりたい/何をしたいのかを明記された方が良いのでは?有名になりたい/お金がほしいなどでも良いと思いますが、無目的の質問には有用な回答は付かないですよ。「とにかくプログラミングのスキルをあげ」て、あなたはどうなりたい/何をしたいのかを明記された方が良いのでは?有名になりたい/お金がほしいなどでも良いと思いますが、無目的の質問には有用な回答は付かないですよ。14:27アドバイスありがとうございます。アドバイスありがとうございます。「ただ好きだから、自分の限界までスキルをあげたい」のに「何を学ぶべきか迷ってい」るとありますが、では一体あなたはいま"何が"好きなのですか?一度ご自身の中で整理された方が良いように思えます。「ただ好きだから、自分の限界までスキルをあげたい」のに「何を学ぶべきか迷ってい」るとありますが、では一体あなたはいま"何が"好きなのですか?一度ご自身の中で整理された方が良いように思えます。編集プログラミングでも色々な分野があるけど、どの分野を勉強したいのかわからない。質問に答えようがない。いうことですよね?プログラミングができる人って分野を問わずいろいろなことができると思うんですけど、そういう人になるにはどういう勉強をすればいいですか。いう質問であれば答えようがありますかね?今プログラミングを勉強していて、いまいち成長を感じられなくなってきたので、何か突破口はないかと思い今回質問しました。よければアドバイスしていただけませんか?プログラミングでも色々な分野があるけど、どの分野を勉強したいのかわからない。質問に答えようがない。いうことですよね?プログラミングができる人って分野を問わずいろいろなことができると思うんですけど、そういう人になるにはどういう勉強をすればいいですか。今プログラミングを勉強していて、いまいち成長を感じられなくなってきたので、何か突破口はないかと思い今回質問しました。申し訳ありませんが、私は「万能なスーパーマンになりたい」という質問にお答えできる知識を持ち合わせていません。(これ以上のコメントも差し控えます)申し訳ありませんが、私は「万能なスーパーマンになりたい」という質問にお答えできる知識を持ち合わせていません。何度もありがとうございました。荒唐無稽な質問で呆れさせてしまったみたいですね。何かありましたら回答お願いします。toutouさんアドバイスありがとうございます。質問が悪かったですね。追記で伝わるかと思ったのですが、伝えるって難しい。何度もありがとうございました。荒唐無稽な質問で呆れさせてしまったみたいですね。何かありましたら回答お願いします。アドバイスありがとうございます。質問が悪かったですね。追記で伝わるかと思ったのですが、伝えるって難しい。編集(はてなダイアリーにコメントいただきましたが、Teratailの回答なのでこちらに)Q:これは皮肉ですか?/A:少なくとも皮肉意図ではありません。文字通り、あなたの質問とコメント内容への返答にすぎません。私は純粋にあなたの考え方や質問意図を理解できませんでした。(はてなダイアリーにコメントいただきましたが、Teratailの回答なのでこちらに)Q:これは皮肉ですか?/A:少なくとも皮肉意図ではありません。文字通り、あなたの質問とコメント内容への返答にすぎません。私は純粋にあなたの考え方や質問意図を理解できませんでした。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+5こんにちは。「コンピュータの仕組みを把握すれば、様々なプログラミングをする際に応用が効き、より優れたプログラムを開発できるのではないか?」とのお考えでは?「より優れたプログラム」は2つの方向性があると思います。1よりユーザの作業を、省力化したり信頼性を上げたり簡単化したりするプログラム2より省資源でより高速に動作するプログラム日本では(残念ながら)1の方が需要は多く給料も多いようですが、2も重要でこれを置いてけぼりにすると悲惨なことになります。両者のバランスを取ることが大事です。1についてはIT企業に属している限り逃れられないと思います。優秀な人にはそのような仕事の機会が嫌でも回ってきます。2については自分から求めて学習しないと置いてけぼりです。ここはお金になりにくいせいと思いますが、この分野の教育に熱心な会社は多くはないように感じます。コンピュータの仕組みを把握していると2にたいへん有用です。マルチ・スレッドや排他制御の経験があると、性能と開発工数のバランスの取れたプログラムを設計できるようになります。(この辺を知らないと、コールバック地獄か、再現性のないバグに悩まされることが格段に増えます。)ここを学習するには、非常に単純なコンピュータ(マイコンと呼ばれるようなもの)で、アセンブラ、もしくは、C言語で低レベルな割り込み駆動プログラムの開発経験があると強いです。割り込みが頻発するようなものならば、排他制御不具合が再現しやすいので効果的に学習できます。簡単で十分ですのでスレッド切り替えの開発経験があると非常に力強いです。(これは割り込みの延長線にあり、仕組みは極簡単です。レジスタを退避して、スタックを切り替えてreturn。)ラズパイも良いのですが、マルチ・コアですしlinuxが稼働してますし既に「複雑」なコンピュータに該当します。アセンブラを多少なりとやってみようと言う気概があるのでしたら、AVRはお薦めです。個人負担できる価格帯ですし、自作派の方々が多数の情報を公開されています。C言語も無償のものがありました。(私は業務で使ったことありますが、無償Cコンパイラでも十分でした。)プログラミング言語の学習で手一杯で、コンピュータの仕組みを理解しようと言う気概を持っている人はあまり多くはないように感じます。ここは直接お金に結びつきにくいですが、縁の下の力持ちになるスキルですので是非頑張って下さい。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。14:39回答ありがとうございます。ラズパイよりもさらにシンプルなコンピュータで勉強したほうがいいということですね。そのほうがよりコンピュータサイエンスの勉強には最適だということですよね。ありがとうございました。何をすべきか見えてきた気がします。回答ありがとうございます。ラズパイよりもさらにシンプルなコンピュータで勉強したほうがいいということですね。そのほうがよりコンピュータサイエンスの勉強には最適だということですよね。ありがとうございました。何をすべきか見えてきた気がします。キャンセル完了するlink+3何でもできる、は正直、非常に困難です。陸上選手でも短距離走と長距離走では両立しないように。コンピュータ業界というのは非常にすそ野が広い分、全然違うノウハウを必要とするものが並立しています。※Web関連技術と組み込み制御系では全くと言っていいほど異なるそれでもそれなりに何でもこなせる人はいますが、それは知識の吸収が早いがゆえに「何でも勉強して対応できる」といったほうが近かったりします。(知識の吸収が早いのも、培った経験という土台があればこそですが)正直、今の貴方の経歴からすると、まだまだひよっこですし、若者特有の壮大な夢を言ってるなー、くらいにしか捉えられません。プログラミングだけならまだいいのですが、システムエンジニアというか設計にもかかわるとなると、業務知識(会計だったり電気回路だったり幾何学だったりセキュリティ関連だったり法的知識だったり)も必要となってきますので、それらの勉強もまた必要になってきます。問題集(過去問や解説も公式サイトにあります)から、技術者が持っていてほしいと思われるものが何か見てみるのもよいかもしれません。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。12:00回答ありがとうございます。今後どういった方向に進むか決めては無いけど、仰られた「それでもそれなりに何でもこなせる人」になるにはどういう勉強を重ねていけばいいかという質問でした。今私はその道筋のこの辺だから今後のために「〜を勉強すればいいよ」といったようなことを教えていただきたい。回答ありがとうございました。回答ありがとうございます。今後どういった方向に進むか決めては無いけど、仰られた「それでもそれなりに何でもこなせる人」になるにはどういう勉強を重ねていけばいいかという質問でした。いったようなことを教えていただきたい。回答ありがとうございました。キャンセル完了するlink+3プログラムを書けるのであれば、まずは1つの言語を基本からしっかり習得するのがいいと思います。1つ自分の中で芯となる言語があれば、他言語への入門はそんなに難しくありません。ベストプラクティスに到達するまでは、どの言語もしんどいとは思いますが。ラズパイを始めるのがいいと思う理由は何ですか?ハードウェアやC、Linuxを始めたいのとラズパイとは関係がないと思います。ハードではありますが、別にそこらの使っていないPCでもいいです。R、C、Java、COBOL、HTML、CSS、JavaScriptを知ってはいるが全て触りだけ、ハードも分からない、Linuxも分からない、ミドルウェアも分からない、ネットワークも分からない、そんな状態でもGolangやScalaも気になる。気持ちは分からなくはないです。自分の中で、これだけは自信がある!ってものを身につけるべきだと思います。それを何にするか?ってところですが、今の仕事に関係あるものでいいんじゃないですかね。JavaScriptを書いているようなので、まずはJavaScriptをしっかりやってみてはどうでしょう?JavaScriptはものすごく奥が深い言語です。プログラミング言語の中で言うと、僕的にはかなり難しい部類に入ります。あれもこれも手を出すけど、どれも深くはやらないってのは決して悪いことではないです。「なんとなく知っている」という分野が多いことはけっこう重要なことだからです。全てがそれではいけません。プロとして対価をもらうに値しません。「何でもできるプロフェッショナルになる」ためには、結局1つ1つやっていくしかないじゃないですか。人間はシングルスレッドです。容赦なく忘れていってしまう程度の生き物です。目先の仕事で、分からないことをなくしてみてください。分からないことがあるうちは、今の仕事はあなたにとって無駄ではありません。やりたいことでなかったとしても、分からないのであればやる価値はあります。どこかで役に立ちます。「こんなのやってても仕方がない」ってことは案外ないものですよ。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。12:23回答ありがとうございます。・IOTで成果物を作りやすいのでは無いか(何か作ったほうがモチベーションが上がるから)・コンピュータサイエンスも学べるのでは無いかといった理由からでした。おっしゃる通り、CやLinuxを学ぶためなら必要ないですね。ありがとうございます。実はJSの勉強で行き詰まってます。私も「一つの言語を極める」ことは重要だと思うのですが、どう極めればいいのだろう・・と迷ってます。仕事もそんなに困るような場面はないし、かといって作りたいものがあるわけでもない。JSの本を買って読むぐらいしかしてません。仕事でやっていることが無駄ではないと思うのですが、仕事だけやっていれば成長できるのかなって疑問が湧いてきてしまってます。他の言語をやれば何か見えてくるんじゃないか・・・みたいな感じです。焦りすぎですかね・・・まとまらない文になってしまいました。