ぶっちゃけ始めるのにいいプログラミング言語て何?その1


1: 名無しの民 2020/03/03(火) 17:17:13.89 ID:VgWTKanI
ぶっちゃけていいよ

84: 名無しの民 2020/03/09(月) 16:47:44.44 ID:GfY425vw
ruby
javascript
html/css
java
scala

これで行け。でも>>1がもし今まで何の勉強もしてこなかったなら何のプログラムも書けないだろう。

2: 名無しの民 2020/03/03(火) 18:10:15.76 ID:pHfO2tml
Human Resource Machine

3: 名無しの民 2020/03/03(火) 18:22:01.49 ID:AwS+mqC1
マジレスすっと英語

4: 名無しの民 2020/03/03(火) 18:31:36.42 ID:kRcUpvP7
英語より日本語の方が大事よ。

6: 名無しの民 2020/03/03(火) 20:15:38.21 ID:x7gOP/hQ
Rust

7: 名無しの民 2020/03/04(水) 00:34:16.02 ID:dApziw6x
人気からいけばPythonだろ
否定する人必ずいるけど

8: 名無しの民 2020/03/04(水) 03:32:00.67 ID:qXkDVegL
JSが汎用性と実用性を兼ねてる
非同期が最初は難だろうけど

9: 名無しの民 2020/03/04(水) 09:57:37.59 ID:nNNW6i++
ぶっちゃけ、Ruby

Windows 10 に、WSL のUbuntu 18.04 をインストールする。
そのUbuntu に、Ruby 2.5 をインストールする

Windows側に、VSCode をインストールして、拡張機能のRemote WSL を入れる

C:\Users\Owner\Documents\test\index.html ファイルを作る

C:\Users\Owner\Documents\test フォルダで、bash ターミナルを起動して、
「ruby -run -e httpd . -p 8080」と入力すると、
Ubuntu側で、Ruby製の遅いサーバー、Webrick が起動する

Windows側のブラウザで、http://localhost:8080/
にアクセスすると、index.html の内容が表示される!

これで、Linux側のサーバーから、Window側のファイルを配信できて、
それを、Window側のブラウザで見れた!

10: 名無しの民 2020/03/04(水) 11:36:56.13 ID:8C7aLz+2
難しい質問だよな

初心者にわかりやすい言語
今後寿命が長そうな言語
平均年収が高い言語
わかりやすいけど書くのが大変な言語
大規模開発に向く言語
逆に短いプログラムに向く言語

どれを選ぶかで言語が変わってくる

11: 名無しの民 2020/03/04(水) 16:18:15.30 ID:PfUt3oJG
>>10
初心者にわかりやすい言語→HSP
今後寿命が長そうな言語→COBOL
平均年収が高い言語→COBOL
わかりやすいけど書くのが大変な言語→G-BASIC
大規模開発に向く言語→Ada
逆に短いプログラムに向く言語→Perl

こんなとこか、夢ひろがりんぐだなす

13: 名無しの民 2020/03/04(水) 20:12:15.06 ID:fq3DQX8J
Pythonが一番
できる事÷学習コスト
が大きい

14: 名無しの民 2020/03/04(水) 20:19:16.16 ID:ARBv06Gv
Cだろ。Pythonは書きにくくて、読みにくくて、遅いから、やめた方が良い。

15: 名無しの民 2020/03/05(木) 00:12:47.15 ID:qo+QJjRS
正直、静的型付け言語の中でどれでもいい気がする
下手にPHPとかだと型意識しないで作ってしまいそう

16: 名無しの民 2020/03/05(木) 00:46:59.81 ID:mTIajf8O
pythonはreadabilityが高いので有名なんだが

33: 名無しの民 2020/03/05(木) 21:33:52.46 ID:TgFGK28T
>>16
PythonはPerlの代替として広まったから、Perlよりは読みやすいと言われているだけ。
他の言語と比べたら癖が強く読みにくい。

最大の欠点は制御ブロックの終わりを}やendで明示しないこと。蚯蚓が這ったような字で
殴り書きしたメモを見せて、これで分かるだろと言ってるようなもので、ちゃんと清書しろと
突っ返したい。

