ぶっちゃけ始めるのにいい言語て何 part3at TECH
ぶっちゃけ始めるのにいい言語て何 part3 - 暇つぶし2ch1:デフォルトの名無しさん
20/09/03 14:23:33.06 Iw25SRBH.net
前スレ
ぶっちゃけ始めるのにいい言語て何 part2
スレリンク(tech板)

2:デフォルトの名無しさん
20/09/03 15:59:04.11 f/udSEF6.net
前スレより
790 1 名前:デフォルトの名無しさん Mail:sage 投稿日:2020/08/18(火) 17:43:05.80 ID:HR/M/dGq
>>765
対話的なプログラミング環境、いわゆるREPLは大事だよね
たとえば「0から9までの数字で偶数のものを2乗した配列」が欲しいとする
もしもこうした環境が提供されている言語であれば:
$ irb
irb(main):001:0> (0..9)
=> 0..9
irb(main):002:0> (0..9).select {|n| n % 2 == 0}
=> [0, 2, 4, 6, 8]
irb(main):003:0> (0..9).select {|n| n % 2 == 0}.map {|n| n * n}
=> [0, 4, 16, 36, 64]
irb(main):004:0>
その場で、手軽に計算を学習できる、あたかも電卓のように
こうしたメソッドチェーン(あるいは関数型言語におけるパイプライン演算子)は、
スレタイにある「ぶっちゃけ始めるのにいい言語」には必須じゃないかと思われ
URLリンク(qiita.com)

3:デフォルトの名無しさん
20/09/03 18:13:15.27 6AJp7Q6D.net
日本語や英語などの自然言語ができるのなら、それよりはずっと簡単なんだから何でもいいから始めればいい
逆に本とかで勉強するだけでは身につかず実際に日常で使っていくのが一番の勉強になる
これは義務教育で英語やった人なら分かるはず。よってここはただの雑談スレ

4:デフォルトの名無しさん
20/09/03 18:43:13.63 bHyMdwQo.net
個人的にはCで始めることができたのは運が良かったと思ってる。
もう30年くらい前だが(w)、あのときFORTLANとかCOBOLだったら
今の言語見たら目が滑りまくると思う。
今ならC#かjavaから入っとけば潰しが効く気がする。パラダイムシフト
起こったら知らんけどw

5:デフォルトの名無しさん
20/09/03 20:00:31 kL+30avi.net
>>2
selectやmapだの仮変数nだのをいちいち書かなければならなくて冗長。
ベクトル演算できる言語だとすっきり書けて小気味良い。

R: seq(0, 9, 2) ^ 2
Julia, Octave: (0:2:9) .^ 2

6:デフォルトの名無しさん
20/09/03 20:24:50 o+d3Cgd9.net
C# 一択でしょ。Windows、Mac、iOS、Android、ウェブアプリ、何でも作れる。型を指定してオブジェクトを宣言するから、自動補完もばっちり。

7:デフォルトの名無しさん
20/09/03 22:28:17.87 V2b1bZds.net
スレたて乙

8:デフォルトの名無しさん
20/09/03 23:56:41 46Dd9IKP.net
>>2
irb とか、そんな面倒なものは使わない

VSCode の拡張機能・Code Runner(Run Code)で、
ファイル全体、または、コード片を選択して実行できる

p range = ( 0..4 )
p ary = range.select { |n| n % 2 == 0 }
p ary2 = ary.map { |n| n * n }

出力
0..4
[0, 2, 4]
[0, 4, 16]

9:デフォルトの名無しさん
20/09/04 06:21:36 3Qxfkq0A.net
>>4
目が滑るってプログラム的にどういう意味?

10:デフォルトの名無しさん
20/09/04 20:29:20.06 9etj62x2.net
UnityでC#触るのが楽しくていいんじゃない?

11:デフォルトの名無しさん
20/09/04 23:37:49.32 I8Hp1/bB.net
pythonは人気あるけど、括弧が無いっていう他の言語との違いが気になる。
C#とかTypeScriptが良いと思う。

