【トレンド】開発言語にJavaはもう古い!次の主流は「関数型」言語★2

このエントリーをはてなブックマークに追加
1春デブリφ ★
 
「少数精鋭の開発メンバーで、短期間に新しい検索サービスを始められた」。
特許情報などの無料検索サービスで200万人以上の会員を抱えるアスタミューゼ。
同社でサービス開発を統括する三木隆史プラットフォーム事業部部長は、こう語る。
スピードの秘密は、開発言語選びにあった。

同社が採用したのは、業務系システムの開発で主流になっているJavaでも、
Webシステムで人気を博すRubyやPythonでもない。「関数型プログラミング言語」と
呼ばれるオープンソースの開発言語の一つ、「Scala(スカラ)」だ。

Scalaは今、世界的な注目を集める。米ツイッターや米リンクトイン、
英ガーディアンなど海外の名だたる企業が自社サービスの開発に採用したことで
一気にその名を知らしめた。Scalaの推進企業である米タイプセーフは2012年8月に
1400万米ドル(約11億円)の資金を調達。
Webアプリケーションや分散処理システムに向けたフレームワークを拡充している。

イカソース
http://itpro.nikkeibp.co.jp/article/COLUMN/20130112/449223/
※前(★1:2/04(月) 16:17:44):http://uni.2ch.net/test/read.cgi/newsplus/1359962264/
2名無しさん@13周年:2013/02/05(火) 07:38:45.28 ID:IwD55kFK0
これ参考にしたら100万稼げた

http://info--spying.seesaa.net/

マジでおすすめ
3名無しさん@13周年:2013/02/05(火) 07:39:00.34 ID:otr1iX4G0
何年前から同じこといってんだよ。
4名無しさん@13周年:2013/02/05(火) 07:39:46.94 ID:8OT1pF/l0
F#の時代
5 忍法帖【Lv=40,xxxPT】(1+0:5) :2013/02/05(火) 07:40:11.34 ID:M80ChtD+O
ドラクエ7リメイクのステマ
6名無しさん@13周年:2013/02/05(火) 07:40:50.98 ID:53esIxYf0
 
パラメータ言語最強
 
7名無しさん@13周年:2013/02/05(火) 07:42:36.01 ID:A89xx9q3O
関数はいやだ関数はいやだ関数はいやだ
8名無しさん@13周年:2013/02/05(火) 07:43:02.37 ID:UJxGV7Jp0
ScalaはJavaプラットフォーム(Java仮想マシン)上で動作し・・

えっ?!
9名無しさん@13周年:2013/02/05(火) 07:44:17.53 ID:hqXgGj9LO
いや、普通に日本語にしろよ
10名無しさん@13周年:2013/02/05(火) 07:45:04.64 ID:EAfdR/500
俺、非ノイマン型言語を開発中。原案を考え付くの恐ろしく思考実験の繰り返し
だった。
11名無しさん@13周年:2013/02/05(火) 07:46:10.81 ID:UrnIEaW6O
BASICじゃだめなん?
12名無しさん@13周年:2013/02/05(火) 07:46:37.60 ID:7CtO9lYf0
時代はアセンブラ
13名無しさん@13周年:2013/02/05(火) 07:47:54.92 ID:hsA7ULj70
scalaの特徴

>Javaの豊富なライブラリが使える(.NET Framework上で実行する場合、.NETのライブラリが使える)

>型(クラス)をJavaなどと比べてより容易に作ることができ

javaが古くなったら困りそうな言語だが?
14名無しさん@13周年:2013/02/05(火) 07:48:18.99 ID:aCbxmdOz0
Cも古いけど、後釜になる言語とコンパイラを作る余裕さえないだろw

こういう感じで流行りを演出する頭の悪さは良いんだけど、
検索サービスとかで、関数型言語にアドバンテージがある、って話を
JAVA並みのGUIを持つ新しい何かと
拡大解釈しちゃって勘違いするIT素人クライアントが増えるのが一番困るんじゃないか?
15名無しさん@13周年:2013/02/05(火) 07:49:55.01 ID:wJ+aghvpP
関数型言語=Lisp, Scheme, Haskell, OCaml, ML, Clean, Miranda, Scala, Erlang, F#, etc.
CとかPascalとかは関数型言語じゃありません。
16名無しさん@13周年:2013/02/05(火) 07:50:45.99 ID:VGMzOVyb0
ビジネスを言語と絡め、いかにも新しいモデルのように売る。

人間が書く限りダメだろ。
17名無しさん@13周年:2013/02/05(火) 07:54:12.68 ID:z9iz8iwt0
>>13 そもそも、Java のライブラリがそのまま使えるわけじゃない。
18名無しさん@13周年:2013/02/05(火) 07:54:16.04 ID:VFnNlcpl0
世界一優秀な言語はハングル

ハングル・イズ・ベスト
19名無しさん@13周年:2013/02/05(火) 07:54:17.07 ID:cV+kYP0Q0
>>14
JavaでGUI組むシステムって多いの?
20名無しさん@13周年:2013/02/05(火) 07:55:08.51 ID:17832Odc0
またマニアックな方向に・・・
21名無しさん@13周年:2013/02/05(火) 07:55:34.12 ID:HpkT2cYoO
prologの時代はいつ来ますか?
22名無しさん@13周年:2013/02/05(火) 07:55:44.95 ID:I8G1b03t0
scalaでアノテーション使えるの?
23名無しさん@13周年:2013/02/05(火) 07:55:58.90 ID:gyP9DeF60
速さだけ追求して
サーバーの管理やセキュリティは何も考えてません
って記事にしか思えない。
24名無しさん@13周年:2013/02/05(火) 07:56:56.98 ID:Hrxzobln0
これからは関数型(笑)
25名無しさん@13周年:2013/02/05(火) 07:57:04.13 ID:ideF9by80
2?
26名無しさん@13周年:2013/02/05(火) 07:57:47.28 ID:90Mr+Ngs0
何この流行らせようとしている感
はいもうこの手のやつは終了ww
27名無しさん@13周年:2013/02/05(火) 07:58:08.54 ID:uz8CUkqM0
最近は客先でJavaかPHPでWebシステムの設計、作成、保守してる。
30才年収450万。未来はあるのか
28名無しさん@13周年:2013/02/05(火) 07:58:35.77 ID:UnRRj8RRO
>>18
チョン・ニダは帰れ!
29名無しさん@13周年:2013/02/05(火) 07:58:37.84 ID:zLWlNZ2P0
>>19
インターフェースはなんでもいいんじゃね?
FlashでもVBでも。
30名無しさん@13周年:2013/02/05(火) 07:58:44.92 ID:nU/u5TJ7O
>>19
JAVAのGUIなんて死んでると思うが
31名無しさん@13周年:2013/02/05(火) 07:59:06.21 ID:PjW4BXzQ0
コンピューターの言語って知らないけど、なんで英単語や数式?を入力するとコンピューターがそれにしたがって電気信号のオンオフをするんだ?
その間にあるものは何?
32名無しさん@13周年:2013/02/05(火) 07:59:12.78 ID:JXsNRT00T
業務系システムの主流であるJavaでも


おいおい^^;
33名無しさん@13周年:2013/02/05(火) 07:59:25.83 ID:3UTixlTEP
ゴミ言語をこれ以上出すな
34名無しさん@13周年:2013/02/05(火) 07:59:31.48 ID:62gx6fUI0
Javaの仮想マシン上で動き、内部的にJavaのライブラリを使うくせに
「Javaはもう古い!」ってバカなの? 死ぬの?
35名無しさん@13周年:2013/02/05(火) 08:00:31.16 ID:z9iz8iwt0
>>21 二度ときません。

>>22 一応使える。評判は良くないけど。
36名無しさん@13周年:2013/02/05(火) 08:00:38.07 ID:BbMY3SjR0
おまえらニートじゃなかったのかよ優秀だな
37名無しさん@13周年:2013/02/05(火) 08:01:19.59 ID:96CbKP0C0
>>32
ソースはオンライン処理限定ってことで言ってるのかな。
38名無しさん@13周年:2013/02/05(火) 08:02:25.73 ID:zLWlNZ2P0
日本で数人しか書けない言語使いだったが、収入に結びつかなかったなァ。
39名無しさん@13周年:2013/02/05(火) 08:03:59.30 ID:zOJUg+mI0
>>38
数人しか書けない=その案件がない、だからな
40名無しさん@13周年:2013/02/05(火) 08:04:42.81 ID:gPKP1vok0
>>14
ScalaはJavaとのライブラリ互換性あるんだけど・・・
お前が素人じゃね
41名無しさん@13周年:2013/02/05(火) 08:04:44.96 ID:0OiXglKM0
実態はHTML5+JavaScriptへ進みそうだけど
42名無しさん@13周年:2013/02/05(火) 08:06:41.40 ID:FTkh/aHz0
大して難しいわけでも無いな

ただ、売りに得意なケースの業務をやってないわ
43名無しさん@13周年:2013/02/05(火) 08:06:49.02 ID:lc2zfslv0
>>41
HTML5はまだ分からんけど、JavaScriptに進むのは間違いないな
44名無しさん@13周年:2013/02/05(火) 08:06:54.36 ID:z9iz8iwt0
>>38 ちなみにどの言語?一般に名前の知られた言語で数人しか書けない、ということはさすがにないと思うが。
45名無しさん@13周年:2013/02/05(火) 08:07:11.12 ID:5B02Z++k0
コボラー最強伝説
46名無しさん@13周年:2013/02/05(火) 08:07:39.01 ID:wIvGRUNyO
もうなんか統一してよ
47名無しさん@13周年:2013/02/05(火) 08:08:53.63 ID:TyOtmFJL0
オレの理解では、
 手続き型言語:COBOL、Basic、FORTRAN、C、Pascal
 非手続き型言語=オブジェクト指向:Smalltalk
 関数型言語:C、Pascal、Lisp、ADA、JAVA、Ruby
 第五世代コンピュータ:Prolog
 データベース言語:SQL
 ジョブ制御言語:JCL
 マクロ言語:emacs、秀丸、VBA
 スクリプト(フィルタ)言語:JavaScript、Python、Shell、Perl、PHP、sed、AWK、ASP
 マークアップ言語:HTML、XML
といった所だったのだが、間違いだったというのか。。。

どうせ、また新しい詐欺じゃないの?
48名無しさん@13周年:2013/02/05(火) 08:08:55.28 ID:NEgmTsEvO
じぁばはセキュリティ的に敵と見なされてる


オワコン
49名無しさん@13周年:2013/02/05(火) 08:09:04.67 ID:HpkT2cYoO
>>38
日本に数人しか居ない魔法使いと空目した
50名無しさん@13周年:2013/02/05(火) 08:11:40.18 ID:pEcgeZsP0
>>47
半分位間違っててわロタ
間違ってるのに言葉だけよくそんなに知ってるなー
51名無しさん@13周年:2013/02/05(火) 08:11:55.57 ID:ideF9by80
関数型って古いだろ
数年前にこういう感じで話題になってscalaとか出てきたり
オブジェクト指向の言語が関数型の特徴取り込んだりしてきたけど






関数型ってなに?
52名無しさん@13周年:2013/02/05(火) 08:12:27.84 ID:zhsAWviYP
は?
53名無しさん@13周年:2013/02/05(火) 08:12:43.33 ID:wIvGRUNyO
>>44
あれじゃね、昔あった日本語のやつ
54名無しさん@13周年:2013/02/05(火) 08:13:30.86 ID:HpkT2cYoO
>>52
Pちゃんは黙ってろ!
55名無しさん@13周年:2013/02/05(火) 08:13:31.86 ID:VHMae49i0
F# バハーイ教
Commonlisp 仏教
java 原理主義キリスト教
C ユダヤ教
機械語 神道 アミニズム
56名無しさん@13周年:2013/02/05(火) 08:13:37.35 ID:koSXHq42O
風呂釜そうじ困るなあ
57名無しさん@13周年:2013/02/05(火) 08:13:43.40 ID:pd7bWCOK0
こんなこと言って、最盛期にはJavaからRubyへ(笑)とか言ってた
Rubyも互換性だなんだのすったもんだして広がりきれず停滞の道をたどってるな。
まあRubyはRailsしかないという致命的な問題があるけど。
今のScalaにPlay!フレームワークしかないっけ。
58名無しさん@13周年:2013/02/05(火) 08:13:46.88 ID:M/Hp5wc60
Web系はクライアントサイドの簡易言語が充実してきたから
サーバサイドで書く事なんて手続きだけになってきたのは事実
関数型への回帰はそんなにズレてはいないけれども
古くなったというより役割分担が進んで用途が狭くなってきたという感じ

