質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

13回答

2066閲覧

プログラミング言語を複数同時に勉強するのは

mi_

総合スコア80

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

5グッド

11クリップ

投稿2018/02/27 10:57

編集2018/02/27 10:58

お世話になります。
前置きが長くなり申し訳ないのですが、プログラムとは縁遠い仕事ながら、いくつかのホームページを作るようになったのがきっかけで、仕事の合間に

・昨年はPHP(+簡単なJava)でタブレットに手書きしてサインをPDFで保存したり、アンケート結果をグラフ表示したり、必要な機能をGoogleで検索しまくったり、こちらで教えていただいたりしながら四苦八苦しながら作りました。

・我流すぎるのと、セキュリティの怖さも教えていただきましたので、CAKEPHPに大変な興味があったのですが、最終的に昨年末からRuby(Ruby on Rails)を勉強するようになりました。Ruby on Railsでは、ただ情報を入力してCSVで出力する程度のものを作りました。
Ruby on Railsの際は、いきなり作るより基礎が大事と思い、勉強には2ヵ月くらいかけましたが、作り始めてからは数日でできたので、フレームワークのおかげなのか記述する量が少なくびっくりしました。

この過程でPHPは多数のサーバーが対応しているので、現存のホームページの中に組み込んだりできるPHPは便利そう、たくさん作ってもサーバー代が安そうと思う反面、Ruby on Railsの早さが捨てきれません。どちらも初心者であるのですが、機械学習やAIという言葉をよく聞くので、Pythonも非常に気になっています。

あまりにもぐるぐると興味がうつる、または逃げているのかもしれませんが、いっそ精神衛生的に3つとも学習を進めていってはと思っています。
teratailの回答者の方を見ていると、多岐にわたって知識が豊富な方が多いように思えますが、1日2〜3時間を学習に当てれるとして、3つを交互に習得していくのはバカげているでしょうか?

何かを突き詰めた後に別の言語と、年単位で普通は変えていくものでしょうか?
また、プログラム初心者が、機械学習などに興味を持っても意味が無いものでしょうか?

将来的には、WEBアプリが上手に作れるようになったり、パソコン上でボタンを押せば人間が行っている事務作業をプログラムが行ってくれるというようなことができないものかと思っています。

広範囲なご意見をいただければと思います。よろしくお願い致します。

ai_2013_dev, sota_u, shigeru, kuraudo👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答13

0

teratailの回答者の方を見ていると、多岐にわたって知識が豊富な方が多いように思えますが、1日2〜3時間を学習に当てれるとして、3つを交互に習得していくのはバカげているでしょうか?

本当は徹夜してでもやりたいんだけど明日の仕事に差し支えるから「2〜3時間しかできない」というのであれば、全然アリです。そうでないなら止めといたほうがよいです。
ちなみに、具体的にやりたいことを実現するためにはプログラミング言語だけではなく、アルゴリズムやDB、さらには簿記や線形代数など周辺分野の知識も必要だと気づくかと思います。またそれを知りたいという欲求が出てくると思います。その欲求に従い日常生活に支障の出ない程度に行動することをお勧めします。

また、プログラム初心者が、機械学習などに興味を持っても意味が無いものでしょうか?

興味があるならとことんやって良いかと思います。最初はみんな初心者なのですから。

投稿2018/02/27 13:26

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:23

アルゴリズム、DB、簿記、線形代数、たくさんのことがあるんですね。3つ同時には支障が出るような気がしてきました。 最初はみんな初心者とのお言葉勇気づけられます。 ご回答大変ありがとうございました。
kuraudo

2018/03/03 12:39

横から失礼します。。 >> プログラミング言語だけではなく、アルゴリズムやDB、さらには簿記や線形代数など周辺分野の知識も必要 ココの部分なんですけど、アルゴリズムやDB、線形代数などの知識が問われてくる事は重々承知しているのですが、簿記ってどう言うところで必要になってくるのだろう。。っと思ってしまったのですがご教示お願い出来ないでしょうか?|ω・`)ちら
can110

2018/03/06 01:33

簿記は、お仕事で必要に迫られて最低限、ですね。一般的な開発案件なら大抵は会計処理もからむので。 また、個人的に家計簿づけや(株式などの変動する)資産管理をしようとしたときでも 何をどのようにどの範囲まで集計すべきなのかなど、締め日や賃借対照表などの簿記、会計の知識は参考になります。
kuraudo

2018/03/06 03:25

なるほど! そう言ったニュアンスのモノだったんですね! わざわざご返信ありがとうございます! 確かに会計処理が絡むって言うところ納得ですd(´・ω・`)
guest

0

ベストアンサー

役立ちそうだと思えるならば、二つ三つ並行して勉強されれば良いと思います。何年か勉強してからなどとゆったり構えていてはむしろ世の中の流に追いつけないと思います。
大変は大変でしょうが、諦めるのは試してみてからで良いでしょう。