forループも三項演算子も構文が崩れすぎ。初心者には薦められない。

# 1から10までの整数が偶数か奇数かを表示する
for i in range(1, 11): print(i, “even” if i % 2 == 0 else “odd”)

爆笑物なのはこれw↓

if __name__ == “__main__”:

36: 名無しの民 2020/03/05(木) 22:01:41.76 ID:h922Dn8C
>>33
>for i in range(1, 11): print(i, “even” if i % 2 == 0 else “odd”)

こういう行数が少ない程良いみたいな風潮本当にクソ
行数が多少増えても読みやすい方が良いプログラムだ

38: 名無しの民 2020/03/05(木) 23:01:54.00 ID:PBcHTAfh
>>33
このデザインパターンは一般的で、Ruby でも使う!

if __FILE__ == $0
# メイン処理
end

$0 は、Ruby起動時の引数に指定した、スクリプトファイル名。
「ruby script.rb」のscript.rb

一方、__FILE__ は、現在評価中のスクリプトファイル名

require ‘script.rb’
で呼ばれた場合には、if 内のメイン処理は実行されない

つまり、このデザインパターンにより、メイン処理とrequireの、両方に対応できる!

39: 名無しの民 2020/03/05(木) 23:09:22.02 ID:2xdYOK8E
>>33
ブロックの終わりを読み違ったことはないなあ
三項演算子も普通の英文に近いからあんまり違和感ない
しかし__main__については同意する、これは聳え立つクソ

19: 名無しの民 2020/03/05(木) 01:47:48.13 ID:T1b6bsxJ
割と真面目に日本語
テキストエディタでコード書きながら考える癖をつけず
しっかりと紙の上で日本語つかって設計する癖をつけてほしい

20: 名無しの民 2020/03/05(木) 02:05:06.73 ID:Rgv7/iI/
市販のレトルトカレーとかカップ麺で間に合わせるのがPython
自分で料理をするのがC

21: 名無しの民 2020/03/05(木) 02:11:27.38 ID:TYdcXopQ
ウォーターフロー開発にはJavaが適してる。
一方、新しいものを試行錯誤して作っていくには向いてないと思う。
厳格なインターフェースは、完全に未来を見通し設計することが求められるから。

22: 名無しの民 2020/03/05(木) 04:16:15.50 ID:kNuHUHXQ
やっぱり否定されたか
始めるのにいい言語って言われてんだから、
人気があって書籍も充実してて簡単に開発環境が整い
習得も難しくなく高性能と良いとこだらけなのに何が不満なんだろう

「スマホ何にしたらいいかな?」って聞かれたら普通は
「iPhoneじゃない?」って答えると思うんだけどなぁ

23: 名無しの民 2020/03/05(木) 07:16:13.35 ID:mYrTz1pZ
みんなが使い始めると、自分たちが使ってる言語が廃れる
自分たちが苦労して憶えたスキルが陳腐化する
言語オタ的にPythonはつまらない(特徴がないし、美しくない)、今更勉強する気がしない
本格言語を学ぶモチベーションが減ることへの老婆心(それPythonでええやん、ってなる)
逆に、それPythonである必然性ないじゃん(Cである必然性はある)
上の理由でPythonを習得してない人は、知らない言語をオススメは出来ない
自分が通ってきた道が間違ってるとは思ってない場合、そちらをオススメすることになる

こんなところだろう。あとは

色んな意見があって良いのに、Python以外認めない、みたいな人間はなにが不満なんだろう

25: 名無しの民 2020/03/05(木) 08:40:00.21 ID:TYdcXopQ
JavascriptとVBAは製造者都合によるパラダイムが奇妙で使いにくい。
けれども、すぐに始められるという点でお勧めできるのではないかと。
結果が目に見えるのもいい。
奇妙で使いにくいということだけ忘れなければ。

26: 名無しの民 2020/03/05(木) 08:41:11.64 ID:TYdcXopQ
プログラミングは製造なのか研究なのかという視点も必要かも。

27: 名無しの民 2020/03/05(木) 12:43:30.67 ID:G+qx5WII
この記事によるとpython