一方でクラサバやメインフレームが生き残ってる古参大手では
VBとかVBSとかCとかCOBOLとか普通に使ってるから
こういう新生児が普及するかどうかは考え物だなぁ
59名無しさん@13周年:2013/02/05(火) 08:14:38.25 ID:3WIpyDU80
なるほど、さっぱりわからん
60名無しさん@13周年:2013/02/05(火) 08:15:59.59 ID:z9iz8iwt0
>>47 惜しいような、惜しくないようなww 知識があるんだか、ないんだかww

>>51 関数型の歴史は古い。昔からある。

>>53 なるほど、その類ならありえるなw
61 ◆65537KeAAA :2013/02/05(火) 08:16:31.09 ID:abWiqw2r0 BE:114156375-PLT(13000)
新しい言語を採用して開発工数下がるわけねぇだろ
62名無しさん@13周年:2013/02/05(火) 08:18:20.35 ID:/zremj2s0
どの言語使おうとできるものが同じで保守がさほど変わらないなら関係無いだろw
アホ過ぎ。トレンドも糞もあるかよw
63名無しさん@13周年:2013/02/05(火) 08:18:41.76 ID:pd7bWCOK0
>>58
顧客がIE6から脱却してくれれば俺もバリバリそっち方面に方向転換するんだけど…。
あと数年は無理そうなんだわー。
64名無しさん@13周年:2013/02/05(火) 08:19:38.95 ID:z9iz8iwt0
>>57 Play! 以外にも Lift があるよ。
65名無しさん@13周年:2013/02/05(火) 08:20:47.61 ID:hFI/NyrG0
無駄な言語を次々と作りやがってw
特にスクリプト言語は無駄に多すぎる
JavaScript、PHP、Rubyだけで十分
66名無しさん@13周年:2013/02/05(火) 08:23:04.63 ID:OEluZQ/lO
COBOLを主体にFORTRANで作られた関数を呼び出し自動設計CADを作ってた昔が懐かしい。
LISPにGOTOラベルもどきコーディングでMMインターフェース実装したのはかれこれ20年前。
67名無しさん@13周年:2013/02/05(火) 08:23:12.92 ID:zLWlNZ2P0
>>44
アプリケーション用の制御スクリプト。
なんかOOPの発案者が考えたらしいけど。
68名無しさん@13周年:2013/02/05(火) 08:24:56.38 ID:zCYB7hWh0
少数精鋭の開発メンバーなら
言語に大差はない
69名無しさん@13周年:2013/02/05(火) 08:25:31.83 ID:Lb+MRSa/0
プログラム覚えたいんだけど
windowsでゲーム作るにはどれがいいかな?C#でOK?
70名無しさん@13周年:2013/02/05(火) 08:26:14.54 ID:pd7bWCOK0
>>69
その用途ならC#でいい気がする。
71名無しさん@13周年:2013/02/05(火) 08:26:58.26 ID:bgPnK1P70
スカラー波((((;゜Д゜)))
72名無しさん@13周年:2013/02/05(火) 08:27:39.00 ID:uz8CUkqM0
>>69
HSP,C#,C++
お好きなものを!
73名無しさん@13周年:2013/02/05(火) 08:28:54.89 ID:z9iz8iwt0
>>67 レス、ありがとう。OOPの発案者というと、
Smalltalk まで遡るのか、あるいは俗に C++ のストラウストラップあたりかもね。面白いね。
74名無しさん@13周年:2013/02/05(火) 08:29:27.88 ID:MjUezo+jO
どうして人間はすぐに言語を開発するのかね。
元は01だけなら素直に01ですりゃいいのにね。
人間も脳みそにハードディスクと変換装置を組み込めば済む話なのになあ。
75名無しさん@13周年:2013/02/05(火) 08:30:10.26 ID:JhuUe/kl0
javaは久しぶりに触ったら機能不足で吐き気がした
まだapache commonsは標準じゃないし
関数オブジェクトが無くてたかがコールバック書くだけで糞めんどくさすぎ
mapのリテラルもないし
oracleだし

ゴミ
76名無しさん@13周年:2013/02/05(火) 08:32:33.12 ID:pd7bWCOK0
>>72
今更HSPはねえんじゃないかな…。
他二つはどっちでもと思うけど。
77名無しさん@13周年:2013/02/05(火) 08:32:53.21 ID:I8G1b03t0
C#つーか、マネージドコードはコードが丸見えになるのがなぁ。
ハックする側から見れば楽でいいんだけど、売る側から見たらとんでもない話だよな。
難読化ってパフォーマンスに影響しないのかな?
78名無しさん@13周年:2013/02/05(火) 08:32:54.92 ID:0JmDug4m0
>>10
> 原案

プログラム言語はともかく、日本語は不自由してるんじゃね?
79名無しさん@13周年:2013/02/05(火) 08:33:06.52 ID:m5iPdZ4u0
>>75
そこでScalaなんだろ
80名無しさん@13周年:2013/02/05(火) 08:33:18.50 ID:Lb+MRSa/0
>>70 >>72
ありがとー
HSPとC#あたりの本を買ってみます
81名無しさん@13周年:2013/02/05(火) 08:35:40.79 ID:iEgq6Jsi0
ふーん
82名無しさん@13周年:2013/02/05(火) 08:37:25.60 ID:7DCYEkAN0
>>43
TypeScriptはどうなん?
83名無しさん@13周年:2013/02/05(火) 08:37:34.29 ID:uz8CUkqM0
>>76
手軽に試すなら良いかなーと。
84名無しさん@13周年:2013/02/05(火) 08:38:54.71 ID:pd7bWCOK0
>>83
手軽っちゃ手軽だけどねえ…。ま、いいか。
85名無しさん@13周年:2013/02/05(火) 08:39:53.86 ID:438i9xkA0
>>31
モデリング、仮想化、抽象化というものだよ。
コンピュータ言語はその最初のステップ。
原理的にはマシン語打ち込むだけで2chサーバってできる。
原理的にはC言語のmain()関数一つでLinuxとその上で動くアプリも同時にできる。
だけど実際にはできない。
低レベルの信号ON・OFFだけの抽象化や関数一つの逐次処理モデリングでは人の考えが至らないので。
そこを埋めるものがモデリング。
86名無しさん@13周年:2013/02/05(火) 08:42:56.16 ID:OujDRUr40
>>84
なんでこういう業界のってこういった言い方の奴が多いんだろう。
プログラム言語よりコミュニケーション能力学んだほうがいいよ
87名無しさん@13周年:2013/02/05(火) 08:48:06.45 ID:aCbxmdOz0
>>86
「ねえ…」、「ま、」とか書く連中は何かのロールプレイをしてるんだと思う。

いわゆる厨二病患者だろう。
88名無しさん@13周年:2013/02/05(火) 08:49:23.27 ID:68iy2jdT0
形のない言語で大規模開発とか
発狂する
PHPは頭おかしい
89名無しさん@13周年:2013/02/05(火) 08:55:21.77 ID:B9zPdlu80
遅れている日本は新規のWeb開発でもPHP, Ruby , Javaで
始めたりするところが多いけどやっと日本でもScalaが流行り始めたか
90名無しさん@13周年:2013/02/05(火) 08:56:07.42 ID:uz8CUkqM0
今いるところ、PHPは小規模なwebサービスにしか使ってないな。
ほぼJava。だが未だにTomcat5.5。
パッチも当ててなさそうだから穴沢山あるかもしれんな
91名無しさん@13周年:2013/02/05(火) 08:59:05.79 ID:gPKP1vok0
>>89
海外はそれにPythonがあるぐらいだろ
Scalaなんてあっちでも稀だ
92名無しさん@13周年:2013/02/05(火) 09:00:12.20 ID:vBVTd/Kj0
>>88
昔よくそうやって 型がないって勘違いされたな。
93名無しさん@13周年:2013/02/05(火) 09:07:01.08 ID:ZFSfunF20
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

プログラミング言語人気ランキング(2013年1月)

1位 C
2位 Java
3位 Objective-C






33位 Scala
94名無しさん@13周年:2013/02/05(火) 09:10:06.39 ID:B9zPdlu80
>>93
人気と、言語の設計の良しあしは別物
JavaやObjective-Cがいい言語だと言ってる人ほとんどいない
95名無しさん@13周年:2013/02/05(火) 09:12:05.98 ID:Wwf74R0/0
だれかガンダムにたとえてください
96名無しさん@13周年:2013/02/05(火) 09:14:18.38 ID:TFMHdVPC0
>>93
すでに普及してるものを後追いで手を付けるのは凡人。
まだ普及してないものに先手を打って手を付けるのが成功者。
そういう意味ではまだ人気が低いscalaに今のうちに手を付けておくのは戦略としてはアリ。
97名無しさん@13周年:2013/02/05(火) 09:16:24.13 ID:2k61vfvH0
大規模展開するにはアホでも書ける言語が必要なのじゃ
98名無しさん@13周年:2013/02/05(火) 09:19:34.40 ID:WoEfmJWc0
関数型といえば
JavaScriptも忘れるな
99名無しさん@13周年:2013/02/05(火) 09:34:28.14 ID:gOuEvy4zP
>>97
その発想は間違いではないけど
日本は大部分がそれだから、ダメすぎる
100名無しさん@13周年:2013/02/05(火) 09:36:13.13 ID:kpmbv4b+0
いよいよLispの復権か
30年前の知識でなんとかなるかなw
101名無しさん@13周年:2013/02/05(火) 09:39:32.00 ID:gOuEvy4zP
しかし数ある関数型言語で、なぜScalaなんだ?
102名無しさん@13周年:2013/02/05(火) 10:09:34.65 ID:bqCZPO670
多くの職人の作業場には用途の同じような何種類もの道具がある。
プログラム言語も一緒だろう。局所々の作業に最適化された道具が増えていく。
それでいい。 これも、新参者風だから一時的にハイライトが当たっているだけ
103名無しさん@13周年:2013/02/05(火) 10:16:17.89 ID:qrhmKFinP
日曜プログラマーには流行の変化はきつい。もうおぼえらんないよう〜。
104名無しさん@13周年:2013/02/05(火) 10:32:02.93 ID:byk2i1bX0
JAVAの解説読むとこれはジャワであってジャバでは断じて無いとか、平気で書いて
いるけど、アメリカ人は普通にジャバって読んでいるんだぜw
105名無しさん@13周年:2013/02/05(火) 10:33:54.93 ID:cG0QJGCC0
JavaVMを使ってる時点でダメでしょう。
106名無しさん@13周年:2013/02/05(火) 10:34:03.91 ID:Wwf74R0/0
Javaの次はカケガワ
107名無しさん@13周年:2013/02/05(火) 10:35:09.34 ID:86GzAJ4r0
なんの知識もないんだけど、最近PCも買い換えたしゲーム作りに挑戦したい
ファミコンやスーファミレベルのゲームを作って
ウェブサイト上に乗っけるとしたら、どの言語が一番適してるの?
よくあるフリーゲームなんかが何で作られてるのかよく分からん・・・
108名無しさん@13周年:2013/02/05(火) 10:36:39.14 ID:RIYlGO130
>>107
Javascript
109名無しさん@13周年:2013/02/05(火) 10:40:42.83 ID:4vxjrQnSP
lispだな
110名無しさん@13周年:2013/02/05(火) 10:48:07.17 ID:86GzAJ4r0
>>108
じゃあとりあえずJavaScriptやってみるわ
さんくす
111名無しさん@13周年:2013/02/05(火) 10:51:08.77 ID:69dr1A+P0
プログラム言語は、Cに始まってCに終わる。

SCALAだって、Cで作ってるんだろ。w
112名無しさん@13周年:2013/02/05(火) 10:55:45.55 ID:8qe9BIkA0
>>1
これのどこがニュースですか?>春デブリφ ★
113名無しさん@13周年:2013/02/05(火) 10:58:26.87 ID:WBczzOme0
Scalaはレベルの低いIT土方を職替えさせるための言語だろ? 挫折させるにはいい言語だ。
114名無しさん@13周年:2013/02/05(火) 11:01:23.14 ID:ImJbEVdF0
構造化言語で関数型って、ただのC言語じゃないのん?
115名無しさん@13周年:2013/02/05(火) 11:01:46.35 ID:xwhlg61i0
Cに回帰か
116名無しさん@13周年:2013/02/05(火) 11:02:14.82 ID:eRlGLHyb0
関数型言語の「関数」はC言語でいう関数じゃない。

C言語は手続き型言語。
手続き型とは作業の手順を記述するタイプの言語。

関数型言語の「関数」は数学でいう関数。
f(x)とかg(x)とかのあれ。

オブジェクト指向では、状態とその操作を持つオブジェクトを
単位としてその組み合わせと相互作用でプログラムを
作るわけだが、関数指向ではそれを「関数」でやる。

割となじみがあるところだと、LISPとかXSLTも関数指向の
仲間だね。
117名無しさん@13周年:2013/02/05(火) 11:05:18.32 ID:eRlGLHyb0
>>112
確かに、関数指向って数年前には話題になってたよね。
ニュースどころか旧聞の方だな。
118名無しさん@13周年:2013/02/05(火) 11:10:57.37 ID:qysKrUqT0
関数型言語ってどういうものなのか聞いても調べても要領を得ないんだよね
結局使いこなさないと有用性も分からないみたいだし
そうなると
環境を整えて、言語を覚えて、クリティカルな何かを作って、それを応用する
までやんないと理解できないんじゃないかな、と
おぢさんは環境を整えるまでも行かないんだけどねw
119名無しさん@13周年:2013/02/05(火) 11:11:43.74 ID:bph9muyv0
ついにLotus Scriptが覇権を取るときが来たか。
120名無しさん@13周年:2013/02/05(火) 11:15:48.67 ID:Tlnx57CP0
高校のころ、学校でフォートランを習った
教科担任曰く「今時はまず使わないけどなー」
一つ下からコボルになった

いまだに、一度も役に立ったことが無いw
121名無しさん@13周年:2013/02/05(火) 11:17:00.08 ID:62gx6fUI0
○○言語はもう古い! これからはXX言語だ!

って、昔からコンピュータ雑誌の記事で煽るライターいるけど
その通りになったためしがないw

エッフェル言語は今はどうなったんだ?w
122名無しさん@13周年:2013/02/05(火) 11:27:44.97 ID:qEyv48tg0
仕様がしっかりしてりゃ、なんでもいいよ。
APIとかそっちの方がめんどくさい。

とりあえず、今はシーケンサのラダー図を書いてる。
機械制御面白い。
123名無しさん@13周年:2013/02/05(火) 11:31:26.88 ID:gOuEvy4zP
>>107
Python(言語)とpygame(ゲーム用ライブラリ)を使うとか。
124名無しさん@13周年:2013/02/05(火) 11:35:14.15 ID:62gx6fUI0
コンピュータ言語って、
既にいくつか習得した後は
どれも同じだろw
125名無しさん@13周年:2013/02/05(火) 11:39:05.89 ID:gOuEvy4zP
>>124
言語そのものの設計の良さ、既存ライブラリやAPIによって、
生産性はかなりちがってくるぞ。
126名無しさん@13周年:2013/02/05(火) 11:46:54.51 ID:aggxsEyfP
>>124
異なるパラダイムの言語を習得していればな。
CとPascalとFortranを習得しても、Smalltalkがうまく使えるわけではない。
127名無しさん@13周年:2013/02/05(火) 12:01:08.21 ID:5yxCi65X0
Javaはユーザーを危険に晒す糞言語
128名無しさん@13周年:2013/02/05(火) 12:05:04.99 ID:5LfERPOv0
C++でいいやん
129名無しさん@13周年:2013/02/05(火) 12:07:18.21 ID:zOJUg+mI0
>>107
何の知識もない奴がファミコンレベルとか無理。
おとなしくRPGツクールでもやってろ
130名無しさん@13周年:2013/02/05(火) 12:10:01.84 ID:rI9h9KP+0
オブジェクト指向とかBASIC野郎の俺には
いまいち分からないw
131名無しさん@13周年:2013/02/05(火) 12:11:25.66 ID:j0ur7YDN0
いやこれ★2はいらんかったろw

>>129
つかツクールでさくっと作れるようなタイプのゲームであれば
よほどの事情がないかぎり最初からツクール系選択しちゃうのが賢い
便利な道具や部品が最初からたくさん揃ってるわけだし
132名無しさん@13周年:2013/02/05(火) 12:13:14.54 ID:KNwXn42r0
前スレでemacsの話振って寝たら、予想以上にレスがついてて嬉しかった。
もう少し起きてれば良かった。
133名無しさん@13周年:2013/02/05(火) 12:19:36.69 ID:j0ur7YDN0
>>132
昔はviとかemacs覚えないとどうにもならんかったからなあ
134名無しさん@13周年:2013/02/05(火) 12:28:36.12 ID:hnLqfAng0
cap-xマスターの俺様には何も問題ない
135名無しさん@13周年:2013/02/05(火) 12:29:20.37 ID:62gx6fUI0
>>126
それはもちろんそうだ。
それぞれのパラダイムの代表的な言語を
一つか二つずつ習得しておけば
あとは同にでも応用が効く
136名無しさん@13周年:2013/02/05(火) 12:48:26.24 ID:mO2oWcxA0
前スレで再帰処理の話があったけど
再帰処理てそんなにつかうか?
階層構造を走査する場合は絶対必要だけどそれ以外に
使った記憶はあまりない。
※無いことはないけど思い出せない・・・

業務系プログラムなんでなおさらか
137名無しさん@13周年:2013/02/05(火) 12:52:44.86 ID:Vqd0W4xc0
関数型+論理型
138名無しさん@13周年:2013/02/05(火) 12:59:32.15 ID:BdYqvexG0
やりたい事ができれば、開発言語なんて何でもいい。敢えて言えば、ライブラリーや
フレームワークが充実しているのが条件かな。何かやる時に、全部考えなおさなくて
済むし、ある程度のセキュリティーの堅牢性が保証されているから、心理的な負担が
減る。
139名無しさん@13周年:2013/02/05(火) 13:02:22.41 ID:62gx6fUI0
言語なんて
どれでも同じw
140名無しさん@13周年:2013/02/05(火) 13:04:22.64 ID:wJ+aghvpP
Cを関数型言語だと思ってる人は、たぶん、
Cの前にPascalを覚えていた人なんではないかと。
Pascalは値を返さない手続きprocedureと値を返す関数functionとをキーワードで区別するのに対してCはキーワードによる区別がなくすべて関数だから。
でもここでいう関数型言語はそういう話ではない。
実際にHaskellとかを触ってみればわかる。
141名無しさん@13周年:2013/02/05(火) 13:15:29.65 ID:RIYlGO130
Java、C#、VBはかなりできる
Ruby、SQL、JSもできる
だけど関数型言語は何も知らない

多分戻り値以外にメソッドが変化を与えない言語なんかね
142名無しさん@13周年:2013/02/05(火) 13:35:25.95 ID:TDuhPXvQ0
ウチがいて、
ダーリンがいて、
面堂やメガネがいて…
143名無しさん@13周年:2013/02/05(火) 13:42:35.23 ID:pipzZlsK0
>>30
VBでも?
それってどうやるの?
JavaでDLL作るとか?
144名無しさん@13周年:2013/02/05(火) 13:45:34.18 ID:OujDRUr40
>>143
ちょっと何言ってるかわからない
145143:2013/02/05(火) 13:51:39.88 ID:pipzZlsK0
ごめんごめん
>>30じゃなくて>>29だった。
146名無しさん@13周年:2013/02/05(火) 13:53:48.54 ID:OujDRUr40
あーそういうことw
ユーザーインターフェースは何か得意なもので用意してあげて
システムはJavaってことじゃないのかな。
Servletで用意したAPIをVBで作ったクライアントから叩くとか
147名無しさん@13周年:2013/02/05(火) 13:59:46.78 ID:pipzZlsK0
>>146
クライアント側はVBでサーバ側はJavaってことか。
なるほどサンクス。
148名無しさん@13周年:2013/02/05(火) 14:00:44.03 ID:aggxsEyfP
>>136
> 前スレで再帰処理の話があったけど
> 再帰処理てそんなにつかうか?

すべてのループは再帰でも書けるし、逆にすべての再帰はループでも書ける。
考え方のアプローチが違うだけ。
高級言語のソースコード上で再帰で書いてあるからといって、
実行時も機械語で再帰で実行しなければならないこともない。

だから、再帰で考えるのが得意な人間なら、使いまくれるし、
(見かけ上)再帰で書いたほうが効率がいい言語なら、再帰をどんどん使う。
149名無しさん@13周年:2013/02/05(火) 14:02:15.55 ID:rcf8EGVe0
バイリンガルの多いスレだな。
150名無しさん@13周年:2013/02/05(火) 14:09:11.71 ID:E+fIWPAH0
ポインタなぶりまくって、オナヌーしてた頃が懐かしいな。
151名無しさん@13周年:2013/02/05(火) 14:20:50.96 ID:t41Dwqot0
goの時代は?
152名無しさん@13周年:2013/02/05(火) 14:22:33.65 ID:sggx1mo40
>>148
「すべてのループは再帰で書ける」は正しいが、すべての再帰がループで書ける訳じゃないぞ。
ごく単純な末尾再帰みたいな単純なものはループで書けるし、一般的にループの方が処理も早くなるが
木構造みたいな再帰的データを単純なループで書くのは不可能な場合がある。
153名無しさん@13周年:2013/02/05(火) 14:25:48.69 ID:FSXFq67H0
>>151
gone
154名無しさん@13周年:2013/02/05(火) 14:28:32.07 ID:WBczzOme0
>>153
sighですか。
155名無しさん@13周年:2013/02/05(火) 15:16:59.17 ID:M3XurboX0
道具が何であっても駄目なやつはだめだよ
腕の悪さをゴルフクラブのせいにしてみたり、筆のせいにしてみたりするのと似ている
156名無しさん@13周年:2013/02/05(火) 15:20:15.03 ID:xOK+AcuB0
>>27
10年後何してるか考えたら、必然的に…
157名無しさん@13周年:2013/02/05(火) 15:23:50.72 ID:mO2oWcxA0
>>148
レスありがと
アプローチの違いはわかるけど素直にループさせたほうが
分かりやすいくないかな・・・
他人の書いた再帰の処理を直すのは結構こわいかもw

再帰が得意でそれを良く使う人はあまりみたことないけど
分野によるのかな?

>実行時も機械語で再帰で実行しなければならないこともない
マシン後レベルも再帰でされているような気がしますが
158名無しさん@13周年:2013/02/05(火) 15:26:12.93 ID:mO2oWcxA0
>>152
>木構造みたいな再帰的データを単純なループで書くのは不可能な場合がある。
これぐらいでしか再帰を使ったことないし、これをループで実現する方法もしらないw
Max5段とか上限きればできるとおもうけど
159名無しさん@13周年:2013/02/05(火) 15:26:59.98 ID:lluA0gH+0
Javaは、更新がウザイ!

今更、scala?

関数型言語なら、N88−Lispにしとけ。
160名無しさん@13周年:2013/02/05(火) 15:32:14.32 ID:+tfCssFqO
perlに不可能はない!
161名無しさん@13周年:2013/02/05(火) 15:36:05.14 ID:7h3z8eGH0
Haskellってバグ出たら逃げたくなるよね
162名無しさん@13周年:2013/02/05(火) 15:46:04.50 ID:Hidg/BSn0
おれのFirefoxは自動的にJAVAを無効化した。
163名無しさん@13周年:2013/02/05(火) 15:50:21.03 ID:HOzOOIvC0
まだPythonやってた方がマシ
164名無しさん@13周年:2013/02/05(火) 15:53:23.46 ID:/L1W670U0
>>158
動的なデータ構造(スタック)を使えばできる。
極論すれば、ifとgotoと十分に大きなメモリがあれば、何でもできる。
理論上の話な。
165名無しさん@13周年:2013/02/05(火) 15:54:48.89 ID:KNwXn42r0
>>163
そろそろRubyが勝手にしぼんでいくと思うから、
今からなら俺もPythonやってたほうがマシだと思う。
166名無しさん@13周年:2013/02/05(火) 16:01:40.22 ID:NBNR6n2d0
ハッキリ言って言語なんてなんでもいい。
頭の中で綺麗な論理を描けるヤツだけが職業プログラマーになってくれれば全ての問題は解決する。
それが出来ないヤツはどんな言語でもカスプログラムを書く。
167名無しさん@13周年:2013/02/05(火) 16:20:47.72 ID:gOuEvy4zP
Rubyは悪くないけど、プロジェクト体制がだめすぎたね。
まあ、それも日本らしいというか…

Pythonの盤石の体制とくらべると、
仕事で採用する気がまったく起きない。
168名無しさん@13周年:2013/02/05(火) 16:30:38.37 ID:IOGzlVZai
Python3がコケなかったら、磐石の体制とか言われても否定はしなかったがなw
そもそもお前に採用されなくても日本じゃRubyの求人のほうが圧倒的に多いし、Pythonの求人なんて5年後もレアだろ

今後はPerlやPHPはどんどんシェア減らして、その穴に来るのは今じゃフロントもサーバーもスタンドアローンもできるJavascriptだと思う
169名無しさん@13周年:2013/02/05(火) 16:36:21.59 ID:XY3a3Rly0
>>166
そういうやつはプログラマーで終わってくれないから、ずっとプログラマーやってるやつはカスが残る
170名無しさん@13周年:2013/02/05(火) 17:13:27.74 ID:eeP4Lfb50
オブジェクトにメンバ関数がある言語が関数型ではない。
少なくとも手続型ではない。並列化、マルチコア対応のためだろ。



「純関数型言語には副作用がない」
命令型言語の関数内でグローバル変数を返り値となる値に代入したり、
関数内でグローバル変数に値を代入したりするとプログラムの”状態”が変化する。
これを副作用という。副作用があると同じ関数に同じ引数を代入しても時と場合により返り値が異なる。
純粋関数型言語には副作用がないので並列処理安全性が保たれる。
http://www.conit.co.jp/conitlabs/?p=235



副作用を考慮した関数型問い合わせ言語の並列性に関する研究
http://kaken.nii.ac.jp/d/p/17700041



関数型言語自体は自分が学生だった頃より前からあるので、歴史は長い。
でも最近改めて注目を集めている理由は、大量データを処理しなければならないのが現実化してきており、
その為には分散(並列)処理するのが現実的だが、その為のデータの取り扱いが関数型の考え方だと都合が良いから。
並列・分散して処理させる為には、共有しているデータ(グローバルなデータへのアクセス)は無い方が楽。
つまり副作用が無い方がよい。
という訳で関数プログラミングは副作用が無いプログラミングを突き詰めているので、関数型言語の特徴に挙げられるんだと思う。
http://www.ne.jp/asahi/hishidama/home/tech/lang/transition.html#h_functional_programming
171名無しさん@13周年:2013/02/05(火) 17:15:56.96 ID:PssZlAWV0
Forthの時代はまだかね?
172名無しさん@13周年:2013/02/05(火) 17:22:01.18 ID:cxu0lJLz0
オレはオールアセンブラで書いてるけど
173名無しさん@13周年:2013/02/05(火) 17:28:35.35 ID:eeP4Lfb50
過去50年間にビジネスで使われてきたプログラミング言語は、命令型言語です。
当時私は、大部分のプログラマーにとって関数型言語はあまりにも異質なため、市場に受け入れられるのは難しいだろう、と考えていました。
今でも、その気持ちは変わりません。しかし私は、関数型言語の持つ素晴らしい生産性や強力さに次第にひかれるようになりました。

命令型言語とその欠点
命令型言語の持つ、「プログラムに対して、どうすべきかを伝える」というスタイルは、私たちが日々プログラミングを行う上での考え方に非常に深く根付いているため、
こうした特性を持たないプログラミング言語を想像することは困難です。例えば、次のような命令型の構成概念を考えてみてください。

代入
命令型言語のユーザーは、他のどんなプログラミング手法よりも、代入に依存します。例えば、ほとんどの関数型言語では、x=x+1は許されません。

繰り返し
命令型言語のプログラムは、様々なタイプのデータ構造を、繰り返しを使って処理します。

副作用
命令型言語において、異なる値を返す可能性のある全てのメソッドは、同じ入力に対して副作用を持っています。関数型言語には副作用がありません。

関数型言語を使ったことのない人には、破壊的代入や副作用のないアプリケーションの書き方など、想像もできないでしょう。
副作用があると、プログラムが正しいことを証明するために必要な計算処理が複雑になります。mutable(変更可能)な状態がなくなると、並列処理に関わる問題も、ほとんどなくなります。
信じられないと思う人もいるかも知れませんが、演算の順序を強制したり副作用を使ったりしなくても、効率的にプログラムを書くことはできるのです。

関数型言語は通常、次のような2つの特徴を持っています。

データが不変
純然たる関数型言語は、状態を保存したり取得したりするような演算に依存せず、また破壊的代入を許しません。

副作用がない
関数は、同じ入力を使って呼び出されると、常に同じ値を返します。

私を信じてください。関数型言語は役立たずではないのです。実際、言語の専門家達は一般的に、関数型言語は大部分のオブジェクト指向言語よりも高い抽象化レベルで動作すると考えています。
ttp://www.ibm.com/developerworks/jp/java/library/j-cb07186/index.html
174名無しさん@13周年:2013/02/05(火) 17:31:24.63 ID:mO2oWcxA0
>>164
そうですね^^
175名無しさん@13周年:2013/02/05(火) 17:45:11.71 ID:HwCx7+Cp0
関数型プログラミングの代表格といえばExcelシートじゃないの? 広く普及して誰でも気軽に使える最も優れたプログラミング言語の一つだと思う。
176名無しさん@13周年:2013/02/05(火) 17:48:21.65 ID:Mqzss0FA0
Javaでいいよ簡単だから
177名無しさん@13周年:2013/02/05(火) 17:51:41.18 ID:vEr7StXE0
>>47
もう、それでいいよ
178名無しさん@13周年:2013/02/05(火) 17:56:46.44 ID:+Ab+SL440
>>173
>一般的に、関数型言語は大部分のオブジェクト指向言語よりも高い抽象化レベルで動作すると考えています。
抽象化レベルが高いことが"目的"じゃねぇっつの…
オブジェクト指向はオブジェクトという"モノ"にみたてることで
スパゲッティが貼りついたり絡まねぇようにしてるってのに
もっとわかりにくく抽象的デスヨ?じゃねーよ
179名無しさん@13周年:2013/02/05(火) 17:58:17.88 ID:gE/JGoBz0
X68000ユーザー 「 トラッシュ・ミー(trash me) 」
http://anago.2ch.net/test/read.cgi/ghard/1360042283/l50
180名無しさん@13周年:2013/02/05(火) 18:04:40.47 ID:b+dUHoim0
数学者とかには関数型がいいかもしれないが、
高級言語使い(俺の中では関数型は低級言語)は手続き型じゃないと、
書くのはともかく補修が超大変になるんじゃないのか?
181名無しさん@13周年:2013/02/05(火) 18:06:11.85 ID:cG0QJGCC0
>>165
Pythonはメインの言語にはなれないとおもうなぁ。
組み込み言語としては使いやすいんだろうけど。
182名無しさん@13周年:2013/02/05(火) 18:08:35.99 ID:Wc9R3AN10
iphoneアプリ、Windowsアプリを売って生き残れ Ver 1.6
http://tinyurl. com/9w97424
183名無しさん@13周年:2013/02/05(火) 18:10:20.12 ID:z9iz8iwt0
>>180 記事のタイトルはあれだけど、Scala は純粋な関数型ではないから関数型を特に意識しなくてもコード書ける。

>>181 >>165 日本で Python 何で流行んないんだろうね。
海外の特に研究者とかの Python 好きは異常。オライリー本とか、Python のサンプルが多い。
184名無しさん@13周年:2013/02/05(火) 18:23:16.66 ID:cG0QJGCC0
>>183
欧米では、Perlを置き換えるスクリプト言語がPythonだったんだろう。
教育にも使われてるということだから、大多数のコンピュータサイエンス課程を取った技術者が
理解できるというのもあるかも。
日本は、Perlの次としてはRubyがあったからPythonが必要なかったというのが大きいだろうね。
185名無しさん@13周年:2013/02/05(火) 18:25:25.36 ID:IOGzlVZai
日本じゃ圧倒的にPHPだろ、PythonさらにRubyを片隅に追いやったのは
186名無しさん@13周年:2013/02/05(火) 18:26:54.60 ID:Wc9R3AN10
iphoneアプリ、Windowsアプリを売って生き残れ Ver 1.6
//matome.naver. jp/odai/2135693607255483201
187名無しさん@13周年:2013/02/05(火) 18:31:24.11 ID:C8bXG87U0
>>173
こういう論調を是とする人に訪ねるんだが、
技術的なレポートのはずなのに、
人の顔色をうかがうような論調がなぜ必要なんだろう。

感想文じゃねーかよ。ゆとりってこういう感じで隙あらば感情混ぜてくるんだけど
正直気持ち悪い。

内容は面白そうだから読んでみるけどw
188名無しさん@13周年:2013/02/05(火) 18:32:34.84 ID:F02X74en0
ocamlじゃないのか....
189名無しさん@13周年:2013/02/05(火) 18:33:55.03 ID:WT5GUo6i0
それでは一度注文した後,自社社員でチェックできなくなるって言う問題がある
190名無しさん@13周年:2013/02/05(火) 18:34:20.16 ID:z9iz8iwt0
>>184 なるほど、その通りかもしれん。Ruby は仕事で使うには少し厳しいんだがなぁ。。。

>>185 スクリプト言語とはいっても、ちょっと用途が違う。
191名無しさん@13周年:2013/02/05(火) 18:37:56.35 ID:IOGzlVZai
>>190
RubyはほぼRailsなように、サーバーサイドが主な仕様用途だろうが
JSみたいにフロント開発やるのが主流だったら初めて用途違うとかいっても言いがさ
192名無しさん@13周年:2013/02/05(火) 18:42:27.20 ID:z9iz8iwt0
>>191 あなたが Web 開発しか経験ないのは分かったw
193名無しさん@13周年:2013/02/05(火) 19:00:29.28 ID:b3qonc8Z0
Rubyでスタンドアローンアプリ組んでるとこなんかあるの?
194名無しさん@13周年:2013/02/05(火) 19:01:14.26 ID:kK6USMsc0
>>170
大雑把だけど少し読ませてもらった。数学でいうと関数というより作用素の表現だね。
dほど平行移動するってことをT_d、フーリエ変換することをFで表すよ。すると
f(x)をdほど平行移動してフーリエ変換するのは、F T_d fって書けるんだよって感じ。

作用素を使うと、数式の展開がものすごく早く筆記できる。数学屋さんは、好んでよくやる。
うちら工学屋は、それに必死でついていくのがやっとになる。
195名無しさん@13周年:2013/02/05(火) 19:02:40.77 ID:vBVTd/Kj0
短く書けるってのは、プログラムで悪いことではないもんね。
196名無しさん@13周年:2013/02/05(火) 19:10:30.85 ID:j0ur7YDN0
>>184
つまりあれかJSとかJCにPython教えればおkってことか! (`・ω・´)
197名無しさん@13周年:2013/02/05(火) 19:28:04.09 ID:fhr9b5Dti
>>192
簡単なテキスト処理とかファイル操作はPerlやRubyでやったが、飯が喰えるほどの仕事にあったことはないな
日本であったら教えて

やろうと思えばなんだってできるってのは最前提
198名無しさん@13周年:2013/02/05(火) 19:30:38.05 ID:JhuUe/kl0
+には知ったかしかいないんだな
199名無しさん@13周年:2013/02/05(火) 19:31:34.90 ID:7jZIWdFI0
ここまでTownsGear無し。
200名無しさん@13周年:2013/02/05(火) 19:38:03.95 ID:LFafj8+Z0
Scalaは関数型の要素もあるが、複合型の分類が一般的。
Java本体がOracle資本下で停滞してるから、
ScalaはGood Java的な意味合いで注目されている。
201名無しさん@13周年:2013/02/05(火) 19:44:10.59 ID:YYQs5WIfO
プログラミング全く分からない俺に関数をやさしく教えてください。

変数なら何となくわかる。
$あ=あいうえお
みたいに書いとけば以降は"$あ"って書いておけば、"あいうえお"と同義になるんだったっけ。
202名無しさん@13周年:2013/02/05(火) 19:45:12.92 ID:gPKP1vok0
>>201
関数というのはもう単なる手続きのひとかたまりと同然の意味になってきている。
203名無しさん@13周年:2013/02/05(火) 19:45:58.68 ID:eeP4Lfb50
>>194
違う一般の関数だ。
作用素っていうのは関数空間上の関数(写像)で、関数の一種。


作用素 - Wikipedia
数学において作用素(operator)とは、関数空間上の変換、すなわち関数を別の関数にうつす写像のことである。
主に、関数解析学におけるヒルベルト空間上の線型変換のことを指し、同じものを物理学の分野、特に量子力学などでは演算子と呼ぶ。
204名無しさん@13周年:2013/02/05(火) 19:48:58.07 ID:b3i92Jxb0
書式に概念はとりあえず置いておくとして


売りとして並列に強いって事だが
他言語に比べて、どれくらい強いの?
205名無しさん@13周年:2013/02/05(火) 19:51:18.19 ID:YYQs5WIfO
>>202
ありがとう。
手続きがまだピンと来てない。
例えば
住民票の手続き=印鑑、申請書、身分証明書
みたいな感じで、関数名が"住民票の手続き"になるの?
206名無しさん@13周年:2013/02/05(火) 19:53:48.46 ID:eeP4Lfb50
>>202
関数型と一般のプログラムとの関数の違いはそこだな。
C言語などの関数のほうが、関数型の関数(数学の関数)より
ある意味で一般化されていて時間の流れ、処理の流れの記述を許容する。手続きの記述ってことだが。
207名無しさん@13周年:2013/02/05(火) 19:54:51.32 ID:zLWlNZ2P0
>>73
SmallTalkに近い感じでしたね。
言語仕様が大改編されるまで変数は存在せず、
オブジェクトを生成して使うという回りくどい言語でしたわ。
208名無しさん@13周年:2013/02/05(火) 19:57:34.00 ID:kK6USMsc0
>>203
ご指摘ありがとう。たしかにその通りだ。
209名無しさん@13周年:2013/02/05(火) 20:00:06.68 ID:+8yQK8FB0
>>199
TownsGearなつかしいな。
HyperCardとかToolBookとか。
Smalltalk高すぎて使えなかったから、
オブジェクト指向って何?と知るために勉強したな。
面白かった・・・何の役にも立ってないな。
210名無しさん@13周年:2013/02/05(火) 20:03:14.49 ID:LbQGU6VJ0
Mathematicaの勝利!

Wolframバンザイ!


天才ハゲの先見の明!

Mathematica Ver9発売!
211名無しさん@13周年:2013/02/05(火) 20:13:29.05 ID:eeP4Lfb50
参照透過性 - Wikipedia

参照透過性は、文脈によらず式の値はその構成要素(例えば変数や関数)によってのみ定まるということを言う。
具体的には、関数は同じ変数を引数として与えられれば同じ値を返すということになる。
当然変数に値を割り当てなおす演算である代入 (Assignment) を行う式は存在しない。
このように参照透過性が成り立っている場合、ある式の値、例えば関数値、変数値について
どこに記憶されている値を参照しているかということは考慮する必要がない、即ち参照について透過的であるといえる。

参照透過性が成り立つ言語は、関数の数学的性質が保たれるという特徴から純粋関数型言語 (Pure functional language) と呼ばれたりする。
一方変数の値の変更が認められているような参照透過的でない言語を手続き型言語と呼ぶ。
また分散処理を記述する場合に、あるデータがどのノード上にあるかを意識せず透過的にアクセスできるという性質も参照透過性と呼ばれる。

参照透過性の有無は、計算理論上は言語の記述能力を左右しない。
代入はプログラム、またその要素である関数内での変数の変更を許す、つまり内部状態を作るため数学的にはチューリングマシンのような状態機械でモデル化できる一方、
純粋関数型言語はラムダ計算でモデル化できるが、両者で記述できるプログラムの集合は同一であることが証明されているからである。

関数値、変数値についてどこに記憶されている値を参照しているかということを考慮する必要がないということは記憶領域の使い方の管理が
プログラマの手から完全に離れているということを意味するため、プログラムの表現を簡明にすることに寄与する一方で、実行効率向上のためには言語処理系によるデータの管理と最適化を多分に必要とする。

このことはプログラムの動作を副作用の考察なしに追跡し、その実行をスケジューリングできるというようにプログラム理解を簡単にし最適化の可能性を広げる一方で、
変数で同期を取るような素朴な並行・並列処理プログラムは最早書けず、入力動作を表現するためには様々な工夫が必要となり、
スケジューリングに左右されないように出力を順序正しく行うためにも様々な工夫が必要となることを意味する。
212名無しさん@13周年:2013/02/05(火) 20:20:18.90 ID:8enyP1d/0
Lispがそれだって事しか知らない。
213名無しさん@13周年:2013/02/05(火) 20:23:58.19 ID:z9iz8iwt0
>>207 なるほど、興味深いですね。変数が存在しないのかw
Smalltalk 同様に理論を最優先した言語なのでしょうけど、回りくどいのは流行らないですよねw
214名無しさん@13周年:2013/02/05(火) 20:28:13.87 ID:eeP4Lfb50
みずほ情報総研:プログラミング言語のパラダイム・シフト―短期間で大規模Webサービス構築を可能にした裏側を見る―

2008年にTwitterは中核システムをオブジェクト指向から関数型と呼ばれるプログラミング言語で書き換えることで、より安定したサービスを提供できるようになった。
エンジニアの間でも関数型と呼ばれるキーワードが、複雑な処理を簡潔に記述できる技法として注目されつつある。
このような特性を持つ関数型言語は高い生産性が期待できるため、今以上に短い期間で様々なWebサービスが誕生することも考えられる。
関数型プログラミングは、処理手続きを記述するのではなく、「数学的な関数」を記述し、それを組み合わせることでプログラミングを行う技法である。
関数型プログラミングには次のような利点があると言われている。
データと処理手続きをセットで考えてプログラムを作るのではなく、関数自体をひとつの部品としてプログラミングを行い、その関数同士を柔軟に組み合わせることができる。
そのため、目的によってはオブジェクト指向プログラミングよりもプログラムを簡潔に書くことが可能になる。
数学的な関数は、処理順序にとらわれることなく計算ができるので、大量のデータを並列に処理することに向いている。
http://www.mizuho-ir.co.jp/publication/column/2012/0501.html


コンピュータサイエンス史上最大の課題「並列処理による性能向上」〜情報処理学会創立50周年記念全国大会の招待講演 − Publickey
並列処理を前進させるためにやることはたくさんあります。まとめると次の3つではないかと考えています。
自動パラレリズムとオプティマイゼーション
高レベルの用途特化型言語(DSL)
C、Javaのような汎用言語を排除する
http://www.publickey1.jp/blog/10/50.html
215名無しさん@13周年:2013/02/05(火) 20:30:57.52 ID:S25Qh/+h0
ハングルこそ至高
216名無しさん@13周年:2013/02/05(火) 20:33:39.34 ID:0VbO8JiK0
昔、人口知能型とか言われてたやつ?
217名無しさん@13周年:2013/02/05(火) 20:35:47.04 ID:/DnVnGoj0
カンフー型言語

 考えるな!感じるんだ!
218名無しさん@13周年:2013/02/05(火) 20:58:18.74 ID:WuAZd7rcP
ML以上に言語として何かメリットあるの?
219207:2013/02/05(火) 21:01:49.04 ID:zLWlNZ2P0
>>213
失礼。変数は存在してました。しないとどないにもなりませんw
配列がなく、配列を用いたい場合はオブジェクトを宣言して配列っぽく使うっていう事でした。
あと、SmallTalkと似てるといってもメッセージドリブンなだけで、
言語仕様はHyperTalkとほぼ同じって感じでした。

ちなみに大改正されたあとは配列など宣言もせずにいきなり
n[5] = "X"
と書いて
put n
とすると
["","","","","","X"]
などというお気軽な仕様になりました。

ちなみにオブジェクトは画像やら音声やらを登録し、
タイムライン上に並べ、
それらに対してスクリプトを貼付けていくという
FLASHっぽいソフトでした。

と、ここまで書くと数人というのも言いすぎた気がします。
220名無しさん@13周年:2013/02/05(火) 21:01:54.42 ID:+ahFHtdf0
FORTH いいよ、FORTH!
221名無しさん@13周年:2013/02/05(火) 21:21:12.14 ID:eekzWGNvi
>>152
ちょいと自前スタックに戻りポインタ積んでやりゃ良いだけだよ。
やる意味はあまりないけど、厳密に仕様が決まってて
処理系によらず処理可能な木構造の深さを保証したいときなんかには便利。
222名無しさん@13周年:2013/02/05(火) 21:42:21.22 ID:z9iz8iwt0
>>219 詳しい説明ありがとう!
へぇ、HyperTalk に似てるのか。HyperCard はけっこう流行ったよね。
オブジェクトによる配列の怪しげな扱いはOOP初期の頃には割とあったかもしれない。
でもこの仕様は知らないな、自分でも調べてみます。サンキューでした!
223名無しさん@13周年:2013/02/05(火) 21:42:45.04 ID:4Tjtmhzq0
どういうわけか
自分語りなスレ
 
224名無しさん@13周年:2013/02/05(火) 21:48:55.75 ID:UW3joANy0
IF
For(while/loop/until)

あとは四則演算と文字列結合。


これだけあれば何だって良いよ。
225名無しさん@13周年:2013/02/05(火) 21:57:42.81 ID:eeP4Lfb50
for(ループ)があるのは、明らかに純粋関数型ではない。
純粋関数型でなければコンパイラが並列最適化するのに不具合がでて
手続き型使うのと似たようなもの。
226名無しさん@13周年:2013/02/05(火) 22:00:48.97 ID:z9iz8iwt0
>>224 関数型のスレでループ持ち出すとはww
Scala の break 論争は未だに揉めてるのだよw
227名無しさん@13周年:2013/02/05(火) 22:01:12.99 ID:WuAZd7rcP
>>225

forループなんてsyntax sugarに過ぎないと思うんだが…
tail recursive で書き直せるし。
228名無しさん@13周年:2013/02/05(火) 22:09:04.91 ID:8Qvqm6Sm0
新興言語はライブラリの品質すっげーわりぃからなぁ・・・
実行時間がシビアな組み込み屋さんとかは嫌がるんじゃね?
C++も訳分からんコードごっそり呼び出して、実行時間全然予想できなさそうだし

三木さんってCELL向け開発に特化したスリースターズとかいう会社の
社長さんと同名じゃね?勘違いだったような
229名無しさん@13周年:2013/02/05(火) 22:13:49.70 ID:UW3joANy0
>>226
でも、最終的にはマシン語レベルに落ちるんだろ?
なら判断分岐のルート系と演算しか残らんだろうに。
230名無しさん@13周年:2013/02/05(火) 22:17:05.79 ID:j0ur7YDN0
>>224
gotoさんのこと忘ry
231名無しさん@13周年:2013/02/05(火) 22:18:50.38 ID:IZlFfuRu0
Rubyの時代はいつ来ますか(´・ω・`)
232名無しさん@13周年:2013/02/05(火) 22:29:47.78 ID:eeP4Lfb50
>>227>>229
並列最適化をコンパイラに任せるための関数型。
forは明示的に並列化の指示をする必要がある。parallel_forやparallel.forなど。
コンパイラが自動で並列化出来るなら、並列化用の特別な命令はいらないだろ。
233名無しさん@13周年:2013/02/05(火) 22:30:34.92 ID:6Oaw7egK0
LISP
234名無しさん@13周年:2013/02/05(火) 22:35:18.94 ID:dLlF1h4v0
>>120
未だに科学技術計算ではFortran使ってるぞ
235雲孤娘 ◆bKaGbR8Ka. :2013/02/05(火) 22:36:26.61 ID:BURSVjPb0
性の頭は関数型。
236名無しさん@13周年:2013/02/05(火) 22:41:57.07 ID:dwndW9/20
この言語もJavaプラットホーム上で動くのか。
wikipediaで少しコードが見れるが、perlくさいところもあるんだな。
perlって癖強すぎて嫌いなんだが。
237名無しさん@13周年:2013/02/05(火) 22:49:42.25 ID:xzMHFpf30
社内の仕事を見渡すと、Javaの仕事が大半みたいだけど。
238名無しさん@13周年:2013/02/05(火) 22:52:54.88 ID:C8bXG87U0
コンパイラ任せな人は並列化命令をつかい、
組み込みの連中はタスク優先度に従い、マルチコアで動くRTOSを使う。

後者は再入可能な処理を記述できる者限定だけど、
関数型言語なら簡単そうだよね。

組み込みこそ、次のステップで
C++の良く判らないマルチパラダイム言語使うよりも
関数型言語にシフトした方がスマートに作れるんじゃないかw
239婆 ◆HKZsYRUkck :2013/02/05(火) 23:00:17.89 ID:dhoWYPzd0
>>31
ソフトウェア(プログラム)とハードウェアとの関係を考え出すと、
そもそもコンピュータって何だかわからなくなるよね。
>>85も答えの一部ではあるけど、ちと上のレイヤーの話な気がする。

自動演奏オルガン、たとえばhttp://www.musical.jp/box/musicbox1/mb14.htm
みたいなやつでは、紙に開けた穴を通じて空気を吹き込み、
音楽を演奏する。これには論理回路(IF文の処理機構)がないから
コンピュータではないけれど、空気仕掛けだって実装できないことはない。
要はON-OFFのスイッチがたくさんあればいいんだよね。
240名無しさん@13周年:2013/02/05(火) 23:08:12.07 ID:j0ur7YDN0
>>31
CPUの中がどんな部品でできててそれがどんな感じで動くのかってのとか
機械語・アセンブリ言語の関係とか
その辺調べてみると面白いかもしれない
241名無しさん@13周年:2013/02/05(火) 23:09:16.19 ID:eeP4Lfb50
Scalaは、純粋関数型ではない。
明示的に並列化の指示をする必要がある。


スケーラブルで関数型でオブジェクト指向なScala入門
Scalaの並行処理とアクター、並列コレクション
http://www.atmarkit.co.jp/fjava/rensai4/scala10/01.html
242名無しさん@13周年:2013/02/05(火) 23:10:21.33 ID:kJLtLLtZ0
ム板でやたら関数型推しのキチガイがいるけど、また調子に乗りそうだな
243雲孤娘 ◆bKaGbR8Ka. :2013/02/05(火) 23:30:26.01 ID:BURSVjPb0
エクセルで関数使って勤務時間を集計するプログラムを
作ったのが性の本当の処女作だね。処女じゃないけど。
244雲孤娘 ◆bKaGbR8Ka. :2013/02/05(火) 23:33:37.75 ID:BURSVjPb0
自動車のエンジンコントロールユニットのプログラムって
何言語で書かれているの?

エーダ?
245名無しさん@13周年:2013/02/05(火) 23:40:46.25 ID:Y5ohzXYUO
javaにかけたバカが一言 ↓
246今日も雲孤 ◆bKaGbR8Ka. :2013/02/05(火) 23:46:23.78 ID:BURSVjPb0
ドコモシンビアンってどうなったの?
247名無しさん@13周年:2013/02/05(火) 23:51:15.71 ID:duxZM8Zy0
スマホ−サーバ型のシステムが主流になるのか
248名無しさん@13周年:2013/02/05(火) 23:53:46.87 ID:9tvB9vWq0
トップガンな少数精鋭でないとscalaなんて使いもんにならない
249名無しさん@13周年:2013/02/05(火) 23:54:16.26 ID:4ixJe8tu0
IPAがプロジェクトの採用言語を調べたら、1位Java、2位COBOLだったそうだよ。
250名無しさん@13周年:2013/02/05(火) 23:56:30.15 ID:MIzg0kF00
Lispは手続き型だろ・・・
関数型は、マルチスレッドには適してるけど、コード書きにくいよ・・・
251名無しさん@13周年:2013/02/05(火) 23:58:09.57 ID:duxZM8Zy0
>>249
いまじゃWindowsPCで動作するVisual COBOLなんてのもあるそうで・・・
252雲孤娘 ◆bKaGbR8Ka. :2013/02/06(水) 00:00:55.28 ID:BURSVjPb0
巡航ミサイルを開発したいから、いつか CASL-II と C は
覚えたい。
253名無しさん@13周年:2013/02/06(水) 00:05:14.80 ID:HkOY0ioS0
どの言語がいいかなんて宗教論争にしかならんよね
誰か最強の言語を開発しろよ
254名無しさん@13周年:2013/02/06(水) 00:07:42.40 ID:COBAqJsN0
関数型なら lisp でいいじゃん。
255名無しさん@13周年:2013/02/06(水) 00:07:51.55 ID:x2kDv4GK0
>>244
マシン語
256名無しさん@13周年:2013/02/06(水) 00:08:44.33 ID:aWEaPNXv0
ECUはアセンブラか最近はCかな
257名無しさん@13周年:2013/02/06(水) 00:09:09.98 ID:Cn5t/O+00
ユーザ目線からすッと、遅くて重いjavaなんぞ迷惑じゃがの〜^^
マシンの問題じゃなくて、比較ッて意味でだ。
作る側はユーザの使い勝手なんぞ、まるで気にしとらんよ〜じゃな。web系ではアホビ.swfも、一時大流行りじゃッたし。
まぁ、JavaSはコード書くんオモロいが、まさかjavaもそんなノリで‥‥んなワキャないの〜()
258今日も雲孤 ◆bKaGbR8Ka. :2013/02/06(水) 00:11:52.04 ID:q5FlqlT00
>>255-256

情報ありがとー。
259名無しさん@13周年:2013/02/06(水) 00:13:15.22 ID:KBtUsHzR0
どの言語を使うかなんて、
顧客の要望とか開発規模、開発スタイル、スタッフのスキル等、
総合的に判断して決めるもんだから、
一様に○○言語が一番なんて言う奴は信用できんよ。
260名無しさん@13周年:2013/02/06(水) 00:19:00.89 ID:qhw6fvnS0
関数型を学ぶために、遠回りして数学やってる。
最近は整数論。
関数型にたどり着くのか、というか、
あらぬ方向に行ってる気がしないでもない。
261名無しさん@13周年:2013/02/06(水) 00:51:42.00 ID:TyX/H2920
>>260

つ数学基礎論

でも、学ぶより慣れろで先にプログラムを作ることに注力した方が良いと思うけど。
それに関数型プログラミング自体はExcelを使ったことがあるなら、慣れてるはずだよ。

再帰とかはできない?けど、副作用がないところとか、セル=リストと思えばやってることは結構似てる。
262名無しさん@13周年:2013/02/06(水) 00:55:22.13 ID:QrakCUPp0
プログラムなんてしこしこ書くより数学のお勉強してる方が楽しいでしょ
263名無しさん@13周年:2013/02/06(水) 01:08:03.14 ID:GYuHc+gH0
>>260
Schemeやろうぜ!手を動かそうぜ!
ってLISPでもほかのでもなんでもいいけど
でもしScheme使うのであれば最初に読む本としてScheme手習いってのをオヌヌメします
エロくないのに薄くて高いけど知識ほぼゼロからでも読めるうえにちょっと面白い(オレ基準)
264名無しさん@13周年:2013/02/06(水) 01:08:05.74 ID:KwaqFV3n0
スレ読んでて読んでて思ったのは、
関数型言語って、要するにコンパイラがとにかくごちゃごちゃいっぱい仕事してくれる開発環境ってこと?
265名無しさん@13周年:2013/02/06(水) 01:08:28.71 ID:ydTxcY1X0
>>260
まったく意味ない。
とりあえず、>>261のように副作用を持たないコードを書くことに慣れろ。
関数型の唯一の利点であり欠点。
266名無しさん@13周年:2013/02/06(水) 01:16:41.50 ID:TyX/H2920
>>262

何が楽しいかは人それぞれだからコメントのしようがないw

ただ、一般論として関数型プログラミングを学ぶなら手を動かした方が理解が早いと思う。
プログラミング言語を研究・開発するにしても、類似のプログラミング言語でプログラムを
作ってみる経験は無駄にならないと思うけどな。

数学の道具としてコンピュータを使いたいなら、Mathematicaの使い方を勉強した方が
近道だろうし・・・。
何はともあれ、あまり本筋から離れない方が良いと思う。
267名無しさん@13周年:2013/02/06(水) 01:18:26.20 ID:ml42CfVc0
結局プラズマも有機ELも液晶を超えられなかったわけだが
268名無しさん@13周年:2013/02/06(水) 01:25:38.67 ID:/hg+DcfKP
action scriptsで間に合ってます
269名無しさん@13周年:2013/02/06(水) 02:03:05.94 ID:iJvlcHZB0
最近マスコミのJAVA叩き凄いけどなんか裏あるの?
270名無しさん@13周年:2013/02/06(水) 02:09:30.05 ID:fYCm/dfP0
今すごいH本読んでる
271名無しさん@13周年:2013/02/06(水) 02:09:52.90 ID:ufjxn3Xo0
 高知署は4日、コンビニエンスストアで人気アニメ「プリキュア」のスタンプセットを盗んだとして、窃盗の疑いで
、陸上自衛隊善通寺駐屯地(香川県善通寺市)に所属する男性事務官(40)=高知市=を逮捕した。

 高知署によると、事務官は「プリキュアが好きだった。他のコンビニでも盗んだ」と供述し、容疑を認めている。

 事務官は当時、休職中だった。プリキュアのアニメシリーズは幼稚園や小学生の女児を中心に人気があり、
被害に遭ったコンビニでスタンプラリーを実施していた。

 逮捕容疑は3日午後6時15分ごろ、高知市にあるコンビニのレジ近くに置いていたスタンプラリー用のスタンプと朱肉のセットを盗んだ疑い。

 事務官は約5分後、市内の別のコンビニでスタンプセットを撮影。注意されると商品を持ち去ろうとしたため、店長が110番した。

 善通寺駐屯地司令職務室の柴田進室長は「事実であればあってはならない行為。事実関係を確認して対応していく」とするコメントを出した。(共同)

ソース サンスポ
http://www.sanspo.com/geino/news/20130204/tro13020420250007-n1.html
272名無しさん@13周年:2013/02/06(水) 02:12:23.69 ID:BFVuMfJk0
いつでも専有サーバで自由に設定し放題とかならいいけど、そんな恵まれてる環境なんて少ない。
はやりで言語を決めるのはいいけど、肝心の環境が非対応なら糞の役にもたたん
273名無しさん@13周年:2013/02/06(水) 02:12:48.72 ID:SpPntRd40
Javascriptは関数型のはずなので、Scalaコードをどれだけ移植可能がためす。
これはできた。次はクイックソートいってみる。printlnは環境依存だろう。


Scala by Example > ?第 4 章 式と簡単な関数 > 例 : ニュートン法による平方根計算
https://sites.google.com/site/scalajp/home/documentation/scala-by-example/chapter4/section4


improve = function(guess, x) { return (guess + x / guess) / 2; };
isGoodEnough = function(guess, x) { return (Math.abs(Math.pow(guess,2.0) - x) < 0.1); };

sqrtIter = function (guess, x) {
println('guess = '+ guess);
if (isGoodEnough(guess, x)) return guess;
else return sqrtIter(improve(guess, x), x); };

println('sqrt(4) = '+ sqrtIter(1.0, 4));
274名無しさん@13周年:2013/02/06(水) 02:29:45.79 ID:x+/UZuh10
>>34
ほんとこれ
275名無しさん@13周年:2013/02/06(水) 02:44:04.68 ID:gwlhHrnv0
おっさんだけど、一番可能性ある言語って、Javascriptだと思う。
276名無しさん@13周年:2013/02/06(水) 02:44:14.63 ID:mQi6mfwq0
まともにアーキテクトできるようになるのが先だろ
277名無しさん@13周年:2013/02/06(水) 02:45:43.50 ID:QqTKEksI0
>>269
少し前に別の件で国内の騒ぎがあったからだろ。
あれもアプレット経由だろか。
278名無しさん@13周年:2013/02/06(水) 02:47:38.84 ID:BgE5fnbL0
Javaって
なんか不遇
JavascriptにしてもAndroidにしても
279名無しさん@13周年:2013/02/06(水) 02:59:01.97 ID:RBz4O0dY0
>>273
Scalaの詳しい文法は知らないし、そりゃ場合にもよるだろうけどさ
平方根誤差が 0.1 未満なら十分って思えるセンスはどうんなんだろ・・・
280名無しさん@13周年:2013/02/06(水) 03:17:52.50 ID:pP3f58xa0
昔使ってたapplescriptはしっくりきた
281名無しさん@13周年:2013/02/06(水) 03:19:48.02 ID:SpPntRd40
>>279
無限再帰してリソース食いつくすのを防止するための設定。
クイックソートをJavascriptに移植したが実行可能な環境がない。
filterというメソッドがない。自作するのは嫌なので動くのを探す。


Scala by Example > 第 2 章 最初の例
最初の例として、Scala でのクイックソートの実装を示します。
https://sites.google.com/site/scalajp/home/documentation/scala-by-example/chapter2


Quicksort = function (xs) {
if (xs.length <= 1) return xs;
else {
pivot = xs[xs.length / 2];
return (new Array).concat(
Quicksort ( xs.filter( function(x){ return pivot>x;}) ),
xs.filter( function(x){ return pivot==x;}),
Quicksort ( xs.filter( function(x){ return pivot<x;}) ) );
}
};

arr = new Array(5,3,1,7,5,4,5,6,3,9,2,8);
println('arr = '+ arr);
282名無しさん@13周年:2013/02/06(水) 04:45:42.41 ID:9OoZju5l0
関数系と言えばML これしか思いつかん
さっぱりわからんかった ちゃんと勉強せず途中で放り出したけど
283名無しさん@13周年:2013/02/06(水) 04:53:21.07 ID:89OqX2cp0
そんな自虐的でナイーブな言語はいらん。
284名無しさん@13周年:2013/02/06(水) 05:12:09.89 ID:3ZVFz+7dP
>>13
javaのクラスって作るの難しいか?
他に利点はないの?
285名無しさん@13周年:2013/02/06(水) 05:13:14.15 ID:89OqX2cp0
プログラム言語の頻繁な仕様変更や細分化って
典型的なタコ壺化なんだよね。

昔から不人気な商売だけどね。そんな事ばかりやてるから、
よけいにプログラマーが専門職でも何でもない使い捨ての
コーダーとみなされるようになっちゃって、とうとう土方仕事とまで
言われるようになった。

底辺層は管理職という名の手配師や口入れ稼業に昇進し、
優秀なプログラマーは自分で会社興したり専門学校の先生や
フリーや怪しいコンサルタントになっては泡のように消えて、
やがて業界から去ってしまった。

コンピュータに残されたのはバグだらけのプログラムだけ、
そのコンピュータも世代更新や会社の倒産で撤去済み。
もうね、焦土状態。
言語安全保障委員会を作って原子力みたいに規制した方がいいと思うよ。
286名無しさん@13周年:2013/02/06(水) 07:46:55.37 ID:v+DoS/wm0
>>285
それはやめてくれ。今より酷いことになる。
287名無しさん@13周年:2013/02/06(水) 08:16:01.97 ID:ShyBIpKK0
IT業界にいるけど、くだらないものを追っかけるのは止めた。

いくら何かを身につけてもすぐに古くなる。
人にも感謝されないし、喜びがまるでない。
エンドユーザーなんて障害の苦情しか言ってこない。
自分の会社は人を育てる気なんかない。使い捨て。
こんなの技術マニアだけがやってりゃいいんだよ。

卒業することにしたよ
288名無しさん@13周年:2013/02/06(水) 09:12:19.36 ID:puFgWf71O
オブジェクト指向は蛸壺思考
289名無しさん@13周年:2013/02/06(水) 09:31:49.91 ID:D3oofsCy0
>>287
興味も好奇心も無ければくだらないと思うのは当然だと思うよ。
単純に面白いから色々手を出すワケで、直接仕事の役に立たなくてもそんなのどうでもいい。
色々なプログラミング言語にはそれぞれに設計思想があって、
思想をどう具現化したのかを調べるだけで勉強になるし。
技術者がマニアであることは必然だと思うんだけどね。
会社が人を育てないなんてグチを言う暇があれば本でも読めばいいのに。
290名無しさん@13周年:2013/02/06(水) 09:33:29.08 ID:7KjfiHQD0
>>272
今はrootくれるところがほとんどでしょ。
昔のレンタルHPだとPHP縛りとかがあったけど。
291名無しさん@13周年:2013/02/06(水) 09:38:22.87 ID:T6ybJfClP
>>287
ほぼ同意だけど、くだらなくないものも結構あるよ。
だから続けていられるかな…
既存の概念を焼き直しただけのバズワードには辟易しているけど。
292名無しさん@13周年:2013/02/06(水) 09:40:47.34 ID:T6ybJfClP
関数型は主流にはならんが、メニーコアとか大規模サーバとか
そういう環境で性能を出しつつ生産性を上げるためには
必須になりつつあるけど、なんでScalaなんだ?
JavaVMはクソだろうが。
293名無しさん@13周年:2013/02/06(水) 09:44:28.07 ID:D3oofsCy0
>>263
「Scheme手習い」のような構成はどうも苦手。
個人的には「計算機プログラムの構造と解釈」(SICP)が入門書として役に立った。
294名無しさん@13周年:2013/02/06(水) 11:41:47.94 ID:SpPntRd40
Node.jsで動作。Javascriptの関数型クイックソート。


Quicksort = function (xs) {
if (xs.length <= 1) return xs;
else {
var pivot = xs[Math.floor(xs.length/2)];
return (new Array).concat(
Quicksort(xs.filter( function(x){ return pivot>x;})),
xs.filter( function(x){ return pivot==x;}),
Quicksort(xs.filter( function(x){ return pivot<x;})));
}};



a = new Array(5,3,1,7,5,4,5,6,3,9,2,8);
b = Quicksort(a);
console.log(a + " =>\n" + b);
295名無しさん@13周年:2013/02/06(水) 11:51:18.25 ID:puFgWf71O
>>289
若いな。
技術的な面白味を追求するなら趣味でやった方が自由で楽しいと思うんだ。

何年も何十年も仕事でやる分には技術的興味では無理と思うんだ。
水とパソコンあれば生きてゆける仙人みたいな人なら別だけどね
296名無しさん@13周年:2013/02/06(水) 14:18:30.87 ID:G08Sjd0F0
>>295
そもそもプログラミングが趣味ってのもあるけど、技術者として技術動向知ってるのは当然だと思うよ。
プログラミング言語の特徴を知るくらいのことなら、本を読んで簡単なプログラムを組んでみればいいんだし。
使いたいと思えばもうちょっと突っ込んで調べるけど、そこまでしなくても十分面白い。
この程度のことならちょっとした時間に片手間にできるし、そんなに面倒かな?
297名無しさん@13周年:2013/02/06(水) 15:06:44.60 ID:b0EKfnXfP
Webシステムいくつも作ってきたけど、そのたびにJavascriptに苦しめられ、Javascriptに助けられてる

毛嫌いされてるけど、やっぱりJavascriptは便利だ
重要度で言えば、本家Javaをとっくの昔に追い越しているだろう
298名無しさん@13周年:2013/02/06(水) 15:20:26.71 ID:A/uaVScO0
求人みても、Java経験者は引き手数多という感じだからなあ。
ま、その求人がブラックばっかなんだがw
299名無しさん@13周年:2013/02/06(水) 15:25:18.20 ID:8NDQSfDi0
>>294
C言語の再帰プログラムじゃん、って思うのは俺が現場離れて長いせいかな…

古式ゆかしいカーニハン&リッチー的な関数というよりは
C++的なオブジェクト指向ではあるけど。
関数型って言うとこんがらがるから、数理モデルっぽい言語と考えりゃいいのかね?
300名無しさん@13周年:2013/02/06(水) 15:32:08.99 ID:Uy0B0v/i0
REXXが一番好きだった
301名無しさん@13周年:2013/02/06(水) 15:34:39.84 ID:puFgWf71O
>>297
面倒かどうかと言うより、その楽しみだけで長い期間働くのは厳しいかと。
大抵の人は、お客さんから褒められたり、評価されたり、報酬もらったり、家族を養ったり、色々な関係の中で生きる者だから。
技術的な面白味だけで続けたいなら趣味にした方がいいと俺は思うが、人には強制はしないよ。
302名無しさん@13周年:2013/02/06(水) 15:52:19.31 ID:cNkOB9sL0
LISPって f(x, y) を (f x y) って書くみたいだな。
関数をわかりにくく書いてるだけな気がする。
303名無しさん@13周年:2013/02/06(水) 15:55:06.73 ID:5SGlxUNN0
いかん、こういうのを見ると「また韓国のステマかよ…」って思うようになったw
304名無しさん@13周年:2013/02/06(水) 16:00:01.58 ID:SpPntRd40
>>299
これはもとのScalaソース。これも厳密には純粋関数型ではない。
val pivot = の所で代入と命令の順序が存在する。こういうのを排除できたのが関数型。


https://sites.google.com/site/scalajp/home/documentation/scala-by-example/chapter2

クイックソートを再び、今度は関数型プログラミング風に書いてみます。
def sort(xs: Array[Int]): Array[Int] = {
if (xs.length <= 1) xs
else {
val pivot = xs(xs.length / 2)
Array.concat(
sort(xs filter (pivot >)),
xs filter (pivot ==),
sort(xs filter (pivot <)))
}
}
305名無しさん@13周年:2013/02/06(水) 16:02:33.14 ID:TggyXITA0
c++で十分だろ
306名無しさん@13周年:2013/02/06(水) 16:02:41.28 ID:K/mgyE5f0
>>302
その深淵さに気づきたまえ
307名無しさん@13周年:2013/02/06(水) 16:38:58.42 ID:cNkOB9sL0
>>306
ifも関数なんだな。それで思い出したのがエクセルの関数。
そういやエクセルの関数でもちょっと複雑なことをしたら
すぐ括弧だらけになるのを思い出して何となく腑に落ちたw
308名無しさん@13周年:2013/02/06(水) 16:45:30.41 ID:kUub89bD0
あの程度のカッコでめげてたらLispなんか使えねぇ
309名無しさん@13周年:2013/02/06(水) 16:51:39.68 ID:Zfa80Ggn0
遂にFortranの時代が来るのか
310名無しさん@13周年:2013/02/06(水) 16:52:49.56 ID:VrUJ4CO/0
ごめん。おれFORTRANやってる。
311名無しさん@13周年:2013/02/06(水) 17:03:49.96 ID:EhQYXNNw0
こういうのを言い出す奴って、全然英語ができない奴なんだろうな。
なんだかんだいって、javaは英語っぽくて理解しやすいのに。
312名無しさん@13周年:2013/02/06(水) 17:06:59.76 ID:rs1j2CNh0
>>311
フォートラン使う奴は英語ができないって?
言いがかりにも程があるぞ。
313名無しさん@13周年:2013/02/06(水) 17:22:49.33 ID:7KjfiHQD0
>>295
興味の無いものを何十年もやり続けることの方が苦痛だとおもうけど。
314名無しさん@13周年:2013/02/06(水) 17:23:15.44 ID:8UWYoz360
>>47
・・・ファミリーBASICが抜け落ちてるw
315名無しさん@13周年:2013/02/06(水) 17:27:40.67 ID:Zfa80Ggn0
>>47
マークアップ言語にTeX・LaTeXを
316名無しさん@13周年:2013/02/06(水) 17:38:03.25 ID:yI5WUQFA0
ぬるぽ
317名無しさん@13周年:2013/02/06(水) 17:46:47.84 ID:26AJ/YqZ0
>>316
■━⊂( ・∀・) 彡 ガッ☆`Д´)ノ
318名無しさん@13周年:2013/02/06(水) 17:54:07.97 ID:VrUJ4CO/0
>>311
つか、C系のプログラマが愛用するあの糞長い変数名が苦手。
319名無しさん@13周年:2013/02/06(水) 17:59:11.14 ID:JzvVIlJ80
>>120
COBOLでいまだに飯食わせて貰えるお方もおりますので…。
320名無しさん@13周年:2013/02/06(水) 18:02:05.64 ID:kUub89bD0
>>318
Cは短いだろ
321名無しさん@13周年:2013/02/06(水) 18:13:54.59 ID:OdleA4+T0
>>318
は?
ニワカ死ね
Cの変数名なんてほとんど一文字か二文字だろ
322名無しさん@13周年:2013/02/06(水) 18:27:01.14 ID:ju/HiC260
323名無しさん@13周年:2013/02/06(水) 18:31:08.59 ID:G08Sjd0F0
>>301
技術に興味がなく、向上心もなく、単にお金を稼ぐためだけに仕事をしてるんならそうかもしれないね。
好きでやってることだし、十数年この仕事してるし、何がどう厳しいのか分からない。
肩書きはコンサルだったり、SE だったり、プログラマだったりするけど、面倒なことはあってもどの仕事も面白いよ。
324名無しさん@13周年:2013/02/06(水) 18:35:51.53 ID:F8AgK0RX0
XMLが最強
325名無しさん@13周年:2013/02/06(水) 18:40:48.99 ID:G08Sjd0F0
>>320,321
ハンガリアン記法のことじゃない?
326名無しさん@13周年:2013/02/06(水) 18:45:59.53 ID:/inHmfP/0
散々言われてるかもしれんがWebでいくなら
HTML5+CSS3+Javascriptだろ
サーバサイドでもNode.jsを使えばJavaScriptでおk

JavaScriptで厳密な型定義とかやりたいならCoffeeScriptなりTypeScript使え
327名無しさん@13周年:2013/02/06(水) 18:46:13.46 ID:SvpZN2Nf0
COBOL最強
328名無しさん@13周年:2013/02/06(水) 18:51:00.57 ID:PjsPuDq40
>>1
パテントやセキュリティの理由で採用しただけだろ?
329名無しさん@13周年:2013/02/06(水) 18:58:44.84 ID:puFgWf71O
>>323
興味があるのはいい事なんだよ。

ただ、この業界は、お客さんから喜ばれたり、評価されたり、収入が増えたり、他の社員と仲良くなったり、そういう部分が著しく欠けている会社が多すぎる。 自分には技術的な興味だけで乗り越えるかのは無理だな。

あなたがやっていけるなら素晴らしい事だと思うよ。
330名無しさん@13周年:2013/02/06(水) 19:08:04.83 ID:HZ59lPMfi
>>326
まるでどこからか剽窃してきたようなテンプレ書き込みワラタ
331名無しさん@13周年:2013/02/06(水) 19:11:03.41 ID:7KjfiHQD0
>>329
そうか?どれも比較的実現しやすいと思うけど。
お客さんと話す立場に立ったり、売上上げたり、儲かってる会社に移ったり、
他の社員とコミュニケーションとったりができない業界じゃないだろう。
332名無しさん@13周年:2013/02/06(水) 20:10:56.47 ID:GYuHc+gH0
>>293
Scheme手習いは結構クセ強いからなあ
あとSICPはいい本だね
それはオススメ本っていうか勉強するならいちどは目を通しておきたい本
ttp://mitpress.mit.edu/sicp/
333名無しさん@13周年:2013/02/06(水) 20:29:45.68 ID:VrUJ4CO/0
>>321
科学技術計算分野だが、大学や研究機関で公開されているCのコードで変数名が1〜2文字ってのは
あまり見ないんだよね。ループなんかのカウンタに使うようなのは別として。その点FORTRANの
コードは元々普段から数式なんかで記号を多用する連中が書いたようなのが多いから昔みたいに
最長6文字なんて制限がなくなった今も短くて簡潔。その分野で使うギリシャ文字なんかの意味さえ
知ってればコード見れば数式が見えてくる。
334名無しさん@13周年:2013/02/06(水) 20:33:31.53 ID:8NDQSfDi0
>>304
意図した条件に基づく行列生成が容易なるって感じかな。
リンク先を読んだ限りでは、純粋な計算処理なら利点はありそうだけれど…

文字列比較やリスト構造自体のソートになると、一度評価値に変換した上で
比較するとかしなきゃならんような気がするが、汎用性はどんなもんなんだろうね。

ポインタのポインタのポイ(ry みたいな泥臭いことをやってた時代が懐かしい。
335名無しさん@13周年:2013/02/06(水) 20:37:20.18 ID:9+X6A1Fi0
>36
訳も分からねえけどとりあえず2ch脳どもが習性で叩いてやがるんじゃね
えの?こいつら何かにつけて否定や叩きから入りやがるからな
336名無しさん@13周年:2013/02/06(水) 21:11:07.38 ID:Y3/JgCQY0
>>287
俺もIT業界どっぷりだけど、まだまだ追っかけたいな。

身につけたモノは必ず何処かで役に立っているし、
顧客のニーズを満たせば感謝もされこちらも嬉しい。
エンドユーザーからは満足のお返しで別の顧客も紹介して貰えたりするし
俺の会社は俺に後継者を作る機会すら与えてくれる。育てる事に前向きだ。
技術だけでなく話術や洞察力に長けた人間にドンドン参入して欲しいね。
相手の心とニーズを掴み出すには技術力だけでは足りないよ。

まだだ、まだ終われんよ(`・ω・´)
337名無しさん@13周年:2013/02/06(水) 21:44:35.35 ID:K/mgyE5f0
>>297
本家はlispだから
338名無しさん@13周年:2013/02/06(水) 21:47:23.52 ID:5e9iVuCT0
べーしっ君
339名無しさん@13周年:2013/02/06(水) 21:50:33.43 ID:nMzDbLmz0
対象スレ:【トレンド】開発言語にJavaはもう古い!次の主流は「関数型」言語★2
キーワード:PowerBuilder
抽出レス数:0
340名無しさん@13周年:2013/02/06(水) 23:04:48.32 ID:ZP6uexj90
ポジティブな奴とそうでない奴の差が激しいな。
もしかして企業によって職場の雰囲気ぜんぜん違うのかもね。
341名無しさん@13周年:2013/02/06(水) 23:08:02.39 ID:NrVdVI1k0
>>325
ハンガリアン記法とか死滅すべき
342名無しさん@13周年:2013/02/06(水) 23:12:50.97 ID:0ah6L7dP0
>>341
typeを「型名」と誤解したのが元凶
343名無しさん@13周年:2013/02/06(水) 23:20:05.76 ID:D3oofsCy0
>>341
Wikipedia 見たら、「アプリケーションハンガリアン」と「システムハンガリアン」があるらしいね。
変数名の先頭に変数のデータ型を付けるのは「システムハンガリアン」と呼ぶらしい。
ハンガリアン記法といえばこちらのことを差すことが多いと思うんだけど、この書き方は大嫌いだ。
344名無しさん@13周年:2013/02/06(水) 23:22:21.49 ID:s5KvQMiI0
下手な言語よりフラッシュ安産には(おぎやー)ビックリする
345名無しさん@13周年:2013/02/06(水) 23:27:53.90 ID:DY/qqN1V0
フレームワークが使えるだけの自称プログラマ多すぎ。
346名無しさん@13周年:2013/02/07(木) 01:41:15.77 ID:oDH7TvCJ0
>>345
お前、わかってるな!!
347名無しさん@13周年:2013/02/07(木) 01:42:00.08 ID:ABR+DTMb0
CとかVB6ならともかく、ローカル変数を好きなところで宣言できて、なおかつIDEの補佐がある言語なら変数は書き捨てでいいけど
大量のオブジェクト生成する言語ならやはり何かしらの規則性はつけないといかんわ

俺は_varとかmMemberとかが最高に嫌い
348名無しさん@13周年:2013/02/07(木) 01:55:52.28 ID:6IPdtnLG0
>>345
せやけど車輪の再発明は時間の無駄やで
349名無しさん@13周年:2013/02/07(木) 02:26:49.16 ID:jG0BYcZR0
フレームワークにしても関数型にしても生産性が重要。
早く簡単に作れるのはいい。
350名無しさん@13周年:2013/02/07(木) 02:35:23.73 ID:YKGOorcp0
え?Cに戻るっての?
351今日も雲孤 ◆bKaGbR8Ka. :2013/02/07(木) 02:35:25.64 ID:JcSllfuM0
【 ブルーライト・ヨコハマ(歌:いしだあゆみ)の替え歌 】

いつものように だまされるのさ ネトウヨ 情弱ネトウヨ 峯岸みなみ 天使だぜ
いつものように テレビつけたら ネトウヨ 情弱ネトウヨ 坊主の女が 泣いていた
朝鮮に 中国に 湯水のごとく 国富をそそぐ 滅べ 売国民主党
今のエロ本 モデルいいさと ネトウヨ しこしこネトウヨ 中韓モデルと 知らないで

自民党 自民党 日本を救え 石原頼む 俺は 維新のサポーター