投稿2018/02/27 11:26

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:27

「何年か勉強してからなどとゆったり構えていてはむしろ世の中の流に追いつけないと思います」「諦めるのは試してみてからで」というお言葉にすごく共感しました。 みなさんのアドバイスで、3つはとてもできそうにないので、1つをメインに、もう1つくらい取り組んでいきたいと思います。 ご回答大変ありがとうございました。
guest

0

自分のおすすめとしては、

  1. まず、必要な部分を身につける
  2. 1つの言語を一定程度まで(オブジェクト指向なら既存のクラスを継承して使えるぐらい)身につける
  3. 他の言語に進む

と言うような流れがいいかと思います。

まず、1つのシステムを作るだけでも、WebシステムであればHTML+CSS+JavaScriptが必要となりますし、RDBMSを使う場合にはサーバサイド言語+SQLが必要です。このように、1つのシステムを組むだけでも複数の言語を操る必要が出てきます。

また、言語が変わっても、動くコンピューターは同じですので、1つマスターすれば同じパラダイムの言語はだいぶ楽に覚えられると思います。

投稿2018/02/27 13:53

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:18

一定程度まで身につけてからの流れがいいんですね。 「言語が変わっても、動くコンピューターは同じ」という考えはしたこともありませんでした。 初心者すぎて苦手意識があったんですが少し俯瞰して考えることができそうです。 ご回答大変ありがとうございました。
guest

0

複数同時に勉強は、もうちょっと後でもいいかなぁとは思いますね。
なぜなら、勉強したことを100%忘れるからです。

PHPで何かを作ってる時は、RubyとPythonで勉強したことなど忘れてますし、
Rubyで何かを作ってる時は、以下同文です。

並行して勉強し続けて、どれも中途半端に使える段階まできたら、
それはすごいことだと思いますし、万々歳だと思いますが、中々難しいんじゃないですかね。
僕なら、以前にググったことを何回も何回もググりなおす状態になってるんじゃないかなって
想像できます。

なので、ある程度1つの言語の知識が脳みそになじむまでは、
どれか1つの言語に絞るのがいいのかなって思います。
どの道、それが他言語習得の役に立ちますし。

投稿2018/02/27 12:34

root_jp

総合スコア4666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:21

あまり覚えれる方ではないので延々とググっていそうです。 脳みそに馴染むまでは絞った方がいいですよね。 ご回答大変ありがとうございました。
guest

0

色々な方が回答されているので今更ですが、個人的には何か一つの言語をきちんとマスターしてから、その後に違う言語に展開していくのがベターかと思います。
広く浅く色々な言語をやっても結局低いレベルでぐるぐる回るだけで、あまり高いレベルには行けないかと思います。

かく言う自分も昔は色々な言語をつまみ食いしていましたが、仕事でPHPをある程度マスターしてからは他の言語への展開がより容易になりました。

ちなみに複数の言語を学びたいという姿勢はとてもいいと思います。言語Aを一度マスターした後に言語Bに触れることで言語Aの知らなかった一面が見えたりしますので。

ぜひ頑張ってください!

投稿2018/03/02 11:47

bassbone

総合スコア767

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 14:12

そうですよね。 グルグル初心者の域をでないでまわってしまいそうです。ある程度1つの言語を軸としてつきつめたいと思います。 ご回答大変ありがとうございます!
guest

0

最近はIDEに教えてもらいながらプログラミングすることが最適解だと思います。
複数言語を嫌がるのは、例えばGo言語で書いているときにJavaScriptの書き方をしようとしてエラーみたいな
ことだと思います。IDEを使うとその場でエラーを指摘してくれるのでペアプログラミングしている感覚です。

つまり記憶の外部化が可能になるので複数言語を学習しやすくなります。

ちなみに3言語ほど触ると、大体構文の書き方がちょっと違うだけで似たような書き方の組み合わせでしかないと
気づくと思います。

ちなみにJavaScriptを触るならTypeScriptから入るのが私のおすすめです。
JavaScriptに型を導入するというコンセプトの言語なのでIDE連携が凄く効くようになります。

投稿2018/03/01 00:44

m0a

総合スコア708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:06

IDEや、記憶の外部化などは考えたこともありませんでした。 「3言語ほど触ると〜似たような書き方の組み合わせでしかないと気づくと思います」とのことで、その域までいきたいと思います。 ご回答大変ありがとうございました。
guest

0

最初は、一つ言語を決めて学習した方がいいと思います。
それだけで、プログラムの基礎自体は養えるはずですので、
一つの言語である程度できるようになってから、複数学習したほうが良いのではと自分は思います。

どれから始めるかは、それぞれの言語の特性など把握し、自分がとっつきやすいと思うものからで。

