電子書籍の厳選無料作品が豊富!

文系のSE志望です。プログラミングを今から習得したいのですが、初めて学ぶのにオススメの言語があれば教えてください。自社開発、アプリ開発などに興味があるので、やはりSwiftやフラッターなどでしょうか?それとも、比較的簡単と言われているPythonなどから始めるべきでしょうか?(そもそもPythonが比較的簡単というのは本当ですか?)

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (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/

非常に強力な言語で、他のモダンな言語が持ってるアイディア/機能をたくさん搭載している。こういう「高機能な言語」を最初に学んだ方が、他の言語に移る際に利点が多い。「概念」を新しく学び直す手間が減る、からね。

こんなトコかな。
    • good
    • 0

良いSEに必要な能力はまず、


・論理的な日本語文章の読解能力(海外で働くなら他国語でも良いですが)
・論理的な日本語文章を書いて赤の他人に自分の考えを伝える能力
・論理的思考力
・抽象的思考力
・注意力(このあたりはツールで補うのも可能)
・記憶力(このあたりはツールで補うのも可能)
などですが、もともとこのあたりには自信があるのか、プログラミングの勉強を通じて身につける必要があるのかによっても勉強方法は違ってくるでしょうね。

上記に自信があれば、言語は何でも良いかと思います。スマホアプリを作りたいのか、Webシステムのサーバー側プログラムを作りたいのか、企業の基幹業務システムを作りたいのか、AIとかやってみたいかなどで、よく使われる言語は変わってきます。

プログラミングの勉強を通じて身につけるなら、「プログラミングそのものへの入門」として、シンプルでストレートな言語が良いかと。Python Ruby JavaScriptなど。あるいは、良い教師が身近にいるなら、その人にお任せで言語を選んでもらうのも良いです。

あと、単なるプログラマーと良いSEのどちらになるかは、コンピューターやOSの動作原理を知っているかどうかで、このあたりを知るか知らないかで、全体システム設計や、性能向上対策や、障害発生時の原因究明・対策などで大きな差が出るでしょうね。まあ、そんなことに興味なければ、プログラミングだけやってプログラマーになれば良いと思いますが。
    • good
    • 0

Pythonは比較的簡単です。


でも1番楽しくてモチベ上がるのはPHPなどのWeb開発言語です。
ブラウザが使える端末で利用出来るアプリやサービスが作れるので、OSや端末の違いで使えない事が少ないです。
    • good
    • 0

その3つを正しい方法で毎日勉強していけばすごいソフトウェアになると思いますが、正しくない方法だとどれやっても大変でしょう。



筋トレとかスポーツを上達することを想像したらわかりやすいかもしれません。

C言語でもPHPでも仕事はありますが正解を選べるかよりできるようになるかの方が5倍ぐらい大事と思います。
    • good
    • 0

コンピュータの動作を学ぶにはアセンブラから入るべきなのですが、さすがにハードルが高いでしょうから汎用性の高さから言うとC言語ですね。


コンパクトなコンパイラで複雑なアルゴリズムを書けますので、最も多く使われています。
スーパーコンピュータを相手にするのでしたら、内部記憶装置等に余裕がありますので、最適化しやすいC++が最も多く使われています。
    • good
    • 0

コンピュータのこと、そしてプログラムを本当に理解しようと思うなら、C言語とアセンブラを学ぶべきだと思います。


インタプリター系言語やJavaはやめたほうがいいでしょう。
プログラミングができないSEは不要です。
    • good
    • 0

要求仕様がきちんと文書化できるように、


業務内容と、それ以前に日本語を正しく学びましょう。
あとは、ちゃんとしたプログラマを雇うことです。
システムエンジニアがすべき仕事は、
プログラミングではありません。
    • good
    • 1

MS-OFFICE のACESSで良いと思いますが

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!