https://cruel.org/freeware/hacker.html

28: 名無しの民 2020/03/05(木) 13:41:57.64 ID:uDxrXe49
>>27
改定されてるね
PythonとGoが推奨されてる

58: 名無しの民 2020/03/07(土) 08:41:52.78 ID:k2Lw2A6e
>>28
本当だ
10年ぶりぐらいに見たが未だに更新されてるんだな

29: 名無しの民 2020/03/05(木) 15:25:49.56 ID:F9kysqZo
SmileBasic

30: 名無しの民 2020/03/05(木) 16:24:41.26 ID:/tXOBOI5
技術の進化に人間が合わせる。

31: 名無しの民 2020/03/05(木) 18:37:15.04 ID:EKVO1xu/
個人的にはC++のいいとこだけ使ってれば行けるけど、
ガリガリ量産したい人はスクリプト言語使えばいい。

34: 名無しの民 2020/03/05(木) 21:58:11.06 ID:wTyki8t2
perl,ruby,python比べたらpythonが一番読みやすいだろ。
てかpythonが読めないとか馬鹿としかいいようがねーわ。
いい加減なこと言ってんなよ。

35: 名無しの民 2020/03/05(木) 22:00:10.48 ID:h922Dn8C
スレタイの答えは
PythonかJavaScriptだろうと思うけど
個人的にはRubyの方が好き

37: 名無しの民 2020/03/05(木) 22:13:28.95 ID:xjUGoqkA
Pythonでモダンに宣言的に書こうとすると途端にクソになるのはしょうがない
作者がそういうのにシンパシー感じてないから

40: 名無しの民 2020/03/05(木) 23:19:11.64 ID:02v2nTqD
プログラミング初心者が初めて言語を学ぶときに最も重要なポイントは

1. プログラミングとはどういうものなのかという形式知を短期間で掴むことと
2. 実際に自分にとって役に立つ小さなプログラムを繰り返し作って形式知を暗黙知化すること

プログラムを学ぶこと自体が目的化してるやつは
上の2つが効率的に実現しやすい言語なのかどうかを
標準の道具立てや公式のチュートリアルやリファレンスを見比べて
自分が気に入った言語を選択するのが一番

41: 名無しの民 2020/03/05(木) 23:38:32.34 ID:Rgv7/iI/
Python読めないやつはバカですか。

for i in range …は分かり難いと思ったな、自分は。
index付きの配列の方が素直で理解しやすい。
ranged forのようにindexなしでやれる状況なら、mapとラムダ式(関数)の方がはるかに分かりやすい。

リスト内包表記もPython版はイミフだった。Haskell版(オリジナル)が読みやすい。
が、リスト内包表記なんぞ使わず、map、filterで繋ぐ方が素直かなって思う。

42: 名無しの民 2020/03/05(木) 23:59:22.33 ID:uRdGlGLB
Haskell。
初心者にこそ分かりやすい。
手続き型言語覚えてからも、バグの少ないコードを書ける。
(Haskellは養成ギブス的な所がある)

43: 名無しの民 2020/03/06(金) 01:53:16.28 ID:+qIVo5XL
Haskellって趣味で触るだけのもので、実務には全く向かないんじゃ?

75: 名無しの民 2020/03/09(月) 03:29:35.16 ID:OLeJnLFp
>>43
始めるのに良い言語は実用的である必要があるの?
アルゴリズムの理解し易さはピカイチだと思うが。

78: 名無しの民 2020/03/09(月) 06:39:25.71 ID:wpD0c2Sy
>>75
あるよ
当然

アルゴリズムを学ぶのとプログラミングを学ぶのを混同してるんじゃ?

88: 名無しの民 2020/03/10(火) 12:04:26.35 ID:WuDfOjrv
>>78
まあHaskellは仮にも実用言語ではあるけどね。
マイナーだから、周辺環境が整ってない。
ただ、言語としては他人のコード読みやすいし、他人に何やってるか分かってもらうコード書きやすい。
互いに何やってるか分かるのは重要。