ただ、一番必要なのは継続だと思いますので、あきらめなければ、きっと身に付くと思います。

投稿2018/02/27 15:13

kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:14

PHPも、初心者の域をでないままでしたので、何かを決めて学習していこうかと思います。 継続はやっぱり重要ですね。あきらめずにやりたいと思います。 ご回答大変ありがとうございました。
guest

0

最初、ひとつ言語を覚えると次に覚える言語で同じ機能を覚えるのに効果的です。その言語特有の機能も把握しておきたいです。
初心者はどの言語をやるべき?プロ視点からおすすめプログラミング言語を紹介!

業務知識もあると使う方としては大きな魅力です。データベースはきちんと勉強しておいた方が良いです。
去年もOracleでSQLのSELECT文のFROM句にJOINを書けない、PL/SQLのブロックや例外を知らない、トランザクションの概念がわかっていない、困った人たちが作った使い物にならないシステムを見たことがあります。条件が違い過ぎて初日で降りました。

投稿2018/02/27 13:53

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:15

リンク先大変参考になりました。 データの取扱が初心者すぎるのでSQLなどについては、しっかり勉強したいと思います。 ご回答大変ありがとうございました。
guest

0

プログラム言語の勉強は、一つでした方が良いかと思います。
あと、
もし、相手がいる仕事だったら、相手に伝わる方法やどんな画面遷移をするのか
とか。意思疎通の仕方も勉強されるのも良いかと思いますよ。

投稿2018/03/06 01:09

qmomo

総合スコア51

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/07 08:06

意思疎通について、勉強になります。 みなさんに頂いた回答と、自分のやりたいことの興味からPythonを軸に、必要なときだけRubyを触っていきたいと思います。 ご回答ありがとうございました。
qmomo

2018/03/08 06:54

がんばってね
guest

0

最近はいっぱい言語が有って悩むと思いますが、私も一つの言語から始めることを推奨します。
私の場合は、N88-BASIC(NEC8801)とZ80+CP/Mでmacro80(アセンブラ)が初めてでした。
その後、CP/M-68k(無償でCコンパイラが付いてきた)で、Cを使い始めそこそこ使えるようになって、他の言語を覚える様にしました。(実際はメンテが多かったので案件に合った言語を使った)
PASCAL, C++, SQL, PHP・・・などなど。最初にアセンブラとCに出会ったのは良かったと今だに思っています(おかげでポインタで悩む必要は無かったw)。最近は実務と離れたので自宅でfreebsdやcentosで遊んでいます。・・・unix系は開発環境が豊富でいいですねd^^

投稿2018/02/27 18:55

編集2018/02/27 18:59
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:10

いろいろな言語を使われていて、目指したいところです。 1つの言語からが推奨ですね。 ご回答大変ありがとうございました。
guest

0

こんばんは

覚えたい言語があっていっぱいあって羨ましい限りです。
やりたいことがいっぱいあるとどうしても整理がつかなくなることがあります。
なので、まずは早く覚えられそうな一つの言語を期限を決めて集中的に勉強すれば良いかと思います。
ただ、モチベーションの問題や挫折しそうになる瞬間は必ずあると思います。
そんなときは無理せずに自分の好きな時間を作って生き抜きしてください。
あと、一番大切なのは継続的にやることであり、プログラミング言語に限らず何事も継続的にやっていくことが一番重要だと思います。

投稿2018/02/27 17:10

haruniku

総合スコア527

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:13

「何事も継続的にやっていくことが一番重要」とのことで、たまに離れてしまって忘れてしまうことが多いので、意識してやっていきたいと思います。 ご回答大変ありがとうございました。
guest

0

ご自身のキャパ次第でしょうけど同じような機能に同じような名前の関数があったとき
どれがどれだかうろ覚えになってしまう懸念はあります。
どれか一つに絞って集中的に覚えた上で徐々に広げていくほうが効率的だと思います
(というかどれか一つをやるのが大変でなかなか他は手が回らないんですけどね)

投稿2018/02/27 11:56

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:19

1つの言語でおぼつかないのに、混乱してしまいますよね。 集中的に覚えた上で徐々に広げるという考え方参考にさせていただきます。 ご回答大変ありがとうございました。
guest

0

同時に学ぶことも良いですが、1つ絞ることも考えてみては。
次への理解も早いと思います。
例えば、
PHPを極めてからRubyへ
Rubyを極めてからPythonへ

一番興味があるものからでも、良いと思います。

また、プログラム初心者が、機械学習などに興味を持っても意味が無いものでしょうか?

興味があれば、プロやアマ・初心者でも関係ないと思います。

投稿2018/02/28 13:20

ai_2013_dev

総合スコア338

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mi_

2018/03/02 11:09

興味があるものからがモチベーションが続きそうですね。 ご回答大変ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問