No.10ベストアンサー
- 回答日時:
今から即戦力になれるわけはないのですから、広く浅くいろいろ触れることをおすすめします。
たとえば適当なPCを調達してLAMP環境を構築し、Web上で公開されているサンプルを開発してみるとか。
そうすると、OSやRDBMSやWebサーバーなどのミドルウェアに触れることができますし、PHPでUIに近い部分の仕組みも理解できるようになると思います。
さらに時間が許せば自宅のDMZにサーバーを公開する事で、サイバーセキュリティー対策も経験することができます。
何にせよ、まずは何かやってみることです。
皆さん回答ありがとうございました。
勢いでPythonの本を購入し、とりあえずプログラミングの原理みたいなものは分かってきたので、ここからは浅く広く学ぼうと思います。
No.11
- 回答日時:
アプリ開発(スマホアプリ開発)はモダンな技術であり、現在黎明期ですので、過去の経験よりは最新の開発手法が大事になってきて、クラス指向(オブジェクト指向)とモダンなアーキテクチャは必須です(アーキテクチャは関心の分離や、フォルダ構成など、ソース管理の部分です)。
これらの技術は個人で学ぶのも本で学ぶのも難易度が高くドキュメントを読めないと困難に思います。
また、シンプルにこれらを初めて学ぶのはハードルが高いです。
私はC言語から学んだので構造化プログラミングや命令型プログラミングの基礎をしっかりやりました。
(これは直接的にクラス指向の考え方に生きないかもしれませんがプログラミングの基礎だと思っているのでC言語を初心者におすすめしています)
また、ドキュメントを読む力をつけるという意味で言えば、PHPやJavaScriptのドキュメントはしっかりしており、目的も決まった言語なので力が養われると思います。
JavaはやったことがないですがJavaDocの考え方は関数の作り方、考え方の役に立ちます。
Pythonから始めるべきですか?という質問ですが、Pythonは外部ライブラリを使用するのが基本的な考え方になるので、プログラミングをよくわかってない人向けの言語です。
私の場合SQLのような言語は何故か元々得意でしたが、これも非常に重要な言語です。
No.9
- 回答日時:
みんな厳しいなぁ~
はじめて学ぶ超初学者向けなら
①基本的な論理の構築の確認に適していること
②1行単位で実行できてすぐに結果が確認できる、所謂 REPL が用意されているもの。
③前提知識がなくても取り合えず動かせること。
④OOPとか高度なプログラミングの素養が無くても使えること。
⑤簡単なロジックを動かすにあたって、準備作業が少ないこと
で、1行打ち込んで動かしてみては「なるほど~」
数行のループを打ち込んでみては「なるほどー」
「こんとき変数の中身はこうなるのか~」
と少しづつ進めて行ける言語が良いと思う。
昔なら BASIC 一択だったけど、最近は Pythonが手軽だと思う。
pythonは入門するのは簡単だけど、奥は深いです。
プロの書いた pythonコードには、初学者には呪文にしか見えないものも
あります。
それはどの言語でも同じですが、pythonは割とそれが激しいです。
残念だが、今時ハードウェアや低レベルAPIに詳しい エンジニアは
ほぼ皆無だし、それが求められる機会は少ない。会計や販売や
物流などの知識の方が必須。
Cやアセンブラを最初に学ばせても現場で役に立つことは
少ないと思う。もちろん組み込み系やドライバを扱うエンジニアを
目指すなら話は別だけど。まあ。物事の本質を学んで欲しいから
いつかは学んでほしいけど、無理強いはできないと思う。
取り合えず、カレンダ系ライブラリを使わず、自分の誕生日を
打ち込むと曜日が出てくるロジックを組めるくらいまで習熟したら、
次の段階を考えればよいと思う。
No.8
- 回答日時:
まずちょっとした苦言から。
実はこのテの質問は多いんだ。
よって「質問する前」に「検索をする」事が大事なんだよ。
プログラミングが出来る人は「検索」が得意だ。逆に言うと「検索が下手な人」はプログラミングに向かない。
教えて!goo内で検索するだけ、でも何十、何百と「似たような」質問が見つかるだろう(つい最近もあった)。
まずは「質問する前」に検索しよう。それが結構重要な作法ではある。
> 比較的簡単と言われているPythonなどから始めるべきでしょうか?
残念ながらPythonはすでに「簡単な言語」ではなくなっている。「Pythonが比較的簡単だ」と言う人は、彼らがかつて学んだPython1.xとかPython2.xの時の「印象」で語っている。
しかし現行のPython3.xはかつてのPythonより「難しく」なってんだわ。あらゆるトコにイテレータ(反復子、とも言う)があって、ある程度のコンピュータサイエンス的な知識が無いと「使いこなせない」状態になってると思う。
もちろん、「真っ向勝負したい」と言うのを止める気はないんだけど、あいにく、巷に溢れてる「プログラミング未経験者向けの」Python入門書の類にはロクな本がない。
そして「ネットでサッとタダで学んで」系は止めておけ、とも言っておく。あまりPythonを知らない人が書いてるサイト・本が溢れてるのが現実なんだ。
よって「言語そのものはさておき」、Pythonの学習環境を整えるのが至極難しいんだよな。書籍は多い、けどほとんどがクズだ、ってのが実態だ。トイレでケツを拭く紙程度の価値しかない。
そしてプログラミング初心者は「何が良い本なのか」見極める前提知識がない(あればそれは「初心者じゃない」って事だ)。
よって手を出さん方が無難だ。
そしてPaizaとか何やらの「オンラインプログラミング教室」なんかもクソだ、って事を言っておく。
仮にどうしてもPython、ってぇのなら次の本を推挙しておく。
世界標準MIT教科書 Python言語によるプログラミングイントロダクション 第3版:
https://www.kindaikagaku.co.jp/book_list/detail/ …
これは「Pythonを教える本」じゃなくって「Pythonを使ってプログラミングを教える本」で、広範囲に渡ってのトピックを取り扱ってる。
「Pythonを教える本」と「プログラミングを教える本」は全然違うんで、気をつける事。
> やはりSwiftやフラッターなどでしょうか?
ごめん、両者とも良く知らんけど、少なくとも後者はフレームワークであってプログラミング言語じゃない。
Swiftも良く知らんけど、敢えて言うと「最初は止めとけ」と言っておく。
と言うのも長年の勘だ。そもそもAppleが開発・推奨するプログラミング言語は「負け続け」だ。
Object Pascal、HyperCard、Dylan、と大体Appleが開発ないしは推奨する言語って「負け続け」で「消えちまう」んだよ。Objective Cでさえかつて程の熱狂はない(依然Macなんかの開発言語だけど)。
Apple関連の言語は「賭けの対象にする」には分が悪過ぎる。だったらVisual Basicの方がまだマシだろ、ってくらいだ。
いずれにせよ、特定のプラットフォーム、この場合はスマホか、に過度に依存するプログラミング言語を選ぶのは「スジが悪い」。
どっちにせよ複数の言語を扱わないとならないのは間違いない。よって、やるんなら後回しにしとけ、って事だな。最初は避ける事。
んでだな。前どっかにも書いたけど、重要なのは「プログラミング言語が易しいかどうか」より「初心者向けに良い本があるか否か」なんだ。もちろんプログラミング言語自体も重要だけどね。例えばJavaScriptなんかはHTMLやCSSの知識が要求される本とかサイトばっかなんで、HTMLやCSSの知識が既にあるってのならいざ知らず「まっさら」で学ぶには適さない言語だ。
ただ、やっぱ「本」なんだよ。上手く書かれた本があればどの言語でもいい。一方、C言語なんかは「言語標準仕様に従って記述されてる本が存在しない」んで、こんなのを最初に学んじゃダメだ、って事は言える。あるのは30年も前の記述法を伝える本ばっかだ。「現行仕様を理解してない人」が書いてる本しかない。だからその辺は「後で学ぶにせよ」最初にやるのはダメだ。
ネットでザーッとプログラミングの概念を学びたいならRubyがとりあえずいいと思う。それも初心者向けの分かりやすいサイトがあるから、だ。
オブジェクト指向スクリプト言語Ruby:
https://www.ruby-lang.org/ja/
プログラミング入門 - Rubyを使って -:
https://ie.u-ryukyu.ac.jp/~kono/software/s04/tut …
これも毎回書いてるが、「マジメにやってけば」二週間もかからず終われるだろうから、だ。とりあえず「プログラミングと言う作業」の概要だけはサッと掴めるだろう。
あとは、言語としてはF#/OCamlがオススメ。これも言語そのもの、と言うより日本で書かれた本としては最高の「プログラミング入門」の教科書があるから、だ。実際にお茶の水女子大学で使われている。
プログラミングの基礎:
https://www.saiensu.co.jp/search/?isbn=978-4-781 …
「プログラミングの基礎」を使った授業紹介:
http://pllab.is.ocha.ac.jp/~asai/book-mov/
F#と言うのはフランスで作られたOCamlと言う言語の方言で、Microsoftが作ってる。
F#:
https://learn.microsoft.com/ja-jp/dotnet/fsharp/
非常に強力な言語で、他のモダンな言語が持ってるアイディア/機能をたくさん搭載している。こういう「高機能な言語」を最初に学んだ方が、他の言語に移る際に利点が多い。「概念」を新しく学び直す手間が減る、からね。
こんなトコかな。
No.7
- 回答日時:
良いSEに必要な能力はまず、
・論理的な日本語文章の読解能力(海外で働くなら他国語でも良いですが)
・論理的な日本語文章を書いて赤の他人に自分の考えを伝える能力
・論理的思考力
・抽象的思考力
・注意力(このあたりはツールで補うのも可能)
・記憶力(このあたりはツールで補うのも可能)
などですが、もともとこのあたりには自信があるのか、プログラミングの勉強を通じて身につける必要があるのかによっても勉強方法は違ってくるでしょうね。
上記に自信があれば、言語は何でも良いかと思います。スマホアプリを作りたいのか、Webシステムのサーバー側プログラムを作りたいのか、企業の基幹業務システムを作りたいのか、AIとかやってみたいかなどで、よく使われる言語は変わってきます。
プログラミングの勉強を通じて身につけるなら、「プログラミングそのものへの入門」として、シンプルでストレートな言語が良いかと。Python Ruby JavaScriptなど。あるいは、良い教師が身近にいるなら、その人にお任せで言語を選んでもらうのも良いです。
あと、単なるプログラマーと良いSEのどちらになるかは、コンピューターやOSの動作原理を知っているかどうかで、このあたりを知るか知らないかで、全体システム設計や、性能向上対策や、障害発生時の原因究明・対策などで大きな差が出るでしょうね。まあ、そんなことに興味なければ、プログラミングだけやってプログラマーになれば良いと思いますが。
No.6
- 回答日時:
Pythonは比較的簡単です。
でも1番楽しくてモチベ上がるのはPHPなどのWeb開発言語です。
ブラウザが使える端末で利用出来るアプリやサービスが作れるので、OSや端末の違いで使えない事が少ないです。
No.5
- 回答日時:
その3つを正しい方法で毎日勉強していけばすごいソフトウェアになると思いますが、正しくない方法だとどれやっても大変でしょう。
筋トレとかスポーツを上達することを想像したらわかりやすいかもしれません。
C言語でもPHPでも仕事はありますが正解を選べるかよりできるようになるかの方が5倍ぐらい大事と思います。
No.4
- 回答日時:
コンピュータの動作を学ぶにはアセンブラから入るべきなのですが、さすがにハードルが高いでしょうから汎用性の高さから言うとC言語ですね。
コンパクトなコンパイラで複雑なアルゴリズムを書けますので、最も多く使われています。
スーパーコンピュータを相手にするのでしたら、内部記憶装置等に余裕がありますので、最適化しやすいC++が最も多く使われています。
No.3
- 回答日時:
コンピュータのこと、そしてプログラムを本当に理解しようと思うなら、C言語とアセンブラを学ぶべきだと思います。
インタプリター系言語やJavaはやめたほうがいいでしょう。
プログラミングができないSEは不要です。
No.2
- 回答日時:
要求仕様がきちんと文書化できるように、
業務内容と、それ以前に日本語を正しく学びましょう。
あとは、ちゃんとしたプログラマを雇うことです。
システムエンジニアがすべき仕事は、
プログラミングではありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 研究室選びで悩んでいます 1 2023/11/14 10:21
- 数学 [大学数学 オススメ参考書] 2023年度から大学への入学が決まっている者です。他の大学と制度が異な 5 2023/03/11 22:32
- Visual Basic(VBA) 久しぶりのプログラミング 4 2024/06/13 06:56
- 大学受験 文系で一番難しい科目、理系で一番難しい科目 5 2024/03/21 12:33
- その他(社会・学校・職場) 将来が不安です 私は普通科に通っている高校3年生です 公立短大を共通テスト免除の推薦で12月頃に受け 4 2022/08/06 00:00
- 教育ソフト・学習ソフト 義務教育レベルのプログラミングの知識と技術を身に着ける方法 1 2023/10/04 23:41
- 大学受験 文転浪人(経済学部志望)について 1 2023/01/22 22:03
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- 大学受験 助けてください。 大学入試まであと38日なのですが英語が2割です…。 第1志望は5割位なのですが、2 8 2023/01/03 19:37
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
プログラミング 学習
JavaScript
-
Pythonのコードエラーについてです。
その他(プログラミング・Web制作)
-
これて逆じゃないですか?
C言語・C++・C#
-
-
4
プログラマーと学歴の関係性について
その他(プログラミング・Web制作)
-
5
c言語
C言語・C++・C#
-
6
時間短縮のために、テキストファイルの入出力をメモリを使って出来ないですか?
Visual Basic(VBA)
-
7
楽しくて最高のプログラミング言語を作りたいのですが、そもそもプログラミング言語を作る意味なんてないと
その他(プログラミング・Web制作)
-
8
小学1年生の子です。塾に行かせるのは難しいので、自宅で学べたらと思うのですが、子供にプログラミングを
その他(プログラミング・Web制作)
-
9
Linux Cプログラミングを学ぶための書籍
C言語・C++・C#
-
10
このプログラミング言語のfor分の文法構造を教えてください
その他(プログラミング・Web制作)
-
11
mallocについて
C言語・C++・C#
-
12
プログラミング
その他(プログラミング・Web制作)
-
13
プログラミング ソースコード
その他(プログラミング・Web制作)
-
14
過剰なオブジェクト指向脳からの脱却について
その他(プログラミング・Web制作)
-
15
40代後半でゼロからのプログラム業界への転職
その他(プログラミング・Web制作)
-
16
プログラミング
Visual Basic(VBA)
-
17
0 == False はいいけど
C言語・C++・C#
-
18
CPUが16bitでも32bitOSでコンパイルしたコード(例えばintが4バイトと定義されている)
C言語・C++・C#
-
19
あせんうぶり言語
Ruby
-
20
プログラム言語について c言語もコードによって機械語に通訳されると知りました。直接機械が通訳しなくて
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文系のSE志望です。プログラミ...
-
昔のゲーム製作に使用する言語...
-
コンピューターシステム コン...
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ライン数とステップ数の違いは?
-
C++ のDLLがdelphiで読めない
-
符号無し整数xを右にnビット回転
-
アセンブラからC言語に変換する...
-
レジストってなんですか?
-
アクセス(2003)のVBAでビット...
-
PS3に搭載されている"Cell"は、...
-
アセンブラ言語がわかりません。
-
一般のソフトで画像を扱う場合...
-
シーケンサで時間計算
-
素朴な疑問 (C言語とアセン...
-
PC-G830
-
ビットシフトってどんな時使うの?
-
CPUは何故、16bit→32bit→64bit...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
成人してから
-
昔のゲーム製作に使用する言語...
-
アセンブリ言語からC言語への変...
-
割り込みベクターをC言語で書...
-
フローチャートを書く書かない
-
CASL(アセンブラ言語)に関する...
-
マシン語について
-
コンピュータ言語とプログラミ...
-
OSを書いている言語と、昔の言語。
-
電化製品って何言語?
-
Z-80に詳しい方教えて下さい。
-
NS Basic/Palm の入門書ありま...
-
PICのC言語でキャリーオーバー
-
おすすめのプログラミング言語...
-
組み込みプログラマ
-
これらのプログラミングで使う...
-
今はマシン語は使わないんですか?
-
Windowsはいったい何言語で書か...
-
プログラム言語について
-
型なし言語
おすすめ情報