あとは手続き型言語でも正しく動くコードは数式やHaskellのコードに置き換えられる。
(逆に言えば、バグがあったら数学的に正しくない)
手続き型言語をやるにしても、色々得るものがある。

フィボナッチ数を求めるプログラム

Python

def fib(n):
 temp = 0
  a = 0
  b = 1
for i in range(n):
temp = a
a = b
b += temp
return a

Haskell(末尾再帰版)

fib n = fib’ n 0 1  
 where
   fib’ 0 a _ = a
   fib’ n a b = fib’ (n–1) b (b + a)

89: 名無しの民 2020/03/10(火) 13:48:32.50 ID:eonxFH18
>>88
やっぱりアルゴリズムを学ぶのとプログラミングを学ぶのを混同してるねw
プログラミングは数学ではないし
プログラミング初学者にとって何が大事かも理解してない

def fib(n):
____curr, prev = 0, 1
____for _ in range(n):
________curr, prev = curr + prev, curr
____return curr

98: 名無しの民 2020/03/10(火) 19:16:05.31 ID:VBOOk+mK
>>89
アルゴリズムを狭く捉えすぎ。
目的を達成する為のコード全般アルゴリズムと言える。
本にもあるだろ?
プログラミング=アルゴリズム+データ構造って。
画像処理のプログラムを作るには、画像処理のアルゴリズムだけでも不足で、処理する画像フォーマットの構造を理解しないといけない。

99: 名無しの民 2020/03/10(火) 19:21:10.03 ID:3BlP5Izm
>>89
PythonやRubyは
もう十分短く書ける構文あるからな!
関数型かというと微妙な気もするけど

それこそプログラミングとアルゴリズムの違いだな
初学者は快適にプログラミングできればいいからな

44: 名無しの民 2020/03/06(金) 08:10:13.53 ID:89RQTO1C
コンパイルを通ればバグが無いことを保障される。
マルチプロセッサに自動割り付け。
実行速度がCの8.5倍高速。

欠点が見つからない。

45: 名無しの民 2020/03/06(金) 09:01:28.38 ID:Fgd+2Xim
もうその手の詐欺はうんざり

46: 名無しの民 2020/03/06(金) 11:05:35.64 ID:7d5kGJiP
haskellなんてパッケージ管理でバグって詰むくせにコンパイル通れば大丈夫とかよく大法螺ふけるよな。

76: 名無しの民 2020/03/09(月) 03:44:25.14 ID:OLeJnLFp
>>46
cabalの話なら、stack使え

>>49,51

Haskellはマイナーなので、プログラミングHaskellとかの優秀な入門書に頼る他無い。

79: 名無しの民 2020/03/09(月) 10:03:24.96 ID:KfBbpF5w
>>76
stackも同程度にぶっこわれるだろうが。この詐欺師が。

47: 名無しの民 2020/03/06(金) 11:08:42.08 ID:7d5kGJiP
pythonは良くも悪くも言語固有のものは少ないし、とんでもなく平凡だと思うよ。
そういう意味でよいと思うけどね。
イキッた馬鹿はもっとスペシャルなものが欲しいのかもしれんが。

48: 名無しの民 2020/03/06(金) 12:20:04.82 ID:56NCNxeU
pythonは3になってからなんでもかんでもイテレータ(ジェネレータ)返してきて演算効率的には理にかなってるんだろうけど2ほど直感的ではなくなった

49: 名無しの民 2020/03/06(金) 14:02:39.99 ID:b1r0EvAr
始めるならバグ対応含め、周りに親切に教えてくれる人がいる言語だろう。

そういう人がいる前提で考えると、Haskellは英才教育っぽくて良いと思うがね。
始めにやっとけば、良い癖がつくし、後で他言語の難しい概念を楽に理解できる気がする。

ただ、実際Haskellから始めました、みたいな人は見たことないから推測の域を出ないけど。

Pythonはその点、教える人もそこから学んだ人も沢山いるんだろうね。

50: 名無しの民 2020/03/06(金) 16:34:26.56 ID:Z17kfdKR
難しい言語から始めるのは挫折への近道!
最初はRubyやPythonやJavaScriptでいい

