ぶっちゃけ始めるのにいい言語て何?
■ このスレッドは過去ログ倉庫に格納されています
RubyやPythonが簡単なのは間違いないけどだからと言ってJavaScriptを差し置いて初心者がやるべき言語とはならないだろ
特にRubyやPythonはIT初心者にとっては大事な要素であるWindowsと相性が悪いっていう致命的弱点があるからな
その点jsはブラウザさえあればすぐ動くしWindows化においてもGUIアプリ作れちゃうしな >>160
>>153のケースでは使えないよね
それにPythonの場合、初心者は1つ前のバージョン使うべき >>163
プログラム初心者にGUIのコーディングさせるつもりなのマジで草生えるんだが
初心者でどうしてもGUIが必要ならコーディングレス開発の一択だし
習熟目的ならCUIでやる以外の選択肢ないよ >>163
ブラウザのJavaScriptだと何か実用的なことをしようとすると
HTML/CSS/DOM/HTTPもほぼ必須で学ぶ必要があって
馴染みのない人にとってはそれが結構重い
逆にHTML/CSS程度はすでに理解してるという人はJavaScriptオススメ
RubyやPythonのWindows環境での使い勝手はWSL + Windows Terminalで状況変わって来てる
WSLすら難しいってレベルの人は
最初は簡単な入出力機能のあるオンラインエディタでもいいんじゃないかな Python は、Guido も批判しているように、内包表記で時間を取られる。
それと、引数に、self がついてまわる
それと海外では、Julia の認知度が100% だろ
SASS もそうだった。
海外で100% だった時に、日本では、ほとんど知られてなかった。
でも今は、50% ぐらい知られている
Python, JavaScript では、偽が10種類ぐらいある。これがやっかい。
空配列・空文字列とか、色々な型で、偽となるものがあるけど、
Ruby では、nil・false の2つだけ
Python, JavaScript では、関数の外側のローカル変数が、内側に入り込む
Ruby では入らない。
関数スコープは強固だけど、ブロックスコープには入り込む。
C のように、関数・ブロックという2つのスコープを持つ
Python では、高卒プログラマーの仕事がない。
高学歴のノンプログラマーが使うイメージ
プログラミングで、どうにかなる感じではない。
Rubyでは、OS を学んで、サーバー側へ行ける。
Go へ進んでもよいし Ruby でも、MSYS2/MINGW は、日本語でバグル・日本語入力できなかった。
それが、WSL では、日本語でバグらない!
WSL の登場で、次第に、Windows 版のRuby Installer は、使われなくなっていく
それに、VSCode の拡張機能、Remote WSL が出たから、
Windows 10 では、Ubuntu 18.04 が標準になる
rbenv という、Rubyのバージョンマネージャーを、Linux側にインストールする
rbenv のトップページを、Chrome で、日本語に翻訳して読む
https://github.com/rbenv/rbenv
Basic GitHub Checkout の所の、rbenv-installer のリンクから、rbenv-installer のページへ移動する
https://github.com/rbenv/rbenv-installer#rbenv-installer
rbenv-installer の説明通りに、以下を実行する
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
このシェルスクリプト内では、Mac のHomebrew または、Windows なら、git を使っている
~/.bashrc に環境変数を追加して、
最後に、rbenv-installer のページのrbenv-doctor で、再チェックする
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash Rubyについて5chで質問すると、ボットみたいに同じ言動を繰り返しおかしな日本語で的外れな回答する奴に絡まれるから、初心者には勧められない >>172
いろんなスレで「Ruby では…」って突然Rubyネタ披露する人もそうだね
なんで必死にRuby推しするのか知らないけど却ってイメージ悪くしてるよ 大学行ってた頃、一般教養の情報の講義ではJavaを使ってた
その時は何でCをやらないんだろって思ってたけど、
今ならJavaにしてた理由がよく分かる
失礼、脱線しました > Python, JavaScript では、偽が10種類ぐらいある
また嘘吐いてんのかrubyキチガイ。
これでrubyは理解してんのかと思いきやrubyスレで初心者も吹き出すような質問してたりするからなこのカスw >>162
は?意味わからん。
存在しな架空の想定のために無駄な機能入れるとかクソSIerかよ。 浅井『プログラミングの基礎』を読みながら
OCamlを学ぶ >>174
参考までになぜCではなくてJavaでよかったのか教えてくれないか? >>179
もう15年以上前の話になるけど
CにはString型が無いので文字列の扱いが大変だということ、
scanfなどの入力関数の動作があぶなっかしいということ、
ポインタを使いこなすのが難しいということ、など 日本語?良い言語だよ。
一音一音はっきり発音する聞き手に優しい言語で、動詞が最後に来るっていう最高にクールな言語さ! 限らないだろ最後に来るとは。
よくないよそういう決めつけ。 大事なことは5ちゃんなんか見てないで
どの言語でもいいから入門書なり入門サイトなりで今すぐ勉強を始めること 正解。
こんなとこ見てるのはやらない理由を積み上げたいだけだからな。 そうですね
先入観を捨ててCOBOLから勉強するのが良いです >>106
>>88と比較するならtakeでなく‼︎使え。共通点も見えてくる。
あと、1行ならdoは要らん。
main = (print.fib) 9
fib = (fibs!!)
(fib n = fib!!nをカリー化で見た目の引数を省略)
fibs = 0:1:zipWith (+) fibs (tail fibs)
output:
>34
fibsはこう動く。
fibs
= 0:1:zipWith (+) fibs (tail fibs)
= 0:1:(0 + 1):zipWith (+) [0:1:...] [1:...]
= 0:1:1:zipWith (+) [0:1:...] [1:...]
= 0:1:1:(1 + 1):zipWith (+) [1:1:...] [1:...]
= 0:1:1:2:zipWith (+) [1:2:...] [2:...]
= 0:1:1:2:(1 + 2):zipWith (+) [1:2:...] [2:...]
.
.
. Haskellはいろんな概念を学ばないといけないのもあるが
声に出して読みにくいのが致命的に初心者向きではない 学んだら眼から鱗だけど、学ばないといけない訳じゃない。 >>188
なるほど、いいかも!
ライバルが少ないですもんね〜 >>188
ひねくれた答えを出したかったんだろうけれど、本人にやる気があるならそれもありだよ。
ただ初心者が自発的にコボルを選ぶことはないだろう。 ほんとの初心者ならVBAとかJS(chromeで打ち込む)でいいと思うけどな
コードいじる実感が沸いたほうが次に繋がる ヒューマンリソースマシンってゲーム評判よかったからやってみたけどガワ被せたアセンブリじゃねーか今どきこれは無いわ PC98時代って選択肢無いんじゃないの
ベーマガの時代だよ 中学の時にBASICでグラフィックの作品作るって課題があって、それが最初やな
これです
https://imgur.com/jfYiGh5 >>199
JavaScript+CanvaAPIでゲーム作り
右も左もわからん時に、HTML/CSSほとんど触らずに
プログラミングに集中できたのは良かった とある時代は深く考えずとも一択だった
でも今は10くらい選択肢がある
だからこういうスレがある
なのでオッサンに聞いても「始めるのにいい言語」という質問の意味自体が分からない
そして現役の今の奴らに聞いても十人十色なら、あとはアンケートの多数決で決めるしかない
その時代に自分が一番最初に習った言語を挙げるしかないなら、
当時の人気だけで「始めるのにいい言語」が決まる
そして当時の人気言語は今は大抵は廃れてるから、
「始めるのにいい言語」はどの世代であっても永遠に分からない
つまりオッサンに聞いてもわからないし誰に聞いても分からない
謎の人気でプッシュされてる言語をやるのがベター >>209
>謎の人気でプッシュされてる言語をやるのがベター
結論が唐突w
一番金になる初心者が興味本位で食いつきやすい言語がプッシュされる
初心者のためになるかどうかは知ったこっちゃない ……そういう言語であっても母数が多けりゃ正規分布の6σ外は必ず出るので
「わたしは○○を最初に学んだからプログラマになりました」という奴も必ず出る
つまり統計的には○○がなんであってもすごく出来る奴はどの時代も一定数出てくる 統計用語の「母数」の意味を調べよう。
…まあ、この訳つくった奴がセンス皆無という恨み節も聞こえるが… Hu-BASICから始めてマシン語ちょい勉強しその後30年以上プログラミングやってなく
一昨年からC言語触り出して今はコンソールでゲーム作ったりビットコ用のbot作ったりしてる 就職して使う言語勉強すりゃいいじゃん。そういう回答が嫌なんだろうけれど。 趣味でプログラミングやりたくて、いろんな言語に手を出したんだけど、
ほとんど三日坊主でダメだった。唯一ある程度使えるようになったのがLISPだった。
LISPってライブラリの少なさとか環境は良くないのかも知れないけど、
言語の習得というか、きれいでなくても動くものをつくるぐらいになるにはそれほど難しくないと思った。
と言うことで、LISPがおすすめ。個人的見解です。 set と setq の違いがわからなくて挫折する人がいるね >>89
プログラミングは数学では無いが、数学はプログラミング言語の一種だよ。
コンピュータが誕生する遥か前に誕生したプログラミング言語。
数学者はプログラマーと言える。
Haskell学べば学ぶ程そう思う。 こういう嘘を簡単に言う奴ほど数学を理解していないから困る。 >>22
人気がある→だからなに?
開発環境→なんだかんだでどれも簡単
書籍→主要な言語なら書籍たくさん
習得しやすい→どれも難しいしどれも簡単 シャドバとプログラミングって似てない?
言語→ドラゴン(Java)、ネクロ(PHP)、ネメシス(Scala)
ライブラリ(API含む)→フォロワー、スペル
クラス特性→文法
設計→構築やコンビを考える
要件→デッキのコンセプト。どういう勝ち方をしたいか
実装・実行→プレイング
ローテ→流行りの言語
ローテ落ち→古い言語
基盤のルール(守護疾走とか?)→Webやミドルウェアやらセキュリティやらの仕組み(インフラ系も?)
勝利条件→アプリの完成 >>230
シ/ャ.ド/バとプログラミングって似てない?
言語→ドラゴン(Java)、ネクロ(PHP)、ネメシス(Scala)
ライブラリ(API含む)→フォロワー、スペル
クラス特性→文法
設計→構築やコンビを考える
要件→デッキのコンセプト。どういう勝ち方をしたいか
実装・実行→プレイング
ローテ→流行りの言語
ローテ落ち→古い言語
基盤のルール(守護疾走とか?)→Webやミドルウェアやらセキュリティやらの仕組み(インフラ系も?)
勝利条件→アプリの完成 >>232
>>230
シ/ャ./ド/バとプログラミングって似てない?
言語→ドラゴン(Java)、ネクロ(PHP)、ネメシス(Scala)
ライブラリ(API含む)→フォロワー、スペル
クラス特性→文法
設計→構築やコンビを考える
要件→デッキのコンセプト。どういう勝ち方をしたいか
実装・実行→プレイング
ローテ→流行りの言語
ローテ落ち→古い言語
基盤のルール(守護疾走とか?)→Webやミドルウェアやらセキュリティやらの仕組み(インフラ系も?)
勝利条件→アプリの完成 ちなみに俺はPHPを推します
覚えやすいうえに実用的ですぐ活かせるからね
LISPは大学生時代に難解な課題だされて挫折して
今でもトラウマ
あんなん覚えなくたって役に立たないしいいもんね AWKとかどうだろ
ポインタが無くて文字列に強いCだぞ
テキスト処理しかできないけど うーん。。。
やっぱりHaskellが良いと思うけどなぁ。。。
オブジェクト指向は宣言的になるのを目指してるのに、
そのメソッド(や関数)を書こうとすると手続き的なのが中途半端に感じる。
Haskellは宣言的を徹底してるから、自作の関数も宣言的なのがフラットと言うか、
仮にライブラリのサポート無しでも学習に困らない。 結局初心者がつまづくのなんて環境開発を用意するところなんだから
それ考えたらhaskellなんて論外だわ。ぜってーstack, cabalまわりで死ぬ。
あんまり勧めたくはないが、そういう意味ではjavascript,ruby,pythonあたりになる。 人気ランキングTOP10圏外のマイナーな言語を勧める人は何故そうするのか
勉強のしやすさという点からすると、上位の言語の方がいいだろう
といってもC++のように難しいのもあるから、
条件1. 人気がある
条件2. 習得難易度が低い
ということでふるいにかければいいだろう >>246
>条件1. 人気がある
>条件2. 習得難易度が低い
そんな条件では糞みたいな言語しか選択肢に残らないのですが? もうCでいいやん
覚える事少ないしライブラリ充実してないから実装も自分でしなきゃならんからすごい勉強になる >>247
お前にとっての基準で糞かどうかはどうでもいい。これから始める初心者にとって役立つかどうかが大事なのだから。 >>247
QZさんの考える「クソみたいな言語」の具体例と、
そう考える理由を教えてもらえますか? 習得難易度ってやりたいことによって変わってくるから、目的がはっきりしてないと意味ない気がする
VBAは簡単だけど、やれないことも多くてその範疇を超えた途端に急激に難しさと面倒くささが出てくる
Python自体も簡単だけど、ライブラリ含めて使いこなすとなるとやや難しい。しかもライブラリは追加やアップデートされ続けるから、習得したっていう終わりが無い 経験の少ないやつほど、自分の初めてをオススメする
わかってるやつはWeb系で流行ってるやつはやめとけと言える プログラミングで将来食っていきたいなら今みたいな時期にリモート勤務できるような言語を選ぶと良いよ
Web系も捨てたもんじゃない >>253
誰もが習得できる理想言語が無い以上、経験論に基づいて、初めてやった言語を勧めるのは当然と言える 向き不向きがあるからな
しばらくやってみて、駄目そうなら
他の言語に変えた方がいいよ >>246
>条件1. 人気がある
人気があると初心者にとって何のメリットがあるの?
逆に人気がなくてもそのメリットが享受できる言語もあったりしない?
ないかもしれないけど
>条件2. 習得難易度が低い
習得難易度が低いかどうかを初心者は判断できないので
どういう属性があれば習得難易度が低いと言えるかの判断基準や
統計的な習得難易度評価が必要かも 人気があると本とか解説のページがたくさんあるという特徴がある
ゴミも増えるのでメリットとはいいがたいか? PHPとかJavaだと検索するスキルがあれば正直何とかなる
誰もこんな細かいところ知らんだろみたいなところも検索すれば出てくるし
新しめの言語だと検索しても海外のサイトやら公式リファレンスみたいなのしか出てこないから初心者には辛いと思う
もちろん実力はこっちの方が確実につく >>257
人気がある言語だと、勉強しようと思ったときに選択肢が多くて入りやすい
本もたくさんあるし、インターネットサイトも充実している
また就職口もたくさんある
習得難易度の低さの前提は、開発環境の整えやすさ
ここで挫折する人もわりといるから
あとはCやC++のようにポインタなどの取っ付きにくい概念があるとつまずきやすい
その他にはコードの見やすさ、書きやすさなど ポインタは難しい、というフレーズは知っていても、実際には理解してないヤツが多すぎる
同じようなものに「GOTOを使ったらスパゲッティ」「COBOLは古くて性能が低い死語」「BASICはとにかくバカにできるもの」などがある ポインタが難しいといっても同じようなことを理解してなきゃjava書いててもそのうち詰むだろ。 ■ このスレッドは過去ログ倉庫に格納されています