
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
> 普段からプログラミングを継続してないと忘れていきますか?
何を忘れる話ですかね?
各言語の「基本文法」や、「プログラミングとはそもそも何か」、「オブジェクト指向とは何か」、とかであれば、忘れません。(元々記憶力に難のある人の場合は不明)
「こういう時に使う関数名はなんだっけ?」とか、「この関数の引数の1番目の型は何だっけ?」的なものは、1つの言語しか今後ともやらないと決めている人なら覚えようとするかもですが、5~10個の言語を平行して使っていれば、それほど覚えようとする気にはならないです。ほぼ同じ機能の関数・メソッドでも言語により名前が違ったり、引数も違ったりするので、必要な都度、公式リファレンスを見ます。
「私は一度覚えたことは絶対忘れたことない」という人なら覚えようとするかもですが。
非常に頻繁に使う関数・メソッドは、自然に覚えるし、おそらく忘れません。
そういう意味では「公式リファレンスの見方」も一度覚えると忘れることは無いと思います。(元々記憶力に難のある人の場合は不明)
> ・毎年、毎年、バージョンアップする度に新しい仕組みを勉強する必要がありますか?
言語自体のバージョンアップですよね?多くの言語では、毎年のバージョンアップ程度だと、古いバージョンをベースで作ったプログラムが新バージョンでもそのまま動くという、互換性を保ったままバージョンアップするので、新機能や変更点を全く調べなくても多くの場合はなんとかなります。が、新機能を使うと、速くなったり、書くのが簡単になったりするかもなので、バージョンアップによる変更点一覧は、チェックするに越したことはないです。
たまに、互換性の無いバージョンアップもありますが、多くの場合は、
ver12まで使えてた機能が、ver13とver14では警告メッセージが出るようになり、ver15では使えなくなるというような、移行プランが用意されていることが多いので、変更点をチェックし漏れても、警告メッセージをちゃんと気にしていれば、それから調べればなんとかなります。
もしくは、Python2 → Python3 など、「別の言語になった」と思った方が良いかもというバージョンアップもあります。こういうのは10年20年に一度くらいか。別言語なので、当然、ちゃんと勉強します。
No.6
- 回答日時:
> 普段からプログラミングを継続してないと忘れていきますか?
うん。忘れる。
と言うか、「何らかの書き方のノウハウ」とか、継続してないと「あれ、アレってどう書いたっけ?」とか、勘が鈍ったりする。
> 毎年、毎年、バージョンアップする度に新しい仕組みを勉強する必要がありますか?
これ、多分用語整理する必要があるかな。
バージョンアップ、に関してはソフトウェアレベルでしょ?
プログラミング言語実装もソフトウェアなんで、バグフィックスとかさ。そういうのはあるけど、そうそう「機能の追加」って実は無いんだよ。あるかもしんないけど(笑)、大体、「ライブラリ関数が追加されました!」って程度でそこまでシリアスじゃない。
問題はそっちじゃなくって「仕様の変更」とか「仕様の追加」、要するに「仕様の改訂」だよな。
これは「勉強する必要がある」。
その前に。
プログラミング言語には「仕様がある言語」と「仕様がない言語」の二種類があるんだ。
例えばPythonは「仕様がない」。キチンとした言語仕様が「文書として」提示されてる言語じゃないんだ。
一方、Rubyは「国際標準仕様」(ISO)と「日本産業規格」(JIS)の仕様がある。
そして「仕様がある」言語でも「権威ある仕様書」がある言語とそうじゃない言語がある。
JavaはOracleが言語仕様を公開してるけど、Oracleの都合で「いきなりそれが変わる」可能性がある。
一方、C言語は「国際標準仕様」(ISO)と「日本産業規格」(JIS)の仕様がある。
いずれにせよ、「公的な」「標準がある」仕様は改訂の度に学び直す必要はあるね。C言語ユーザーはなんかは、言っちゃえばおっさんユーザーばっかなんで、いまだ日本国内ではANSI Cと言う「既に標準でも何でも無い」規格を基準にして書いてて、全く仕様改訂を学ぼうとしないユーザーの方が多いんだけど、一方、C++ユーザーは割に最新仕様をキチンと学ぼう、って人が多い。
一方、「キチンとした言語仕様がない言語」、代表的なのはPythonか、の場合は、ヴァージョン番号が上がる度に「新機能がないか」リファレンスマニュアルをチェックする必要が出てくる。何がどう変わるのか、全く予測が付かないから、だ。
とは言っても、例えばISOみたいな「規格」だと改訂は大体10年以上かかるかね?「仕様のバグ」ってのがあって、そのバグフィックスも大体5年前後かかるわけ。いろんな人の思惑がある「委員会」が改訂するんで、時間がかかるんだよ。結果「毎年更新します」なんつーのはまず無いかな。
じゃあ、ここのカテゴリであるJavaScriptはどうか。実はJavaScriptにも国際標準規格があって、それをECMAScriptと言う。うん、JavaScriptの正式名称はECMAScriptと言って、JavaScriptはECMAScriptの「Mozillaに拠る実装名」みたいなモンなんだ。
んで、ECMAScriptだけど、こっちはISO主導じゃなくってECMA internationalって言う団体が決めた国際規格で、ISOよりちょっと緩いのね。結果として、2015年以降ほぼ毎年「改訂」が入ってる。
この辺JavaScriptはムズいトコなんだよ。ISOでも仕様は制定されてるんだけど、ECMA internationalと足並みは揃ってない。ISO版だと大体5年周期ってトコか。現行だとECMAScript 2018ってのが恐らくISOでの最新仕様、ってことになってると思う。
まぁ、ECMAに合わせるかISOに合わせるのか、ってのは好みだけれど(しかもJIS規格だと恐らくいまだECMAScript第3版が標準かもしれん・・・)、いずれにせよJISあるいはISO/ECMAが「仕様を改訂しました」と言った場合はその仕様を勉強するのは必要にはなると思うね。
※: 言語仕様と「リファレンスマニュアル」は性質が違う。リファレンスマニュアルはいわゆる「ユーザーガイド」的なマニュアルだが、言語仕様はそのプログラミング言語の「設計書」に当たる。
No.5
- 回答日時:
特定分野に特化したエンジニアを除けば、最近は、目的に応じて、複数のプログラミング言語を使い分けて使うのが当たり前ですし、オブジェクト指向と言っても、微妙に文法や、宣言の仕方などが違うので、忘れるというか、コンパイルエラーや文法エラーで「あ、これじゃないw」となることは、エンジニアあるある。
だと思いますPythonは、気がつけばバージョンアップしてる感が否めないですし、過去の資産に関して、どこまで、バージョンアップに対して、キャッチアップをしていくかは、悩みどころでもあります
また、C/C++に関しては、3年ごとに仕様がアップデート(17→20→23→26)されるのもありますが、仕様のアップデートより、コンパイラ次第、gcc/g++, clang, cl(msvc)などでサポートされている、サポートされていないという事が多いので、その時に使い慣れているリファレンスが他のコンパイラでは使えないとなった時に、さて、どうしようかといった状況になるケースはありえます
プログラミング言語もそうですが、使っているライブラリやフレームワーク、また、SDKがアップデートされると、それにともなり、iOSやandroidのアプリも、コンスタントにアップデートしていかないと、セキュリティリスクが高まってしまうので、常にキャッチアップし続けていかないといけないのは、地味な作業ですが、ある程度、作業の自動化がされてなければ、それなりに大変だと思います
No.4
- 回答日時:
忘れていきます。
ただ、それを必要とした時、ゼロベーススタートになるわけではないので、飲み込みは早いです。
仮にゼロベーススタートになるとしたら、それは当時も、何も理解していない場合です。
必要があるかどうかは現場の実情ではなく、ご自身のキャリアアップで考えることでしょう。
No.3
- 回答日時:
毎年、バージョンアップする度に新しい仕組みを勉強するかどうかはエンジニアの所属している会社やチームプロジェクトによります。
何故かと言うと、個人の判断で勝手にアップデートすると同じチームのエンジニアは皆同じレベルで勉強しなければならない上に、不具合が起きると利用者やその取り巻きにまで影響を与えます。
だから、偉い人は基本的には昔ながらの信頼されている方法を好みます。
しかしこれがベストな方法というわけではありません。セキュリティの都合上から本来は寄り良い方法を都度選択する必要があります。
ただしこれはビジネスであるためにコストがかかり、それを嫌うお偉いさんは多いです。
この質問は、要するに
仕事での影響とプライベートの影響その両方を回答しなければならないかもしれません。
最新の情報を学ぶとしても、それがあなたに仕事として与えられたタスクになることはほとんどないでしょう。ならば、プライベートで学ぶ必要があります。
ただし、それは仕事ではないので、あなたの個人的な判断になります。
No.1
- 回答日時:
>>・普段からプログラミングを継続してないと忘れていきますか?
そりゃあ、しばらく離れていたら、忘れる部分はあるでしょう。
でも、必要があれば、もういちど専門書をパラパラ見るとか、実際のプログラムコードを見ていれば、思い出すことでしょう。
数学において、三角関数の公式を忘れていたとしても、学生時代にテストで95点だった人と10点だった人では、思い出し方に大きな差があると思いますが、それと同じでしょう。
>>・毎年、毎年、バージョンアップする度に新しい仕組みを勉強する必要がありますか?
バージョンアップに追随するための勉強の必要性は、それほど大きくはありません。
とはいえ、C#の最新バージョンは、現時点だと Ver.13です。
C#は、プログラマが便利で使い勝手のよい機能をちょくちょく追加しています。
なので、長くプログラミングから離れていたら、ソースコードを見て、「なんじゃこれ!?」って訳分からないことになっていたりすることもあるので、それなりに最新をフォローしておく必要はありそうです。
古いC言語についていえば、次期バージョンは、C23です。
いろいろと変わっているところがあって、驚かされます。
ただ、「最新のC言語を勉強しないと・・」という場面は少なそうな気がします。仕事でC言語に触る機会が発生したとしても、最新の機能は使わないはずだから。
最新の機能を使ったりしたら、職場のコンパイラーではエラーになるでしょうからね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 大学数学を理解するためには高校数学の全単元を復習する必要がありますか。 5 2023/02/28 13:37
- その他(プログラミング・Web制作) プログラミングを勉強してますが、難しくて、中々頭に入りません。 ふと思いましたが、今はサイト作成ツー 12 2022/12/21 19:46
- その他(社会・学校・職場) 継続の秘訣はなんだとおもいますか? もうすぐ大学生になる高3です。 自分は就活の際、少しでも選択肢を 10 2024/02/23 15:08
- IT・エンジニアリング teratailなどでプログラマー向いていないと言われてPTSD、でも諦めない。最低で何日要する? 2 2022/09/25 06:53
- 就職 就活について質問です。 現在、都内の某私立大学に通う大学3年生です。2年までとくにやりたいこともなく 3 2023/06/16 15:27
- 教育ソフト・学習ソフト 頭がみんなより悪いひとでも、成績や学校のお勉強を頑張れば、自分のプログラミングの練習もしてよいとおも 5 2022/09/05 18:19
- その他(ニュース・時事問題) 実はこれからの時代はプログラミングを学ばなくて良くなる? 5 2024/02/27 20:11
- 書類選考・エントリーシート 僕はコンピューターの専門に行こうと思ってます。志望理由こんな感じでいいですかね? ①進学先に選んだ理 2 2022/09/11 17:41
- 英語 大学一年生です。通っている大学は偏差値が低く、いわゆるfランです。 Toeflの勉強しようと思ってい 1 2022/10/13 17:32
- その他(学校・勉強) 自分の市場価値を高めるには 3 2022/07/12 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptとC言語の違いについ...
-
プログラミングの入門者・初心...
-
vectorクラスについて。
-
Javaに向いてない人はどんな人...
-
モーダルダイアログ IE Firefo...
-
プログラミングでお金を稼ぐこ...
-
エクリプスのプログラミングに...
-
Rubyの学習の進め方
-
vba クリップボードクリアにつ...
-
使用しているJUnitのバージョン...
-
IISワーカープロセスが原因でCP...
-
gitでバージョン指定してダウン...
-
Eclipseソース開発画面の行番号...
-
JSPファイルで生じるエラーをど...
-
visual stadio 参照問題
-
正規表現について質問です。 カ...
-
CrystalReportsのバージョン確...
-
XMLとUMLの相違点?
-
MSCOMCTL.OCXのアップデートの方法
-
バイナリファイルの著作権など...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaとAndroidアプリ(Java)違...
-
エクリプスのプログラミングに...
-
createnewfile()の例外の起こし方
-
vectorクラスについて。
-
Javaに向いてない人はどんな人...
-
スキル高めのIT技術者になぜ左...
-
Netbeansでの、Java「実行」と...
-
Javaの授業についていけたい。...
-
最短経路探索
-
EclipseとVisual StudioをPC1台...
-
プログラミングのプの字も知り...
-
Java の入門教科書+課題つき
-
Cに慣れてしまった人、どのよう...
-
初心者がデスクトップアプリ(...
-
プログラミング(XML)の課題が学...
-
同期関数とawaitの違い
-
JAVA基礎の課題で自動販売機
-
canvasについて
-
お勧めのテキストエディタについて
-
おすすめのアートプログラミン...
おすすめ情報