51: 名無しの民 2020/03/06(金) 16:45:16.03 ID:7d5kGJiP
haskellを親切に教えてくれる奴がどこにいるんですかね?
そんな糞エリート意識持つくらいなら複数言語やりゃいいんだよ。
だいたいhaskellやってることが評価されるってのは構文を理解してるとかそういう点じゃない。
あの評価順序と実際のメモリ上の動作を上手くつなぎ合わせて低レイヤーで最適化できることを
見込まれての評価だぞ。
馬鹿はそういうところをこれっぽっちも理解せずにhaskellを薦めるからタチが悪い。

52: 名無しの民 2020/03/06(金) 19:21:17.84 ID:myCFvsho
書籍の数とか使える環境とか考えても、やっぱPythonだろうね。
スマホでもキーボード繋いで出来るし、
スマホのちっちゃい画面でも画面分割して、
サイトや電子書籍見ながら写経してたよ。

53: 名無しの民 2020/03/06(金) 19:24:55.48 ID:56NCNxeU
Pythonは必修ライブラリ辿ってくとほぼCだからなぁw

54: 名無しの民 2020/03/06(金) 21:21:01.63 ID:n2xpzai7
PythonはRuby/JavaScript/C#/Javaあたりと比べると
リファレンスがどうしようもなく読みにくい

Pythonの質スレ見ても「それくらいリファレンス読めば分かるやろ?」っての質問が多いけど
実際にリファレンスを見ると、初心者には該当箇所を見つけるのがまず難しくて
書き方も初心者には難しいかもなってことが多いんだよね
関数シグニチャに戻り値の型を書いてないのもPythonくらい

