【トレンド】開発言語に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
3 :
名無しさん@13周年:2013/02/05(火) 07:39:00.34 ID:otr1iX4G0
何年前から同じこといってんだよ。
F#の時代
5 :
忍法帖【Lv=40,xxxPT】(1+0:5) :2013/02/05(火) 07:40:11.34 ID:M80ChtD+O
ドラクエ7リメイクのステマ
パラメータ言語最強
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じゃだめなん?
時代はアセンブラ
scalaの特徴
>Javaの豊富なライブラリが使える(.NET Framework上で実行する場合、.NETのライブラリが使える)
>型(クラス)をJavaなどと比べてより容易に作ることができ
javaが古くなったら困りそうな言語だが?
Cも古いけど、後釜になる言語とコンパイラを作る余裕さえないだろw
こういう感じで流行りを演出する頭の悪さは良いんだけど、
検索サービスとかで、関数型言語にアドバンテージがある、って話を
JAVA並みのGUIを持つ新しい何かと
拡大解釈しちゃって勘違いするIT素人クライアントが増えるのが一番困るんじゃないか?
関数型言語=Lisp, Scheme, Haskell, OCaml, ML, Clean, Miranda, Scala, Erlang, F#, etc.
CとかPascalとかは関数型言語じゃありません。
16 :
名無しさん@13周年:2013/02/05(火) 07:50:45.99 ID:VGMzOVyb0
ビジネスを言語と絡め、いかにも新しいモデルのように売る。
人間が書く限りダメだろ。
>>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組むシステムって多いの?
またマニアックな方向に・・・
21 :
名無しさん@13周年:2013/02/05(火) 07:55:34.12 ID:HpkT2cYoO
prologの時代はいつ来ますか?
scalaでアノテーション使えるの?
23 :
名無しさん@13周年:2013/02/05(火) 07:55:58.90 ID:gyP9DeF60
速さだけ追求して
サーバーの管理やセキュリティは何も考えてません
って記事にしか思えない。
これからは関数型(笑)
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
最近は客先でJavaかPHPでWebシステムの設計、作成、保守してる。
30才年収450万。未来はあるのか
>>19 インターフェースはなんでもいいんじゃね?
FlashでもVBでも。
30 :
名無しさん@13周年:2013/02/05(火) 07:58:44.92 ID:nU/u5TJ7O
31 :
名無しさん@13周年:2013/02/05(火) 07:59:06.21 ID:PjW4BXzQ0
コンピューターの言語って知らないけど、なんで英単語や数式?を入力するとコンピューターがそれにしたがって電気信号のオンオフをするんだ?
その間にあるものは何?
32 :
名無しさん@13周年:2013/02/05(火) 07:59:12.78 ID:JXsNRT00T
業務系システムの主流であるJavaでも
おいおい^^;
ゴミ言語をこれ以上出すな
Javaの仮想マシン上で動き、内部的にJavaのライブラリを使うくせに
「Javaはもう古い!」ってバカなの? 死ぬの?
36 :
名無しさん@13周年:2013/02/05(火) 08:00:38.07 ID:BbMY3SjR0
おまえらニートじゃなかったのかよ優秀だな
>>32 ソースはオンライン処理限定ってことで言ってるのかな。
日本で数人しか書けない言語使いだったが、収入に結びつかなかったなァ。
>>38 数人しか書けない=その案件がない、だからな
>>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
大して難しいわけでも無いな
ただ、売りに得意なケースの業務をやってないわ
>>41 HTML5はまだ分からんけど、JavaScriptに進むのは間違いないな
>>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
>>47 半分位間違っててわロタ
間違ってるのに言葉だけよくそんなに知ってるなー
51 :
名無しさん@13周年:2013/02/05(火) 08:11:55.57 ID:ideF9by80
関数型って古いだろ
数年前にこういう感じで話題になってscalaとか出てきたり
オブジェクト指向の言語が関数型の特徴取り込んだりしてきたけど
関数型ってなに?
は?
53 :
名無しさん@13周年:2013/02/05(火) 08:12:43.33 ID:wIvGRUNyO
54 :
名無しさん@13周年:2013/02/05(火) 08:13:30.86 ID:HpkT2cYoO
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
風呂釜そうじ困るなあ
こんなこと言って、最盛期にはJavaからRubyへ(笑)とか言ってた
Rubyも互換性だなんだのすったもんだして広がりきれず停滞の道をたどってるな。
まあRubyはRailsしかないという致命的な問題があるけど。
今のScalaにPlay!フレームワークしかないっけ。
Web系はクライアントサイドの簡易言語が充実してきたから
サーバサイドで書く事なんて手続きだけになってきたのは事実
関数型への回帰はそんなにズレてはいないけれども
古くなったというより役割分担が進んで用途が狭くなってきたという感じ
一方でクラサバやメインフレームが生き残ってる古参大手では
VBとかVBSとかCとかCOBOLとか普通に使ってるから
こういう新生児が普及するかどうかは考え物だなぁ
59 :
名無しさん@13周年:2013/02/05(火) 08:14:38.25 ID:3WIpyDU80
なるほど、さっぱりわからん
>>47 惜しいような、惜しくないようなww 知識があるんだか、ないんだかww
>>51 関数型の歴史は古い。昔からある。
>>53 なるほど、その類ならありえるなw
61 :
◆65537KeAAA :2013/02/05(火) 08:16:31.09 ID:abWiqw2r0 BE:114156375-PLT(13000)
新しい言語を採用して開発工数下がるわけねぇだろ
どの言語使おうとできるものが同じで保守がさほど変わらないなら関係無いだろw
アホ過ぎ。トレンドも糞もあるかよw
>>58 顧客がIE6から脱却してくれれば俺もバリバリそっち方面に方向転換するんだけど…。
あと数年は無理そうなんだわー。
>>57 Play! 以外にも Lift があるよ。
無駄な言語を次々と作りやがってw
特にスクリプト言語は無駄に多すぎる
JavaScript、PHP、Rubyだけで十分
66 :
名無しさん@13周年:2013/02/05(火) 08:23:04.63 ID:OEluZQ/lO
COBOLを主体にFORTRANで作られた関数を呼び出し自動設計CADを作ってた昔が懐かしい。
LISPにGOTOラベルもどきコーディングでMMインターフェース実装したのはかれこれ20年前。
>>44 アプリケーション用の制御スクリプト。
なんかOOPの発案者が考えたらしいけど。
68 :
名無しさん@13周年:2013/02/05(火) 08:24:56.38 ID:zCYB7hWh0
少数精鋭の開発メンバーなら
言語に大差はない
プログラム覚えたいんだけど
windowsでゲーム作るにはどれがいいかな?C#でOK?
71 :
名無しさん@13周年:2013/02/05(火) 08:26:58.26 ID:bgPnK1P70
スカラー波((((;゜Д゜)))
>>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だし
ゴミ
>>72 今更HSPはねえんじゃないかな…。
他二つはどっちでもと思うけど。
C#つーか、マネージドコードはコードが丸見えになるのがなぁ。
ハックする側から見れば楽でいいんだけど、売る側から見たらとんでもない話だよな。
難読化ってパフォーマンスに影響しないのかな?
78 :
名無しさん@13周年:2013/02/05(火) 08:32:54.92 ID:0JmDug4m0
>>10 > 原案
プログラム言語はともかく、日本語は不自由してるんじゃね?
81 :
名無しさん@13周年:2013/02/05(火) 08:35:40.79 ID:iEgq6Jsi0
ふーん
>>83 手軽っちゃ手軽だけどねえ…。ま、いいか。
>>31 モデリング、仮想化、抽象化というものだよ。
コンピュータ言語はその最初のステップ。
原理的にはマシン語打ち込むだけで2chサーバってできる。
原理的にはC言語のmain()関数一つでLinuxとその上で動くアプリも同時にできる。
だけど実際にはできない。
低レベルの信号ON・OFFだけの抽象化や関数一つの逐次処理モデリングでは人の考えが至らないので。
そこを埋めるものがモデリング。
>>84 なんでこういう業界のってこういった言い方の奴が多いんだろう。
プログラム言語よりコミュニケーション能力学んだほうがいいよ
>>86 「ねえ…」、「ま、」とか書く連中は何かのロールプレイをしてるんだと思う。
いわゆる厨二病患者だろう。
形のない言語で大規模開発とか
発狂する
PHPは頭おかしい
遅れている日本は新規のWeb開発でもPHP, Ruby , Javaで
始めたりするところが多いけどやっと日本でもScalaが流行り始めたか
今いるところ、PHPは小規模なwebサービスにしか使ってないな。
ほぼJava。だが未だにTomcat5.5。
パッチも当ててなさそうだから穴沢山あるかもしれんな
>>89 海外はそれにPythonがあるぐらいだろ
Scalaなんてあっちでも稀だ
>>88 昔よくそうやって 型がないって勘違いされたな。
93 :
名無しさん@13周年:2013/02/05(火) 09:07:01.08 ID:ZFSfunF20
>>93 人気と、言語の設計の良しあしは別物
JavaやObjective-Cがいい言語だと言ってる人ほとんどいない
だれかガンダムにたとえてください
96 :
名無しさん@13周年:2013/02/05(火) 09:14:18.38 ID:TFMHdVPC0
>>93 すでに普及してるものを後追いで手を付けるのは凡人。
まだ普及してないものに先手を打って手を付けるのが成功者。
そういう意味ではまだ人気が低いscalaに今のうちに手を付けておくのは戦略としてはアリ。
大規模展開するにはアホでも書ける言語が必要なのじゃ
関数型といえば
JavaScriptも忘れるな
>>97 その発想は間違いではないけど
日本は大部分がそれだから、ダメすぎる
いよいよLispの復権か
30年前の知識でなんとかなるかなw
しかし数ある関数型言語で、なぜScalaなんだ?
多くの職人の作業場には用途の同じような何種類もの道具がある。
プログラム言語も一緒だろう。局所々の作業に最適化された道具が増えていく。
それでいい。 これも、新参者風だから一時的にハイライトが当たっているだけ
日曜プログラマーには流行の変化はきつい。もうおぼえらんないよう〜。
104 :
名無しさん@13周年:2013/02/05(火) 10:32:02.93 ID:byk2i1bX0
JAVAの解説読むとこれはジャワであってジャバでは断じて無いとか、平気で書いて
いるけど、アメリカ人は普通にジャバって読んでいるんだぜw
JavaVMを使ってる時点でダメでしょう。
Javaの次はカケガワ
なんの知識もないんだけど、最近PCも買い換えたしゲーム作りに挑戦したい
ファミコンやスーファミレベルのゲームを作って
ウェブサイト上に乗っけるとしたら、どの言語が一番適してるの?
よくあるフリーゲームなんかが何で作られてるのかよく分からん・・・
lispだな
>>108 じゃあとりあえずJavaScriptやってみるわ
さんくす
111 :
名無しさん@13周年:2013/02/05(火) 10:51:08.77 ID:69dr1A+P0
プログラム言語は、Cに始まってCに終わる。
SCALAだって、Cで作ってるんだろ。w
>>1 これのどこがニュースですか?>春デブリφ ★
Scalaはレベルの低いIT土方を職替えさせるための言語だろ? 挫折させるにはいい言語だ。
114 :
名無しさん@13周年:2013/02/05(火) 11:01:23.14 ID:ImJbEVdF0
構造化言語で関数型って、ただのC言語じゃないのん?
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
ついにLotus Scriptが覇権を取るときが来たか。
120 :
名無しさん@13周年:2013/02/05(火) 11:15:48.67 ID:Tlnx57CP0
高校のころ、学校でフォートランを習った
教科担任曰く「今時はまず使わないけどなー」
一つ下からコボルになった
いまだに、一度も役に立ったことが無いw
○○言語はもう古い! これからはXX言語だ!
って、昔からコンピュータ雑誌の記事で煽るライターいるけど
その通りになったためしがないw
エッフェル言語は今はどうなったんだ?w
仕様がしっかりしてりゃ、なんでもいいよ。
APIとかそっちの方がめんどくさい。
とりあえず、今はシーケンサのラダー図を書いてる。
機械制御面白い。
>>107 Python(言語)とpygame(ゲーム用ライブラリ)を使うとか。
コンピュータ言語って、
既にいくつか習得した後は
どれも同じだろw
>>124 言語そのものの設計の良さ、既存ライブラリやAPIによって、
生産性はかなりちがってくるぞ。
>>124 異なるパラダイムの言語を習得していればな。
CとPascalとFortranを習得しても、Smalltalkがうまく使えるわけではない。
127 :
名無しさん@13周年:2013/02/05(火) 12:01:08.21 ID:5yxCi65X0
Javaはユーザーを危険に晒す糞言語
C++でいいやん
>>107 何の知識もない奴がファミコンレベルとか無理。
おとなしくRPGツクールでもやってろ
オブジェクト指向とかBASIC野郎の俺には
いまいち分からないw
いやこれ★2はいらんかったろw
>>129 つかツクールでさくっと作れるようなタイプのゲームであれば
よほどの事情がないかぎり最初からツクール系選択しちゃうのが賢い
便利な道具や部品が最初からたくさん揃ってるわけだし
前スレでemacsの話振って寝たら、予想以上にレスがついてて嬉しかった。
もう少し起きてれば良かった。
>>132 昔はviとかemacs覚えないとどうにもならんかったからなあ
cap-xマスターの俺様には何も問題ない
>>126 それはもちろんそうだ。
それぞれのパラダイムの代表的な言語を
一つか二つずつ習得しておけば
あとは同にでも応用が効く
136 :
名無しさん@13周年:2013/02/05(火) 12:48:26.24 ID:mO2oWcxA0
前スレで再帰処理の話があったけど
再帰処理てそんなにつかうか?
階層構造を走査する場合は絶対必要だけどそれ以外に
使った記憶はあまりない。
※無いことはないけど思い出せない・・・
業務系プログラムなんでなおさらか
関数型+論理型
やりたい事ができれば、開発言語なんて何でもいい。敢えて言えば、ライブラリーや
フレームワークが充実しているのが条件かな。何かやる時に、全部考えなおさなくて
済むし、ある程度のセキュリティーの堅牢性が保証されているから、心理的な負担が
減る。
言語なんて
どれでも同じw
Cを関数型言語だと思ってる人は、たぶん、
Cの前にPascalを覚えていた人なんではないかと。
Pascalは値を返さない手続きprocedureと値を返す関数functionとをキーワードで区別するのに対してCはキーワードによる区別がなくすべて関数だから。
でもここでいう関数型言語はそういう話ではない。
実際にHaskellとかを触ってみればわかる。
Java、C#、VBはかなりできる
Ruby、SQL、JSもできる
だけど関数型言語は何も知らない
多分戻り値以外にメソッドが変化を与えない言語なんかね
ウチがいて、
ダーリンがいて、
面堂やメガネがいて…
>>30 VBでも?
それってどうやるの?
JavaでDLL作るとか?
145 :
143:2013/02/05(火) 13:51:39.88 ID:pipzZlsK0
あーそういうことw
ユーザーインターフェースは何か得意なもので用意してあげて
システムはJavaってことじゃないのかな。
Servletで用意したAPIをVBで作ったクライアントから叩くとか
>>146 クライアント側はVBでサーバ側はJavaってことか。
なるほどサンクス。
148 :
名無しさん@13周年:2013/02/05(火) 14:00:44.03 ID:aggxsEyfP
>>136 > 前スレで再帰処理の話があったけど
> 再帰処理てそんなにつかうか?
すべてのループは再帰でも書けるし、逆にすべての再帰はループでも書ける。
考え方のアプローチが違うだけ。
高級言語のソースコード上で再帰で書いてあるからといって、
実行時も機械語で再帰で実行しなければならないこともない。
だから、再帰で考えるのが得意な人間なら、使いまくれるし、
(見かけ上)再帰で書いたほうが効率がいい言語なら、再帰をどんどん使う。
バイリンガルの多いスレだな。
ポインタなぶりまくって、オナヌーしてた頃が懐かしいな。
151 :
名無しさん@13周年:2013/02/05(火) 14:20:50.96 ID:t41Dwqot0
goの時代は?
>>148 「すべてのループは再帰で書ける」は正しいが、すべての再帰がループで書ける訳じゃないぞ。
ごく単純な末尾再帰みたいな単純なものはループで書けるし、一般的にループの方が処理も早くなるが
木構造みたいな再帰的データを単純なループで書くのは不可能な場合がある。
道具が何であっても駄目なやつはだめだよ
腕の悪さをゴルフクラブのせいにしてみたり、筆のせいにしてみたりするのと似ている
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段とか上限きればできるとおもうけど
Javaは、更新がウザイ!
今更、scala?
関数型言語なら、N88−Lispにしとけ。
160 :
名無しさん@13周年:2013/02/05(火) 15:32:14.32 ID:+tfCssFqO
perlに不可能はない!
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やってたほうがマシだと思う。
ハッキリ言って言語なんてなんでもいい。
頭の中で綺麗な論理を描けるヤツだけが職業プログラマーになってくれれば全ての問題は解決する。
それが出来ないヤツはどんな言語でもカスプログラムを書く。
Rubyは悪くないけど、プロジェクト体制がだめすぎたね。
まあ、それも日本らしいというか…
Pythonの盤石の体制とくらべると、
仕事で採用する気がまったく起きない。
Python3がコケなかったら、磐石の体制とか言われても否定はしなかったがなw
そもそもお前に採用されなくても日本じゃRubyの求人のほうが圧倒的に多いし、Pythonの求人なんて5年後もレアだろ
今後はPerlやPHPはどんどんシェア減らして、その穴に来るのは今じゃフロントもサーバーもスタンドアローンもできるJavascriptだと思う
>>166 そういうやつはプログラマーで終わってくれないから、ずっとプログラマーやってるやつはカスが残る
170 :
名無しさん@13周年:2013/02/05(火) 17:13:27.74 ID:eeP4Lfb50
Forthの時代はまだかね?
オレはオールアセンブラで書いてるけど
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
175 :
名無しさん@13周年:2013/02/05(火) 17:45:11.71 ID:HwCx7+Cp0
関数型プログラミングの代表格といえばExcelシートじゃないの? 広く普及して誰でも気軽に使える最も優れたプログラミング言語の一つだと思う。
Javaでいいよ簡単だから
>>173 >一般的に、関数型言語は大部分のオブジェクト指向言語よりも高い抽象化レベルで動作すると考えています。
抽象化レベルが高いことが"目的"じゃねぇっつの…
オブジェクト指向はオブジェクトという"モノ"にみたてることで
スパゲッティが貼りついたり絡まねぇようにしてるってのに
もっとわかりにくく抽象的デスヨ?じゃねーよ
179 :
名無しさん@13周年:2013/02/05(火) 17:58:17.88 ID:gE/JGoBz0
180 :
名無しさん@13周年:2013/02/05(火) 18:04:40.47 ID:b+dUHoim0
数学者とかには関数型がいいかもしれないが、
高級言語使い(俺の中では関数型は低級言語)は手続き型じゃないと、
書くのはともかく補修が超大変になるんじゃないのか?
>>165 Pythonはメインの言語にはなれないとおもうなぁ。
組み込み言語としては使いやすいんだろうけど。
iphoneアプリ、Windowsアプリを売って生き残れ Ver 1.6
http://tinyurl. com/9w97424
>>180 記事のタイトルはあれだけど、Scala は純粋な関数型ではないから関数型を特に意識しなくてもコード書ける。
>>181 >>165 日本で Python 何で流行んないんだろうね。
海外の特に研究者とかの Python 好きは異常。オライリー本とか、Python のサンプルが多い。
>>183 欧米では、Perlを置き換えるスクリプト言語がPythonだったんだろう。
教育にも使われてるということだから、大多数のコンピュータサイエンス課程を取った技術者が
理解できるというのもあるかも。
日本は、Perlの次としてはRubyがあったからPythonが必要なかったというのが大きいだろうね。
日本じゃ圧倒的にPHPだろ、PythonさらにRubyを片隅に追いやったのは
iphoneアプリ、Windowsアプリを売って生き残れ Ver 1.6
//matome.naver. jp/odai/2135693607255483201
>>173 こういう論調を是とする人に訪ねるんだが、
技術的なレポートのはずなのに、
人の顔色をうかがうような論調がなぜ必要なんだろう。
感想文じゃねーかよ。ゆとりってこういう感じで隙あらば感情混ぜてくるんだけど
正直気持ち悪い。
内容は面白そうだから読んでみるけどw
188 :
名無しさん@13周年:2013/02/05(火) 18:32:34.84 ID:F02X74en0
ocamlじゃないのか....
それでは一度注文した後,自社社員でチェックできなくなるって言う問題がある
>>184 なるほど、その通りかもしれん。Ruby は仕事で使うには少し厳しいんだがなぁ。。。
>>185 スクリプト言語とはいっても、ちょっと用途が違う。
>>190 RubyはほぼRailsなように、サーバーサイドが主な仕様用途だろうが
JSみたいにフロント開発やるのが主流だったら初めて用途違うとかいっても言いがさ
>>191 あなたが Web 開発しか経験ないのは分かったw
Rubyでスタンドアローンアプリ組んでるとこなんかあるの?
194 :
名無しさん@13周年:2013/02/05(火) 19:01:14.26 ID:kK6USMsc0
>>170 大雑把だけど少し読ませてもらった。数学でいうと関数というより作用素の表現だね。
dほど平行移動するってことをT_d、フーリエ変換することをFで表すよ。すると
f(x)をdほど平行移動してフーリエ変換するのは、F T_d fって書けるんだよって感じ。
作用素を使うと、数式の展開がものすごく早く筆記できる。数学屋さんは、好んでよくやる。
うちら工学屋は、それに必死でついていくのがやっとになる。
短く書けるってのは、プログラムで悪いことではないもんね。
>>184 つまりあれかJSとかJCにPython教えればおkってことか! (`・ω・´)
>>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無し。
Scalaは関数型の要素もあるが、複合型の分類が一般的。
Java本体がOracle資本下で停滞してるから、
ScalaはGood Java的な意味合いで注目されている。
201 :
名無しさん@13周年:2013/02/05(火) 19:44:10.59 ID:YYQs5WIfO
プログラミング全く分からない俺に関数をやさしく教えてください。
変数なら何となくわかる。
$あ=あいうえお
みたいに書いとけば以降は"$あ"って書いておけば、"あいうえお"と同義になるんだったっけ。
>>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
書式に概念はとりあえず置いておくとして
売りとして並列に強いって事だが
他言語に比べて、どれくらい強いの?
>>202 ありがとう。
手続きがまだピンと来てない。
例えば
住民票の手続き=印鑑、申請書、身分証明書
みたいな感じで、関数名が"住民票の手続き"になるの?
206 :
名無しさん@13周年:2013/02/05(火) 19:53:48.46 ID:eeP4Lfb50
>>202 関数型と一般のプログラムとの関数の違いはそこだな。
C言語などの関数のほうが、関数型の関数(数学の関数)より
ある意味で一般化されていて時間の流れ、処理の流れの記述を許容する。手続きの記述ってことだが。
>>73 SmallTalkに近い感じでしたね。
言語仕様が大改編されるまで変数は存在せず、
オブジェクトを生成して使うという回りくどい言語でしたわ。
>>203 ご指摘ありがとう。たしかにその通りだ。
>>199 TownsGearなつかしいな。
HyperCardとかToolBookとか。
Smalltalk高すぎて使えなかったから、
オブジェクト指向って何?と知るために勉強したな。
面白かった・・・何の役にも立ってないな。
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がそれだって事しか知らない。
>>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
ハングルこそ至高
昔、人口知能型とか言われてたやつ?
217 :
名無しさん@13周年:2013/02/05(火) 20:35:47.04 ID:/DnVnGoj0
カンフー型言語
考えるな!感じるんだ!
ML以上に言語として何かメリットあるの?
219 :
207:2013/02/05(火) 21:01:49.04 ID:zLWlNZ2P0
>>213 失礼。変数は存在してました。しないとどないにもなりませんw
配列がなく、配列を用いたい場合はオブジェクトを宣言して配列っぽく使うっていう事でした。
あと、SmallTalkと似てるといってもメッセージドリブンなだけで、
言語仕様はHyperTalkとほぼ同じって感じでした。
ちなみに大改正されたあとは配列など宣言もせずにいきなり
n[5] = "X"
と書いて
put n
とすると
["","","","","","X"]
などというお気軽な仕様になりました。
ちなみにオブジェクトは画像やら音声やらを登録し、
タイムライン上に並べ、
それらに対してスクリプトを貼付けていくという
FLASHっぽいソフトでした。
と、ここまで書くと数人というのも言いすぎた気がします。
FORTH いいよ、FORTH!
>>152 ちょいと自前スタックに戻りポインタ積んでやりゃ良いだけだよ。
やる意味はあまりないけど、厳密に仕様が決まってて
処理系によらず処理可能な木構造の深さを保証したいときなんかには便利。
>>219 詳しい説明ありがとう!
へぇ、HyperTalk に似てるのか。HyperCard はけっこう流行ったよね。
オブジェクトによる配列の怪しげな扱いはOOP初期の頃には割とあったかもしれない。
でもこの仕様は知らないな、自分でも調べてみます。サンキューでした!
どういうわけか
自分語りなスレ
IF
For(while/loop/until)
あとは四則演算と文字列結合。
これだけあれば何だって良いよ。
225 :
名無しさん@13周年:2013/02/05(火) 21:57:42.81 ID:eeP4Lfb50
for(ループ)があるのは、明らかに純粋関数型ではない。
純粋関数型でなければコンパイラが並列最適化するのに不具合がでて
手続き型使うのと似たようなもの。
>>224 関数型のスレでループ持ち出すとはww
Scala の break 論争は未だに揉めてるのだよw
>>225 forループなんてsyntax sugarに過ぎないと思うんだが…
tail recursive で書き直せるし。
新興言語はライブラリの品質すっげーわりぃからなぁ・・・
実行時間がシビアな組み込み屋さんとかは嫌がるんじゃね?
C++も訳分からんコードごっそり呼び出して、実行時間全然予想できなさそうだし
三木さんってCELL向け開発に特化したスリースターズとかいう会社の
社長さんと同名じゃね?勘違いだったような
>>226 でも、最終的にはマシン語レベルに落ちるんだろ?
なら判断分岐のルート系と演算しか残らんだろうに。
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使ってるぞ
性の頭は関数型。
この言語もJavaプラットホーム上で動くのか。
wikipediaで少しコードが見れるが、perlくさいところもあるんだな。
perlって癖強すぎて嫌いなんだが。
社内の仕事を見渡すと、Javaの仕事が大半みたいだけど。
コンパイラ任せな人は並列化命令をつかい、
組み込みの連中はタスク優先度に従い、マルチコアで動くRTOSを使う。
後者は再入可能な処理を記述できる者限定だけど、
関数型言語なら簡単そうだよね。
組み込みこそ、次のステップで
C++の良く判らないマルチパラダイム言語使うよりも
関数型言語にシフトした方がスマートに作れるんじゃないかw
>>31 ソフトウェア(プログラム)とハードウェアとの関係を考え出すと、
そもそもコンピュータって何だかわからなくなるよね。
>>85も答えの一部ではあるけど、ちと上のレイヤーの話な気がする。
自動演奏オルガン、たとえば
http://www.musical.jp/box/musicbox1/mb14.htm みたいなやつでは、紙に開けた穴を通じて空気を吹き込み、
音楽を演奏する。これには論理回路(IF文の処理機構)がないから
コンピュータではないけれど、空気仕掛けだって実装できないことはない。
要はON-OFFのスイッチがたくさんあればいいんだよね。
>>31 CPUの中がどんな部品でできててそれがどんな感じで動くのかってのとか
機械語・アセンブリ言語の関係とか
その辺調べてみると面白いかもしれない
241 :
名無しさん@13周年:2013/02/05(火) 23:09:16.19 ID:eeP4Lfb50
242 :
名無しさん@13周年:2013/02/05(火) 23:10:21.33 ID:kJLtLLtZ0
ム板でやたら関数型推しのキチガイがいるけど、また調子に乗りそうだな
エクセルで関数使って勤務時間を集計するプログラムを
作ったのが性の本当の処女作だね。処女じゃないけど。
自動車のエンジンコントロールユニットのプログラムって
何言語で書かれているの?
エーダ?
javaにかけたバカが一言 ↓
ドコモシンビアンってどうなったの?
247 :
名無しさん@13周年:2013/02/05(火) 23:51:15.71 ID:duxZM8Zy0
スマホ−サーバ型のシステムが主流になるのか
トップガンな少数精鋭でないとscalaなんて使いもんにならない
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なんてのもあるそうで・・・
巡航ミサイルを開発したいから、いつか 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 でいいじゃん。
256 :
名無しさん@13周年:2013/02/06(水) 00:08:44.33 ID:aWEaPNXv0
ECUはアセンブラか最近はCかな
ユーザ目線からすッと、遅くて重いjavaなんぞ迷惑じゃがの〜^^
マシンの問題じゃなくて、比較ッて意味でだ。
作る側はユーザの使い勝手なんぞ、まるで気にしとらんよ〜じゃな。web系ではアホビ.swfも、一時大流行りじゃッたし。
まぁ、JavaSはコード書くんオモロいが、まさかjavaもそんなノリで‥‥んなワキャないの〜()
どの言語を使うかなんて、
顧客の要望とか開発規模、開発スタイル、スタッフのスキル等、
総合的に判断して決めるもんだから、
一様に○○言語が一番なんて言う奴は信用できんよ。
関数型を学ぶために、遠回りして数学やってる。
最近は整数論。
関数型にたどり着くのか、というか、
あらぬ方向に行ってる気がしないでもない。
261 :
名無しさん@13周年:2013/02/06(水) 00:51:42.00 ID:TyX/H2920
>>260 つ数学基礎論
でも、学ぶより慣れろで先にプログラムを作ることに注力した方が良いと思うけど。
それに関数型プログラミング自体はExcelを使ったことがあるなら、慣れてるはずだよ。
再帰とかはできない?けど、副作用がないところとか、セル=リストと思えばやってることは結構似てる。
プログラムなんてしこしこ書くより数学のお勉強してる方が楽しいでしょ
>>260 Schemeやろうぜ!手を動かそうぜ!
ってLISPでもほかのでもなんでもいいけど
でもしScheme使うのであれば最初に読む本としてScheme手習いってのをオヌヌメします
エロくないのに薄くて高いけど知識ほぼゼロからでも読めるうえにちょっと面白い(オレ基準)
スレ読んでて読んでて思ったのは、
関数型言語って、要するにコンパイラがとにかくごちゃごちゃいっぱい仕事してくれる開発環境ってこと?
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));
275 :
名無しさん@13周年:2013/02/06(水) 02:44:04.68 ID:gwlhHrnv0
おっさんだけど、一番可能性ある言語って、Javascriptだと思う。
まともにアーキテクトできるようになるのが先だろ
>>269 少し前に別の件で国内の騒ぎがあったからだろ。
あれもアプレット経由だろか。
Javaって
なんか不遇
JavascriptにしてもAndroidにしても
>>273 Scalaの詳しい文法は知らないし、そりゃ場合にもよるだろうけどさ
平方根誤差が 0.1 未満なら十分って思えるセンスはどうんなんだろ・・・
昔使ってた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 これしか思いつかん
さっぱりわからんかった ちゃんと勉強せず途中で放り出したけど
そんな自虐的でナイーブな言語はいらん。
>>13 javaのクラスって作るの難しいか?
他に利点はないの?
プログラム言語の頻繁な仕様変更や細分化って
典型的なタコ壺化なんだよね。
昔から不人気な商売だけどね。そんな事ばかりやてるから、
よけいにプログラマーが専門職でも何でもない使い捨ての
コーダーとみなされるようになっちゃって、とうとう土方仕事とまで
言われるようになった。
底辺層は管理職という名の手配師や口入れ稼業に昇進し、
優秀なプログラマーは自分で会社興したり専門学校の先生や
フリーや怪しいコンサルタントになっては泡のように消えて、
やがて業界から去ってしまった。
コンピュータに残されたのはバグだらけのプログラムだけ、
そのコンピュータも世代更新や会社の倒産で撤去済み。
もうね、焦土状態。
言語安全保障委員会を作って原子力みたいに規制した方がいいと思うよ。
>>285 それはやめてくれ。今より酷いことになる。
287 :
名無しさん@13周年:2013/02/06(水) 08:16:01.97 ID:ShyBIpKK0
IT業界にいるけど、くだらないものを追っかけるのは止めた。
いくら何かを身につけてもすぐに古くなる。
人にも感謝されないし、喜びがまるでない。
エンドユーザーなんて障害の苦情しか言ってこない。
自分の会社は人を育てる気なんかない。使い捨て。
こんなの技術マニアだけがやってりゃいいんだよ。
卒業することにしたよ
288 :
名無しさん@13周年:2013/02/06(水) 09:12:19.36 ID:puFgWf71O
オブジェクト指向は蛸壺思考
>>287 興味も好奇心も無ければくだらないと思うのは当然だと思うよ。
単純に面白いから色々手を出すワケで、直接仕事の役に立たなくてもそんなのどうでもいい。
色々なプログラミング言語にはそれぞれに設計思想があって、
思想をどう具現化したのかを調べるだけで勉強になるし。
技術者がマニアであることは必然だと思うんだけどね。
会社が人を育てないなんてグチを言う暇があれば本でも読めばいいのに。
>>272 今はrootくれるところがほとんどでしょ。
昔のレンタルHPだとPHP縛りとかがあったけど。
>>287 ほぼ同意だけど、くだらなくないものも結構あるよ。
だから続けていられるかな…
既存の概念を焼き直しただけのバズワードには辟易しているけど。
関数型は主流にはならんが、メニーコアとか大規模サーバとか
そういう環境で性能を出しつつ生産性を上げるためには
必須になりつつあるけど、なんでScalaなんだ?
JavaVMはクソだろうが。
>>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をとっくの昔に追い越しているだろう
求人みても、Java経験者は引き手数多という感じだからなあ。
ま、その求人がブラックばっかなんだがw
299 :
名無しさん@13周年:2013/02/06(水) 15:25:18.20 ID:8NDQSfDi0
>>294 C言語の再帰プログラムじゃん、って思うのは俺が現場離れて長いせいかな…
古式ゆかしいカーニハン&リッチー的な関数というよりは
C++的なオブジェクト指向ではあるけど。
関数型って言うとこんがらがるから、数理モデルっぽい言語と考えりゃいいのかね?
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) って書くみたいだな。
関数をわかりにくく書いてるだけな気がする。
いかん、こういうのを見ると「また韓国のステマかよ…」って思うようになったw
304 :
名無しさん@13周年:2013/02/06(水) 16:00:01.58 ID:SpPntRd40
c++で十分だろ
306 :
名無しさん@13周年:2013/02/06(水) 16:02:41.28 ID:K/mgyE5f0
307 :
名無しさん@13周年:2013/02/06(水) 16:38:58.42 ID:cNkOB9sL0
>>306 ifも関数なんだな。それで思い出したのがエクセルの関数。
そういやエクセルの関数でもちょっと複雑なことをしたら
すぐ括弧だらけになるのを思い出して何となく腑に落ちたw
あの程度のカッコでめげてたらLispなんか使えねぇ
309 :
名無しさん@13周年:2013/02/06(水) 16:51:39.68 ID:Zfa80Ggn0
遂にFortranの時代が来るのか
ごめん。おれFORTRANやってる。
こういうのを言い出す奴って、全然英語ができない奴なんだろうな。
なんだかんだいって、javaは英語っぽくて理解しやすいのに。
>>311 フォートラン使う奴は英語ができないって?
言いがかりにも程があるぞ。
>>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
ぬるぽ
>>316 ■━⊂( ・∀・) 彡 ガッ☆`Д´)ノ
>>311 つか、C系のプログラマが愛用するあの糞長い変数名が苦手。
319 :
名無しさん@13周年:2013/02/06(水) 17:59:11.14 ID:JzvVIlJ80
>>120 COBOLでいまだに飯食わせて貰えるお方もおりますので…。
>>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
ハンガリアン記法のことじゃない?
散々言われてるかもしれんが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 興味があるのはいい事なんだよ。
ただ、この業界は、お客さんから喜ばれたり、評価されたり、収入が増えたり、他の社員と仲良くなったり、そういう部分が著しく欠けている会社が多すぎる。 自分には技術的な興味だけで乗り越えるかのは無理だな。
あなたがやっていけるなら素晴らしい事だと思うよ。
>>326 まるでどこからか剽窃してきたようなテンプレ書き込みワラタ
>>329 そうか?どれも比較的実現しやすいと思うけど。
お客さんと話す立場に立ったり、売上上げたり、儲かってる会社に移ったり、
他の社員とコミュニケーションとったりができない業界じゃないだろう。
>>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脳どもが習性で叩いてやがるんじゃね
えの?こいつら何かにつけて否定や叩きから入りやがるからな
>>287 俺もIT業界どっぷりだけど、まだまだ追っかけたいな。
身につけたモノは必ず何処かで役に立っているし、
顧客のニーズを満たせば感謝もされこちらも嬉しい。
エンドユーザーからは満足のお返しで別の顧客も紹介して貰えたりするし
俺の会社は俺に後継者を作る機会すら与えてくれる。育てる事に前向きだ。
技術だけでなく話術や洞察力に長けた人間にドンドン参入して欲しいね。
相手の心とニーズを掴み出すには技術力だけでは足りないよ。
まだだ、まだ終われんよ(`・ω・´)
337 :
名無しさん@13周年:2013/02/06(水) 21:44:35.35 ID:K/mgyE5f0
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
ポジティブな奴とそうでない奴の差が激しいな。
もしかして企業によって職場の雰囲気ぜんぜん違うのかもね。
342 :
名無しさん@13周年:2013/02/06(水) 23:12:50.97 ID:0ah6L7dP0
>>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
フレームワークが使えるだけの自称プログラマ多すぎ。
347 :
名無しさん@13周年:2013/02/07(木) 01:42:00.08 ID:ABR+DTMb0
CとかVB6ならともかく、ローカル変数を好きなところで宣言できて、なおかつIDEの補佐がある言語なら変数は書き捨てでいいけど
大量のオブジェクト生成する言語ならやはり何かしらの規則性はつけないといかんわ
俺は_varとかmMemberとかが最高に嫌い
349 :
名無しさん@13周年:2013/02/07(木) 02:26:49.16 ID:jG0BYcZR0
フレームワークにしても関数型にしても生産性が重要。
早く簡単に作れるのはいい。
350 :
名無しさん@13周年:2013/02/07(木) 02:35:23.73 ID:YKGOorcp0
え?Cに戻るっての?
【 ブルーライト・ヨコハマ(歌:いしだあゆみ)の替え歌 】
いつものように だまされるのさ ネトウヨ 情弱ネトウヨ 峯岸みなみ 天使だぜ
いつものように テレビつけたら ネトウヨ 情弱ネトウヨ 坊主の女が 泣いていた
朝鮮に 中国に 湯水のごとく 国富をそそぐ 滅べ 売国民主党
今のエロ本 モデルいいさと ネトウヨ しこしこネトウヨ 中韓モデルと 知らないで
自民党 自民党 日本を救え 石原頼む 俺は 維新のサポーター
愚かすぎるぜ 未熟すぎるぜ ネトウヨ 愛国ネトウヨ 改憲ささえ 戦場へ
ここにいる連中にはラムダ計算とか圏論とかは死ぬまで必要ないな
スコット・プログラム理論とか本棚のどこかにあるはずだが、たぶんもう読み返す事も無かろう。
>>322 スレ違いだがホリエモンって実際もこんな感じの方でしたわ
FTPクライアントが2バイト文字コード通さないので困ってたら
「ここはここにドラッグすれば送信できるでしょ!」
って怒鳴られた記憶があるw
357 :
名無しさん@13周年:2013/02/07(木) 08:26:31.97 ID:xjLzUQlO0
やべー。最近Javaしか触ってないわ。
358 :
名無しさん@13周年:2013/02/07(木) 09:08:32.43 ID:a8GoH3tlP
プログラムなんて全く理解できないんだけども
使いやすい環境なのかな?
数社だけ使ってても、大多数が使ってる方が優位性が
あるように思えるんだけど
数々の言語をマスターしたけど、Pythonが攻守最強。
WebもGUIもさくさく書けるわ、メンテナンス性すごくいいわで。
関数型言語はまた別だけど。
そもそも、ホラレモンはプログラムは書けないのでわ?
>>358 より開発効率の良い言語を使う派
v.s.
ライブラリ、フレームワークがあれば変わらない派
結論は、使いこなすプログラマの実力次第。
>>348 車輪を発明することができないやつのいいわけだそれ。
>>358 大多数が使ってる言語を避けることで、バカ除けの機能はあるとおもう。
古い、新しいで物事決めるような団塊的思考を排除した方が良いんじゃないの。
>>362 じゃあ既存ライブラリは使わないわけ?
趣味ならそれでもいいが仕事じゃとても納期に間に合わんわ。
OCamlで失敗の責任もおっかむる
JavaVMを使わないScalaには期待してる。
>>19 Swingで二度作ったことがある。
かなりショボイ。