
No.3ベストアンサー
- 回答日時:
ふむ。
> 1ヶ月程度である程度習得できる言語は何ですか?
毎回ワンパターンな答えだけど、一応オススメしている言語はRubyだ。
Ruby:
https://www.ruby-lang.org/ja/
理由も、Ruby自体がどーの、ってぇんじゃなくって、気楽に勉強出来るWeb教材があるから、だ。
プログラミング入門 - Rubyを使って - :
https://ie.u-ryukyu.ac.jp/~kono/software/s04/tut …
マジメに一日1章やれば2週間かからず終了するだろう。
プログラミング、と言う行為の「概要」を知るにはこれ以上の無料Web教材はない、と思う。
それに関して言うと貴方のニーズには合ってるだろう。
> やはりJavaScriptですかね?
最初に言っておくと、JavaScript自体は「凄く良い言語」なんだよ。
ただし、「プログラミング言語初心者」にはオススメしない。
JavaScriptはプログラミング言語としては珍しく、実は「入出力が存在しない」言語なんだ。入出力をするにはブラウザのAPIに頼らないとなんない。
仮に貴方が既にHTMLの知識があるなら止めないけど、一方、HTMLを学んだ事がない、と言うなら「今はやめておけ」と言わざるを得ない。
JavaScriptを最初にやると、事実上、「JavaScript自体を学びながら」「HTMLを学び」なおかつ「WebブラウザのAPIを学ばないとならない」と三重苦になる。
そしてJavaScript自体を学ぶにはスタンドアロンを利用する、って方法もあるが、「ソースからビルド」したりせなアカン。ここで「ソースからビルド」って言い回しが「分からない」と言うなら、こりゃ完全に最初にやる言語ではない、って話になる。それは言語の「性能」とまた違う話なんだよ。
一方、貴方が既にHTMLの知識を持ってる、と言うのなら特にJavaScriptを学ぶにあたっての障壁はあんま無いだろう。多分次の二冊のうちのどっちかで学習を始めるのは悪いテではないハズだ。
JavaScriptで学ぶ関数型プログラミング :
https://www.oreilly.co.jp/books/9784873116600/
JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ:
https://book.impress.co.jp/books/1115101137
ただし、この二冊ともちとクセがあるんで(と言うか強い・笑)、本屋で自分で確認してみる事。
合わなかったら別の本なりサイトなりを探した方がいいだろう。
> ブラウザ上でアプリを作りたいです
もし、これだけ、が目的なら「最初からブラウザ上で動く」プログラミング言語を使ってもいいかもしんない。
有名どころではScratchがある。
Scratch:
https://scratch.mit.edu/
MIT(マサチューセッツ工科大学)の方で公開されているWeb上プログラミング言語だ。
これも入門書籍は割に多いんで、「ブラウザ上で動かしたい」と言うだけのニーズならすぐに埋める事は可能だろう。
Amazonでの例:
https://www.amazon.co.jp/scratch/s?k=scratch
No.5
- 回答日時:
> Pythonってよく聞くんですけど何が違うんですかね?
PythonはかつてはRubyとライバル関係にあったような言語かな。
今はPython人気が圧倒してるけど、2000年代くらいは日本じゃそんなに人気が無かったんだ。と言うのも当時のPythonは日本語処理が怪しかった(笑)。
結果、例えば今30代〜40代のWebプログラマ、とか、「プログラミングはRubyで始めました」って人は結構多いと思う。
ただ、この2つはある意味見た目はそっくりなんだよ。
# Ruby
def sayMoo(numberOfMoos)
puts 'モォーーー' * numberOfMoos
'黄色い潜水艦'
end
# Python
def sayMoo(numberOfMoos):
print('モォーーー' * numberOfMoos)
return '黄色い潜水艦'
そっくりでしょ(笑)?
RubyとPythonの大雑把な違いは次のようなカンジだ。
1. 構文要素(関数定義とか繰り返しとか条件分岐とか)でPythonは区切り文字としてコロン(:)を用いる。一方、Rubyにそういった必要はない。
2. 一つのプログラム要素のまとまりを「ブロック」と呼ぶが、Rubyはブロックの最後にendを付けるルールがある。一方、Pythonの場合、「ブロック」を表現するのにインデント(字下げ)を用いる。
3. Pythonは関数の返り値(つまり最終的に欲しい計算結果)を返す際に明示的にreturn文を用いる。一方、Rubyの場合、「記述されたモノ」の最後が自動で返り値になり、明示的にreturnする必要がない。
こんなトコかな?
実の事を言うと「機能的には」Rubyの方が若干高機能だ。Pythonはそれより「劣る」。
ただ、一般に言うと、実は「高機能な言語であればあるほど」演算スピードは犠牲になるんだよ。言い換えると、「プログラマがラクが出来る言語」であればあるほど、プログラミング言語の方が「色々と頑張ってくれる」わけ。
ただ、Pythonもハッキリ言っちゃえば「遅い言語」なんだけど、PythonがRubyに比べて優秀だったのは、「スピードを追い求めなかった」んだよね。ヘンに感じるかもしんないけど。
Pythonは「速い演算が必要ならそれが得意な言語に丸投げしちゃえばいいじゃない」って設計思想で(笑)、「Python自身に頑張らせる」んじゃなくって、丸投げに注力したんだよ(笑)。要はC言語とかFortranで書かれたプログラムとの「連携」に力を入れるようにした、んだ。
これがウケた、んだな(笑)。
繰り返すけど、「RubyはRuby内で頑張るようにした」。言わばこれは「フツーの方策」なんだけど、Pythonはとかく「丸投げ」中心主義だったんだ(笑)。C言語とかFortran辺りの「速い言語」のフロントエンドになるようにしたわけだ。
これらがRubyとPythonの大雑把な違いかな。
でも、敢えて言うと、「最初に触る言語はなるたけ高機能な方がいい」。
と言うのも「色んな新しい概念」はRubyのような高抽象度の言語で最初に触ってた方がいいんだ。最初に低レベルな言語に触るとそれら「高抽象度の概念」が分からなくなる。もう後になればなるほど「新しい概念」を学ぶのが億劫になるんだ。
だからRubyは良いスターティングポイントになり得る、と思うよ。
No.4
- 回答日時:
> Rubyという言語で何ができますかね?
汎用言語なんでほぼなんでも出来る、かな。
知らないかもしれないけど、元々TwitterはRubyで書かれてたの。
他にも掲示板とかも書かれてた例が多くて、2000年代の特に日本のWebシーンを盛り上げてたかな。
例: tDiary(ブログのようなソフト):
https://ja.wikipedia.org/wiki/TDiary
貴方は「ブラウザ上で動かせる」ってぇんでJavaScriptを念頭に置いてただろうけど、同時に「サーバーサイドプログラム」ってのもあるのね。計算結果をブラウザに表示するんだけど、その「計算」をブラウザ側じゃなくってサーバー側で行って、表示にブラウザを使う、と。
事実、レンタルサーバーだとRubyがデフォルトで使える例が多いよ。
まぁ、言っとくけど、「Rubyを使い続けなさい」って言ってるわけじゃないから。「最初にプログラミングを始める」取っ掛かりとしては、Ruby関連の無料Web教材がイイ、んだよ。ある程度「プログラミング」に慣れたら言語なんてバンバン変えちゃっていいんだ。正直言うと「プログラミング言語との相性」ってのがあって、僕が良い、って思う言語が貴方が良い、って感じるたぁ限らないんだ。
今どき「石の上にも三年」とかさ(笑)。「我慢して一つだけ使い続ける」ってのはバカバカしいし流行らない。ある程度「プログラミング」って作業に慣れたらバンバン言語を変えてもいいんだよ。殆どの言語処理系はタダだし(笑)。
1990年代みたいに「言語処理系を高い金払って買って」、だから「背水の陣」みたいな思いしてプログラミングに向き合わなくて良くなったんだ(笑)。
繰り返すけど今は「自分により相性の良い」言語を探してバンバン言語を変えて構わない。で、単に言語を「変える」にも基礎的な事はサラッと終わらしちゃえ、って事なんだよね。そうすればある程度俯瞰して物事を判断出来るようになるしね。
この回答へのお礼
お礼日時:2024/09/07 21:06
丁寧に詳しく説明していただきありがとうございます✨Ruby勉強したいと思います!あ、あとPythonってよく聞くんですけど何が違うんですかね?
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exeファイルを作ったり改造した...
-
アセンブリ名とは??
-
リピート再生が出来ません
-
数学、プログラミング、物理、...
-
CSVデータの"(ダブルクォーテ...
-
曲げセンサー
-
C言語、C+、C++、C#の違い
-
プログラムに書かれる"%"記号の...
-
Excel VBAで文字化けする (英語...
-
コンピュータ用語で使われる"ブ...
-
lispの入門書
-
HOLONついて教えてください。
-
教えてください!
-
C++における継続行
-
C言語とhtmlの違いを どな...
-
フリーゲームを解析したい
-
C言語より後に開発されたプログ...
-
プロゲートを終えて絶望してい...
-
GOTO文がない言語・・・
-
UNITY Float型の接尾辞fって
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ノートPCについて 大学・専門へ...
-
数学、プログラミング、物理、...
-
アセンブリ名とは??
-
リピート再生が出来ません
-
Visual Studio Codeについて
-
PLC 命令
-
PL/Iについて
-
Cで本格的なプログラムを作りたい
-
作業工程 SDとMD
-
Pythonでの不均一なサイコロを...
-
OpenGLで円筒つくり
-
Macでプログラミングしている方...
-
H8S 2462のプログラミング方法
-
C言語で常駐ソフトを作成
-
高校生です! プログラミングに...
-
乱数の使いよう(C++)
-
push any key で終了する方法?
-
procってなんですか?
-
CSVデータの"(ダブルクォーテ...
-
三菱製PLC Qシリーズで技術的な...
おすすめ情報