愚かすぎるぜ 未熟すぎるぜ ネトウヨ 愛国ネトウヨ 改憲ささえ 戦場へ
352名無しさん@13周年:2013/02/07(木) 02:41:50.07 ID:3UozUxRl0
ここにいる連中にはラムダ計算とか圏論とかは死ぬまで必要ないな
353名無しさん@13周年:2013/02/07(木) 02:49:07.73 ID:zPXZSlqj0
>>352
へー。お前は縁がないのかあ。
354名無しさん@13周年:2013/02/07(木) 02:50:18.70 ID:ZX8zUFoo0
スコット・プログラム理論とか本棚のどこかにあるはずだが、たぶんもう読み返す事も無かろう。
355名無しさん@13周年:2013/02/07(木) 04:53:10.68 ID:1EG40ilj0
>>322
スレ違いだがホリエモンって実際もこんな感じの方でしたわ
FTPクライアントが2バイト文字コード通さないので困ってたら
「ここはここにドラッグすれば送信できるでしょ!」
って怒鳴られた記憶があるw
356名無しさん@13周年:2013/02/07(木) 06:00:03.67 ID:oDH7TvCJ0
>>355
うっは

ホリエモンむかつくw
357名無しさん@13周年:2013/02/07(木) 08:26:31.97 ID:xjLzUQlO0
やべー。最近Javaしか触ってないわ。
358名無しさん@13周年:2013/02/07(木) 09:08:32.43 ID:a8GoH3tlP
プログラムなんて全く理解できないんだけども
使いやすい環境なのかな?
数社だけ使ってても、大多数が使ってる方が優位性が
あるように思えるんだけど
359名無しさん@13周年:2013/02/07(木) 10:47:10.81 ID:JKr1DMrRP
数々の言語をマスターしたけど、Pythonが攻守最強。
WebもGUIもさくさく書けるわ、メンテナンス性すごくいいわで。

関数型言語はまた別だけど。
360今日も雲孤 ◆bKaGbR8Ka. :2013/02/07(木) 12:56:37.05 ID:JcSllfuM0
そもそも、ホラレモンはプログラムは書けないのでわ?
361名無しさん@13周年:2013/02/07(木) 14:13:06.48 ID:DF5J4shy0
>>358
より開発効率の良い言語を使う派
v.s.
ライブラリ、フレームワークがあれば変わらない派

結論は、使いこなすプログラマの実力次第。
362名無しさん@13周年:2013/02/07(木) 15:21:06.53 ID:O2vIbK630
>>348
車輪を発明することができないやつのいいわけだそれ。
363名無しさん@13周年:2013/02/07(木) 15:29:10.92 ID:FQL14loF0
>>358
大多数が使ってる言語を避けることで、バカ除けの機能はあるとおもう。
364名無しさん@13周年:2013/02/07(木) 16:20:13.45 ID:vNBqQW2z0
古い、新しいで物事決めるような団塊的思考を排除した方が良いんじゃないの。
365名無しさん@13周年:2013/02/07(木) 16:25:07.66 ID:23MA1XG50
>>345
>>348
>>362
それぞれ言いたいことはわからんでもないがなぜそうなるのかと
366名無しさん@13周年:2013/02/07(木) 16:46:55.26 ID:6IPdtnLG0
>>362
じゃあ既存ライブラリは使わないわけ?
趣味ならそれでもいいが仕事じゃとても納期に間に合わんわ。
367名無しさん@13周年:2013/02/07(木) 17:35:23.41 ID:s+X4S1W9i
OCamlで失敗の責任もおっかむる
368名無しさん@13周年:2013/02/07(木) 18:26:10.06 ID:FQL14loF0
JavaVMを使わないScalaには期待してる。
369名無しさん@13周年
>>19
Swingで二度作ったことがある。
かなりショボイ。