私の職種はデザイナーです。CG、映像、Webのデザインをします。2D、3D、編集などします。
しかし仕事の大半はプログラミングです。C++、C#、PHP、javascript、データベース(MySQL)がほとんどです。
Webアプリを自分一人で作ってもいます。PHPがメインでjQueryとデータベースを使った非同期で動くアプリです。デザイナーなので見た目はプロっぽく作っています。
そしてWebアプリを支援するツールをC#で作っています。
本職ではC++で大規模なアプリの一部の開発をしています。
CGツールのAPIなども使ってソフトウエアのカスタマイズもします。
これでもデザイナーなのですが、やはり本職のプログラマーの足元にも及びません。
ここからが本題です。
私は他人が作った環境やライブラリを使っているにすぎず、Webアプリの作り方やPHPやそのフレームワーク、jQueryなどの使い方などはWebで見て見よう見まねでツギハギしているだけです。
20代・30代の現役プログラマーさんたちは遥か上を行っています。
ブログやSNSで小難しい言語の使い方の解説をされている方も大勢いますし、書籍を出せるほどの知識を持った方も多いです。
自分はもう30代後半なのに、他の方の知識を借りてコードをツギハギしているだけで嫌気が差してきました。
思考がプログラム脳ではなく、フレームワークを作れるでもなく、jQueryのようなものを作れるわけでもなく、かといってC言語の講習会はメモリ管理とか難しすぎて理解できませんでした。
クラスや継承など比較的簡単なところはわかりますが、他人が作ったテンプレートとか、もう見ても何がなんだかわかりません。
どのようにしてプログラム脳にもっていけばいいのでしょうか?
そもそも初歩から勉強したわけではなく、なんとなく業務的にやってたらプログラミングをやるようになったのできちんと学習ということをやっていないのが原因のような気がします。
もう30代後半なので読解力も衰えてきていると思いますが、プログラミングスクールのようなところに通って一から勉強したほうが良いのでしょうか?
私の書いたコードは他人に見せれるようなものではありません。
自分で作るアプリとかはクラスとかほとんど使っていませんし・・・(本職のアプリでは使っています)。
学習方法について何かアドバイスがあればどうぞよろしくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>愚痴ばかりですみませんが何か具体的にこうすればいいというのはありますか?
あなたが「これ(を理解するの)は難しい」と思って避けてる事をする。
とりあえず書いておくと非同期プログラムは職業プログラマ誰でもできるというわけじゃないです。
ありがとうございます。
避けているわけではないのですが、もう年齢も高めなので脳みその劣化もありますし時間も限られいるので効率性を求めて質問させて頂きました。
いっその事、お金払って勉強したほうがいいのかなと。
非同期プログラムは難しいのですね…。
自分の周りのプログラマーはたぶん凄すぎる人たちばかりなのでしょう…。
No.3
- 回答日時:
>うーん、結局私がやっている方法と変わらないということですか・・・?
根本から違います。
「見よう見まねで継ぎ接ぎ」では、経験にはなりません。
他人のコードを見て「なんでこういう処理をしているのか?」とか「もっと簡単に出来ないものなのか?」とか「もっと簡単に出来る言語はないものなのか?」を思考、調査し「ああ、だからこうしているのか」とか「こうしたら簡単になるんじゃないのか」とか「こっちの言語で書いた方が後からの修正が楽なんじゃないか」とか「自分で調べたり考えたりする」って事をしないと経験(習得)になりません。
ありがとうございます。
たとえばC#で何かしたいと思ったらネットで検索すると、○○○というクラスを利用すると書いてあって、たいていサンプルコードが乗っています。
例としてTimerクラスを使って一定時間毎に何か実行したいときに、
「TimerクラスのインスタンスのIntervalプロパティに時間間隔を指定する」
「EventHandlerデリゲートを作ってTickプロパティに登録する」
Timer timer = new Timer();
timer.Interval = 1000;
timer.Tick += new EventHandler(MyClock);
こんなふうに書いているサイトがたくさんあります。
しかしそもそもTimerクラスがどのように作られているのか、デリゲートの仕組みとか全然知らずに使っています。
でも世の中のプログラマの方々はこういうクラスなんか簡単に自作できるし、デリゲートも詳しく知っていてきちんと利用できるのですよね?
私はこれを複雑に使うと、イベントが思わぬところで発生してしまったりして想定していない結果になることがあったりするんです。
結局どのように解決すればいいのかわからなくなってしまいました。
非同期に処理が動くので書籍の「C# マルチコア非同期プログラム(確かこんなタイトル)」というのを本屋でチラっと読みました。しかしこれはなかなか理解するのは非常に難しいと感じました。初級者に理解するのは無理で、ある程度わかっている人向けな感じがしました。
しかし世のプログラマーたちはマルチスレッド処理が当然なアプリを作っています。どのスレッドがどのくらい専有しているかを調べるツールとかも作って効率性を高めていると聞きます。
こんなの自分には全く理解できない領域すぎて、本当に足元にも及ばない方々の下っ端で仕事をしているので(給料はあまり変わらないですが)自分の理解力の乏しさに悲しくなってしまうんです。
愚痴ばかりですみませんが何か具体的にこうすればいいというのはありますか?
No.1
- 回答日時:
もう30年以上もプログラム書いてますが、プログラムは「学習するモノじゃない」です。
プログラムの習得の「原点」は、こう来たらこう書く、ああ来たらああ書く、そう来たらそう書く、と言う「ケースバイケースの対処法の積み重ね」です。
「こういうデータが来たら、それを処理するのに最も適している○○は何か?」と言うのを、経験として積み上げているだけなのです。
この「○○」の中には、色々な単語が入ります。
「○○」は、「言語」だったり「データベース」だったり「オブジェクト」だったり「クラス」だったり「ライブラリ関数」だったり「出来合いのアプリ」だったり「先輩が作ったツール」だったりします。
そして、それらの「経験の積み重ね」から「その場で最も適した○○を選べる者」が「出来るプログラマ」なのです。
この「経験の積み重ね」が足りないと「エクセルで表集計すれば一発なのに、SQLとPHPで処理しようとして、遠回りして、罠に嵌まってしまう」とかって事が起きます。
「出来るプログラマ(やSE)」ってのは「近道と手抜きの方法を、他人より多く知っていて、いつも最適解を選び出せる人」の事なんです。
ありがとうございます。
うーん、結局私がやっている方法と変わらないということですか・・・?
プログラマーの方々と自分では何か根本的に違うのではないかと思っているのですが・・・。
特に外人とも仕事していますが、彼らの技術力は明らかに自分より遥かに次元を越している気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- その他(悩み相談・人生相談) 客観的に見て私の適職・天職は何ですか? ①過去に夢中になったものは何か? 絵(幼稚園から今もずっと) 5 2022/07/14 16:36
- Web・クリエイティブ 未経験からのWebデザインとプログラマーについて。 4 2022/10/12 00:00
- IT・エンジニアリング SEとWebエンジニアの業務内容の違いについて 3 2023/06/22 23:23
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
プログラマーになったきっかけ...
-
工業高校生ですが、将来ゲーム...
-
万年カレンダーのプログラムの...
-
Cマガ、電脳クラブみたいの!
-
C magazine について教...
-
プログラミングに 興味をもっ...
-
iPadのアプリ開発をしたいと思...
-
excelの関数がアルゴリズムはど...
-
VC++ と C++Builder
-
C言語でタイピングゲームを作り...
-
独学でプログラミングの知識を...
-
プログラミングでものを作れる...
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
C++ ってなんて読む?
-
Visual Studio Codeについて
-
HOLONついて教えてください。
-
VBSでDim、Private、Publicの違い
-
小学1年生の子です。塾に行かせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
情報工学科にはパソコン知識が...
-
万年カレンダーのプログラムの...
-
VBAの勉強の仕方
-
プログラミングに 興味をもっ...
-
PixivとかDMM(FANZA)みたいなサ...
-
アマグラマーについて
-
オリジナルの占いサイトを作る...
-
OpenGLで質問があります。
-
中卒がプログラマーとして生き...
-
自作でプレステ対応ゲームは作...
-
プログラマーになったきっかけ...
-
PGに慣れず適応障害と診断され...
-
工業高校へ向けて
-
組込技術者を目指しています
-
中学生 プログラマーになりた...
-
VC++ と C++Builder
-
プログラムと数学の融合
-
C言語でタイピングゲームを作り...
-
プログラミングに触れて見たい
-
Cマガ、電脳クラブみたいの!
おすすめ情報