12:デフォルトの名無しさん
20/09/05 02:51:46.19 OV3VFUME.net
・・・どうしてマキマはパワーを殺めてもうたん?(´;ω;`)ブワッ

13:デフォルトの名無しさん
20/09/05 07:53:46.85 27CeiSlO.net
コード規約が多数派に行かないと苦労しそう。

14:デフォルトの名無しさん
20/09/05 20:01:59.21 +9oXrKGt.net
僕もC♯やってつ

15:デフォルトの名無しさん
20/09/06 15:21:11.67 fVJSzq3O.net
javascriptかな。htmlとcssを一緒に覚えるとブラウザで遊べて楽しい。コード例もゴロゴロ転がってる。

16:デフォルトの名無しさん
20/09/06 20:31:23 3EmhWp3D.net
JavaScriptはもう触りたくないンゴ

17:デフォルトの名無しさん
20/09/06 21:59:02.12 bHAmEDsp.net
何をやりたいかにもよらない?
例えばWeb系やりたいならJavaScriptとか

18:デフォルトの名無しさん
20/09/07 00:06:42.80 3mV3QMzX.net
>>11 括弧がないってどういう意味?

19:デフォルトの名無しさん
20/09/07 00:59:38.23 iE0dVXFV.net
格好がつかない

20:デフォルトの名無しさん
20/09/07 04:25:35.25 PFWkTL8D.net
複合文の波括弧がないということでしょ。個人的にはオフサイドルールは大好きだけど、嫌いという人がいるのも分かる。

21:デフォルトの名無しさん
20/09/07 04:54:30.33 BYWLguUb.net
>>17
どこまで実用を見越すかってことだろうけどね。
ついでに人気度ランキングも。
だったら、Typescriptかな。

22:デフォルトの名無しさん
20/09/07 20:19:42.76 nh0ZPRbh.net
波カッコがないとブロックを終わるときにエディタが助けてくれないのかちょっといや

23:2
20/09/07 22:23:17.43 RPzI080p.net
>>2 のお題であれば、波カッコを使えば左から右へ流れるようなコードが書ける
  (0..9).select {|n| n % 2 == 0}.map {|n| n * n}
ところがだ、波カッコを無くしたまでは良かったけど、代わりに丸カッコを三重に入れ子にした
コードを書かざるを得ないのが Python といふ言語
 list(map(lambda i:i**2 , range(0,10,2)) )
 前スレ「ぶっちゃけ始めるのにいい言語て何 part2 」より引用
 スレリンク(tech板:808番)/
インデントを強制することによってコードを簡潔にして可読性を高める、
と言うアイデアは決して間違いではなかったけれど、Pythonが言語設計の比較対象にしていたのは
FORTRAN/COBOL/PASCALそしてPerlといった手続き型言語とそのプログラミングパラダイムだった
確かにWHILE-ENDやFOR-ENDでループ処理をゴリゴリ回すコードが比較対象であれば美しかった
けれども時代はオブジェクト指向(メソッドチェーン)や関数型(パイプライン演算子 or 関数合成)といった
より洗練されたプログラミング表現へと進化している
たとえば古典的な関数型言語のLISPはS式と呼ばれる丸カッコの入れ子が代名詞だけれど、
最初からインデントの強制を前提に設計された関数型言語Haskellであればパイプライン演算子や関数合成は使えるし、
それどころかHaskellは型システムを前提にしたソフトウェア設計論やプログラミンングにおける圏論といった、
未来へと続く次世代プログラミングヘのパラダイムシフトへの影響をもたらしている
当初は手続き型言語として設計された(Perlと比較すれば)簡潔で美しいスクリプト言語 Python、
けれども新宿界隈の雑居ビルのごとく行き当たりばったりに中途半端なオブジェクト指向や関数型が導入された

24:デフォルトの名無しさん
20/09/07 23:11:49 3uGG3SyO.net
>>23
偶数のみを処理するのとイテレート時に1個飛ばしで処理するのは意味が違うから混同しちゃだめ

Ruby
(0..9).filter(&:even?).map{|x| x ** 2}

Python
[x ** 2 for x in range(0, 10) if x % 2 == 0]
or
list(map(lambda x:x ** 2, filter(lambda x: x % 2 == 0, range(0,10)))) # 醜いので普通は使わない

25:2
20/09/07 23:44:37 RPzI080p.net
>>24
> 偶数のみを処理するのとイテレート時に1個飛ばしで処理するのは意味が違うから混同しちゃだめ

前スレ808氏が苦し紛れに書いたコードでしたので、私はあえてツッコまなかったのですが。。。鬼ですね


> [x ** 2 for x in range(0, 10) if x % 2 == 0]

こちらの内包表記を用いたコードであれば「醜さ」は改善されていますね
もっともHaskellのように、あたかも数式であるかのように書ければ、
より「美しい」と共感する人は多かったのでは無いかと思われますが
 [x ** 2 | x <- 0..10, x % 2 == 0]

> { x ^ 2 | x ∈ S, x > 3 } みたいな数学の集合の表現が元ネタなのかもね

 前スレ「ぶっちゃけ始めるのにいい言語て何 part2 」から引用
 スレリンク(tech板:811番)/


では、続きまして前スレから次のお題です
・ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ
 [1,4,3,2].sort.reverse.map(&:to_s).join('-')

 前スレ「ぶっちゃけ始めるのにいい言語て何 part2 」から引用
 スレリンク(tech板:791番)-792/

このように波カッコを使えば、先のお題と同様に左から右へと流れるようなコードが書けます
たいして難しいどころか日常的に見られる簡単なお題ですから、もちろん内包表記でも書けますよね?

26:デフォルトの名無しさん
20/09/07 23:59:11.84 3uGG3SyO.net
>>25
>このように波カッコを使えば
コードブロックの表現に波括弧やキーワードを使うのか
それともインデントを使うのかとは関係なくない?
Pythonが複数行のlambdaを書けないのはPython特有の問題だし
PythonのAPI設計がオブジェクト指向的じゃないのもPython特有の問題でインデントとは関係ない

27:デフォルトの名無しさん
20/09/08 00:06:33.87 d82mVcHe.net
単なる癖づけの問題で、多数派の方が楽だよねって思うが。

28:2
20/09/08 00:37:25.12 1GKR+zTs.net
>>26
そもそも>>25のコードでは波カッコを使っていない、というオチは置いといて(苦笑
 [1,4,3,2].sort.reverse.map(&:to_s).join('-')
>>25で書いたように、Pythonが誕生した手続き型プログラミングが主流の時代には、
 > コードブロックの表現に波括弧やキーワードを使うのか
 > それともインデントを使うのかとは
大いに関係がありました(過去形)
Pascal の begin..end を使うのかCの{..}を使うのか、いやそもそもブロック表現は
具象構文にインデントを取り込めば..といった論争です(Occamといふ言語をしていますか?)
今となっては当時を知らない若手か老害しか興味を持たないようなつまらない話題です
おっしゃるように問題は、元々は1980年代の設計思想(手続き型パラダイム)で設計されて誕生し、
時代時代の流行を追いかけて後方互換性を断絶するような改変(Python2->3)を強行してもなお、
中途半端な関数型プログラミンングやオブジェクト指向プログラミングしか
書けないPythonの現状にあるわけです
で、あなたはこの現状を正確に認識した上で、そんな言語を「ぶっちゃけ始めるのにいい言語」として
他人にお薦めしますか?
もちろん実世界の閉じた世界で何も知らない初心者を相手にして、優越感に浸る手段とはなるのでしょうけれど

29:デフォルトの名無しさん
20/09/08 09:26:52.11 01u98+/t.net
評価軸の1つとしてそういうことを気にする人もいるというのはわからないでもないけど、Pythonは普通に「ぶっちゃけ始めるのにいい言語」としては上位の方でしょ。
お勧めリストとして、RubyをPytnonより上位に位置付ける人よりも、その逆の人の方が圧倒的に多いと思うけど。

30:デフォルトの名無しさん
20/09/08 17:57:04.25 Rm9gieqX.net
インデントしてりゃそれが制御の範囲を示すんだって頭が
できちゃうのは副作用でかくないか?

31:デフォルトの名無しさん
20/09/08 18:09:43.81 jZ8u+myy.net
>>28
>大いに関係がありました(過去形)
何と何が関係あるって言ってるの?
左から右へ流れるようにコードが書けるということと
コードブロックの表現に何を使うかということは関係ないってのが>>26の指摘
普通はやらないけどPythonでも左から右に書けないわけじゃない
pipe([1,4,3,2], sorted, reversed, map(str), '-'.join)
上の話と初心者にPython勧めるかどうかは全く別の話

32:デフォルトの名無しさん
20/09/08 20:03:16 4Q+xgnjB.net
なんかやべーやつが居座ってるスレなのは把握

33:デフォルトの名無しさん
20/09/08 22:56:44 WZqhOJW2.net
>>30
そこまで頭の悪い人はいないでしょ。
「VBAから入ると変数宣言はDimでやるんだという頭ができちゃうから副作用がでかい」とか考えるならそうかもしれないが。

両方やった上でインデントが強制されるのは窮屈だから御免被りたいという意見は十分ありうるとは思うが。

34:デフォルトの名無しさん
20/09/08 23:11:58.53 txiCBqFi.net
「流れるように」

35:デフォルトの名無しさん
20/09/09 00:49:52 U+WWUaPe.net
インデントはデメリットに比べてメリットが小さすぎるから採用言語が少ない

36:デフォルトの名無しさん
20/09/09 06:16:15 +wID2zCZ.net
行数が減るメリットは小さくないと思うが。閉じ括弧やendが不要なのでまず1行分減るし、開き括弧やbeginで1行使う流儀ならさらにもう1行分減らすことができる。

オフサイドルールを採用する言語が今のところ少ない理由は、メリットの少なさというよりも、インデントを強制されるのは窮屈に感じるという気質の人が、プログラマには少なくないからではないかと思う。
Pythonの人気でそれが今後変わるのか変わらないのかは分からないが……。

37:デフォルトの名無しさん
20/09/09 09:30:03.91 DjXMW823.net
字下げスタイルはどれが好き?
C#はオールマンスタイル、Javaはカーネルスタイルが主流だけど

38:デフォルトの名無しさん
20/09/09 10:35:12 UWAKNRKG.net
オールマンが見易くて好きだな
行はその分増えちゃうけど現代では困ることもないでしょう

39:デフォルトの名無しさん
20/09/09 12:34:01.79 DX/5ZzFp.net
>>36
実際は閉じ括弧の代わりに空行入れるから、ネストしたブロックから一気に抜ける場合以外に行数は減らない
特にPythonだと逆に行数増えるからメリットにはなってない

40:デフォルトの名無しさん
20/09/09 12:48:13.64 DX/5ZzFp.net
>>36
インデントを強制されるのは窮屈に感じるのは気質の問題じゃなく合理的な理由があるから
間違ってたらバグる、閉じ括弧に比べて間違いを見つけるのが面倒、オートフォーマットできない、改行を入れて読みやすくする自由度が低い
自由度が低いと制約を常に頭の片隅に置きながらコードを書く必要があって脳を活用できる度合いが下がる。
理由をうまく言語化出来ないことを気質の問題にしてるとロクなことないよ

41:デフォルトの名無しさん
20/09/09 14:01:47.15 +wID2zCZ.net
>>39-40
そんなに拘るつもりもないんだけど、閉じ括弧やendを使う言語でも普通はその後空行を入れるでしょ。行数が減らないというのはさすがに無理筋無批判だと思うなぁ……。
インデントミスでバグるというのは具体的にどういうケースを想定しているのかよく分からないけれど、ブロックの範囲についてプログラマの勘違い・書き誤りがあるケースなら、早めに検出してくれるほうがありがたいと思うが。
閉じ括弧と比べて間違いを見つけるのが面倒というのもあまりピンとこないような。インデント幅が違っていたら警告が出るわけだし、その後、正しいブロックの範囲を示すように直す作業はどちらでも同じでしょ。ぶら下がりelseみたいな問題が生じないのはインデント強制の言語(あるいは括弧を省略できない言語)のメリットだと思うけど。
オートフォーマットの必要性が高いのは、そもそも括弧を書く位置がバラバラだと読みづらいという問題が大きいからでは?
読みやすさのために空行を入れることはインデント強制の言語でも普通にできるし、文の途中で改行を入れるときに行継続が必要になるというのは、物理改行を文の終わりにする言語共通の特徴だろう。行継続なしで書ける方がスッキリしていて良いという感覚はありうるけれど、それはまさに気質の問題だと思うが。
インデント強制が好きではないという人が多くいるのもわかるので、あまり拘る気持ちもないのだけど、個人的には>>39-40の挙げる理由はあまり「合理的な理由」とは思えなかったかな。

42:デフォルトの名無しさん
20/09/09 14:04:37.41 +wID2zCZ.net
変換ミス失礼。無理筋無批判 → 無理筋な批判 

43:デフォルトの名無しさん
20/09/09 14:33:41 UWAKNRKG.net
俺のソースコード並みに長え

44:デフォルトの名無しさん
20/09/09 14:45:23 JayL9lJy.net
インデントでネスティングの深さを判断するのに、それをユーザ任せにすると言うのはよくないと思うけどな、人が作った奴なんてインデントを合わせるのに一苦労する。

最初からインデントをチェックしてくれるPython の方がマシ。

45:デフォルトの名無しさん
20/09/09 15:55:34.59 Hy/Ksgks.net
Pythonのインデントの関係で引っかかったことがあるのは、ヒアドキュメントとしての三連クォート文字列くらいかな。
最初、/* ~ */コメントと同じ感覚で書いてしまったんだけど、実際には単なる文字列リテラルで式文だから、インデントルールが適用されるんだよね。考えてみれば当然のことなんだが。
引っかかったことがあるのはそれくらいで、あとは波括弧を使う言語と変わりない感覚で書けていると思う。

46:デフォルトの名無しさん
20/09/09 19:21:51.36 oakMIUIv.net
行数が減るのがメリットとかプログラムまともに書けない人っぽいなw

47:デフォルトの名無しさん
20/09/09 22:16:38.50 yMfVretT.net
Pythonのようなインデントに意味を持たず言語もデメリットを理解した上で使うならいいと思うが、全く理解してないんだね
単なる経験不足ならいいけど数年以上やってるようなら言語の弊害と言えそう

48:デフォルトの名無しさん
20/09/09 22:42:50 Hy/Ksgks.net
デメリットの話なら、具体的な点を挙げた方が有益だと思うが。もっともな理由なら「ふーん、なるほど」となるだろうし、大したことのない理由なら「うーん、そうか?」となるだろうし。
いずれにせよ、この手のスレで>>47のように勿体ぶるクズの気持ちは正直よくわからん。

49:デフォルトの名無しさん
20/09/09 23:57:20 syiPJYMx.net
アセンブラなら
インデントなんてあまり気にしなくてもいいんだけどなぁ

50:デフォルトの名無しさん
20/09/10 19:47:03 WJXSdxnL.net
アセンブラーの書いたC++とか全然OOしてないよな

51:デフォルトの名無しさん
20/09/10 21:38:27.75 cx/3z2qx.net
アセンブラ0X?

52:デフォルトの名無しさん
20/09/10 21:46:50.56 U1ghgEvu.net
>>46
え?

53:デフォルトの名無しさん
20/09/11 06:21:41.67 rDZLwTxX.net
アセンブラーできる19歳の書いたC++がこれだ

URLリンク(sourceforge.net)
オブジェクトどこいったw
以下解説
スタックトレースとメモリーリーク検出ライブラリ
wvglob.h wvstring.hとかもっとひどい
以下願望
C++のnew演算子もdefineとかでフックしたいぞ
OvjectiveCとか一バイトオーバーフローで警告もなく
クラッシュして不便すぎる

54:デフォルトの名無しさん
20/09/11 06:26:55.72 rDZLwTxX.net
URLリンク(sourceforge.net)
ひでえぞ俺

55:デフォルトの名無しさん
20/09/11 06:55:40.91 rDZLwTxX.net
v? bでした、、
プログラマーの老化とメンテナンス性能について
なんてスレが欲しい

56:デフォルトの名無しさん
20/09/11 15:07:34.21 rDZLwTxX.net
まあ、80486が新進気鋭だった時代のC++だね。
レジストリで計算させてヒープメモリを使わず、
スタック変数さえスピードのネックになった時代っす。
一時キャッシュはあったが二時キャッシとヒープキャッシュメモリとか無かったんじゃ

57:デフォルトの名無しさん
20/09/11 15:10:22.04 rDZLwTxX.net
で、本題に戻る。
Visual C# 2019パーフェクトマスターって3200円の書籍かいましたが、
これGUIアプリ作るゴールとして、勉強した方がよき?
JavaSwingみたいな今からは時間の無駄ってことにはならん?

58:デフォルトの名無しさん
20/09/11 15:33:50.58 rDZLwTxX.net
Javaでは途中まで、やりましたが
SmallMIDIMix概要: SmallMIDIMix
URLリンク(smallmidimix.seesaa.net)
みたいのC#で、できたら、クロスプラットフォームな
ライブラリが欲しい
アプリまでクロスプラットフォームでないにしてもね

過去スレ全ては読み終ってないですが、、

59:デフォルトの名無しさん
20/09/11 16:11:33.82 rDZLwTxX.net
入りたかった会社の募集みたらC C++って書いてありましたわ、
また戻るのか私は
では、、

60:デフォルトの名無しさん
20/09/11 16:23:30.35 f71Kzwl/.net
レジストリで計算www

61:デフォルトの名無しさん
20/09/11 16:36:20.18 rDZLwTxX.net
w レジスタ w

62:デフォルトの名無しさん
20/09/12 12:12:14.87 2yAyoIwr.net
レジストリワロタwww
C#でGUIはWindowsなら色々あるけど
それ以外はUnityかXamarinしかないんじゃないかな
クロスプラットフォームならElectronが良いとは思うけど
GUIアプリならJAVAでも悪くは無いけど今更感はあるかな

63:デフォルトの名無しさん
20/09/13 10:59:45.58 RvTjGpTG.net
アセンブラならレジストリで計算しなくても済むんだけどなぁ

64:デフォルトの名無しさん
20/09/13 11:02:38.47 BN9NteHY.net
じわじわ来るな

65:デフォルトの名無しさん
20/09/16 23:01:50.93 oh4BMBDv.net
しーしゃああぷっ

66:デフォルトの名無しさん
20/09/17 00:50:27.96 7NFmc0PC.net
Pythonってどうやって支持者集めたんだろうね
言語そのものよりコミュニティの中心人物が天才だった?

67:デフォルトの名無しさん
20/09/17 01:34:09.59 L6NPlBH9.net
レジストリ
じわる

68:デフォルトの名無しさん
20/09/17 06:23:43.84 7+LGM74S.net
アセンブラの入門サイトで笑ったよ。
誰も信用できない人向けだってさ。
でも、コンピューターとは?ってところから学ぶのも良いかもな。

69:デフォルトの名無しさん
20/09/17 09:55:49.88 CL2HMvAf.net
プログラミングやるのに言語なんかいらん
紙と鉛筆あればできる

70:デフォルトの名無しさん
20/09/17 11:41:44.72 FJaokp+J.net
>>66 教育用言語にはインタプリタ言語が適している。
古くはBASIC 、Microsoft BASIC が一世を風靡した。
その後釜に座ったのがPython 今やほとんどの大学で教えているから、学生、研究者が高度なツールとして使うために膨大なライブラリ群が集まり今や押しも押されぬ位置を占めた。
高度な処理になればなるほどPython 一択。 例えば AI
Mucro:bits は小学生用からの勉強用コンピュータ(2000円位)だが、Micro Pyhon が動く。
エディタでブロックプログラミングするとPython コードが吐き出される。 それをMicrobit にダウンなロードするとLチカやブザー、音楽、Bluetooth 、温度計、、、、などで遊べる。
イギリスでは小学生4~5年生全員に無料配布している。
日本の検定教科書でもPythonを扱い始めた。

71:デフォルトの名無しさん
20/09/17 11:45:03.76 FJaokp+J.net
教育用コンピュータとして、raspberry pi が生まれた。
数千円でLinux が動く。これもPython で動かすのが基本となっている。
色んなセンサーを追加する事で機械学習とか高度な事もできる。

72:デフォルトの名無しさん
20/09/18 18:58:22.57 4IDnzIte.net
>>69
プログラムとは目的があってそれを実現するための手順
ピタゴラスイッチはプログラムだけど紙にコード書きこむのはプログラムじゃない

73:デフォルトの名無しさん
20/09/18 19:54:19.43 SloIDv3t.net
言語なんかいらんっていってるのに…

74:デフォルトの名無しさん
20/09/18 20:51:58.45 bVx/alhd.net
>>72
>69じゃないけど、手続き型言語じゃ簡単なのしか紙面では追えない(基本情報の試験とか、コードから実行結果を予想する事自体は不可能じゃない)けど、
Haskellなら多少複雑になっても計算を進めるみたいにして実行結果を求められるよ。

75:デフォルトの名無しさん
20/09/19 07:50:42.75 kGiNzl5D.net
Pythonは昔「こんにちはマイコン」とか本出してたゲームセンターあらしの作者のすがやみつるって人が、
「こんにちはPython」って本最近出したけど、あの人もうおじいちゃんの筈だから
基本的なことはおじいちゃんでも教えることが出来るくらい簡単なのかもしれないね。

76:デフォルトの名無しさん
20/09/19 21:36:42.73 MBYSM5dA.net
>>70
そういう御託やら薀蓄じゃなくて「Pythonってどうやって支持者集めたんだろうね」を
求めてる質問なんだが?

77:デフォルトの名無しさん
20/09/20 14:50:01.24 N26278Oh.net
パソコンでライブラリAPI使うのはプログラミングじゃないので~

78:デフォルトの名無しさん
20/09/20 19:01:43.79 ne2DQc4d.net
アセンブリ

79:デフォルトの名無しさん
20/09/21 00:02:42.05 tf3MsgL+.net
>>76 ちゃんと読めよ。

80:デフォルトの名無しさん
20/09/21 00:09:42.85 tf3MsgL+.net
>>77 プログラミングって問題を解決するためのツールだぞ、利用できるものは何でも使って早く安く解決するのがプロだよ。
1から手作りしてるのはただのプログラミングのお勉強。

81:デフォルトの名無しさん
20/09/21 09:00:16.47 PgrCfccK.net
逆にわざわざフルスクラッチでゼロから作るメリットってなんかある?

82:デフォルトの名無しさん
20/09/21 09:20:50.42 D3lJhgn+.net
>>66
ブームとなったAI絡みにのれた、というのが大きかったのでは
それを扱う言語の中では汎用性が高かった
昔は日本だとR言語>>Pythonだったが

83:デフォルトの名無しさん
20/09/24 15:14:57.09 zrfzyy+Q.net
>>1
質問させてください。
質問内容は初心者はどのプログラミング言語からはじめたらいいのか?です。
色々ググってみると、
1 求人や受託案件から逆算して○○か□□パターン。
2 自然言語のおいてのラテン語にあたるC言語、C言語をものにすれば将来的にもつぶしがきく
3 初心者だから簡単な言語、とにかく簡単な言語△△か××パターン。
4 小学生もプログラミング教育がはじまったから小学生向け教材の◎◎か●●パターン。
5 コンピューターは機械語しか理解しない、機械語から勉強すればコンピューターの動作原理から理解でき真のプログラマーになれるパターン。
こんな感じでした。
1は今のところIT系の業界に就職転職する予定はないのでパス。
2も今の段階ではイージーに始めたいのでパス。
4は簡単に見ましたがプログラム学習が主目的で実際に使えるプログラムができるのか?が不明なのでなるべく避けたい。
5はディープな世界なので後回し。
という感じで3だと思います。
やりたいこと(ゲームを作りたいなど)は特になく単純に作って動かして修正してまた動かしての中で日々の役に立つものができたらいいなくらいの気持ちです。
おすすめ言語を数個教えてください。

84:デフォルトの名無しさん
20/09/24 17:43:17.77 FurTts5b.net
>>83
実行する環境も書かずやりたいことも無いのにオススメ教えてって無理
プログラムは誰にでもできるけど、やりたいことや目的に沿ってやっていくことが勉強になるから
それがなければモチベーションが続かないので上達しないし止めといた方がいい

85:デフォルトの名無しさん
20/09/24 18:17:54.18 sW11ypIO.net
>>83
五択がよくまとまってて好感がもてる
どういう言語がいいかは「日々の役に立つもの」のイメージ次第

86:デフォルトの名無しさん
20/09/24 18:37:20.04 eJ60na0U.net
>>83
Pythonでいいんじゃね?
私の真似をすると、工業高校生が使うポケコンBASICとかあるけど。
※Visual Basicとは全く違う
今の時代ならPythonにするかな。
簡単だし。実用面もあるし。
Pythonで簡単な計算スクリプトを作成し、スマホに忍ばせておくという簡単なことから始めればいい気がする。
興味が湧いたらガチな開発に切り替えられるし。

87:デフォルトの名無しさん
20/09/24 19:13:54.51 qMR+aI5t.net
>>83
言語というよりプログラミング環境を整え触れることから始めた方がいい
N予備校の入門Webアプリコースお薦め
URLリンク(www.nnn.ed.nico)
この中で近年メジャーエディタなVisual Studio Codeの扱いを学べる
言語としてはJavascript/html/cssで、
どうWebがコントロールされているか知れる
VS Code分かったら、PythonやC#なり気になる言語の環境作ってそっち学ぶといい
なおWebアプリに興味あればそのまま進めると仮想サーバー構築まで学べる

88:デフォルトの名無しさん
20/09/24 19:52:27.63 coBecurU.net
スマホでも使える言語が良いと思うよ。
Pythonならスマホでも使える。
いつでもどこでも勉強できる。

89:デフォルトの名無しさん
20/09/24 20:22:23.56 zrfzyy+Q.net
沢山の回答ありがとうございます。
>>84
> 実行する環境も書かずやりたいことも無いのにオススメ教えてって無理
> プログラムは誰にでもできるけど、やりたいことや目的に沿ってやっていくことが勉強になるから
> それがなければモチベーションが続かないので上達しないし止めといた方がいい
>>85
> どういう言語がいいかは「日々の役に立つもの」のイメージ次第
おっしゃる通りです。作りたいことやりたいことが決まらないと進む道もわからない。
しかしながらイメージするにも地図すらなくイメージすら難しいという悩みがループしている状態です。
>>86
> Pythonでいいんじゃね?
> 今の時代ならPythonにするかな。
> 簡単だし。実用面もあるし。
> Pythonで簡単な計算スクリプトを作成し、スマホに忍ばせておくという簡単なことから始めればいい気がする。
>>88
> スマホでも使える言語が良いと思うよ。
> Pythonならスマホでも使える。
> いつでもどこでも勉強できる。
プログラム言語難易度でPythonは★★、C言語やC++は★★★カテゴリーに入っているので選択肢から除外していました。
初心者向きでもあるわけですね。
とりあえず、Pythonではじめてみます
>>87
こんな便利なネット学習環境があるのですね、月1000円と安い。
自分は本で学習してみることから開始してみます。
みなさん、色々おしえていただきありがとうございます。

90:デフォルトの名無しさん
20/09/24 21:00:21.08 ov+DsxAk.net
>>89 Python なら無料の教材がネットに山のようにある。
電子教材ならサンプルを試すのにもコピペで試せるから効率的。
公式ドキュメントもネットにあるが、全くの初心者だと少し難しく感じるだろうから入門用教材から始めた方が良い。

91:デフォルトの名無しさん
20/09/24 21:51:50.54 sW11ypIO.net
>>89
1ヶ月後くらいに進捗報告してくれ
この板の平均的住民より日本語能力が高いので期待してる

92:デフォルトの名無しさん
20/09/24 21:54:22.32 80+YcRw8.net
本命】Blazor スレ1【真打】
スレリンク(tech板:608番)
ここに書いた
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
KENTA の動画を参照

93:デフォルトの名無しさん
20/09/30 02:19:55.66 9soCUyOm.net
ここまでエビデンス0

94:hello.hta
20/09/30 12:08:08.25 NNWpaWfq.net
>>89
JavaScriptならパソコン開いてすぐ出来るよ
メモ帳で書いて動かして見ようさ
半角で書いて拡張子HTAで保存後ダブルクリックだけ
<script>
var str = “ HELLO WORLD<br>”; var num =0;
for(var i=0; i<10; i++){
  num=i*i;
  document.writeln(“[“, num, “]”, str);
}
</script>
超簡単!

95:92
20/09/30 12:55:02.17 /dbaz1tV.net
未経験なら、Ruby 一択!
他の言語は、挫折確率が非常に高い。
だから、全ての学校は、Rubyばかり教える
そして、ベンチャー企業は、Ruby on Rails ばかり採用する

96:デフォルトの名無しさん
20/09/30 13:45:49.55 DAyPdpc2.net
>>95
rails6がrails5に勝ってる点を教えてくれ

97:92
20/09/30 14:10:55.59 /dbaz1tV.net
webpacker が、デフォルトになった。
Coffee Script が無くなった
AWS に合わせて、DB のリードレプリカ機能。
並列テスト、Credentials, Action Text, Action MailBox
以下に、Rails 6 の本をまとめた
レールは続く】 Ruby on Rails Part21 【これからも
スレリンク(php板:117番)

98:デフォルトの名無しさん
20/09/30 14:19:13.43 F+NmTWiy.net
>>94 javascript はあくまでもscript だから、初心者が最初に学ぶ言語には適していない。

99:デフォルトの名無しさん
20/09/30 15:29:17.25 DAyPdpc2.net
>>97
変更点じゃなくて勝ってる点聞いてるんだけど?

100:デフォルトの名無しさん
20/09/30 15:49:27.91 f4btbTds.net
ほとんどの言語はCの応用
それとほとんどのアルゴリズム(ループとか)は特定の言語とはほぼ無関係だから言語の学習でそれらを学ぶのは時間の無駄

101:デフォルトの名無しさん
20/09/30 15:57:41.18 JuljwMcd.net
>>98
ほんとに初心者は環境構築からこけるんさね
PHPやPythonもスクリプトっしょ?で
スクリプト言語の中ではJSが1番取っ掛かりやすいっしょ

102:デフォルトの名無しさん
20/09/30 17:56:10.07 fp3bFSKF.net
JavascriptはTypescriptから変換かけたり、
の方が実践的ではと思う
(とか考え始めるとどう学ばせるか悩ましい)

103:デフォルトの名無しさん
20/09/30 18:18:35.00 ktFuXCYv.net
そもそもjavascriptだけ勉強したところでという感じがする
webデザイナーとかならそれでもいいけど
バックエンドも確かにnodeでexpressなど使えば全てjavascriptに統一出来るけど
PHPなどを勉強してからフロントの制御でjavascriptも覚える方が現実的だと思う

104:デフォルトの名無しさん
20/09/30 20:23:03.55 qrMJGMd/.net
変数、配列、繰り返し、条件分岐、関数、クラス、フ


105:ァイル操作、例外 くらいまではどこぞの言語もほとんど同じなんだから 始めの一歩は書いて動かす体験が出来ればいい



106:デフォルトの名無しさん
20/09/30 20:24:55.33 IhfUQUL/.net
言語選びよりプログラミングで何がやりたいかのほうが先かもしれんね

107:デフォルトの名無しさん
20/09/30 21:51:05.38 w1LexHdb.net
>>104
結局Cで全部できる

108:デフォルトの名無しさん
20/09/30 23:14:41.59 Y7XJ9kqa.net
重要なのは実現できることの違いではなく学びやすさの違い

109:デフォルトの名無しさん
20/09/30 23:16:14.08 lRtxwb6l.net
>>106
CでできるからCがお勧めとはならないよな。その理屈突き詰めれば
アセンブラ読めってなるw
なので遡って >>104 の意見もどうだかなあ。
Cって文字列も char の配列で\0ターミネイトされてますって前提なので
ハードル高いと思う。

110:92
20/09/30 23:55:00.42 /dbaz1tV.net
全ての学校は、Rubyばかり教える
他の言語は、挫折確率が非常に高いから、
苦情ばかりになって、学校の評判が下がるから、ダメ
そして、ベンチャー企業は、AWS, Ruby on Rails ばかり採用する。
Rails 以外を学んでも、無駄
[53選]国内注目のWebサービス・アプリを大調査!
プログラミング言語、フレームワーク、アーキテクチャの一覧【2017年】
URLリンク(employment.en-japan.com)
だから、YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つの言語以外を言わない。
特に、PHP・Java を言わない

111:デフォルトの名無しさん
20/10/01 00:29:05.30 Gdy2NFDC.net
一行目で嘘ってバレるなw最後に回しとけww

112:デフォルトの名無しさん
20/10/01 01:12:28.38 Q8nWHvLg.net
>>101 スクリプトとインタプリタは違うんじゃないか?

113:デフォルトの名無しさん
20/10/01 02:18:37.65 lGabW6tF.net
>>111
初心者ならわざわざ月1000円でPythonを勉強しなくたって
この御時世Webは避けて通れないんだしJavaScriptで良いのにって話しの流れであって
なんならPythonとJavaScript同時進行で良いし
インタプリタがどうのこうのいうのはプログラムの一種でしょ?的な?
既にあるのものをあえて使わずに
ぶっちゃけインタプリタを作り始めるのにいい言語て何
ってんならC言語やるしかないだろうさ
PythonはLinuxの勉強にもなるから良いけど
APIとライブラリの組み合わせ最適解だけを求めるような
MITのSICPの嘆きと紆余曲折もわからなくは無いよ。
小学生は日本語を習うのに平仮名からやるようなもん
だけどスクラッチよりスクリプトの方がよかないか?
VSやらUnityやらのポトペタ系ビジュアルプログラミングの弊害の方が気になるので
だから始めの基本パターンくらいはスクリプト言語で良いんじゃないかな?と言いたかったんだ。

114:デフォルトの名無しさん
20/10/01 09:25:41.26 nRs6rPaD.net
>>108
ほとんどの言語はCの応用なので
あとアセンブリ言語やるのも悪くない

115:デフォルトの名無しさん
20/10/01 09:51:20.45 NKjVymUe.net
それ初心者にすすめるか。

116:デフォルトの名無しさん
20/10/01 11:31:20.80 nRs6rPaD.net
真面目に習得考えたらやることはやらないといけない
というかハードウェアの知識すっ飛ばして初心者向きだなんだのいう傾向って何なん?

117:デフォルトの名無しさん
20/10/01 11:39:15.34 enHQ6WYk.net
オートマや自動運転ならエンジンやら内燃機関やらモーターの知識は不要という風潮
新人研修なんて無駄は省きたいから即戦力で動かせれば良いよね
APIとライブラリの使い方さえ覚えれば良いのでブラックボックスのおまじないも気にしてはいけません

118:デフォルトの名無しさん
20/10/01 12:06:54.18 Rs0J+NcK.net
>>108
いや、Cはおすすめだがアセンブラはおすすめではない
Cは他のモダンな言語に似ているが、アセンブラはどんな制御系でもまるで違う

119:デフォルトの名無しさん
20/10/01 12:55:49.25 dBVIwfRB.net
C#やJavaまではCに似てる言語が多かったけど、GoもRustもPythonもSwiftもCと似ても似つかないよね。
流石にCの影響も近年は薄れて来た気がする。

120:デフォルトの名無しさん
20/10/01 14:02:14.43 bSOjPMDf.net
>>113
> ほとんどの言語はCの応用なので
そんなことはない

121:デフォルトの名無しさん
20/10/01 14:25:13.78 Q8nWHvLg.net
>>112 1000円って何やねん。 無料だぞ。
javascript は、HTML , CSS 込みのWeb制作なしでは語れない。
Webを作るならさらなる高級言語で作り、javascript はおまけみたいな物。
普通は元となる高級言語を覚えた後でWeb制作に入れば簡単。スクラッチって何やねん。
Python は、
1+2 と入力するだけで
3と言う答えが出てくるんだぞ。

122:デフォルトの名無しさん
20/10/01 17:12:07.53 9NSO6bR+.net
インタラクティブ シェルが使えるってだけならPerlもRubyもHaskell(ghci)も使える。
runghcでスクリプトとして動くし、ソースコード見られたく無いから実行ファイルで配布したいならghcでコンパイルすれば良い。
PureScript使えば、ほぼHaskellな文法で書いてコンパイルすればJavaScriptのコードを吐く。
Haskellのキラーアプリはプログラミング言語のPerl。
5か6だったと思うけど、Perl本家より早く最新のPerlの処理系完成させた事で2006年当時は注目された。

123:デフォルトの名無しさん
20/10/01 17:18:20.36 W6bAQtLI.net
>>120
知らんがや月1000円の件は>>87>>89に言えって
>>121
インタラクティブシェルで始めるのは否定しないが
どうも周りくどい気がする

124:デフォルトの名無しさん
20/10/01 18:21:55.16 HGaiXkXe.net
何故・・・。
大規模開発に向く静的型言語と、手軽な動的型言語(LL)の良いとこ採りなのに・・・。
速度こそコンパイルしてやっとLLと同程度か少し速い程度だが、定数に出来るところは定数にする様な最適化(CやC++で多い)が実装されれば劇的に速くなるはず。
(式に対して効く最適化だから、式と文に別れてる言語より最適化の効果が大きい)
Haskellは理論だけが先行していたマルチスレッドと最適化の内、マルチスレッドはほぼ理論に追い付いた。
後は最適化が論理に追い付くのを待つだけ。

125:デフォルトの名無しさん
20/10/01 18:42:00.29 QPXIh54Z.net
>>123
ほんとに良いとこ採りなのか?
単に実用性を後回しにした理論先行の言語設計なだけでないの?

126:デフォルトの名無しさん
20/10/01 19:29:07.23 by80Zctl.net
5chで曖昧に質問された前提で答えるならJS
おま環を避けつつGUI可のお試しプレイ(jsfiddleとか)を紹介出来るので後が楽
勧めるだけの無責任野郎にはなりたくないが
かといってネット越で環境構築のフォローとかストレスしかない

127:デフォルトの名無しさん
20/10/01 21:48:15.17 STsXInBK.net
>>124
速度以外は言語としては良いとこ採りで間違いない。
注目集めた当時、モナディウスと言うシューティングゲーム作られたりと実用面も問題は無い。
Haskell信者がGUIライブラリが関数型っぽくないとか言って作っては飽きてを繰り返すのでライブラリやフレームワークが揃わないのが問題。
そう言う仕様の普通の言語として普通に使えば良いだけ何だけど・・・。
鯖アプリとかHTMLを加工して返す様なのは得意だからWeb系に本来は強くて、Haskellで仕事してるプログラマーの記事を読んだ事あるけど、
何から何まで自分で作る覚悟があれば作ってしまえばすごく使い易い言語との事。
言語ではなく、コミュニティの問題なのよね・・・。

128:デフォルトの名無しさん
20/10/01 22:52:28.64 QPXIh54Z.net
>>126
これまで見てきたhaskellを推す人の論調って、下手な営業のセールストークみたいに勢いと雰囲気だけで自分の論を押してくるだけで、相手の疑問を解消して良さを理解してもらおうと言う視点が欠けてる人ばかりだったから、未だに理解しがたいなと思う。
良いとこ採りというけれど、具体的にどこがいいのだろうか。都合のいいところだけを見て良いとこ採りできてると思い込み、その裏では多くのデメリットもあるんでないの?そして一般の人にとってはそちらこそ無視できない重要な差異なのではないだろうか。思うぞ。
普通の言語として普通に使えばというが、その普通が困難なことだと言うことに気づいてみなやめてしまうのではないの?けして飽きっぽいからやめてしまうと言う訳ではないと思う。
確かにhaskellで書きやすいパターンの利用例はあるだろうが、別のケースでは他の言語で簡単に書けるのに何でhaskellではこんな面倒なことしなければならないのと言う場面も頻繁にあるのではないの?
ダラダラかいてきたけど、言いたいことは、安易に良いとこ採りだなんて言えるような代物ではないのではないか、ということ。

129:デフォルトの名無しさん
20/10/01 23:20:41.28 hscEIa/w.net
>>113
カッコの開きと閉じとかセミコロンとかダブルクォートを
似せてるだけじゃね?
俺程度の頭じゃよくわからんけど、perl なんか言語に
詳しい人が見ると LISP そっくりらしいし、たぶん見た目を
Cに似せてるだけで、中身は違うと思う。

130:デフォルトの名無しさん
20/10/01 23:48:33.50 1WJoKDwN.net
>>123
Haskellって結構速いという話だったような気がするけど、LL言語よりちょっと速い程度なのか。
最適化が最大限利いたらどこら辺までいけるのかな。
C/C++並は無理にしても、Rustに迫るくらいのパフォーマンスは出るん?

131:デフォルトの名無しさん
20/10/02 02:00:45.56 ooD45Zz3.net
関数型なら、Ruby 風のElixir で良いだろ。
パイプラインで、メソッドチェーンできる
処理A
|> 処理B
|> 処理C

132:デフォルトの名無しさん
20/10/02 05:19:59.15 J9+YQMbC.net
今までメソッドチェーン出来なかったの?
え?できてた?
じゃあ出来てるものを何故パイプラインでやるの?
え?流行りだから?
あっ、そうやって意味もなく無節操になんでもかんでも流行りを適当に取り入れてって収拾つかなくなる文化の言語でしたねwww

133:デフォルトの名無しさん
20/10/02 08:09:32.92 DKz3pZcY.net
パイプラインとメソッドチェーンは違うぞ

134:デフォルトの名無しさん
20/10/02 08:14:42.76 N9frkbqQ.net
>>130
exlixirのは関数型言語のパイプラインと違って、シンタックス的にはUFCSと同じ
「メソッドチェーン」でしかないよな。
パイプライン演算子じゃなくて普通にドットにしておけばよかったのに。

135:デフォルトの名無しさん
20/10/02 08:22:00.88 n3ogA7Ho.net
c言語の動きはその後どんな言語使っても結局意識する部分多いし、やって損にはならんもんだと思うがな。

136:デフォルトの名無しさん
20/10/02 08:45:01.66 I68UEglw.net
>>134
プログラマになるならどこかでやるべき言語なのは間違いないけど
入門向けではないと思う

137:デフォルトの名無しさん
20/10/02 09:44:26.96 3lhtwRoa.net
>>132
Ruby君といつもの粘着君だからスルーしとけ
特に粘着君は知ったかバレしてすぐ荒らすから

138:デフォルトの名無しさん
20/10/02 11:04:53.62 FkvBYhZk.net
>>127
うーん・・・。
言語としてのデメリットはコンパイラ言語にしては遅いくらいなんだけど、
純粋関数型言語って言うのに拘り過ぎてライブラリを既存のGtk2hsやWinAPIを使いたがらないとか、
フレームワークを関数型言語に相応しく!ってなかなか開発が進まない事かな。
純粋関数型言語ってネーミングに振り回されなければ、バグを良く洗い出してくれるしテストし易い、コンパイラ言語なのにLL並に型を書かなくて良い、良い言語だよ。
まあ、遅いのと周辺ツールが揃ってないってだけで致命的だけど・・・。
実用重視のユーザー(プログラマー)が増えれば変わると思うんだが・・・。
確かにまだ理論先行な言語ではある。
でも、言語としては後は最適化だけだから使わなくとも気にはしてて欲しい。
>>129
マルチスレッドし易い(容易にシングルスレッドのコードをマルチスレッドに書き換えられる)から、同じコード量でって意味なら速い。
(昔はここも遅延評価が邪魔してたけど、ライブラリ側で解決)
ハードに近い処理もライブラリ駆使すれば出来なくは無いから、シングルスレッドでも本気出せば嘘では無い。
ただシングルスレッドの場合、HaskellでそこまでするならCで良い。
シングルスレッドの最適化が解決すれば、高級言語最強になれるし、理論上はそれが出来るから追いかけてる。

139:デフォルトの名無しさん
20/10/02 17:59:19.61 POqZfBXi.net
>>116
そのくせ新入社員には何の意味もない雑用や営業からやらせる
使い捨ての営業はそれはそれで別口で雇う

140:デフォルトの名無しさん
20/10/02 19:58:19.72 8R3kp0YD.net
どうやらこのスレには初心者しかいないようだね

141:デフォルトの名無しさん
20/10/02 22:09:07.87 HG0nAEg1.net
こんなスレでガチで布教しようとしても無駄なんだけどな
やる気のある人は自分で調べて始めるし、やる気も調べる気もない人は何見ても始めたところで続かない
そんなところで「これは素晴らしい言語」とか「初心者に最適」って言っても受けとる側から見たらみんな詐欺みたいなもの

142:デフォルトの名無しさん
20/10/04 03:50:05.53 mEfLa4u8.net
C#最強伝説

143:デフォルトの名無しさん
20/10/04 09:26:08.06 1rOiD+nc.net
>>140
そうは言っても初心者向け=学習用だろう。
覚える概念が少ないHaskellはその点では評価出来る。
高級言語の目指すべき姿に一番近いと思う。
(高級言語が登場して何十年も経つのに、何故、未だに人間様がコンピュータの仕組みを気にせにゃならんのだ?)
ぶっちゃけ、スクリプトが初心者向けって言われてるけど、型を書かないで良いとか、リストみたいな構造を持った値を直接表示出来ないとか、
後はメモリのある限り大きな数を扱える多倍長整数は自分でライブラリ用意(自作orどっかから持って来る)しないと使えないとか、
コンパイラ言語とスクリプト言語の違いってその程度。
(Haskellはコンパイラ言語なのに、これらの問題は無い)
その程度で使い方自体はコンパイラ言語でも変わらんし。
だったら、やりたい事に向いた言語に始めから取り組めよって思う。

144:デフォルトの名無しさん
20/10/04 09:42:21.24 1rOiD+nc.net
そう言う意味じゃ、上で出たC#が安杯じゃないか?
Pythonでもpipやらanacondaでライブラリ入れようとして失敗します。どうしたら良いでしょう?的な質問良く見るし、
ライブラリ全部入りのC#は文法は初心者向けじゃ無いけど、バランス良い。
>141じゃ無いけど一票入れよう。

145:デフォルトの名無しさん
20/10/04 11:36:04.50 2+QqJimn.net
windowsならC#が一番環境構築が楽かもな。次にjavascript

146:デフォルトの名無しさん
20/10/05 23:05:56.41 GPg+XNwz.net
pipに失敗するのはプロキシとかじゃない?
学校や職場でやると失敗するやつ。
C#は様々なパラダイムを内包しているから、プログラマーにはオススメしたいけど、初心者には難しい気がする。
いきなり、クラスとオブジェクト指向の本質を理解できるか疑問。
C言語やPythonみたいにクラスを使わずに手続きを記述できないという点が気になる。
俺らだったら難なく覚えられるだろうけどさ。

147:デフォルトの名無しさん
20/10/05 23:37:51.16 260iGAL2.net
pipは成功したけどimportして使おうとしたらエラーになりますってのもかなり頻繁に見かける
他の言語ではなかなか見られない現象

148:デフォルトの名無しさん
20/10/06 00:28:22.63 vN0WMt/g.net
>>145
?別にクラス使わなくても書けるでしょ

149:デフォルトの名無しさん
20/10/06 08:22:14.76 2emWrRyR.net
>>145
初心者には環境の構築とか、すぐ動くものを作れる方が重要だろ
その点、C#だとVSにしろunityにしろ、インストールするだけでビルドやデバッグの環境ができるし
プロジェクトを作るだけでビルドできる雛形が出来る

150:デフォルトの名無しさん
20/10/06 13:28:21.86 cN84g8iQ.net
ファイルひとつではできずプロジェクト作らないといけないの?
ビルドしないと動かない?
インストールも必要なの?
javaみたいにブラウザでF12押してすぐ動かせないの?

151:デフォルトの名無しさん
20/10/06 13:56:15.35 ZKIwoe7o.net
F12押せばすぐJavaを実行できるブラウザがあるのか
珍しいブラウザだな

152:デフォルトの名無しさん
20/10/06 14:21:32.07 RmSjo9aQ.net
Javaアプレット定期

153:デフォルトの名無しさん
20/10/06 17:54:23.67 sr5sEDlY.net
>>147
俺のC#だとクラスを使わないとコンパイルエラーになるんですが。
C#Scriptでもない限り、文法的に無理じゃね?
>>151
Java11で廃止されてるからオススメできぬ。

154:デフォルトの名無しさん
20/10/06 22:29:46.05 UOuIyfzj.net
htmlファイルひとつで動くJavaScriptの間違いじや

155:デフォルトの名無しさん
20/10/06 22:49:03.99 zif1Aoib.net
>>152
C#Script使えばできるじゃん

156:デフォルトの名無しさん
20/10/07 12:06:59.81 Y8Dc73BQ.net
>>154
C#Scriptを動かすためにはC#Scriptを動かすためのプログラムをC#で書かないといけないんですが。
そもそも、C#Scriptって有名か?
自分の製品に組み込む用途以外で見かけないのだが...俺が知らないだけで何らかの業界で使われている可能性は否めないけどさ。

157:デフォルトの名無しさん
20/10/07 12:11:08.65 vRtHB81I.net
Unity内のドラッグ&ドロップで

158:デフォルトの名無しさん
20/10/07 12:20:09.19 Y8Dc73BQ.net
Unityググってみたけど、なるほど。
そこで使われているのか。
自分はフリーのゲーム開発フレームワークが充実していなかった時代に同人ゲーム作ってたが...良い時代になったな...。
自分はゲーム開発に興味を持って、その流れでアプリ開発技術者になったけど、やっぱり始まりはそこなのかな?
そういう意味ではゲーム開発に強い言語を教えるのも手なのかもな。

159:デフォルトの名無しさん
20/10/07 12:48:35.04 MEnF5vzo.net
Azure Functionsでもサポートされてるよ
まったく初心者向けではないけど

160:デフォルトの名無しさん
20/10/07 22:03:58.85 wZw8KjXl.net
>>157
ゲームを作るにはプログラミングの総合力が要るからやるべきなんだけど
今やスマホゲームなんて美麗で機能テンコ盛りで無料でダウンロードして遊べてしまうので
個人でのゲーム開発はモチベーションが続かない

161:92
20/10/08 00:22:09.95 HhpSErmL.net
>>109
にも書いたけど、
ただし、Unity は、AWS でも採用しているように、スマホアプリで使う。
今後、iOS, Android のネイティブ開発と、Unity のシェアがどうなるか?
まあでも、初心者向けではない

162:デフォルトの名無しさん
20/10/08 04:15:36.28 cpUbKTza.net
Unityは初心者向けだと思うがなぁ
Youtubeとかに上がってるのを単純に真似するだけで、簡単なゲームができてしまう
俺はこれより簡単な開発環境を知らん

163:デフォルトの名無しさん
20/10/08 17:21:55.10 aaL3GiXB.net
>>161 それはプログラミング言語ではなくツールじゃないの?

164:デフォルトの名無しさん
20/10/08 17:26:48.32 uCZJDMJa.net
そうだな。Unityの分はC#に合算しとけばいいだろう。

165:デフォルトの名無しさん
20/10/09 09:10:38.24 PYKreipF.net
>>145
クラスやオブジェクト指向の本質は、ライブラリ使ってる内にライブラリ設計者の思想を読み取って自然と身につくと思うんだけど、
入門書が猫クラスと犬クラス、その共通の親クラスとして動物クラスとか書くから変なのが量産されるのがね・・・。
オブジェクト指向に限らず、機能毎に分類するものなんだけど。
Haskellの型クラスはオブジェクト指向のクラスと違う概念だけど、機能で分けるのは共通で、犬猫クラスみたいな変な例がないからクラス設計の参考になるよ。
あと、C#やJavaがmain(またはMain)をクラスで包むのはオブジェクト指向言語として、よりオブジェクト指向プログラミングを取り入れた結果。
C++みたいにどんなにオブジェクト指向で作ってもmainだけはクラスに属さないのは再利用性に限界がある。
C#やJavaはmainを含む完成したプログラムもクラスとして再利用出来る。
(新しいプログラムのmainを起動させて、クラスとして利用するプログラムのmainは起動させないと言う使い方)
とは言え、main起動させないならC++とどう再利用性で違いが有るのよ?って言う、思想的な拘り先行で終わった感は否めない。
そう言えばC#6でCのHello Worldより長いのが許せないって短い書き方出来る様になってなかったっけ?

166:デフォルトの名無しさん
20/10/09 13:50:28.86 JQ1AMLdD.net
Haskellの型クラスに近いC#/Javaの概念はインターフェースだろ?

167:デフォルトの名無しさん
20/10/09 17:32:05.79 PYKreipF.net
そのインターフェースも分類はクラスとやり方は一緒でしょ?
でも、Haskellの型クラスはインターフェースとも違う。想像だけど、群論や圏論の同型とかの概念使って
メソッド(関数や演算子)の書き方もこの型クラスのインスタンスはこう言う書き方って決まってるのか、自動化出来る。
(こういうのはオブジェクト指向でみた事ない。Lispのマクロとかでは有るみたいだけど、オブジェクト指向じゃない)
また、インターフェースと違ってメソッドにデフォルトの定義があって、例えばEq型クラスは==か/=のどちらかを定義し直せば他の(Eqが提供する)メソッドは書かなくても動く。
(どうしても自力で書く場合でも、全部は書かなくて済む。こう言うのってオブジェクト指向だと抽象クラスとかだよね)
Haskellの型クラスはオブジェクト指向のクラスやインターフェースと違って、自作の型にderivingで既存の型クラスが備えるメソッドを自動で作ってくれる。
オブジェクト指向のtoStringに相当するshow関数をいちいち書かなくて良い。
data List a = Empty | Cons a (List a) deriving (Show)
main = (putStrLn.show) (Cons 1 (Cons 2 Empty))
out:
(Cons 1 (Cons 2 Empty))

168:デフォルトの名無しさん
20/10/09 17:32:15.18 PYKreipF.net
derivingしない場合はオブジェクト指向言語と同様、自分で書く。
例はShow型クラスと同じ機能のMyShow型クラスを自作して、Bool型に関数を書いてる。
(自作リストみたいな構造を自力で文字列にするとかだと大変だよね・・・)
class MyShow a where
myshow :: a -> String
instance MyShow Bool where
myshow True = "True"
myshow False = "False"
こういう難しい所は言語にお任せ出来るから、Haskellは周辺環境はともかく、言語としては初心者向け。

169:デフォルトの名無しさん
20/10/09 18:36:54.51 nVkpDtmr.net
>>161のレスでUnity+C#ならゲームが簡単に作れるってのが言及されているが他の言語は具体的に何ができるか書けないの?
「自分の紹介する言語は機能的に優れている」とかより「言語ですぐに何ができるか」の方が理由づけとしてはるかに大きいのに

170:デフォルトの名無しさん
20/10/09 21:36:47.64 dQAMC66H.net
初心者はWindowsだろ。WindowsはC++製だろ。Windowsでなんでも出来るから、C++最強!
Unityバカが言ってるのはこういうこと~

171:92
20/10/09 23:46:22.92 760t1BpC.net
>>109
に書いた
YouTube で有名な雑食系エンジニア・KENTA が、初心者はRuby から始めろって言ってる。
それで、全ての学校は、Ruby on Rails ばっかり
マコなりの所が80万円とか、
1週間のイナズマコースは、20万円とか
東京フリーランスのとだこうきが、デイトラで10万円とか、価格破壊を起こした

172:デフォルトの名無しさん
20/10/10 01:35:34.92 0SjnNOm9.net
HTML5でJavaScriptするならインストール不要。
ローカルストレージでデータベースや
canvasタグを使ってお絵描きから3Dゲームまで
書こうと思えばメモ帳でも始められます。

173:デフォルトの名無しさん
20/10/10 04:32:35.74 fCvSctiq.net
>>171
メモ帳で3Dゲームをすぐ作れる初心者なんていないと思うが

174:デフォルトの名無しさん
20/10/10 06:28:51.33 QAzpQJOY.net
>>170
あんたケンタケンタしつっこい

175:デフォルトの名無しさん
20/10/10 10:43:47.26 WDGTv5mn.net
>>172
別にスレタイも初代>>1主も初心者とは書かれてないからね

176:デフォルトの名無しさん
20/10/10 10:45:13.56 gvSXcuMi.net
JAROに訴えられるレベルの馬鹿登場

177:デフォルトの名無しさん
20/10/10 11:05:33.55 WDGTv5mn.net
(ソロバンやろうと思う)ぶっちゃけ始めるのにいい言語て何?
(ピアノ演奏させてみたい)ぶっちゃけ始めるのにいい言語て何?
(webアプリ作ろうとしたら)ぶっちゃけ始めるのにいい言語て何?
(お絵描きしたいんだけど)ぶっちゃけ始めるのにいい言語て何?
(3Dゲームで遊びたいんだが)ぶっちゃけ始めるのにいい言語て何?
なんだって当て嵌まるだろう?

178:デフォルトの名無しさん
20/10/10 11:51:08.74 fniCsZ69.net
>>176
言語よりライブラリだな。
もしくはプログラマーがデータ(構造)の規格書に金払えるか。(8-10万超)
または自力で解析するハッキング能力があるか。
プログラミング能力とは別種の能力。(人脈だったり検索能力だったりの、必要な情報に辿り着く能力)
ビットマップでの画像処理は入門書にもあるが、jpegやgifで画像処理する入門書はほぼ無い。
表示するだけなら出来るが。

179:デフォルトの名無しさん
20/10/11 07:36:55.20 33aIW5oH.net
承認欲求じゃねえよ
「意見が違う人同士と対話する能力」がこうも軟弱な人間ばかりで
ウンザリしてんだわ
日本オワッテル
俺もこの辺にしとく

180:デフォルトの名無しさん
20/10/11 07:47:53.89 2CDQ3L3B.net
俺はあえてC++をお勧めしたい。

181:デフォルトの名無しさん
20/10/11 09:36:08.24 ErUdhCxH.net
>>179
その理由を3行で

182:デフォルトの名無しさん
20/10/11 10:06:55.15 OjVmDvRi.net
吉野宅造じゃねえよ

183:デフォルトの名無しさん
20/10/11 10:21:52.48 ErUdhCxH.net
>>181
ですが、その芸人の

184:デフォルトの名無しさん
20/10/11 14:20:49.76 2CDQ3L3B.net
板で見かけるほとんどの言語はいずれ使われなくなる。
しかし、C/C++はそうではない。
ISOだから。

185:デフォルトの名無しさん
20/10/11 14:26:15.51 ErUdhCxH.net
ISOのサザエをアチチチッペンっ
パっナッポーアッポーぺっ・・ワイルドだろお

186:デフォルトの名無しさん
20/10/11 17:26:45.87 Lh1w62Nr.net
>>183
そうそうModula-2やBASICもISOだから使われなくなったりしてないもんねー

187:デフォルトの名無しさん
20/10/11 17:50:39.60 2CDQ3L3B.net
ですよねー。

188:デフォルトの名無しさん
20/10/11 18:16:16.33 ksbz56K1.net
残念ながらそういう嫌味は素で通じない連中しかここにはおらん。

189:デフォルトの名無しさん
20/10/11 18:47:12.67 ZNqV9+2D.net
>>183
C/C++が使われ続けるのは同意だけど、ISOだからじゃ無いよ^^;
言語とライブラリがはっきりと分離されてて、言語単体でメモリ弄れるから。
OS作る時とか、printfも使えなくなる。
でもRAMやVRAMに直で書き込めるから、ハード知ってれば問題無い。
他の言語と違って、ライブラリ無いと何も出来ませんって言語じゃ無いから廃れない。

190:デフォルトの名無しさん
20/10/11 19:14:05.96 kZXFoyze.net
メンテしていく意思もないならISO規格になんてするなよな、ruby。
実装と規格の乖離が大きすぎて役に立たない。

191:デフォルトの名無しさん
20/10/11 19:17:32.83 2CDQ3L3B.net
ヤルッゼブラッキン!

192:デフォルトの名無しさん
20/10/11 19:19:20.28 2CDQ3L3B.net
C/C++は既に50年近い歴史がある。

193:デフォルトの名無しさん
20/10/11 19:31:54.35 LNxOPIwP.net
JavaScriptはISOじゃなくてECMAだから全然使われてないよな!

194:デフォルトの名無しさん
20/10/12 06:23:24.04 O4GtI7oq.net
ですよねー。

195:デフォルトの名無しさん
20/10/12 10:36:50.06 n7CzEGW5.net
どの言語をやるべきかは何をやりたいかによるって言われても、
今の段階ではそれは決められないしなぁ

196:デフォルトの名無しさん
20/10/12 10:57:31.31 pl0L2hmu.net
だから、何すれば分からないならHaskellだって。
データ構造やアルゴリズムの勉強にこれ以上分かり易い言語は無い。
Haskell でクイックソート
qsort [] = []
qsort [x] = [x]
qsort (x:xs) = qsort [s | s <- xs, s < x] ++ [x] ++ qsort [b | b <- xs, x <= b]
例:
qsort [3,5,1,4,2]
= qsort [1,2] ++ [3] ++ qsort [5,4]
= qsort [1] ++ [2] ++ qsort [] ++ [3] ++ qsort [4] ++ [5] ++ qsort []
= [1] ++ [2] ++ [] ++ [3] ++ [4] ++ [5] ++ []
= [1,2,3,4,5]
アルゴリズムの動きが分かりさえすれば、その上で普通の言語は配列だから・・・と、
考えて行く方がいきなり普通の言語でアルゴリズム学ぶより挫折し難い。

197:デフォルトの名無しさん
20/10/12 11:17:05.90 hIlfwZlS.net
>>195
世の中の実用的なプログラミング言語のほとんどが手続き型、オブジェクト指向なことを考えたら、プログラマを目指す初心者がhaskellから入っても「変な癖」を身に付けるか、早々に挫折するだけだと思うぞ。
変な癖というのはhaskellが悪いものだといってるのではなく、現実で直面する手続き型でのプログラミングで大きなギャップに苦労するだろうということ。
現時点ではhaskellは、数学的論理的思考をする際の道具か、好事家のオモチャの側面が強いと思うぞ。
世の中に初心者向けの情報や身近な教えてくれる人がほとんどないhaskellが、初心者に適切だということは現時点ではあり得ないと思う。
ただ、数学好きの人の論理的思考のオモチャとしては向いていると思う。実用的な目的でプログラミングを習得したいという一般人に向けて勧めるようなものではない。

198:デフォルトの名無しさん
20/10/12 11:31:04.53 uVyXHzWE.net
Pythonが首位維持--IEEE Spectrumプログラミング言語ランキング
2019-09-13
URLリンク(japan.zdnet.com)
IEEE Spectrumが発表した最新のプログラミング言語人気ランキング2019年版では、Pythonが引き続き首位となり、その座を盤石のものにした。
 こうしたランキングは、ほかのプログラマーがどんな言語を使っているのかを知ることが難しい中、開発者が各言語の人気について理解するのを手助けすることを目的としたものだ。

 米国時間9月10日に発表されたIEEE Spectrumの年次ランキングでは、Pythonの100のスコアに対して、2位のJavaのスコアは96.3で、その差は広がっていた。3位のCは94.4だった。C++は87.5のスコアで4位にランクダウンし、5位にスコア81.5で統計処理用の言語である「R」が入った。

199:デフォルトの名無しさん
20/10/12 11:33:23.68 tosLr/AM.net
>>194
何をやりたいか決められないなら
なぜプログラミングを学びたいのか?という問いに答えられればいいよ

200:デフォルトの名無しさん
20/10/12 11:41:17.54 O4GtI7oq.net
中国雑技団に対抗できる日本の団体って、じつはチアリーディングなんですよね。
アメリカの競技のような印象もあるのですが、日本の女子高生が熱を入れすぎ捻じ曲げた結果、もはや往年の面影は有りません。
近年では、成人競技に自衛隊が関わることもあり、格闘技の様相を呈しています。
スタンツと呼ばれる人間ロケットでは10Mを超えて上空にぶっ飛ばすこともあるそうです。
この競技にもはや芸術性は無く、技と力の応酬です。

201:デフォルトの名無しさん
20/10/12 11:45:08.31 O4GtI7oq.net
そういうわけなんで、私はあえてC++をお勧めしたいですね。

202:デフォルトの名無しさん
20/10/12 11:56:23.98 SVfLJ4vB.net
て、C++やるくらいならJavaでいいってなる
C++はWindowsのフレーム操作が難しすぎる

203:デフォルトの名無しさん
20/10/12 12:43:16.11 1F5XaUKJ.net
へえ、Javaなら簡単なんだ?w

204:デフォルトの名無しさん
20/10/12 12:46:50.03 //fF4BXk.net
はい

205:デフォルトの名無しさん
20/10/12 12:59:33.88 O4GtI7oq.net
女子高生が空に打ち上げられる様は、まさに忍者と言えます。

206:デフォルトの名無しさん
20/10/12 13:21:47.19 O4GtI7oq.net
C++は面白いので、飽きっぽい僕でも、50年続いています。

207:デフォルトの名無しさん
20/10/12 15:28:39.82 TNFvs/DR.net
>>196
アルゴリズムなんて論理的思考そのものだが・・・。
むしろアルゴリズムと普通の言語のギャップを埋める緩衝材になるんだが・・・。
関数型言語にかぶれるのは危険だが、言語各々の文化を尊重する様にすれば変な癖は付かないよ。
むしろ正しい手続き型言語のプログラムは数式に置き換えられるのを実感出来る。
(チューリング等価だから当たり前と言えば当たり前なんだが、動かせる数学と言って良いHaskellに変換出来るなら、数式にも変換出来る)
変換出来ないという事はバグがある。

208:デフォルトの名無しさん
20/10/12 15:46:09.19 TMv0i+WM.net
最強言語ランキング
Python>C♯>JavaScript>C/C++>>>TypeScript
こんな感じだろ
他の言語はゴミ

209:デフォルトの名無しさん
20/10/12 16:57:20.77 pUCCHDXR.net
マシン語しか使えないCPUさんにあやまれ

210:デフォルトの名無しさん
20/10/12 17:22:19.20 n7CzEGW5.net
マシン語は他言語と比較にならないくらい偉大なので、
敢えて書かなかったのだろう

211:デフォルトの名無しさん
20/10/12 17:23:55.77 +qsYcvra.net
webassembly が普及してくればJava の存在価値は無くなるだろうな。
>>208 高級マシン語 WebAssembly
多分どんなコンパイラからもWebassemblyのバイナリを吐き出せるようになる。
実行すればJavascriptやJavaよりも早くなる。
ブラウザさえあれば、クライアントのマシン環境に依存しないで全てブラウザが吸収する。
PythonインタプリタですらWebAssembly で動いてる。 クライアント環境に何もインストールすることはない。
Intel , Arm ... どんなCPUでも動く。

212:デフォルトの名無しさん
20/10/12 21:37:45.77 1F5XaUKJ.net
でも理論上最も速くてもマシン語の2割減

213:デフォルトの名無しさん
20/10/13 00:14:52.56 dkjyoPm/.net
>>211 そんなのは全く問題にならない。

214:デフォルトの名無しさん
20/10/13 01:55:07.92 y5Oy6HcC.net
レールは続く】 Ruby on Rails Part21 【これからも
スレリンク(php板:118番)
米国の平均年収では、
Ruby on Rails が、125,000 ドルでトップ!
Node.js が、90,000ドルで最下位
ただし、Railsの求人は、Node.jsの半分しかない。
Railsは、GitHub, Airbnb, Shopify など、巨大企業が多いから、年収が高いのかも
>>194
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則
URLリンク(www.youtube.com)
Pythonから始めても、初心者は仕事が取れないから無意味

215:デフォルトの名無しさん
20/10/13 21:26:33.27 f6jDEgc3.net
私はあえてC++をお勧めしたいですね。

216:デフォルトの名無しさん
20/10/14 09:55:50.59 Azmo5ss/.net
だが断りますね。

217:デフォルトの名無しさん
20/10/14 17:17:42.29 M1NONSBM.net
PythonがJavaに迫る--TIOBE最新プログラミング言語ランキング
2020-10-13
URLリンク(japan.zdnet.com)
 TIOBEの最新のプログラミング言語人気ランキングによれば、Javaの人気は10月も引き続き低下し、世界で2番目に人気があるプログラミング言語の座をPythonに奪われそうになっている。
 もしPythonがJavaを抜けば、2001年にTIOBEがプログラミング言語人気インデックスの発表をから始めてから、初めてJavaが3位以下に落ちることになる。
 TIOBEの最高経営責任者(CEO)Paul Jansen氏が述べているように、このランキングの1位と2位は、20年に渡って常にC言語とJavaが占めてきた。しかし、生まれてから25年になるJavaの人気は「過去最低」に近づいており、2019年10月に比べ評価が4.32パーセントポイント下落している。
 Jansen氏は9月にも、Javaの人気は前年比で3.81%下落しており、「大きな問題」にぶつかっていると述べている。Pythonが生まれたのは1991年だが、最近では、データサイエンティストによる利用が増えたことや、機械学習の普及によって人気が上昇している。
 TIOBEの人気インデックスは、複数の種類の検索エンジンで、各言語に関して検索したときのヒット数を元に算出されている。
プログラミング言語の人気ランキングは、IEEE Spectrum、RedMonk、GitHub、Stack Overflowなどからも発表されており、TIOBEのランキングはその中の1つだ。インデックスの算出方法はそれぞれ異なっているため、ランキングの結果も必ずしも一致しているわけではない。

218:デフォルトの名無しさん
20/10/14 17:21:36.57 gKnQE9Ir.net
PythonってAIなんかの豊富なライブラリが強みなんだよな
でも実行速度は超遅いし記述スタイルは癖が強すぎるし、あまりこういうのに普及してもらいたくない
もうJavaやC#にAIライブラリを補強して再浮上してもらいたい

219:デフォルトの名無しさん
20/10/14 18:12:02.36 Azmo5ss/.net
Why Python is not the programming language of the future
Pythonが将来のプログラミング言語ではない理由
URLリンク(towardsdatascience.com)
Python is Slowly Losing its Charm
Pythonはゆっくりとその魅力を失っています
URLリンク(towardsdatascience.com)
What are the main weaknesses of Python as a programming language?
プログラミング言語としてのPythonの主な弱点は何ですか?
URLリンク(www.quora.com)

220:デフォルトの名無しさん
20/10/14 18:27:02.26 Azmo5ss/.net
・Pythonには永続的なスコープの混乱があります。
私の知る限り、これはvan Rossumが最初は字句スコープを理解していなかったため、間違っていたためです。(これはPythonに固有の問題ではありません。初期バージョンのスクリプト言語ではかなり一般的なようです。)
元々、Pythonは動的にスコープされていましたが、RMS以外の誰もが間違っていることに同意します。
その後、動的スコープを廃止しましたが、内部スコープが外部スコープからの変数を認識できないようにしました。
これは、おそらくブロック構造化言語では奇妙なことです。
これで、内部スコープは外部スコープを見ることができますが、それらを変更することはできません。
これは、おそらくオブジェクト指向言語では奇妙なことです。
これは機能であると主張する人もいるかもしれませんが、それは実装の偶然です。
彼がそれを修正するとき、彼は何か他のものを壊すだろうと私は確信しています。
・David Parnasは、30年以上前に情報隠蔽を発明しましたが、それは「非Pythonic」であるため、PythonはおそらくFORTRAN2以降のプログラミングにおける最大の進歩を欠いています。
・eval アルファ等価性を破ります—つまり、変数の名前を任意に変更することはできません。
これは、一部の変数の出現が文字列に隠れて、Pythonのバインディング構造が決定不能になる可能性があるためです。
・Pythonは型指定されていません。
つまり、事前に簡単に検出できる大量のエラーは、発生するまでPythonでは検出されません。
一部の人々はそのやり方を好み—そして多くの労力を注ぎますが—
しかし、それが特定のアプリケーションにとって誤った機能であるかどうかを常に検討する価値があります。

221:デフォルトの名無しさん
20/10/14 18:28:10.15 Azmo5ss/.net
・構文上の空白は便利ですが、コード生成が必要以上に難しくなります。
これは解決するのが難しい問題ではありません。
Haskellでは、構文上の空白、または中括弧とセミコロンを含む同等の構文を使用できます。
1つは人に、もう1つはメタプログラミングに適していますが、両方をサポートしない理由はありません。
人々がこれを要求したとき、Pythonの実装者がそれについて本当に気が狂っていたのは助けにはなりません。
(from __future__ import braces を試してみてください)
・lambdaの本体をステートメントではなく式に制限することは恣意的で面倒です。
変数の宣言と割り当てが式ではなくステートメントであるということは、恣意的で煩わしいことです。
ステートメント/式の区別は恣意的で煩わしいものです。
・「[ハッシュテーブル]は完全なデータ構造です。」
Pythonは、他のテーブルベースの言語と同様に、積和(代数的)データ型がより適切である多くのことに「マッピング」を使用することを勧めています。
これは非効率的ですが、さらに重要なことに、エラーが発生しやすくなります。
冒頭のPerlisの引用を続けると、「プログラマーは、彼らの創意工夫と論理によってではなく、彼らの事例分析の完全性によって評価されるべきです。」
Pythonが適切なデータ構造をサポートしていないため、ケース分析を隠すプログラム構造が促進されます。
訂正:Andrew Cookeは、名前付きタプル(URLリンク(docs.python.org))がこの問題の一部に対処していると指摘しています。
そうは言っても、私はまだPHPよりもPythonを使用したいと思っています。
しかし、それは私がマクドナルドよりもジャック・イン・ザ・ボックスを食べたいと言っているようなものです。
少し味が良いかもしれませんが、それでもかなり悪いです。

222:デフォルトの名無しさん
20/10/14 19:39:43.65 Kq/IrLgL.net
文句があるなら対案を出せ

223:2
20/10/14 20:19:57.13 ZsHoRBAW.net
>>221
lambda問題に関しては、対案出したけど潰されちゃったんだよね
 >>220
 >>・lambdaの本体をステートメントではなく式に制限することは恣意的で面倒です。
 >>変数の宣言と割り当てが式ではなくステートメントであるということは、恣意的で煩わしいことです。
 >>ステートメント/式の区別は恣意的で煩わしいものです。
「クロージャって何がいいの?」スレから引用するよ
  スレリンク(tech板:197番)
 >そして、この問題を解決すべく数多くの提案が出された
 >それら提案の中には、Ruby のブロックを真似しよう(similar to Ruby's blocks)、というものまであった
 >しかし残念ながら、これ以上続けても収束しそうもないから議論は打ち切り、とGuido氏が宣言(強権発動?)して終わった
 >この顛末をGuido氏は「複数行のラムダは解けないパズル(unsolvable puzzle)」と語っている
なぁに、これら問題(>>218-220)はすべて次世代の Python4 で解決されるから、心配する必要はない
え、後方互換性?、他の言語ならいざ知らず、こと Python に限れば Python3 で「後方互換性の断絶」を経験してる
優秀なPythonコミュニティであれば乗り越えられるよ、全然問題ナッシンんぐ!!

224:デフォルトの名無しさん
20/10/14 21:12:21.27 GhmnvzQV.net
Pythonはレガシーでも役に立つからそれでいいんだよ
モダンな言語だと勘違いしさえしなければいい
シェルスクリプトやVBA、Vim Scriptみたいなもの

225:デフォルトの名無しさん
20/10/15 16:55:37.72 GrgZeWqY.net
>>217 Python はプロトタイピング用の言語だと割り切るんだよ。
プログラムが決まってスピードが必要になったら、必要な部分だけCで書き直したりすれば良い。 Jit も使えるし。
しかし、研究用では日常的に実験の連続だから簡単に書き換えてテストできる言語が最適。 だからこそPythonが普及した。
事務の現場でも同じだろ、しょっちゅう法律は変わるし会社内の制度も変わる。 その都度書き換えるのは簡単に越したことはない。
アメリカでは採用条件にPythonができることという会社が増えてきてるらしい。

226:デフォルトの名無しさん
20/10/15 16:58:09.25 GrgZeWqY.net
>>224 Python を社内言語としているモノタロウは、Pythonは開発スピードにメリットを感じ、スピードの遅さはクラウドでスピードの速いコンピュータを使う事で完全に解決できてるという。

227:デフォルトの名無しさん
20/10/15 21:33:36.14 3OaZ1WR8.net
クラウドでスピードの速いコンピュータを使うってところを詳しく

228:デフォルトの名無しさん
20/10/15 22:05:42.39 BUh584nA.net
>>226 AWSとかを使ってるんだろ。 自社でサーバを使ってた時より早くなってる。

229:デフォルトの名無しさん
20/10/17 00:17:13.39 GQAAphU3.net
これだけAWSが普及すると、アマゾンに何かあった時怖いな…

230:デフォルトの名無しさん
20/10/17 13:40:19.87 3xHHIx95.net
google crowd があるから大丈夫

231:デフォルトの名無しさん
20/10/21 00:47:05.85 HNuD6Xbn.net
goが簡単と聞いて興味持ってるけどどうですか?

232:デフォルトの名無しさん
20/10/21 02:44:56.87 hY9Rr4rE.net
ぶっちゃけ始めてみれば良いんじゃない?

233:デフォルトの名無しさん
20/10/21 23:57:08.07 usXKhC5x.net
Haskell学習ちゅう

234:デフォルトの名無しさん
20/10/22 00:00:44.57 W/4oBNs2.net
Googleの雲行きも怪しい…

235:デフォルトの名無しさん
20/10/22 12:07:48.30 qWDRv+Dz.net
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
もし、Goが簡単だったら、最初から勧めるはずw
どう考えても無理だから、Rubyから始める

236:デフォルトの名無しさん
20/10/22 17:38:40.64 W/4oBNs2.net
後の動画でKENTAは、Ruby・PHP・Javaはオワコンって言ってんだが

237:デフォルトの名無しさん
20/10/22 19:09:39.16 6pdR4Nyi.net
なんだ…rubyやめとこ。

238:デフォルトの名無しさん
20/10/23 15:21:38.08 poCeqR++.net
みんな、ハスケル楽しいで

239:デフォルトの名無しさん
20/10/24 09:30:13.01 Gp+9LQQ1.net
ミナ、ハスケル!!
ちゃっちゃっちゃっちゃ
ちゃちゃっちゃちゃっちゃ
ちゃっちゃっちゃっちゃ
ちゃちゃっちゃちゃっちゃ♪

240:デフォルトの名無しさん
20/10/26 01:22:26.83 Rmdb4AEi.net
goなんて流行らんよ
速いだけとか時代を逆行しすぎやし
文法も気持ちが悪すぎる
何なの?swiftとかもそうだけどこういう普通じゃない書き方って頭おかしいのかと思うわw

241:デフォルトの名無しさん
20/10/26 03:03:23.03 bG6YLe0z.net
いや、もうGoは人気言語だよ
気持ちが悪いとかただのあんたの主観じゃん

242:デフォルトの名無しさん
20/10/26 07:03:48.90 Wjp/2N5z.net
goなんて流行らんよ(客先常駐メモリ4GBPC使用のEclipse・Java底辺PG)

243:デフォルトの名無しさん
20/10/26 11:07:07.08 Rmdb4AEi.net
うわキチガイが発狂しているw
どこが流行っているのか教えて欲しいわw
需要がそもそも無いやろ
新しい技術ガーwwwとか言っているバカが使ってはみるが生産性が低すぎて
遅れに遅れまくりとかだろwwwwwwwwwww
低能が使うなよ

244:デフォルトの名無しさん
20/10/26 15:54:47.00 E8SZugoB.net
>>242
こういう新しいものを受け入れられないおじいちゃんがコボラーとかになるんだろうね
早く転職した方がいいよ……

245:デフォルトの名無しさん
20/10/26 18:49:26.79 bG6YLe0z.net
>>242
多勢に無勢みたいになってしまっているのは気の毒だと思うが、
落ち着いて現実を見て頂きたい

246:デフォルトの名無しさん
20/10/26 18:55:16.32 Bo+WhSTi.net
やめとけよw
そいつAIだからw

247:デフォルトの名無しさん
20/10/26 20:00:42.08 to1NN3C9.net
そう!Pythonです!

248:デフォルトの名無しさん
20/10/26 20:52:22.60 AwNi7wz2.net
むしろAI以外がなんでプログラミング板に居るんだよ
PythonのAIに全部任せてるわ

249:デフォルトの名無しさん
20/10/26 22:07:18.55 w9JnI5qM.net
毎朝出勤するAIを見送ってる

250:デフォルトの名無しさん
20/10/27 06:39:08.89 tSwE0DtJ.net
Goはいいぞぉ

251:デフォルトの名無しさん
20/10/28 00:17:37.23 cQPtMaM9.net
でも最初にやるならスクリプト言語だろうね

252:デフォルトの名無しさん
20/10/30 02:23:30.38 OSztkl4Z.net
Pythonの盛り上がりも終わってきた

253:デフォルトの名無しさん
20/10/30 02:47:24.05 WBY6Qon8.net
中学校の教科書に採用されたという「なでしこ」がこれから意外とバズるかも

254:デフォルトの名無しさん
20/10/30 03:53:23.27 7eCvNCqV.net
AIに抜いて貰ってから出かけてるわ

255:デフォルトの名無しさん
20/10/30 23:45:56.57 w6XErPqv.net
C++に再入門するより rustかとおもったけど、あまり rustのスレッドは盛り上がってないな…

256:デフォルトの名無しさん
20/10/31 11:15:07.34 QWvoLvR2.net
言語始めるってほんの入り口の部分なんだから、そこで迷っているくらいなら入っても先に進むのは無理だろうな

257:デフォルトの名無しさん
20/10/31 11:43:57.22 lTK9w6tH.net
>>254
Visual Studioがデフォルトで対応すれば盛り上がるだろうな

258:デフォルトの名無しさん
20/10/31 12:09:01.20 V8SCurq9.net
本当の入り口は、どの分野でどういった言語が必要になるのかを勉強するところから
例えばサーバーサイドをやりたいのにCなどを勉強するのはナンセンス

259:デフォルトの名無しさん
20/11/04 22:59:24.91 +IF2zDwB.net
システムやアプリを作るメインの言語はC#か、Java
個人で使う便利ツールを使うのはpython
こんな使い方してるよ
最初は、難易度高めの言語やオブジェクト指向学ぶのがなんだかんだ近道

260:デフォルトの名無しさん
20/11/04 23:21:58.42 8aX5ek4k.net
なるほどlazyKが近道か。

261:デフォルトの名無しさん
20/11/05 03:52:17.37 fJ5xger9.net
チューリング完全だからどんなものでも作れるって言われたんですけど無理でしょ

262:デフォルトの名無しさん
20/11/05 18:12:28.96 L6tWwAve.net
C++はいいぞ!

263:デフォルトの名無しさん
20/11/05 18:13:38.98 L6tWwAve.net
C++に足りないのはIOデバイスに対するバイパスだけなので、ほかはほぼプリミティブから生成できる。

264:デフォルトの名無しさん
20/11/05 23:56:43.20 jdQRmLLh.net
なぜわざわざ難しい言語を推すのか
それほど目新しい機能もないのに

265:デフォルトの名無しさん
20/11/07 10:41:15.90 QFyQ0NDY.net
やりたいと思ったら自分が手を出せるやつをやってみればいいだけ
アプリとかゲーム作ろうとしたら言語覚えてもその先にまだハードルがある

266:デフォルトの名無しさん
20/11/07 17:52:51.32 UHKdQD/X.net
人気無くなってるって聞くけどrubyのプログラミング始めた
楽しいよ

267:デフォルトの名無しさん
20/11/07 17:57:09.15 ew01xANG.net
趣味でやるのなら自分が楽しむのが第一

268:デフォルトの名無しさん
20/11/07 21:24:52.98 9rEAH6th.net
>>263
ムーブセマンティクス。

269:デフォルトの名無しさん
20/11/08 00:14:07.16 r3laU95t.net
バックエンドは、Ruby。
シェルスクリプトの代わりになる
AWS のLambda にも採用されているし、
Chef, Cookpad 製のItamae も使える
ゲーム製作でも、Rubyでシナリオを書いたりする

270:デフォルトの名無しさん
20/11/08 01:38:02.64 KXPbI8TX.net
>>267
そこまで理解しててRust推さない理由が分からない

271:デフォルトの名無しさん
20/11/08 11:01:45.73 n8YJpHx2.net
>>239
確かにw
SwiftとかOptional型よりもPromise用意しろよw
RxSwiftとかOSSなのかよw
nullなんてあってもいいんだよw
dart2が1番楽しいw

272:デフォルトの名無しさん
20/11/08 11:13:15.57 xn95aBo5.net
>>270
SwiftはPromiseあるしRxSwiftの代替フレームワークも標準で用意されてるやろ

273:デフォルトの名無しさん
20/11/08 15:02:58.39 n8YJpHx2.net
>>271
まだ言語仕様じゃ無いじゃん

274:デフォルトの名無しさん
20/11/08 15:09:38.61 mAh++jxZ.net
Swiftはクソ、考え方が古いし分かりにくい記述になりがち
nullないと困るケースが多くて「?」だらけになる

275:デフォルトの名無しさん
20/11/08 16:30:15.83 xn95aBo5.net
>>273
>「?」だらけになる
Optionalに考え方がついていけてない人の典型例

276:デフォルトの名無しさん
20/11/08 18:02:05.61 MC0Jt4nD.net
>>274
Null許容型をわざわざ用意する必要あると思う?
頭おかしいだろw

277:デフォルトの名無しさん
20/11/08 18:16:18.50 lugChyar.net
>>269
Rustは殲20、C++はF-22。

278:デフォルトの名無しさん
20/11/09 05:12:01.61 ivCx2Hps.net
swiftはOSSだらけで言語の仕様変更多くてもう疲れた

279:デフォルトの名無しさん
20/11/09 14:27:29.05 3exgUADc.net
RustはD言語のように普及するだろうか。

280:デフォルトの名無しさん
20/11/09 15:37:10.10 ClFw8h6U.net
Swift UIとかバグだらけで2度とやりたくない

281:デフォルトの名無しさん
20/11/09 22:12:35.87 3exgUADc.net
三度目の正直という言葉をプレゼントしときます。

282:デフォルトの名無しさん
20/11/09 22:22:58.53 3exgUADc.net
ビリージョエル、三度目のホネスティ。

283:デフォルトの名無しさん
20/11/09 23:47:18.76 cR9hcJCL.net
二度あることは三度ある

284:デフォルトの名無しさん
20/11/10 12:12:25.68 jpU0/PxD.net
Swiftはもうダメだろ、ビルドとかクソ重いし
Appleしか採用しないし

285:デフォルトの名無しさん
20/11/10 17:23:19.33 ZorwnpWt.net
今更Swift UI化とか・・もうflutterにしろよ!アホPM

286:デフォルトの名無しさん
20/11/11 21:03:12.76 rMflKaQ6.net
Swiftはやめろ

287:デフォルトの名無しさん
20/11/15 16:51:59.65 /INzUgs1.net
Swiftはじめました

288:デフォルトの名無しさん
20/11/15 18:20:02.81 /EZ3Lcu9.net
Swiftなんてまだあるんだ・・・

289:デフォルトの名無しさん
20/11/16 05:17:22.26 2rSk5phx.net
用途や環境によるんだけど
近年ますます細分化してる悪寒
コレさえ覚えりゃ無敵みたいな言語はない

290:デフォルトの名無しさん
20/11/16 20:05:27.04 kmoq+Q7j.net
web系ならjavascriptで割とどうにかなる気がする
windowsアプリかunityならc#か
javaでwindowsやmacのアプリも書けはするけどそういう風に使うよりは
やっぱサーバーサイドなのかな
どういうことをやりたいかで絞れはするけど、結局一つだけしか出来ませんはしんどいね

291:デフォルトの名無しさん
20/11/18 00:19:20.69 C897M/vz.net
>>288
一周回ってCなんじゃね?

292:デフォルトの名無しさん
20/11/18 03:43:05.40 uoM+CD8t.net
>>290
Cは始めるには悪くないが、無敵なわけじゃない
オブジェクト指向は身につかないし

293:デフォルトの名無しさん
20/11/18 10:24:30.90 hkPPdx4I.net
クラスベースはクソだからGoかRustがよい
JSはバカどもの圧力に負けて時代遅れのクラスを導入してしまった
TSは最初からクソ
クラスというクソがないだけCのほうがマシ

294:デフォルトの名無しさん
20/11/18 17:10:37.79 C/16++xI.net
ほんとだな

295:デフォルトの名無しさん
20/11/18 17:41:44.43 5n35LKhH.net
このスレッドの派生スレッドで、
「ぶっちゃけ始めるのにいいフレームワークって何?」
ってのを立てたいんですがいいですか?

296:デフォルトの名無しさん
20/11/18 17:52:15.01 F2ZZ3+lT.net
いいお

297:デフォルトの名無しさん
20/11/18 19:07:34.35 J3Ab2P1w.net
JSは何でも対応する言語になってきたから
開発規模の拡大に備えて
大人数開発しやすいクラスを導入したんだろ?
時代遅れとか言う奴はちっちゃいプログラムしか組んだことなんだろうな

298:デフォルトの名無しさん
20/11/18 21:31:50.86 v8HWKopj.net
TypeScriptならclassなんて使う必要なかろ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch