progLanguages

1: 名無しさん@おーぷん 2015/04/18(土)18:06:50 ID:uO0
http://hayabusa.open2ch.net/test/read.cgi/news4vip/1429229808/
このスレがクソ適当なので本当のことを伝えたい
おれが各プログラミング言語を解説していく
http://ideal2ch.livedoor.biz/archives/27426220.html



4: 名無しさん@おーぷん 2015/04/18(土)18:09:37 ID:C1o
期待



6: ◆Eefzw8GqBpVo 2015/04/18(土)18:10:25 ID:Vq1
javascript勉強したいので期待



9: 名無しさん@おーぷん 2015/04/18(土)18:16:44 ID:WYn
>>1
あのスレは確かに糞テキトーだったけど
あえて暖かい目で見てた



12: 名無しさん@おーぷん 2015/04/18(土)18:20:51 ID:uO0
じゃあC++とJavaから

C++:
Cの拡張言語
Cにオブジェクト指向プログラミング支援機能をつけた言語と一般的に認識されているけど、
この「C++のオブジェクト指向プログラミング」が曲者で、アラン・ケイが提唱した「オブジェクト指向」とはかなり異なる
速度はC並で表現力が高いが、学習コストもかなり高いうえに現場の知識がC++98という古い規格で止まっていることが多い
(最新の標準化された規格はC++14)

Java:
「C++のオブジェクト指向プログラミング」が可能な言語
最大の特徴はJVMと呼ばれる仮想機械(バーチャルマシン)上で動作するため、
(理論上は)CPUに依存しないプログラミングが可能なことだが、そのせいで動作速度はどうしてもC/C++に劣る
まあよっぽどクリティカルでなければ気にするほどではない



14: 名無しさん@おーぷん 2015/04/18(土)18:26:36 ID:uO0
とりあえず名前が挙がった順に解説してく

JavaScript:
基本的にはブラウザ上で動作する言語
もともとNetscape Navigator(Firefoxのご先祖様)が独自に実装したクソ言語扱いだったが、
webページに動きを加えられる=自由度が格段に増すため急激に普及した
ただしブラウザごとに細かい実装が異なるためECMAScriptとして標準化されている
オブジェクト指向プログラミング機能がプロトタイプベースというそこそこめずらしい(C++やJavaはクラスベースと呼ばれる)



16: 名無しさん@おーぷん 2015/04/18(土)18:32:18 ID:uO0
Python:
もう中堅の部類に入るスクリプト言語
インデント(ソースコードを読みやすくするための空白)でブロック(処理のまとまり)を制御するため、
初心者が書いてもそこそこ読みやすいコードになる
読みやすさは生産性の高さにつながり、フォルダ内のファイル名をパターンにそってリネームするといった小規模なものから、
webアプリといった大規模なものまでそつなくこなせる



15: 名無しさん@おーぷん 2015/04/18(土)18:29:02 ID:Q9w
C#とLispの解説も頼む



29: 名無しさん@おーぷん 2015/04/18(土)18:55:47 ID:gYc
Perlも一応お願いします



18: 名無しさん@おーぷん 2015/04/18(土)18:36:49 ID:uO0
C#:
マイクロソフト製の言語
一応C/C++/Javaといった言語の系譜に連なる言語だが、
実体はDelphiという別の言語をC/C++/Java「っぽく」書けるようにした言語
個人的にはWindowsでプログラミングをしたいならC#が最強だと思っている
Javaと同じように仮想機械上で動作し、一応はマイクロソフト製だからといってWindowsだけがターゲットではない



19: 名無しさん@おーぷん 2015/04/18(土)18:41:40 ID:uO0
LISP:
歴史的にはかなり古く、シンプルな言語
プログラムをリスト(数字やデータの並び)で捉えて処理していくため、CやC++などとはかなり異なる雰囲気をもつ
見た目が括弧ばっかりになるので慣れないと読みにくいが、複雑な処理をシンプルに表現する喜びを覚えると病みつきになってしまう
はやりの関数型プログラミング言語の祖のような存在



22: 名無しさん@おーぷん 2015/04/18(土)18:43:50 ID:FAE
>>19
拡張移植が容易で多くの方言がある
入れたほうがいいだろ



20: 名無しさん@おーぷん 2015/04/18(土)18:42:17 ID:YyQ
ためになる



17: ◆Eefzw8GqBpVo 2015/04/18(土)18:33:24 ID:Vq1
PHPもくらさい



26: 名無しさん@おーぷん 2015/04/18(土)18:49:29 ID:uO0
PHP:
もともとはHTML生成に特化した言語
現在ではwebプログラマにとってJavaScriptと並んで必須の言語で、こちらはサーバサイドを担当する
見た目の雰囲気はC/C++によく似ているが、型システムや配列の扱いなどに独特な部分も多く、
どちらかというとJavaScriptに近い



21: 名無しさん@おーぷん 2015/04/18(土)18:43:14 ID:UkO
Objective-CとSwiftについても希望



31: 名無しさん@おーぷん 2015/04/18(土)18:59:26 ID:uO0
Objective-C:
C++とは異なる哲学でCにオブジェクト指向プログラミング機能を追加した言語
Smalltalkという「本来のオブジェクト指向プログラミング」を体現した言語にも連なり、
個人的にはC++よりもこちらのほうが「オブジェクト指向とはなにか」を説明しやすい
後述のSwiftが登場するまでは、ほぼ唯一のOS X/iOS向けアプリ開発言語だった


Swift:
2014年登場のかなり新しい言語
発表の際に「Objective-C without the C」(Cを取り除いたObjective-C)と題されたように、
Objective-Cにあった冗長性や古臭さをできるだけ取り除いて、最新のトレンド(関数型プログラミングなど)も追加した言語になっている
ただし(今のところ)オープンソース化されていないのでコンパイルも動作もOS X/iOSのみ




24: 名無しさん@おーぷん 2015/04/18(土)18:44:48 ID:yYU
VBAも言語だよな。



28: 名無しさん@おーぷん 2015/04/18(土)18:54:07 ID:D2z
rubyもおね



36: 名無しさん@おーぷん 2015/04/18(土)19:08:15 ID:uO0
VBAは汎用プログラミング言語じゃないので軽く触れる程度にしておく

VBA:
Visual Basic for Applications
Visual Basicという(一応)BASIC言語の派生言語でマイクロソフト製のアプリを操作するための言語
基本的にエクセルでしか使わない


Ruby:
日本製のスクリプト言語
日本製ということで日本語のドキュメントやコミュニティ数が豊富、国際標準化もされたので、
現在はPythonと二大スクリプト言語となった
Perlの後継言語的な用途が多いが、見た目や使用感はかなり異なる



42: 名無しさん@おーぷん 2015/04/18(土)19:18:33 ID:uO0
Forth:
スタック指向、逆ポーランド記法を採用した一見すると一発ギャグのような言語
その実、ハードウェアの仕組みに近いシンプルな記述が可能なため、組み込みシステムに一定の需要がある
まあ日本でプログラマをやっているとまずお目にかからない


BASIC:
名前に「初心者向け」と入るほどわかりやすくシンプルに作られた言語
初心者向けだが汎用言語なので一応はどんなプログラムも書ける
その昔、「パソコン」といえば「BASICでプログラムが書けるコンピュータ」を意味したほど普及していた
古い言語だけあって方言が多く、最初期のBASICと最新のVisual Basicでは見た目も機能もかなり異なる



32: 名無しさん@おーぷん 2015/04/18(土)19:00:01 ID:yYU
FORTHという謎言語。

ハード寄りで良さげだけどレベル高すぎて追いつけなかった(´・ω・`) ショボーン



38: 名無しさん@おーぷん 2015/04/18(土)19:10:58 ID:y5C
>>1 1がプログラムできる言語を、全部列挙せよ。 



43: 名無しさん@おーぷん 2015/04/18(土)19:24:17 ID:uO0
Brainfuck:
名前のとおり書いていると脳が犯されるような感覚に陥る言語
<>+-.,[]の8文字だけでプログラムを記述する
やっていることはメモリの操作そのもので、brainfuckを完璧に理解するには、
コンピュータの物理的・理論的なしくみに対しての深い理解が必要

>>38
C
C++
C#
Java
Scala
Haskell
Objective-C
Swift
Kotlin
Python
Ruby
Rust



44: 名無しさん@おーぷん 2015/04/18(土)19:29:27 ID:uO0
Perl飛ばしてた

Perl:
一昔前はスクリプト言語でもっとも人気があった
CGI(webページのアクセスカウンタや掲示板を作るしくみ)といえばPerlだったし、
ファイル内の文字列を処理するのにもPerlを書いていた
しかしいつの間にかPHPやPython, Rubyにとって変わられ、今ではあまり学習者もいない
Perl 6という規格があるが、こちらは5.xまでとはまったく互換性がない別物



45: 名無しさん@おーぷん 2015/04/18(土)19:29:47 ID:LN6
>>1
いや、お前の知識もかなり偏ってて怪しいよw



47: 名無しさん@おーぷん 2015/04/18(土)19:33:03 ID:uO0
>>45
書いててわかったけど、簡単に説明しようとするとどうしても足りない部分が出てきてしまう



49: 名無しさん@おーぷん 2015/04/18(土)19:34:44 ID:LN6
>>47
つかさ、マジでこんなとこでこういうのやんないでくれる?
明らかに間違った知識ばらまかれるのも困るし、かといって真面目に相手にするのもバカらしいし。
ほんとに自信があるなら、プログラム板とかでやれよ。
あそこなら、間違ってりゃちゃんとツッコミも入れられるし、それをやるやつもいるし。



50: 名無しさん@おーぷん 2015/04/18(土)19:35:40 ID:uO0
>>49
説明が足りないのは認めるけど、間違ってはいない



51: 名無しさん@おーぷん 2015/04/18(土)19:37:01 ID:LN6
>>50
のっけから間違ってたくせに何いってやがるw

自信がないから、こんなところで素人相手にえらぶってみせようというんだろ。
うざいからやめろ



53: 名無しさん@おーぷん 2015/04/18(土)19:37:59 ID:uO0
>>51
間違いだと思う部分を指摘してくれ
詳しく解説するから



60: 竜◆CYrvU9cCbE 2015/04/18(土)20:37:26 ID:Nd1
ただ煽りたいだけのアホだろ
相手にする価値はないと思う
(´・ω・`)y-~



52: 名無しさん@おーぷん 2015/04/18(土)19:37:55 ID:y5C
>>1
C++ を例題に使って、OOPについて、具体的に実例を使って解説してくれ。



57: 名無しさん@おーぷん 2015/04/18(土)19:48:53 ID:uO0
>>52
「最初のOOP」の核となる概念は「オブジェクト同士がメッセージを送りあう」の一言で、上で書いてる「C++のOOP」とはかなり異なるのを前提として具体例を挙げると

#include

struct Foo { // Foo型のオブジェクト

void say(std::string message) {
std::cout << message << std::endl;
}

}

int main() {
Foo foo; // オブジェクトの実体(インスタンス)をつくる
foo.say("hello"); // sayというメッセージを"hello"という文字列と共に送る
}

OOPのキーワードにはカプセル化や多態性などがあるけども、これが一番シンプルなOOPのコード



58: 名無しさん@おーぷん 2015/04/18(土)19:55:07 ID:lzk
>>1にあるスレに比べたらよっぽど正確だよ



5: 名無しさん@おーぷん 2015/04/18(土)18:10:14 ID:WvW
37歳の知識ゼロやけどJavaとかいうのから始めたらええんか?



7: 名無しさん@おーぷん 2015/04/18(土)18:11:36 ID:UkO
>>5
何をやりたいかによる



8: 名無しさん@おーぷん 2015/04/18(土)18:13:58 ID:WvW
>>7
その質問の答えに窮する
別にこれといってやりたいというのはないけど何かやりたいねん
これはやっといて損はないぞ的な取っ掛かりが欲しいねん



10: 名無しさん@おーぷん 2015/04/18(土)18:18:16 ID:UkO
>>8
おおまかに言ってもゲームを作りたいとか、Webサイトを作りたいとかないのか?
そういう目的が無いのなら多分モチベが続かないから厳しい



11: 名無しさん@おーぷん 2015/04/18(土)18:20:35 ID:TaS
>>8
pythonとかのスクリプト系をやっとけばいいんじゃね



64: 名無しさん@おーぷん 2015/04/18(土)22:33:30 ID:WvW
>>10
そっか(´・ω・`)
色々考えてみる

>>11
ありがとう
調べてみる
http://hayabusa.open2ch.net/test/read.cgi/news4vip/1429348010/
スポンサードリンク