例えば配列(Pythonのlist)のところとか各言語に共通する基本要素で比べてみればよく分かる
https://docs.python.org/ja/3/library/stdtypes.html#sequence-types-list-tuple-range
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array
https://docs.ruby-lang.org/ja/2.7.0/class/Array.html
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/arrays/
(https://docs.microsoft.com/ja-jp/dotnet/api/system.array?view=netframework-4.8)
https://www.php.net/manual/ja/book.array.php

他言語出身者には習得がトップレベルで簡単な言語だとは思うけど
四六時中質問に答えてくれる人がいない場合は微妙

57: 名無しの民 2020/03/07(土) 05:49:23.43 ID:L+9bbGiD
>>54
> 四六時中質問に答えてくれる人がいない場合は微妙
ってのが、プログラミングスクールの売り文句っぽいw
結局、初心者とプロの差が大きすぎるんだろうな。
何から聞いて良いのか、何から教えれば良いのか判らない。

64: 名無しの民 2020/03/07(土) 19:40:09.11 ID:meF2wfp3
>>54
AIブーム以前の昔のPythonは
日本語ドキュメントが少なくて流行らなかったね
昔から日本語情報が多かったRubyを今でも読み書きしてる

けど今はPythonの本がたくさん出てるから買って読めばいい

55: 名無しの民 2020/03/06(金) 22:50:42.25 ID:owZ/2bWF
schemeと比べたら
Pythonはほんと読みやすいわ

56: 名無しの民 2020/03/07(土) 03:47:56.81 ID:meF2wfp3
Lispと比べたらほとんどの
メジャーな言語は読みやすいだろう

61: 名無しの民 2020/03/07(土) 14:36:56.08 ID:/yAUa4xK
>>56
あまり変わらないと思う
慣れているかどうかの差でしかないと思う

59: 名無しの民 2020/03/07(土) 09:33:01.66 ID:XLWmxUUx
>四六時中質問に答えてくれる人がいない場合は微妙
こんな状況でプログラムを覚えるやつなんかいねーよ。

62: 名無しの民 2020/03/07(土) 15:39:53.33 ID:cGTHD7tT
>>59
人よりはるかに優秀で24時間OKなGoogle先生がいるじゃないかw

60: 名無しの民 2020/03/07(土) 09:48:10.39 ID:ezYz/gTa
RPG, PL/I, REXXで一生やっていけそう

63: 名無しの民 2020/03/07(土) 19:27:44.63 ID:XLWmxUUx
54の文脈と離れたこと言われても元も子もない。

65: 名無しの民 2020/03/08(日) 02:16:06.39 ID:6M8suKHC
マイナー言語だとドキュメントは英語のやつしかないので
英語のいい勉強になる

66: 名無しの民 2020/03/08(日) 02:23:32.74 ID:q3PBpoad
マイナー言語を使うメリットは英語上達だな
デメリットは作りたい物をサクッと作れない

67: 名無しの民 2020/03/08(日) 02:24:00.18 ID:ZuSBaXSz
まさに本末転倒だな!w

68: 名無しの民 2020/03/08(日) 06:05:14.61 ID:W4hwWNBv
Juliaの日本語ドキュメントは無いのかね

71: 名無しの民 2020/03/08(日) 09:09:37.43 ID:FKfh6/PX
Juliaはバージョン1.3と称しているが、実質的にはまだ0.xの公開β版だな。
不安定でパッケージをインストールしようとすると、長長しいエラーが表示されて
強制終了してしまうものがあり、グラフも描けない。ちょっと触ってみるには
面白いかも知れないが、実用には使えない作り込みの粗雑さ。このまま始まらずに
消えそう。

72: 名無しの民 2020/03/08(日) 09:52:43.23 ID:I0GhLDrC
>>71
そんな公開β版でもNASAやFRBが実務で使ってるんだから、使う側の人間を選ぶだけだろ

74: 名無しの民 2020/03/08(日) 17:11:35.86 ID:q3PBpoad
>>71
新言語は不安定で使いにくいのに
やたら持ち上げられるよな
オレカッケーしたいだけで

73: 名無しの民 2020/03/08(日) 11:14:51.91 ID:2fZbJlty
google 翻訳ぐらいでも十分に意味が分かるぞ
どうしてもというところは原文を読むだけ

77: 名無しの民 2020/03/09(月) 03:45:07.24 ID:ajCpPJPb
実用的でない言語なんか
実用言語を5~6個覚えてからでいいだろ?

80: 名無しの民 2020/03/09(月) 11:42:19.42 ID:OgnIoX0o
わかりやすい言語なら古典的には basci か pascal だけど
basci はできれば使ってほしくない言語だし
pascal はほぼ滅びたし
プログラムのフローだけだとわかりやすいかもしれないが
型とかオブジェクト指向とか基本ないし

85: 名無しの民 2020/03/09(月) 21:18:53.59 ID:ajCpPJPb
>>80
>わかりやすい言語なら古典的には basic か pascal
その後継がMSのVB(A)とC#なんだよな
もちろんOOとかいろいろ新要素が入ってるけど

82: 名無しの民 2020/03/09(月) 11:59:26.18 ID:KfBbpF5w
いやbasic普通に型(class)あるし、オブジェクト指向できるだろ。(オブジェクト指向がいいとも思わんが)
なんでこんなに堂々と嘘つくんだ?

83: 名無しの民 2020/03/09(月) 12:20:50.35 ID:/tqCXXxX
>>82
BASIC言語系やBASIC処理系はあってもBASICという名前の特定の言語は無いからそれだと何を指しているのかわからない

86: 名無しの民 2020/03/10(火) 00:47:38.33 ID:/8wMzNUm
html/css
C
python
scheme

まずはこの4つを勉強すればいい
それでプログラミングの基礎が固まる

87: 名無しの民 2020/03/10(火) 09:35:07.61 ID:oaoNXGAz
html/cssってjs始めれば嫌でも身に付くでしょ
そして環境構築から言語自体の難易度までどれをとってもJavaScriptが圧倒的に初心者向きだから入門はjsで良い
その後にGoなりWindowsなら.NET系なりの静的型付け入ればいい

90: 名無しの民 2020/03/10(火) 14:14:45.15 ID:uPXabSQ0
フィボナッチを再帰でやるのがどれだけ遅いかもわからんバカはほっとけ。

91: 名無しの民 2020/03/10(火) 14:30:19.00 ID:xQPUXd79
最適化かかる

92: 名無しの民 2020/03/10(火) 15:04:20.06 ID:YCA0GKqZ
最適化に期待するのが前提なら最初からループで書けやw



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です