プログラミング言語の難易度ランク作りました ご覧ください [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
-------S(唯一神)-------
機械語
-------A(ハッカー)-------
アセンブラ C++ C
-------B(一般プログラマ 凡人)-------
java C♯
-------C(日曜プログラマ)-------
ruby python swift
-------D(一般事務員でも使える)-------
VBA PowerShell
-------E(手段が目的になっているただのカス)-------
その他のマイナー言語厨(特にHaskell) 一生懸命作ったので、友達や同僚に紹介してくれるとうれしいです。 >>1
「難易度」ランキングじゃないやん
手段が目的になってるのが理由でランクがEとか評価軸がブレブレやぞ C++の名前解決の仕組みが未だに正確に言えない私としては、習う、書く、処理系そのものを作るの観点からして、機械語よりC++の方が上だと思うが PowerShellとVBAを使いこなす一般事務員 でも一般事務員こそちょっとしたスクリプト言語くらい使いこなせるべきだよな 忍者じゃあるまいし、そんな一般事務員がいるわけねーだろw PowerShell使いこなす一般事務員見てみたい 慣れの差が多分にあるけどC++よりJavaやC#の方が難しいわ
奴ら多機能過ぎて訳わからんちん >>14
でもエクセルでデータ処理してる一般事務員の作業効率悪すぎん?
過去の人が作ったよくわからん便利なスクリプトをよくわからんままにちょっとずつ壊しながら使ってるぞあいつら >>17
こっちでもそんな感じだ
ということは、ビジネスチャンスか? 定型化とか仕組み化する能力が低いからそうなってんだよね
ただデータ処理する本人が直接プログラミングできるんじゃなければ
要件定義して仕様化してテストするコストとか馬鹿にならんから
作業効率悪くてもそのほうがいい場合も多々ある ツッコミどころはPowerShellだな
システム管理を一般事務員にさせちゃマズイだろw 取り敢えず1が関数型言語を理解出来ない無能という事は分かった。 こんなところにも関数型でマウンティングしてくる奴がいるのか
うんざりだよ そりゃ自分の好きな言語をただのカス呼ばわりされたらマウンティングでもしないと腹の虫が収まらないんじゃないの? 誰も言わないけどHaskell嫌いな人って、なんで中身に言及しないの?
おかげで言語に触らずに叩いてるアレな人の印象しかない
プログラミングにマウンティング云々とか持ち出してくるし マウンティングは流行語だからな。うざい奴にはどんどん使え 嫌われるのはHaskellerが当たり構わず他の言語に喧嘩売りまくったせいでは? なぜかHaskell嫌いで叩いてるって設定が追加されてるし
誰がそんなこと言った?俺はScalaで関数型も普通に使ってるぞ
妄想で設定を生やすのは直ちに止めなさい >>20
美熟女事務員にPowerShellされたいです C#とかいう基本ライブラリがクローズな言語がBでいいの
てかお前本当にEFとか、WPFとか、windows系のめんどくささ知らないよな、しかもSDKも8.1以降であたらしいやつが出てるし
難易度というかうざったさでいえばwinプログラムがトップだろ、
C#やJavaみたいなライブラリ依存ドカタ言語は終わらないコンテンツぞ、
javaはオープンソースが基本で修業すればレベル高くなれるけどな
javascript周りのライブラリも悲惨だし、結局言語が貧弱な言語は死ぬまで勉強しないといけない、
jqueryじゃダメだとか言う奴もいるし、めんどくせーよな
それこそ目的と手段をはきちがえた奴は、かすなんだよなあ、カスはカスタマー、つまりmicrosoftやセミナー屋にとってのいいお客ってこった、
機械語かいてたほうが幸せだろうな、まあ機械語かいてもらえるのが最低賃金でもいいっていうならの話だけど
機械語はハードウェアアーキテクチャに基づくから、それほど複雑なことにならない、しかしライブラリ言語だと作者のおなにーに付き合わされる、これは相当難易度高いことだよ 言語をマスターするとは、その言語でその処理系が書けるようになること >>37
「その処理系」を書ける知識があるなら
どんな言語でもすぐに書けると思う >>38
アセンブラが書ける程度では、C++は書けないと思うが。 わかったから、 この言語でデスマッチ対決しよう
それでいいだろ?
ミート君でも賭けてさ CPUアーキテクチャ、言語パラダイム、フレームワークの理解がごっちゃになってるんだが >>39
アセンブリ言語で処理系を作れるのなら
C++で作るのは容易だと思うが
逆は文献が少なくて難しいかも知れないけど >>43
アセンブリ言語でアセンブリ言語の処理系(ニモニックで動くCPUエミュレータ)を作る難易度と、C++でC++のコンパイラなりインタプリタを作る難易度って同じなんですか? C++はパンクな言語。
美人だけど、マ◯コ臭い的なイメージ >>45
同じくらいだと思うが
もしかして、文献も見ずに1から作るんですか? >>48
文献読もうが同じなわけないだろアホ
どんだけ見積もり下手なの >>37
そま?じゃあ一番簡単な言語はLispやね 研究室で少しFortranなどをかじった程度のサンデープログラマだけど、
ドヤ顔でマウンティングしてる人多いけど、Haskellそんなに難しいかな?
C言語とかオブジェクト指向の方が難しい印象なのだが。 他言語に比べるとHaskellは難しいね
stateモナド理解するのに苦労したしモナド則を満たしてるかどうかの確認とかも難しい
Cは言語仕様は簡単だけど扱いが難しい言語 少しFortranをかじった程度のサンデープログラマがHaskell難しくないってどんな謙遜だよ >>52
お前どうせ他のスレじゃ別の言語叩いてんだろ
まともにプログラムに触れてもない知ったか野郎が批判すんなボケ >>56
違うわボケ、つか自演かお前?
他のオブジェクト指向言語のが難しいとか言う曖昧な言動が、
明らかにどちらも触ってない奴の発言だろが
荒らしてスレ伸ばす目的のクズだろ あれだね、潜在的にこいつらマウンティングしてるHaskellerと一緒だろ、>>1や>>55や>>57とか。
こんなクソスレ立てたり、こんな所で馴れあってる暇があったら、劣等感消すために勉強したら?
>>53
状態モナド、触ってないわ。IO、Maybe、リストは分かってるつもり。
上のはあくまで職業プログラマでない人間の正直な感想だよ。
CはFortranと比べて難しいと思った(String型ないの??)し、OOPは何かオブジェクトってのに色々データや関数を紐付けして管理してる?位しか分かってない。
Haskellの方がFortranの延長線上にあるシンプルで素直な言語だと思ったわ。 FortranもString型ないわ、かなり昔のことなので忘れた。
でもなんかごちゃごちゃしてない気がしたのは確か。
ポインタとかなんか難しいじゃん。 >>59
そいつらの事バカにしてるけど
結局まともに触ってないじゃん まあ、そうだね。そういう人間もいて、その一意見としてみてくれ。
Haskellは難しくないと書くといろんな方向から叩かれるというのは自覚はしているよ。敢えて書いてみた。
プログラムに限らなきゃもっと難しいものなんていくらでもあるからな。
じゃあの。 最近急に関数型言語叩きが増えてるけど、もしかして暴れてるの一人なの? >>60
ポインタ使えるようになると超絶便利だから、一回腰据えてやってみ。
病み付きになるレベル。
Javaはポインタっぽいことは自動的にやってくれるが、
微妙に痒いところに手が届かないことがある。
その辺り自分で完全にコントロールできるCは病み付きになる。 そもそも何で関数型言語って難しいと言われるのかな?抽象度が高いから?
大学で始めて習った言語がSchemeだったけど何も問題なかったぞ。 関数型でSchemeが出てくる時点で関数型わかってないだろ 関数型が難しいんじゃなくてモナドが難しいんだよ
それもMaybeみたいなのは難しくないけどStateモナドみたいのが難しい
副作用が簡単に使える言語はモナドを使いこなせなくてもある程度コードが書けるから特段難しいわけじゃない
↓ここで解説されてるStateモナドの定義が苦もなく理解できて
自分でも似たようなのサクッと作れるっていうやつは素質あると思うよ
http://learnyouahaskell.com/for-a-few-monads-more#state >>67
もしかして、純粋関数型言語じゃないと認めない派ですかね?
>>68
あーそういう事か。モナドというか圏論の授業は自分も四苦八苦したよ... ネイティブがCだけど言うほど難しいか?少なくともアセンブラと同率ではないだろう 身もふたもない話だけど、何の難しさで比べるのかで全然違うしな
GUI持ったソフト作るときとか、大規模なソフト作るときの難しさで言うならCの難易度は高いと思う
入門書のサンプル理解するとかってレベルなら難易度は低い モナドを含む圏論が難しく感じる原因の半分は、S.マックレーンの「圏論の基礎」にあると思う。
圏論の授業の教科書だったけど入門者には難しすぎるだろあれ。 >>72
なんかおすすめの本ある?
学んでみようと思いつつもなかなか手を出しづらくて… >>73
おすすめの本は残念ながら無い。Steve Awodeyの本とかも良いけど難し...
そもそも自分の場合は大学の教科の関係で、圏論その物の数学的な勉強から初めたけど、
勉強のアプローチとしてはHaskellとかで工学的理解から入ったほうが多分正解。 >>74
地道にやるしかないかー
わざわざありがとう >>65
ポインタ、理解できた。関数ポインタ使えば高階関数も作れそうだね。Cがやりたい放題というのも何となく分かった。速度の点で他言語が敵わないというのも。究めてみたくなった。
モナドは型見てイメージが掴めるレベルまで抽象化してからぼーっと眺めれば難しくないよ。
構えたり有り難がるから変なことになる。
証明支援系が型理論などの点では関数型の最上位なのでトライしてる。ゲーム感覚で証明できて楽しい。
カリーハワード同型対応って不思議だわ。
関数定義と帰納的証明が何故か同じように書けてしまっている。 今は組み込みのマイコンもかなり高性能だから、
あんまりトリッキーな書き方はオススメできないけどね。 >>1
-------F (文字を覚えたら 即 使える)-------
Prolog > -------E(手段が目的になっているただのカス)-------
> その他のマイナー言語厨(特にHaskell)
ってことは、目的を達成するためならなんでもやらかすPHPはSSSクラスだなw 給料なんかそんな高くなくていいから即仕事が見つかる言語を知りたい。 Java,PHP,VB.NET
はあ、書いていて気が滅入るが、この内どれか一つできれば良いだろう
基本文法とオブジェクト指向を勉強したらその辺のSES企業や派遣会社に行って見ろ
あっという間に現場面接だぞ >>83
アドバイスありがとう。
でもうちの地域、中途採用は数年の実務経験を条件にしてる所ばかりなんだよね…。 じゃあなんでそんな質問したんだ
さっさと上京しろ糞ニート 本当に技術や物作りが好きなら地方でもどこでもやっていけるのだが、
お前はそんなことには興味がなくて、ただサラリーマンになりたいだけだろう
残念ながらそのような人間には大都市以外の選択肢はない
上京するか、この業界は諦めるんだな ちょっとした自作ゲーム作るとしたらどれにしたらいいの? 職歴空白数年空いてるんだけど
上京すれば採ってくれる可能性ある? あるよ
今はどこも人、もとい兵隊不足だから
馬車馬のようにこき使われても良いのならおいでなさい そうか
地元でどこも採ってくれなかった場合そうするわ
名古屋もおなじようなもんかな
thx その年齢ではさすがに無理
なぜなら雇ったとしても派遣先に断られるから
外貨でキャリアを積んだエリートだとしても無理
雇ってやろうという極少数の特殊な会社を探すか、諦めましょう 技術やマネジメントの経験を積んだベテランなら中途採用や契約社員の芽があるかという感じ
それ以外では57歳と同じ
この年齢が異業種からITに来るのは基本的に無理 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
UU75J 俺の経験から難易度を点数化した
異論は認めない
点数 言語
---------
16.0 Coq
11.0 Haskell
10.0 OCaml
9.5 C++
5.0 アセンブラ
4.0 C
3.5 Swift
3.5 C#
3.0 Java
3.0 Scheme
2.5 Smalltalk
2.5 JavaScript
2.0 Python
2.0 Ruby
2.0 PHP
2.0 Perl
1.5 BASIC cそんなむずいか?
一定水準以上の脳みそを所有してたら他の言語より相対的に下がりそうだが アマゾンとかの評価で適当にあたりを付ける
↓
大きい本屋に行く
↓
あたりを付けた順にざっくり読んでみる
↓
わかりそうな本を買って読む
↓
実際にちょっとやってみる
これでなんでも理解できるようになるかな 難易度というより>>102の個人的な上げ下げでしかないな。
難易度ならPythonよりRubyやPerlがそんなに下のわけないし逆にSwiftは高すぎる。 Julia ←凡百にはわからないのでランク対象外
この立ち位置いいよね >>102
>9.5 C++
>5.0 アセンブラ
気持ち分かる。
アセンブラより難しい高級言語っていったいどういう立ち位置なんだろうかと
思ってしまう。 言語の違いって、このハサミはあのハサミより使いにくい程度のものと認識 まあ切れれば同じだろの精神でカッターナイフといった似て非なるものに化けてるような言語はあるけどな >>103
async/await、linq、.net、ジェネリクス、リフレクション、jit、スクリプト実行、il、マルチスレッド、…
使うだけなら簡単かもしれないけど、一通り学ぶのはスクリプト言語とかよりは重いかなと思った
>>104
構造体や共用体、配列やポインタ、プリプロセスやリンケージ、修飾子や指定子、手軽なLLより難しいと思う
理解したとしてもメモリ管理やエラー処理や設計等は面倒臭くなりがち
標準ライブラリにある多数の使うべきではない関数、期待通りに動いてしまう言語仕様にはない環境依存のプログラム、他言語よりダントツに多い脆弱性等、落とし穴も多い
>>106
順序はデタラメ
点数で見て
python、ruby、perlは同列
swiftも圧倒的に高いわけではない rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか?
いろいろ探しても見当たらず・・ 5ch では、マルチポストは禁止です!
同じ質問を、複数のスレで聞いてはいけません!
Ruby のスレの方で、聞いてください! チューリングマシン語とか
ブレインファックとか
が難易度最高レベルと思う 難易度なんていくらでも上げられる
問題は生産性に見合っているか 最近触った言語の中でケタ外れに難しかったのはrust
ちいさいプログラムを書く分にはそうでもないけど
ある程度実践的な部分に踏み込んでいくと途端にうまくいかない
理解不足が露呈する
気難しい言語、でも好き >>116
難易度を上げる、生産性を上げる
どっちも目的にしてない言語があるのを知らないのか だいたい合ってんじゃん
このランキングに載らないようなのはゴミってことで そう思ってた時期が私にもありました
今は命令数が数千もあって
理解が難しい命令も色々とある
簡単では無いよ >>118
そういうネタ言語はゴマンとあるけど
難易度ランクに入れても無意味っしょ じゃあ難易度も生産性も無視した
メジャーな言語教えてよ 関数型言語は解ってる奴が使えば副作用が起きづらいからデバッグや保守が簡単になるんでしょ?
そういった生産性が故に注目されてるんじゃないの?
将来的なものも含めて全く生産性に寄与しない言語なんて注目されようがないと思うんだけど。
ネタとして以外に >>127
研究分野がある
プログラマーは興味ないだろうけど まぁ研究まで含めるならいくらでも難しい言語はあるんだろうけど
その難しさがwとWだけで書くからとか
そういう難しさじゃランクに並べる意味が無いと思うのよ
個人的な意見だけど Perlは、
・引数に参照やポインタの様なものを渡す関数を作りたいと思ったら上手く行かなくて
難しい。そもそも、関数がちゃんと書けないという説がある。
・文字列を1文字ずつ処理したいときに勝手にさまざまな変換が行われてしまいがちなので難しい。
・ASCIIコードと文字そのものの区別が複雑で、その変数が果たしてどっちなのかなかなか分からなかった。 >>120
でも、ポインタや再帰が難しく感じるような人には、マシン語を使いこなすのは難しいはず。 >>131
わりと下らんだろ。
不動点コンビネータとか発見(どやっ)とかやっちゃってるの馬鹿らしいなと思うわ。 rpg3やrexxはどのくらいですか?w
vb.netも無いし めんどくさいと難しいは違う。
アセンブラやC言語は簡単。
だけどめんどくさいだけ。 >>138
機械語は0と1だけ
アセンブラはアルファベットやで
まあ気持ちはわかるけど 機械語
バイナリイメージを指すこともあるし
それを16進数表記した物を指すこともある >>137
それでも、
・ケアレスミスなどが起き易い。
・C言語で言う所の生ポインタを型も付けずに使うことで間違いが起き易い。
ポインタは型を導入することでアセンブラよりは劇的に間違いが少なくなっている。
C言語のポインタに厳密な型があるのはそのために導入された。
・命令数やコードの量が多くなる。
・ローカル変数からグローバル変数に直すような事も、C言語の様に宣言の場所を変えれば
済むようなことはなく、その都度丁寧にソースを見直して影響を受ける場所を加筆・修正しなくてはならない。
その際、沢山の命令の追加・削除・変更や、使うレジスタの変更も伴う。
・C言語のように「変数名を検索」すれば必ずしも関連場所が見つかるようなことは無い。
レジスタで処理されている場合が多いため。
・BYTEからintに変更したいような場合も、命令やレジスタの大幅変更を伴うことが結構多い。
・関数に引数を渡すのも複雑な手作業のようになるので、作業量が多い。
・コンピュータの深い理解が必要。
などがあって実際のプログラミングは難しい。 >>142
「C言語の生ポインタは、それを書いた場所とは全く別の場所で原因不明のバグを生み出すので
避けたほうがいい」
などという人がいる。
アセンブラでは生のアドレスによる間接参照を使うがそれはポインタをさらに危険にしたようなものなので、
とても書いた場所とはまったく別の場所でバグを生み出すことがある。
そうなると原因を探し出すのにとても時間がかかる。
そういうことがあって、アセンブラで大きなプログラムを書くことが出来た人は、
バグが非常に少ないプログラミングが出来る人か、または、バグが入っても
上手く原因を見つけ出すことが出来る人に限られた。
それが出来る人が非常に少数派だったので、できる人は天才、などと呼ばれた。 >>143
さらに言えば、当時のパソコンは、現在の様な「保護モード」では動いていないために、アセンブラで書いたプログラムに間違いがあると「暴走」や「ハングアップ」「再起動」などの現象が起きた。
そうなると、パソコンをリセットしてOSを再起動して、またやり直す必要があった。
それに時間が掛かるのでバグが少なく書ける人で無いとアセンブラでプログラムするのはとても難しかった。
当時、BASICで書いていると間違いがあってもこのような現象がほぼ全く起きなかったので、それと比してもアセンブラは難しい印象を与えた。
なお、その後にパソコンでも使えるようになったC言語でも同様の現象は起きた。
が、アセンブラに比べれば間違いが起きにくかったのでアセンブラよりはだいぶ易しい印象を与えた。 >>141
そのバイナリイメージってつまり二進数ってこと? バイナリっていうくらいだから元は2進数って意味だけど
今はビルド後のファイルやROMイメージという意味で使われる
2進数で表示すれば2進数だし
16進数で表示すれば16進数
256進数とも言えるし
base64形式なら64進数とも言える Haskell > C++ > Scala >= C >> Java >>149
cと同じくらい。
ルールは少ないように感じるけど、実際作るとめちゃくちゃ不安定なものが出来上がるところとか。 ぶっちゃけ、どの側も言語もそれぞれ難しさがあると思うけど、Haskellは抽象性が高いから、抽象的思考に慣れていないと、アプリのコード組めないと思う。
てことで、個人的偏見ありで、
Haskell >> C++ > C > Java, JavaScript > Python 人間のおつむは再帰を直感的に理解するようにできてない ■ このスレッドは過去ログ倉庫に格納されています