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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Pythonのコードエラーについてです。
その他(プログラミング・Web制作)
-
プログラミング言語について
その他(プログラミング・Web制作)
-
プログラミングを学ぼうと思います。 1ヶ月程度である程度習得できる言語は何ですか?ブラウザ上でアプリ
その他(プログラミング・Web制作)
-
-
4
近年誕生したプログラミング言語
その他(プログラミング・Web制作)
-
5
40代後半でゼロからのプログラム業界への転職
その他(プログラミング・Web制作)
-
6
プログラマーは誘惑にさらされる人生?
その他(プログラミング・Web制作)
-
7
プログラミングについて プログラミングの練習(勉強)ができるようなサイトなどありませんか? あれば教
その他(プログラミング・Web制作)
-
8
プログラミングの進学について
その他(プログラミング・Web制作)
-
9
c言語
C言語・C++・C#
-
10
プログラミング 学習
JavaScript
-
11
これて逆じゃないですか?
C言語・C++・C#
-
12
マイクロソフトがvbを捨てたのは何故ですか C#は変数の型指定ひとつとっても最近の主流とはかけ離れて
その他(プログラミング・Web制作)
-
13
・オブジェクト指向のメリットってなんですか? ・カプセル化だ!とよく叫ぶ人がいますけど、カプセル化が
その他(プログラミング・Web制作)
-
14
逆コンパイルと逆アセンブルの違いはなんですか
C言語・C++・C#
-
15
IF文、条件分岐の整理方法
Visual Basic(VBA)
-
16
python エラー
その他(プログラミング・Web制作)
-
17
プログラミング ソースコード
その他(プログラミング・Web制作)
-
18
楽しくて最高のプログラミング言語を作りたいのですが、そもそもプログラミング言語を作る意味なんてないと
その他(プログラミング・Web制作)
-
19
プログラマーと学歴の関係性について
その他(プログラミング・Web制作)
-
20
小学1年生の子です。塾に行かせるのは難しいので、自宅で学べたらと思うのですが、子供にプログラミングを
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートを書く書かない
-
成人してから
-
言語の実行スピードで早い順に...
-
0xffffとは?
-
符号無し整数xを右にnビット回転
-
8ビットのデータの、先頭ビット...
-
アセンブラからC言語に変換する...
-
ビットシフトってどんな時使うの?
-
エクセルVBAのIf,Then 構...
-
ライン数とステップ数の違いは?
-
アセンブラ言語がわかりません。
-
PIC16F1シリーズマイコンのNCO...
-
PS3に搭載されている"Cell"は、...
-
量子コンピュータとDNAコンピュ...
-
delph5 ボタンの色を変更するに...
-
音響信号処理をC言語でプログラ...
-
MPLAB IDE v8.92アセンブラにつ...
-
PICのアセンブラからC言語へ変...
-
C言語で128bitの2進数のビット...
-
レジストってなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
昔のゲーム製作に使用する言語...
-
電化製品って何言語?
-
アセンブリ言語からC言語への変...
-
Windowsはいったい何言語で書か...
-
割り込みベクターをC言語で書...
-
成人してから
-
ものづくりに向いているプログ...
-
OSはどんなコンピューター言語...
-
コンピュータ言語とプログラミ...
-
言語の実行スピードで早い順に...
-
市販ゲームのプログラム環境は?
-
オープン系 Web系 ファー...
-
音に強いプログラム言語
-
プログラミングの楽しみ
-
C言語ができる人の就職先
-
C言語のライブラリ関数について
-
アセンブリとC言語ではどっちが...
-
文系のSE志望です。プログラミ...
-
アセンブラと高水準言語の関係...
-
OSを書いている言語と、昔の言語。
おすすめ情報