やってて楽しいプログラミング言語は? 3言語

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
またその理由は?(やりながらお金儲けできる、アイデア次第で色んなものを作れる、など)

やってて楽しいプログラミング言語は? 2言語
http://hibari.2ch.net/test/read.cgi/tech/1303357967/

やってて楽しいプログラミング言語は?
http://hibari.2ch.net/test/read.cgi/tech/1298628324/


次スレも立てられないおまえらはPHPの刑、VBの刑
2デフォルトの名無しさん:2011/05/15(日) 00:10:24.15
全てはアセンブリに帰す
3デフォルトの名無しさん:2011/05/15(日) 00:15:06.48
c++やperlで難読なコード書くのが楽しいよね
4デフォルトの名無しさん:2011/05/15(日) 01:13:12.67
>>1乙w

立てようとしたけど立てれなくて代行依頼したw
今からキャンセルしてくるわw
5デフォルトの名無しさん:2011/05/15(日) 01:17:37.97
>>1
趣味でプログラミング乙
6uy:2011/05/15(日) 01:19:29.05
楽しいって、
自分は読めるけど、誰も読めないようなソースコードかいてるときのこと?

それはある
7デフォルトの名無しさん:2011/05/15(日) 01:23:29.11
>>6
お前のコードはコンパイラですら読むことができずに困っているからな
8デフォルトの名無しさん:2011/05/15(日) 01:33:44.46
シェルスクリプト
9デフォルトの名無しさん:2011/05/15(日) 01:37:37.12
010101001010100111010010010100110100101010010001001001001010010101100101010001010101010010101101?
10デフォルトの名無しさん:2011/05/15(日) 03:04:15.83
Ruby
11デフォルトの名無しさん:2011/05/15(日) 04:19:59.20
JavaScript楽しいよ。
よく出来てる。
12デフォルトの名無しさん:2011/05/15(日) 05:36:27.01
JavaScript勧めてくるやつは頭に何かの疾患抱えてると思う
13デフォルトの名無しさん:2011/05/15(日) 05:50:25.15
JavaScriptは手軽で良いよね
ストレス無くコーディング出来る
14デフォルトの名無しさん:2011/05/15(日) 05:58:06.08
Qt も全力で JavaScript を採用するレベル
15デフォルトの名無しさん:2011/05/15(日) 06:14:55.73
やっぱりスタイルが一貫している言語が楽しいね

Forth : 何でもスタック
Lisp : 何でもリスト
Scheme : 何でもラムダ
Tcl : 何でもコマンド
JavaScript : 何でもハッシュ
Smalltalk : 何でもオブジェクト
16デフォルトの名無しさん:2011/05/15(日) 06:19:18.67
C: なんでもスカラ
17デフォルトの名無しさん:2011/05/15(日) 10:48:50.28
C++ : 何でもごちゃ混ぜ
18デフォルトの名無しさん:2011/05/15(日) 12:14:19.93
Rubyもメソッド以外はオブジェクトじゃね
19デフォルトの名無しさん:2011/05/15(日) 14:19:16.38
>>18
じゃあ一貫してないじゃん
20デフォルトの名無しさん:2011/05/15(日) 15:53:39.17
Pythonは何が一貫しているの
21デフォルトの名無しさん:2011/05/15(日) 15:54:22.81
記述の美しさ
22デフォルトの名無しさん:2011/05/15(日) 16:04:14.86
記述の美しさとゆったらLispじゃないの
23デフォルトの名無しさん:2011/05/15(日) 16:07:25.32
記述の美しさ
WS BF Lisp 正宗
昔はobject pascalなんかも良いと言われてた気がするが死んだ
24デフォルトの名無しさん:2011/05/15(日) 17:31:08.21
Haskell も美しいフォルムを持ってる
25デフォルトの名無しさん:2011/05/15(日) 18:05:58.87
確かに Haskell さんも男前だけど、

http://www-history.mcs.st-and.ac.uk/Posters/912.html

お近づきになるなら Ada さんの方が良いな

http://en.wikipedia.org/wiki/Ada_Lovelace
26デフォルトの名無しさん:2011/05/17(火) 09:28:23.09
ホットな技術を直ぐに試せる言語はいいな。
クラウドがはやってるけど、試そうと思ったらJavaかPythonになっちゃう。
ちょっと遅れて他の言語でも使えるようになるけどこのタイムラグは大きい
27デフォルトの名無しさん:2011/05/17(火) 16:00:59.83
初心者で1スレ目からロムってるけど、スレ覗くたびに意見が違ってて何から始めたらいいかほんと分からないw
少し前にJavaScriptが絶賛されてるかと思えば、次に覗いたときには大バッシングされてたり
28デフォルトの名無しさん:2011/05/17(火) 16:05:18.61
>>27
楽しい言語と、始めるのに良い言語とはまた違うよ
29デフォルトの名無しさん:2011/05/17(火) 16:25:59.68
>>27
ジャップは自分の意見という物が無く、非常に流されやすい
誰に流されるかと言うと
どっかの英語喋るオッサン達

初心者に勧めるのはpython
同じ動作=同じ見た目になりやすいのはソースコードから学びやすいのではないかという学習面の楽しさから

やってて楽しいをどう考えるかによるが
・難解で本格的、正統派っぽいのが楽しいという変態
・素人でもエレガントに記述できそうだ
・目的に一番早くて達成できるから楽しい

何が楽しくてやろうと思ってるか言わないと助言のしようがない
何が分からないのか分からない
楽しいというのは人によって違うんだから人に左右されるのはおかしい
30デフォルトの名無しさん:2011/05/17(火) 18:04:54.30
>>27
現在プログラムしてて楽しい言語を挙げているだけで、
べつに入門言語を紹介してるわけじゃないからな

今楽しすぎても、初心者にはお勧めしにくい言語もある
Haskellとか
31デフォルトの名無しさん:2011/05/17(火) 18:24:42.48
C#、java、javascript、actionscript(1.0)は記述が似てるので
はじめの一歩にすると手を広げやすくなる
ゲーム作るならアドビFlash(actionscript)がVisual風にグラフィカルにいじれて良い
32デフォルトの名無しさん:2011/05/17(火) 19:03:23.20
>>27
javaScriptは処理系を用意しなくても、ブラウザさえあれば、プログラミングを始められるという意味では、初心者向き
文法としては別に初心者向けじゃないよ

文法としてはlisp系やhaskellの方が分かりやすい
(ただ、日本語の入門書が少ない)

初心者向けとか関係なく、情報を入手しやすい言語は、javaScript、python、ruby、java、c#、c、c++辺りかな

基本的に初心者向けはどれだろう。。。とか、考えるだけ無駄

33デフォルトの名無しさん:2011/05/17(火) 20:43:39.47
>>27
一生迷ってろ
34デフォルトの名無しさん:2011/05/17(火) 21:03:02.76
>>26
GAEだけがクラウドだもんね^^わかるわかる^^^
35デフォルトの名無しさん:2011/05/17(火) 21:07:18.02
直ぐに試すという話だから、やっぱり GAE の存在は大きいでしょ
GAE は Java と Python だけじゃないけど
36デフォルトの名無しさん:2011/05/17(火) 21:38:32.06
やっぱり楽しいのは JavaScript だよなあ...

http://bellard.org/jslinux/
http://www.lively-kernel.org/

ウェブブラウザさえあれば何でも出来ちゃう
37デフォルトの名無しさん:2011/05/17(火) 21:54:09.32
>>36
それはブラウザが有れば動くって言うポテンシャルだけが取り柄って事でも有るんだけどね
他の言語も、ブラウザ上でjavaScriptと同じ扱いになれたら、選択肢が広がって楽しいんだが。。。

38デフォルトの名無しさん:2011/05/17(火) 22:05:38.36
>>37
「だけが」って所は貴方個人の見解でしょう。訳知り風に言っても筋は通らないよ。

それと、JavaScript にコンパイルする言語は幾つかあるから、探してみるといいよ。
39デフォルトの名無しさん:2011/05/17(火) 22:12:15.47
>>37
ブラウザが有れば動くって言うポテンシャルだけが取り柄って事ならば、
他言語でも JavaScript へのトランスレータ作ればいいだけとちゃうか
40デフォルトの名無しさん:2011/05/17(火) 23:17:22.57
ブラウザ上でPythonが動けばいいのに(´・ω・`)
41デフォルトの名無しさん:2011/05/17(火) 23:27:45.63
インデントを気にする言語はブラウザには向いてないわな
42デフォルトの名無しさん:2011/05/17(火) 23:32:52.74
最近MacでObjective-Cやったら結構面白かった…。
43デフォルトの名無しさん:2011/05/17(火) 23:37:50.84
>>41
どういうこと?

Webブラウザのフォントはプロポーショナルだから、
インデントが揃わない可能性があってコードが見難いということ?

それでも意味が全く分からんが
44デフォルトの名無しさん:2011/05/17(火) 23:52:38.04
HTTPでは複数のスペースは基本無視されるからだろ。インデントは消えてしまう
45デフォルトの名無しさん:2011/05/17(火) 23:54:41.44
トランスレータ作れって言ってる奴で実際作ってる奴なんているの?
おれはJavaからC++,javascript,actionscriptってつくったけど。
46デフォルトの名無しさん:2011/05/17(火) 23:55:52.18
連続する空白の圧縮は HTML ファイルの軽量化の基本だし。
47デフォルトの名無しさん:2011/05/17(火) 23:56:26.29
>>44
それHTTPの仕様じゃなくてHTMLの仕様でしょ
そのHTMLですらちゃんとソース上ではインデント残ってるワケだし
48デフォルトの名無しさん:2011/05/17(火) 23:56:55.37
改行どうすんの?
49デフォルトの名無しさん:2011/05/18(水) 00:05:16.81
>>48
どうすんの?ってどういうことよ
何を問題に思っているのかが分からないのだが
50デフォルトの名無しさん:2011/05/18(水) 00:09:56.74
>>47
うーん
51デフォルトの名無しさん:2011/05/18(水) 00:09:57.10
そもそも、>>40 に対する >>41 の返しの意味が分からんぞ

ブラウザ上でPythonが「動く」こととインデントとの関係は?
52デフォルトの名無しさん:2011/05/18(水) 00:12:16.07
Python の人は他の言語を羨ましがる必要ないのにね(´・ω・`)

QML は JavaScript だし、ウェブブラウザも JavaScript
それはもう動かし様が無いの

ウェブプログラマだって本物のクロージャは欲しいし、当たり前に
JIT が無いとやっていけないし、HTML ファイルが空白文字の数に
左右されたら軽量化が面倒だし

UN*X 系の OS でデフォで入ってるとか、GAE で簡単に使えるとか、
Python は Python の良い所をのばしたら良いと思うの

インデントが好きなら CoffeeScript を使ったら良いんじゃないかな
53デフォルトの名無しさん:2011/05/18(水) 00:30:41.66
>>52
別にHTMLが空白文字の数に左右されようと軽量化はそんな難しくないよ
要は<script language="Python" src="foobar.py" />ってやればいいだけでしょ
54デフォルトの名無しさん:2011/05/18(水) 00:33:52.81
>>53
は?
55デフォルトの名無しさん:2011/05/18(水) 00:35:43.12
えっ
56デフォルトの名無しさん:2011/05/18(水) 00:37:21.46
>>53
出来るかどうかじゃなくて、実効性がどのくらいあるかを考えてごらん
ぐーぐるさんがファイルの圧縮にどれだけ力を注いでいるか調べてみると良いよ

そもそも HTML なのに改行に依存するデータは歓迎されないんじゃないかな
誰かが出来ると思っても、他のみんなが嫌がる事はやらない方が良いよね
57デフォルトの名無しさん:2011/05/18(水) 00:43:09.90
>>56
ならVBScriptとかどうなるんだ、利用価値はともかく一応IE用として存在はしてるはずだぞ
58デフォルトの名無しさん:2011/05/18(水) 00:46:52.82
>>57
VBScript って何?
それって何か重要な技術なの?
59デフォルトの名無しさん:2011/05/18(水) 00:52:29.40
ん…重要であることが前提だったのか?それはすまなんだ
60デフォルトの名無しさん:2011/05/18(水) 00:57:33.73
>>53
http://code.google.com/apis/libraries/devguide.html

ここにあるライブラリが全部 Python だったらどうなるか考えてみんしゃい
61デフォルトの名無しさん:2011/05/18(水) 01:49:51.28
やっぱり楽しいのは JavaScript だよなあ...

http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217

ウェブブラウザさえあれば何でも出来ちゃう
62デフォルトの名無しさん:2011/05/18(水) 02:11:30.31
できねーよ。まさにJavaScript教信者って感じだな
63デフォルトの名無しさん:2011/05/18(水) 02:17:49.00
>>62
時代に取り残されたおっさん
64デフォルトの名無しさん:2011/05/18(水) 02:20:07.67
>>62
最新のブラウザにアップデートして>>61のリンク先へゴーゴー!
65デフォルトの名無しさん:2011/05/18(水) 02:34:23.73
javascriptでOS作ろうと思ってます
66デフォルトの名無しさん:2011/05/18(水) 03:04:46.45
中々面白い試みだな
67デフォルトの名無しさん:2011/05/18(水) 03:20:29.17
GoogleやMicrosoftがWeb上で何でも出来るようにしようとしてるが
それでJavaScript万能とか言い出すのは勘違い甚だしい
68デフォルトの名無しさん:2011/05/18(水) 03:45:24.99
>>36
これなに?初心者の俺には何が凄いのか分からないw
69デフォルトの名無しさん:2011/05/18(水) 05:12:30.20
そのウェブ至上主義は何?
70デフォルトの名無しさん:2011/05/18(水) 05:34:10.82
やっぱり楽しいのは JavaScript だよなあ...

http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217

ウェブブラウザさえあれば何でも出来ちゃう
71デフォルトの名無しさん:2011/05/18(水) 05:48:05.63
わざわざブラウザで動く必要もないな、と思いました
72デフォルトの名無しさん:2011/05/18(水) 05:51:18.29
ブラウザごちゃごちゃしてて重いし
クライアントとしては最悪じゃないか…
73デフォルトの名無しさん:2011/05/18(水) 08:06:02.76
74デフォルトの名無しさん:2011/05/18(水) 10:58:18.62
そういうののJavaScriptはインターフェイスを制御してるだけ
ブラウザやサーバに組み込まれたモジュールはJavaScriptじゃない
75デフォルトの名無しさん:2011/05/18(水) 16:34:08.48
C#が1番楽しい
76デフォルトの名無しさん:2011/05/18(水) 18:44:12.84
>>74
「そういうの」が何を指しているのか知らないけど、WebGL はシェーダーも書けるし、
Canvas はピクセル単位の情報にもアクセス出来るんだけど、「インターフェイスを
制御してるだけ」ってどういう意味で言ってるの?
77デフォルトの名無しさん:2011/05/18(水) 19:09:51.05
サーバサイドはjavascriptじゃないってことだろ
78デフォルトの名無しさん:2011/05/18(水) 19:10:24.79
>>68
上は JavaScript で x86 マシンをエミュレートして、その上で Linux を動かしている
x86 エミュレータの歴史を紐解いたら必ず名前が出て来る Fabrice Bellard というプログラマが書いたプログラム
ブラウザ上で動く QEMU みたいな物

下はデスクトップ環境を丸ごと JavaScript で実装している
GUI の歴史を紐解いたら必ず名前が出て来る Dan Ingalls というプログラマが書いたプログラム
ブラウザ上で動く Squeak みたいな物

どちらも、JavaScript でも、ある程度複雑な物がある程度の処理性能で実装出来る事を示している
79デフォルトの名無しさん:2011/05/18(水) 19:12:04.56
>>77
>>36 とか >>61 はサーバ側のプログラムは関係無いんだけど?
80デフォルトの名無しさん:2011/05/18(水) 23:11:54.67
Javascript楽しいよ。つーかブラウザ上でのプロトタイピングが楽しい。
UI仮組みすぐだし、ブラウザある環境ならどこでもコーディング可能。
やろうと思えばスマホでもできる。
実際にはスマホ上では作ってないけどスマホ用の簡単なツールとか楽しすぎる。
昔は何でもC/C++でやってたけど今はJava中心にC++とJavascriptも使ってる。
81デフォルトの名無しさん:2011/05/18(水) 23:35:58.26
JavaScript を使うと、簡単なプログラムを作るのは本当に簡単だよね
形になるのが早いから、プロトタイピングにはとても適してる

加えて、複雑なプログラムもそれなりの労力で作れるのが良いね
昔と違って処理速度やライブラリの充実度合いもかなりの域に達しているし
82デフォルトの名無しさん:2011/05/19(木) 02:19:27.21
JSの布教活動はもうそのへんでやめとけ。JSが何をしてるのか全く理解できてないのが丸わかりだぞ
JSで何でもできてしまったらWeb閲覧のセキュリティが崩壊するわ
83デフォルトの名無しさん:2011/05/19(木) 02:34:31.12
>>82
最早ウェブブラウザ上だけの言語という訳でもないですし、
そう拒絶する必要も無いと思いますよ
84デフォルトの名無しさん:2011/05/19(木) 03:07:38.07
とりあえずデタラメ書き込むのはやめろ
85デフォルトの名無しさん:2011/05/19(木) 03:10:09.44
>>84
もし本気でそう思うなら、きちんと具体的に指摘した方が良いですよ
86デフォルトの名無しさん:2011/05/19(木) 03:16:31.59
「JavaScriptで実装」とかだよ
87デフォルトの名無しさん:2011/05/19(木) 03:18:10.33
「WebGLがJavaScriptで動いてる」とかもだな
88デフォルトの名無しさん:2011/05/19(木) 03:20:23.25
>>86-87
レス番込みで、何を問題と思ったのか書かないと誰も分からないよ
89デフォルトの名無しさん:2011/05/19(木) 03:24:55.28
90デフォルトの名無しさん:2011/05/19(木) 03:27:56.56
真っ白ですが?
91デフォルトの名無しさん:2011/05/19(木) 03:32:19.76
>>90
JavaScript について何か言いたいなら、せめて最新のブラウザを使おうぜ・・・

それが嫌なら http://labs.oracle.com/projects/lively/expt.xhtml
ダウンローダで落として、中を見てみ
92デフォルトの名無しさん:2011/05/19(木) 03:36:55.92
熱烈なアンチの方がいるみたいだけど、結局の所、具体的な問題点の指摘は何もないのね
93デフォルトの名無しさん:2011/05/19(木) 03:39:33.07
指摘してるのに無視だもんなwまともに会話が成り立つ気がしないw
94デフォルトの名無しさん:2011/05/19(木) 03:41:06.58
JavaScriptはセキュリティ上オフにしてる。それが普通だと思うが
95デフォルトの名無しさん:2011/05/19(木) 03:42:32.27
指摘ってどれよw
96デフォルトの名無しさん:2011/05/19(木) 03:59:25.92
いまどきJavascriptオフでまともに見れるサイトってあるの?
97デフォルトの名無しさん:2011/05/19(木) 04:12:47.47
JavaScript は、

わかり易い言語だからプログラマも沢山いて
ウェブアプリが成長分野になっていて
jQuery や YUI を筆頭に便利なライブラリが沢山あって
V8 や JavaScriptCore みたいな莫大な開発費が投入されている処理系があって
JIT があるから実行速度が高速で
殆どのサイトで使われていて
イラストレータや PDF にも組み込まれていて
Qt では次期リリースで第一言語にリストアップされていて
Node.js みたいにサーバサイドでも使う事が出来て
Titanium みたいにマルチプラットフォームの開発でも使えて
プロトタイプ指向だから既存のオブジェクトの拡張が簡単で
本物のクロージャもあってプログラムを書くのが容易で
Flash と違って IOS でも実行出来て
ブラウザがあれば動くからプログラムをテストするのも容易で
AJAX や JSON のおかげで JavaScript の適用範囲が広がって
HTML5 によってグラフィックや通信等の高度な処理も可能になって
WebGL によって 3D のプログラミングも高速に処理出来て

まさに素晴らしいとしか言い様が無い
98デフォルトの名無しさん:2011/05/19(木) 04:15:34.82
とっつきやすいがわかりやすくはない。特殊な言語。面白いけど。
99デフォルトの名無しさん:2011/05/19(木) 05:13:14.04
だからなんで「WebGL によって 3D のプログラミングも高速に処理出来て」みたいな勘違いを延々たれ流すわけ?
100デフォルトの名無しさん:2011/05/19(木) 06:26:29.30
やっぱり楽しいのは JavaScript だよなあ...

http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217

ウェブブラウザさえあれば何でも出来ちゃう
101デフォルトの名無しさん:2011/05/19(木) 06:31:53.46
JavaScriptはセキュリティ上オフにして
信頼性のあるサイトでのみアクティブXとセットでオンにする
102デフォルトの名無しさん:2011/05/19(木) 06:34:22.99
IEっすかそっすか
103デフォルトの名無しさん:2011/05/19(木) 06:36:18.72
アクティブXは絶対にオンにすべきじゃない
104デフォルトの名無しさん:2011/05/19(木) 06:42:02.06
なんでちょっと流行るとすぐ信者みたくなる人いるんだろう。
105デフォルトの名無しさん:2011/05/19(木) 07:06:33.04
ジャップは流されやすいからな
106デフォルトの名無しさん:2011/05/19(木) 07:13:31.09
C++が無いと業界成り立たねーぜ!
Rails最高!!Ruby最高!!!
世界はObject-Cで完結した!!
Javascript!!!!!! ←今ここ
Perl6は言語を超えた文化! ←次ここ
107デフォルトの名無しさん:2011/05/19(木) 07:58:47.08
糞言語の代名詞みたいなperlが何か変わるの?
今までの言語仕様を捨てて可読性が向上するとか?
108デフォルトの名無しさん:2011/05/19(木) 08:09:14.49
Perl6は互換性のない仕様変更であることは確かだが、多分普及しない
109デフォルトの名無しさん:2011/05/19(木) 08:52:38.76
perlは他の言語とは比較対象にならない至高の存在
赤木しげる登場前の鷲巣様みたいなもん
110デフォルトの名無しさん:2011/05/19(木) 09:03:54.03
>>104
スレタイ
111デフォルトの名無しさん:2011/05/19(木) 11:40:58.17
>>108
つーかperl使いがもう少なくなってきているだろ
112デフォルトの名無しさん:2011/05/19(木) 11:55:17.83
結局糞言語の吊るし上げにしかならんのなこのスレ
113デフォルトの名無しさん:2011/05/19(木) 15:03:20.42
Perlはどんどん覚えることが増えてくのがなあ
C++も真っ青の複雑言語と化しつつあると思う
114デフォルトの名無しさん:2011/05/19(木) 23:31:35.16
まあツートップって所だな
115デフォルトの名無しさん:2011/05/20(金) 01:46:49.02
Perlの節操の無さは酷いけれど
それが特長でもあるからな。
116デフォルトの名無しさん:2011/05/20(金) 01:55:44.26
>>106はトンデモ言語集みたいな感じなのか?
どれも一部で高評価されつつ総評としては失笑されてる気がするが
117デフォルトの名無しさん:2011/05/20(金) 06:12:52.45
そりゃ全言語に共通するわ
118デフォルトの名無しさん:2011/05/20(金) 06:24:46.07
全部って
119uy:2011/05/20(金) 08:24:00.87
>>115
言えてる
あの複雑さが癖になってる奴が、いつまでもPerlを使い続ける
今でもRubyより、Perlのほうが少ない文字数でプログラミングできるしな
覚える気しないけど、既に覚えきってる奴だとRubyがオモチャに見える可能性はある


>>113
C++とPerlは複雑さのベクトルが違うぜ

C++が複雑なのは、コンパイラ言語に似合わない事をやってるからだ
C、JAVA相当の普通のコンパイラ言語として使っていく分には複雑にはならない
ちょっと遊び始めると、メタと、コーディングの二つを同時にやっていくことになるから、スクリプト言語の2倍複雑になる
MathがRubyにマクロ入れたがらない理由は、C++のそういうところを嫌ってると予想する

まぁ、#define か、Template か、 または独自のマクロを実装するにしても、スクリプト言語だったら
evalでマクロ相当の事は出来るはずだからマクロを無理に入れる必要はないとは思う、あったほうが便利だけど
120デフォルトの名無しさん:2011/05/20(金) 15:11:36.35
uyがまともなことしゃべって
なかった
121デフォルトの名無しさん:2011/05/20(金) 23:31:09.31
jsは糞
122デフォルトの名無しさん:2011/05/20(金) 23:32:08.68
と思いたかった...
123デフォルトの名無しさん:2011/05/20(金) 23:34:52.95
が、本当にうんこ。
124デフォルトの名無しさん:2011/05/20(金) 23:35:34.71
はっ、夢だったか・・・
125デフォルトの名無しさん:2011/05/20(金) 23:35:36.40
javascriptは一人で書いてる分にはきれいに書ける
perlは・・・
126デフォルトの名無しさん:2011/05/20(金) 23:35:51.22
うんこ
127デフォルトの名無しさん:2011/05/20(金) 23:37:46.54
JavaScript は奇麗に書ける
128デフォルトの名無しさん:2011/05/20(金) 23:38:19.80
ほとんどの人はうんこのようなソースコード。
129デフォルトの名無しさん:2011/05/20(金) 23:42:59.68
そんな中、JS を書いているプログラマだけは奇跡的的に奇麗なソースコードを、、、
130デフォルトの名無しさん:2011/05/21(土) 00:08:07.60
JSってコードがびろーんって長くならない?
俺だけかな。
131デフォルトの名無しさん:2011/05/21(土) 00:08:20.31
そしてそれをうんこにする人がいる。。。
132デフォルトの名無しさん:2011/05/21(土) 00:11:24.46
>>130
一度 SML や Scheme をやって戻ってくると良いよ
長いコードなんて書けなくなる
133デフォルトの名無しさん:2011/05/21(土) 00:13:20.42
クロージャー使わないと隠蔽化がまったくできないのはどうかと思う
134デフォルトの名無しさん:2011/05/21(土) 00:16:00.94
クロージャ使わないとと言うより
関数スコープに統一されてるだけの話

嫌なら let を使えば良い
135デフォルトの名無しさん:2011/05/21(土) 00:22:03.75
そういうことじゃないんだが
136デフォルトの名無しさん:2011/05/21(土) 00:22:43.96
どういう事かは言わないんだが
137デフォルトの名無しさん:2011/05/21(土) 00:24:00.35
とりあえずうんこだな。
138デフォルトの名無しさん:2011/05/21(土) 00:24:51.85
さっさと行ってこい
139デフォルトの名無しさん:2011/05/21(土) 00:26:34.47
構造化された区切りのよいうんこがでた。
140デフォルトの名無しさん:2011/05/21(土) 00:28:16.60
>>133
>まったく

naming convention でも出来る
141デフォルトの名無しさん:2011/05/21(土) 06:02:58.94
詰まるところ
JavaScriptは綺麗なうんこだと
142デフォルトの名無しさん:2011/05/21(土) 06:06:04.17
あながち間違いとも言えない表現だから困る
143デフォルトの名無しさん:2011/05/21(土) 10:14:40.87
144デフォルトの名無しさん:2011/05/21(土) 14:04:23.18
>143
作る人が下痢にしてる。
145デフォルトの名無しさん:2011/05/21(土) 16:03:15.23
javaScriptは好きでも嫌いでも無いから、はしゃがれても肯定も否定も出来ないので反応に困る
146デフォルトの名無しさん:2011/05/21(土) 16:07:13.21
全てのレスに反応しようとするのは、はしゃいでいる内には入らない訳ですね
147デフォルトの名無しさん:2011/05/21(土) 17:36:44.87
最近のスクリプト系言語とか見てると何処までがプログラミング言語と言えるかという疑問が沸いて来る
148デフォルトの名無しさん:2011/05/21(土) 17:37:46.62
チューリング等価ならオケ
149デフォルトの名無しさん:2011/05/21(土) 17:51:01.17
<[+-.,]>
150デフォルトの名無しさん:2011/05/21(土) 18:07:54.74
もちろんオケ
151デフォルトの名無しさん:2011/05/21(土) 23:37:14.26
もちろん水洗トイレ。
152デフォルトの名無しさん:2011/05/21(土) 23:58:57.25
プログラマーに作りたいソフトを日本語で指示してもプログラミング
153デフォルトの名無しさん:2011/05/22(日) 00:22:16.17
それがチューリング完全である保証はない
154デフォルトの名無しさん:2011/05/22(日) 00:43:35.52
人に焼きそばパン買ってこさせるのもプログラミング
155デフォルトの名無しさん:2011/05/22(日) 00:53:28.16
仕様書もチューリング完全にしてください
156デフォルトの名無しさん:2011/05/22(日) 01:08:59.50
仕様書とは四次元的な意識に依って記述された書であり、三次元的存在である我々には到底不可知
157デフォルトの名無しさん:2011/05/22(日) 01:33:42.32
なら、しようがないな
158デフォルトの名無しさん:2011/05/22(日) 08:01:21.27
プログラミング言語ってこんぴゅう太に命令出来なきゃだめだろ
159デフォルトの名無しさん:2011/05/22(日) 09:56:09.28
printf("うんこ\n");
160デフォルトの名無しさん:2011/05/22(日) 11:19:49.42
アプリのボタンをクリックするのとスクリプト書くのとは同じレベル
161デフォルトの名無しさん:2011/05/22(日) 11:31:06.01
アプリと生命体は同レベル
162デフォルトの名無しさん:2011/05/22(日) 11:34:00.02
他の言語のことは知らんが、少なくとも Haskell の場合は
命令だと捉えると泥沼にはまるな
163デフォルトの名無しさん:2011/05/22(日) 13:03:47.00
ついにNemerleの正式版が出たけど試す猛者はおらんか
164デフォルトの名無しさん:2011/05/22(日) 13:10:34.92
>>163
マクロ部分が癌になりそうな感じを受ける
165デフォルトの名無しさん:2011/05/22(日) 13:57:48.20
ガーン!!!
166デフォルトの名無しさん:2011/05/22(日) 16:02:04.50
2chVMで煽りコマンド打ってると
画面にムキー!!!って表示されて楽しいよ
167デフォルトの名無しさん:2011/05/22(日) 22:41:56.33
>>163
マクロ部分がうんこになりそうな感じを受ける
168uy:2011/05/23(月) 20:19:50.28
プログラミング自体がつまらない
169デフォルトの名無しさん:2011/05/23(月) 20:26:54.85
楽しいよ
170デフォルトの名無しさん:2011/05/23(月) 20:51:43.42
>>168
ナンデココニイルノ?
171デフォルトの名無しさん:2011/05/23(月) 20:59:30.29
みんなの目を醒ますため
172デフォルトの名無しさん:2011/05/24(火) 02:33:09.90
プログラミング言語じゃないけど、最近ブログやHP制作に興味があってHTMLとCSSを勉強し始めてる。
このスレの人達にとってはHTMLとCSSなんて意識がなくても書けるくらい簡単なものなんだろうけど・・・いやぁ〜ほんと難しい(;´Д`)
WordPressやMovableTypeなんかで書いてあるHPとか惚れ惚れするほどキレイだもん。
自分もああいうキレイなHP作りたいけどまだまだ先が長そうだ・・・。
めちゃくちゃソースがキレイな有料テンプレートとかよく売ってたりするけど、このスレの人達ってみんな市販されてる有料テンプレート程度のソースなら簡単に書けちゃうくらい凄いの?
173デフォルトの名無しさん:2011/05/24(火) 05:16:59.84
嫌味のつもりなんだろうけど、数値計算とか組み込み系をやってる人間にとっては全く必要の無い知識
最近はプログラミングと言えばWebプログラミグしか頭に無い人間が増えてるのか
174デフォルトの名無しさん:2011/05/24(火) 06:03:37.23
実際増えてるだろうな
コンソールも操作できない低脳が
ちょっとjavascript触っただけでドヤ顔してるのが現状
175デフォルトの名無しさん:2011/05/24(火) 06:27:17.77
>>173
いきなり数値計算や組み込みに手を付けて楽しいなと思う奴はかなり変わってる方だろ
Web系は環境の用意が手軽で結果が目に見えるから楽しみ易いだろ

>>174
こういうコンソール操作で脳味噌が止まってるおっさんが
変にこだわって5分で欲しいものに半日かけたりするんだよなー
176デフォルトの名無しさん:2011/05/24(火) 06:30:35.96
他の方法なら5分なのに、コンソールだと半日かかる操作って何?
177デフォルトの名無しさん:2011/05/24(火) 07:44:25.33
その半日が楽しければいいんじゃね
178デフォルトの名無しさん:2011/05/24(火) 07:48:19.89
>>175
分かってないな
仕事は仕事できちんとするよ

その上で、普通なら5分でできる事を変にこだわって半日かけたりするのが
この上なく「楽しい」んじゃないか

アホなことを大まじめに仕上げる楽しさとか、
処理速度無視で徹底的に自分の美学にこだわる楽しさとか、
逆に美しさ無視で1クロック1バイトの節約にこだわる楽しさとか、
SIGPLAN や SIGGRAPH の論文を最速で実装してみる楽しさとか

そういう点で、君の言う手軽で結果が目に見える「Web系」言語より、
C や Haskell や Scheme なんかの方が何倍も楽しい
179デフォルトの名無しさん:2011/05/24(火) 08:34:45.61
おまえにとってはな
180デフォルトの名無しさん:2011/05/24(火) 08:39:53.54
>>178
俺も C と Scheme は好きだけど、「Web系」言語を見下せるほどの何かがあるとは
思わないな。JavaScript なんてヘンテコだけどなかなか楽しい言語だぜ。

俺には理解出来ないけど、1バイトを削るのがそんなに楽しければ、JavaScript でも
十分楽しめるみたいよ。

https://github.com/jed/140bytes/wiki/Byte-saving-techniques

それとコンソールなんてサーバ管理してれば毎日弄ってるもんだと思うけど。
181デフォルトの名無しさん:2011/05/24(火) 08:59:54.72
>>172
自分が使える言語と大きく記述が違うものは
とりあえずは学習しなきゃ無理だろ
182デフォルトの名無しさん:2011/05/24(火) 09:17:32.91
Cタヒね、だってさ。
http://shyouhei.tumblr.com/post/5545216280/c
183デフォルトの名無しさん:2011/05/24(火) 10:34:20.75
え、やだよ。C楽しいじゃん。
楽しくないやつがやる必要はないけど。
184デフォルトの名無しさん:2011/05/24(火) 10:42:29.69
Cは進んで使いたくはない
185デフォルトの名無しさん:2011/05/24(火) 11:58:48.54
スクリプト言語でバイト削って何が楽しいのよ
186デフォルトの名無しさん:2011/05/24(火) 12:02:46.15
>>182
こいつ相変わらず電波なんだな
187デフォルトの名無しさん:2011/05/24(火) 12:11:39.17
誰も頼んでないのに勝手にめんどくさい
泥被るポジションに付いておいて、
「あーめんどくせー」とか「○○氏ね!」とか言うのが
その人の芸風なので、流してあげよう
188デフォルトの名無しさん:2011/05/24(火) 12:20:26.55
数値計算こそがプラグラミングの醍醐味
Web系はもはやアプリのボタンクリックするのと変わらないからスレチ
189デフォルトの名無しさん:2011/05/24(火) 20:36:12.57
/.Jでも話題になっとりました
http://slashdot.jp/askslashdot/article.pl?sid=11/05/24/1037214
190デフォルトの名無しさん:2011/05/24(火) 21:06:36.04
なんつーか、特定の言語が嫌いって言うのは、個人の好みだから良いんだけど、○○言語消えろとかは、どうかと思うな
191デフォルトの名無しさん:2011/05/24(火) 22:08:22.35
消えたら困るが今の所そんな事はない
192デフォルトの名無しさん:2011/05/24(火) 22:10:36.68
理屈から言って、消えろと祈ってる奴には消せる力は無いって事だよな・・

マなら、Cを置き換える力を持った言語を作るという道もある訳だが
193デフォルトの名無しさん:2011/05/24(火) 22:34:12.88
消せたとしても心の中で生きている
194デフォルトの名無しさん:2011/05/24(火) 23:27:11.50
消えろ言語
それは大リーグコード2号のことである
195デフォルトの名無しさん:2011/05/24(火) 23:40:42.05
消えろって思う言語?
上司が時々使う日本語っぽいけど意味が分からない謎の指示言語とか消えて欲しいな
196デフォルトの名無しさん:2011/05/24(火) 23:51:16.63
お前のインタプリタが糞なだけ
197デフォルトの名無しさん:2011/05/24(火) 23:57:09.09
言語じゃないがEJBとかHibernateとか消えろ
198デフォルトの名無しさん:2011/05/25(水) 00:46:23.06
windowsのcmd.com消えて。
199デフォルトの名無しさん:2011/05/25(水) 00:47:45.06
>>198
それはマジで困るからヤメテ><
200デフォルトの名無しさん:2011/05/25(水) 00:47:48.10
cmd.exeだった。消えて。
201デフォルトの名無しさん:2011/05/25(水) 00:48:34.35
>>199
パワーシエルがあるだろ。
202デフォルトの名無しさん:2011/05/25(水) 00:48:55.02
上司言語インタプリタなんて搭載したくないわ
203デフォルトの名無しさん:2011/05/25(水) 01:00:51.06
>>201
業務で使ってる資産があるんよ
本来の仕事が忙しいのに、作り直すなどという雑用はしたくない
204デフォルトの名無しさん:2011/05/25(水) 07:27:11.77
パワーシエルってcmd.exeに対して上位互換なんじゃなかったっけ?
205uy:2011/05/25(水) 15:53:12.53
中途半端なバージョンアップっていらない
206デフォルトの名無しさん:2011/05/25(水) 17:27:11.09
パワーシェルってVistaからだっけ?
まだ、無条件に置き換えられるレベルにないだろ
207デフォルトの名無しさん:2011/05/26(木) 02:08:59.26
XPにもあるけど
208デフォルトの名無しさん:2011/05/26(木) 05:59:27.77
デフォルトでは入ってないな、XPだと
ただどちらにしろ周辺のコマンドがまだまだ貧弱なんで
結局突っ込んだことやろうとすると何かしらコードを書かされるのがな〜
209デフォルトの名無しさん:2011/05/26(木) 11:49:33.25
ラルクパワーシエル
210デフォルトの名無しさん:2011/05/26(木) 22:27:03.04
cmd.exeならともかくcmd.comかよ、引き摺り過ぎだ
211デフォルトの名無しさん:2011/05/26(木) 22:28:51.92
ああ下まで見てなかった、すまん・・・
212デフォルトの名無しさん:2011/05/27(金) 00:56:34.37
>>204
微妙に上位互換になってなかった希ガス
213デフォルトの名無しさん:2011/05/27(金) 15:47:34.31

.NET Micro Framework があるってことはさ、つまりOSの開発にC#でいけるってことだな
214uy:2011/05/27(金) 21:19:22.74
いけねーよバカ
OSには1クロックも無駄に出来ない箇所がある
Cを捨てればアセンブラでかく範囲が増えるだけ
215デフォルトの名無しさん:2011/05/27(金) 22:11:21.74
>>214
たとえば何処が1クロックも無駄に出来ない?
Linuxのソースで説明してくれ
216デフォルトの名無しさん:2011/05/27(金) 22:16:36.70
>>213
行けるだろうが、組み込み向けのcやjavaは浮動小数点使えなかったりと、微妙に違ったりするから、違いを意識してプログラミングする事になると思われ
217デフォルトの名無しさん:2011/05/27(金) 22:24:54.46
>>212
いや微妙どころじゃなく違うよ、いい意味で。
外部コマンドの呼び出しに関してはそれほど違いを意識しなくていいけど。
218uy:2011/05/28(土) 00:51:40.69
>>215
Linuxって何?

まず、割り込み処理
次に描画のリフレッシュ部分

この部分だけはどう考えてもC・アセンブラ以外で組めばゴミOSの出来上がり
219デフォルトの名無しさん:2011/05/28(土) 00:58:47.53
>>218
え、アプリの話じゃ無いのか?
.netって出て来てたからてっきり。。。。
220デフォルトの名無しさん:2011/05/28(土) 02:19:07.24
Haskeller ってホント色々やってるよな

http://programatica.cs.pdx.edu/House/
221uy:2011/05/28(土) 04:47:44.27
>>219
はい? OSなのかアプリなのかどっちだよ・・・ ここまで話通じない人間こええよ
222デフォルトの名無しさん:2011/05/28(土) 06:09:04.03
>>217
でも今のところ移行するほどのメリットを感じられんのがなあ。
もうちょっと資源(コードや資料)が揃ってきたら楽なんだが。
223デフォルトの名無しさん:2011/05/28(土) 14:19:41.78
アセンブラ1命令、1クロックで実行できるCPUってなんなんだろうか・・・
224デフォルトの名無しさん:2011/05/28(土) 14:30:46.89
突然何の話をしてるんだ
パイプラインで動かしてればある程度は一命令一クロック実行だろ
225デフォルトの名無しさん:2011/05/28(土) 14:51:30.37
条件分岐もFPUも使わないプログラムなんてあるはずないだろ
226デフォルトの名無しさん:2011/05/28(土) 16:21:09.21
nop とか
227デフォルトの名無しさん:2011/05/28(土) 16:38:49.13
だからある程度って書いてるじゃないか
228デフォルトの名無しさん:2011/05/28(土) 18:02:28.33
>>223
今時1クロックで2、3命令実行するのが当たり前だろ
スーパースカラとかの技術が何年前から有ると思ってんだ
229デフォルトの名無しさん:2011/05/28(土) 18:19:45.78
近所の書店に行ったらプログラミング関連の本が
ほとんどCとC++関係の本で埋め尽くされてた。人気すなぁ
230デフォルトの名無しさん:2011/05/28(土) 19:06:06.42
人気というか、本書くには鉄板なんだよC/C++って
231デフォルトの名無しさん:2011/05/28(土) 19:21:37.68
>>229
そもそも大型書店やネットじゃないと技術書は売り物にならないんだろうな
一応置いておくのにc/c++は無難
プログラマとしては教養みたいなもんだし
232デフォルトの名無しさん:2011/05/29(日) 19:24:49.80
気持ち悪いからC++と一緒にしないで
233デフォルトの名無しさん:2011/05/29(日) 19:57:27.98
宗教って大変ね
234デフォルトの名無しさん:2011/05/30(月) 00:26:08.05
おれは自分でアルゴリズム書くときは俺言語で書いてトランスレートしてる。
235デフォルトの名無しさん:2011/05/30(月) 16:13:41.94
変態すぎワロタ
236デフォルトの名無しさん:2011/05/31(火) 01:56:58.01
わざわざ書くことまではせんが、思考としては割とそんなもんじゃね?
237デフォルトの名無しさん:2011/05/31(火) 02:02:40.54
javaccさえあればすぐ書ける
238デフォルトの名無しさん:2011/05/31(火) 06:19:32.95
でも「俺言語」ってまず間違いなく構文とかクソ曖昧だと思うぞw
要は自分が分かればいいってだけなんだから
239デフォルトの名無しさん:2011/05/31(火) 07:19:06.13
アルゴリズム記述言語ってたいてい俺言語にならないか?
和洋色んな技術書を見ても、定まった言語なんて無いように思える

ただ俺言語と言っても、余程変な構文でも無い限り、
普通は誰でも読めるものに落ち着くが
240デフォルトの名無しさん:2011/05/31(火) 13:09:00.86
そしてなでしこ
241デフォルトの名無しさん:2011/05/31(火) 15:22:44.89
>>239
擬似コードはpascalのそっくりさんが多い気ガス
242デフォルトの名無しさん:2011/06/03(金) 21:53:29.06
こうして楽しいプログラミング言語などないという結論になった
243デフォルトの名無しさん:2011/06/03(金) 23:22:45.73
プログラミングはくだらない事と車輪の再開発だけが面白いのであって
楽しいプログラミング言語という考え方がどうかと思う
244デフォルトの名無しさん:2011/06/03(金) 23:25:33.67
そういう人もいる
そうじゃない人もいる
色んな人がいる
他人は他人
自分は自分
他人が自分と異なる価値観なのは当たり前
245デフォルトの名無しさん:2011/06/03(金) 23:40:53.86
そ、そうですね
246デフォルトの名無しさん:2011/06/03(金) 23:46:27.38
>>244 は、言われてみると当たり前だけど、とても重要なことなキガス
意外に忘れてしまうというか
247デフォルトの名無しさん:2011/06/04(土) 00:30:29.51
それを認めたうえで議論してるんだろとマジレス
248デフォルトの名無しさん:2011/06/04(土) 01:01:02.00
自分の価値観をぶつけてるだけって、それって議論といえるのか
個人の好みの問題じゃ・・・
249デフォルトの名無しさん:2011/06/04(土) 03:08:28.21
>>242
プログラミング言語の面白さだったら、どれだけぶっ飛んでるか、かな。。。

純粋オブジェクト指向言語とか、純粋関数型言語もだし、全てがリストという世界観のlispとか、論理型言語も言語そのものが面白い

手続き型、非手続き型問わず、何か一つの世界観で統一しようと試みてる言語は面白いと思う
250デフォルトの名無しさん:2011/06/04(土) 03:11:47.72
そういう言語はなんつーか実用性かけるよな
だからこそ魅了されるのかもしれないが
つまらん言語ほど実用だが憂鬱でもある
しかしrubyは面白い rubyの本にもrubyは楽しい言語って書いてあるし・・・
251デフォルトの名無しさん:2011/06/04(土) 03:31:52.79
マイクロソフトがvisualruby出したら考える
252デフォルトの名無しさん:2011/06/04(土) 10:06:35.88
早くMSは全部C#で統一しろよ
253デフォルトの名無しさん:2011/06/04(土) 10:09:20.18
今はHTML5とJavaScriptに熱心らしい
254デフォルトの名無しさん:2011/06/04(土) 12:07:35.28
C#信者はMSにはしごを外されてプギャー
255デフォルトの名無しさん:2011/06/04(土) 12:10:30.40
MSが何かしたのか?
256デフォルトの名無しさん:2011/06/04(土) 12:19:49.41
Windows8はSilverlightではなくHTML5ってことじゃない?
257デフォルトの名無しさん:2011/06/04(土) 18:17:56.44
>>253
それはWebで動かせるのが楽しいので有って、javaScriptそのものが楽しいってのとは違う気がする
258デフォルトの名無しさん:2011/06/04(土) 18:19:33.21
>>250
実用性のある言語が欲しいのか、面白い言語が欲しいのか。
どっちだ
259デフォルトの名無しさん:2011/06/04(土) 19:46:25.56
両方を兼ね備えた言語があればいいのだけれど
260デフォルトの名無しさん:2011/06/04(土) 19:59:17.40
じゃあHaskellしかない
261デフォルトの名無しさん:2011/06/04(土) 20:00:46.96
えっ
262デフォルトの名無しさん:2011/06/04(土) 20:17:11.43
えっ じゃねぇよ
263デフォルトの名無しさん:2011/06/04(土) 20:19:37.90
えっ
264デフォルトの名無しさん:2011/06/04(土) 20:40:30.04
<p>えっ<p>
265デフォルトの名無しさん:2011/06/04(土) 21:03:24.81
Haskellに実用性があるなら、もっと実用性のあるツールがどんどん出てもいいと思うんだけど
マイナーすぎてGHCにすら見放されたDarcsぐらいしか聞いたことないのはどうなの
266デフォルトの名無しさん:2011/06/04(土) 21:59:40.29
実用性の高さを誰も見抜けていないんだわ

そして、これからもずっと見抜かれない
人間ごときには見抜かれない

あぁそうですとも、見抜かれてたまるもんですか

              by かみ
267デフォルトの名無しさん:2011/06/04(土) 22:34:42.54
精神障害って大変だよな
268デフォルトの名無しさん:2011/06/04(土) 22:48:38.55
>>259
実用性はrubyとかと同じ位ではあると思う
やりたい事が有ったら、haskellスレで聞いてね
269デフォルトの名無しさん:2011/06/04(土) 23:11:04.85
haskellってとっつきにくそう lisp全般がそういうイメージだわ
270デフォルトの名無しさん:2011/06/04(土) 23:15:27.38
>>269
むしろc言語でプログラミング出来ない自分がhaskellでプログラミング出来てるんだが。。。
271デフォルトの名無しさん:2011/06/04(土) 23:26:21.50
cくらいは出来とかないと仕事にならんのじゃないのか・・・学生なら別にいいだろうけどさ・・・
272デフォルトの名無しさん:2011/06/04(土) 23:33:12.71
何でhaskellとlispが一緒になってるの?
273デフォルトの名無しさん:2011/06/04(土) 23:33:49.63
>>270ではないが、俺は Haskell 大好きだけど完全な趣味だ
プログラムとは全く縁の無い仕事してる
274デフォルトの名無しさん:2011/06/04(土) 23:42:52.37
あ、haskellとlispは違うか 失敬
275デフォルトの名無しさん:2011/06/05(日) 00:13:14.47
>>273
>>270だが、2に同じく!
276 忍法帖【Lv=6,xxxP】 :2011/06/05(日) 07:06:56.12
にんじゃ
277デフォルトの名無しさん:2011/06/05(日) 07:31:31.98
取っつきやすさに仕事になるか否かは関係なかろ
職業PGなら知っておきたいC言語ではあるが
高級言語としては相当とっつきにくい部類だよあれ
278デフォルトの名無しさん:2011/06/05(日) 08:52:30.95
結局C++とC#ではどっちがやってて楽しいの?
279デフォルトの名無しさん:2011/06/05(日) 08:54:04.30
ゲーム → C++
アプリ → C#
280デフォルトの名無しさん:2011/06/05(日) 12:03:53.42
楽しい=金集めだと思ってんだけども、c++とc#だと、どっちが金に結びつくの?
本業でなくって、副業レベルでシェアウェア、スマホ、アフィ、topcoderだとか
ライブラリ数やデバッグに掛かる時間、マイクロソフトへのお布施など、
金と時間が絡むもので総合的に考えてみて欲しい
281デフォルトの名無しさん:2011/06/05(日) 12:11:13.47
>>280
ゆがんでるな
金集めに直結する言語はパラダイムによって様々だ
企業が言語も含めて囲い込みしてるからな

iOS向けのObjCが一番小遣い稼ぎに向いてる
国の金でガッポリとか、大企業からガッポリなら、cobolやfortlanと教授職をエロ
282デフォルトの名無しさん:2011/06/05(日) 12:42:37.24
>>265
Pagsの事も忘れないで(Parlインタプリタのhaskell実装)
haskellが注目されたキッカケよ?
283デフォルトの名無しさん:2011/06/05(日) 19:34:49.98
>>277
Cは高級言語じゃなくて低級言語じゃまいか
284デフォルトの名無しさん:2011/06/05(日) 20:21:19.39
Cは高級言語だよ
低級言語は機械語やアセンブラ
285デフォルトの名無しさん:2011/06/06(月) 07:00:39.62
>>283
一応は高級言語に分類されるよ
実際のところ高級アセンブラってのが一番的を得た呼び方だが
286デフォルトの名無しさん:2011/06/06(月) 17:23:44.27
理系の中年はフォートラン好き多いね。しかも77という不思議
95じゃダメなんすか
287デフォルトの名無しさん:2011/06/06(月) 17:29:59.08
ただの青春補正です

まあ、言語的にやれること少なかったので無駄に使い倒し過ぎて印象が強いだけな気もする
288デフォルトの名無しさん:2011/06/06(月) 17:32:27.71
生産性は.net使う言語の方が高いが
Javaは楽しい
とくにライブラリ作りは楽しい
289デフォルトの名無しさん:2011/06/06(月) 19:09:57.59
生産性はJavaの方が高いが
アセンブラは楽しい
とくにゲーム作りは楽しい
290デフォルトの名無しさん:2011/06/06(月) 20:33:58.27
プログラマ四天王。1. みながわけんじ 2. 生島勘富 3. インドリ 4. otf
だそうだ。

嫌な四天王だな。
291デフォルトの名無しさん:2011/06/06(月) 20:35:41.29
一人も知らん・・
292デフォルトの名無しさん:2011/06/06(月) 21:09:43.97
その四天王ってどんな事をした人なの
293デフォルトの名無しさん:2011/06/06(月) 22:25:40.02
>>286
行列ライブラリの枯れたものが存在するからじゃねーの
数値計算で.NET(javaはまだしも)とかないわー
枯れてて信頼のおけそうなライブラリが見当たらない
もっとも、javaで数値計算なんてオペレータがオーバーロードされてなくて
鬼畜だとしかいえないけど
static importを使ってないサンプルコードとかウェブに載せんなよとか思う
294デフォルトの名無しさん:2011/06/06(月) 22:50:45.09
LAPACKの各言語ラッパーが色々あるんじゃないの?
もちろん .NET 用にも
295デフォルトの名無しさん:2011/06/07(火) 15:40:05.71
構造体や共用体を駆使してピュアCでC++っぽい事をやるのが最高に楽しい。
296デフォルトの名無しさん:2011/06/07(火) 16:23:42.79
pdfにあるよ。OOCとかで。言語を英語圏にして、ググってみれば?
gtkなんかは、大量のマクロつかって無理矢理なOOP
そこまでして、なぜCで書く必要があったのか疑問
297デフォルトの名無しさん:2011/06/07(火) 16:34:04.77
>>296
Cが好きだからw
発端はXToolKitでこの手のCOOP(?)が使われてて、激しくインスパイアされた。

んで、関数も・・・

int
hoge(this, val)
hoge_obj_t *this;
int val;
{

↑この書き方が好き

仕事ではやらんが、プライベートな趣味のコードは全部コレw
298デフォルトの名無しさん:2011/06/07(火) 18:36:48.76
CだとC++にあるような可読性低くてどのようなコードが出力されるか想像困難な仕様を
使えないのでそれなりのメリットを期待できる。
299デフォルトの名無しさん:2011/06/07(火) 20:13:23.09
>>296
今までValaみたいな使い易い言語がなかったからじゃないの
300デフォルトの名無しさん:2011/06/07(火) 22:43:42.46
>>295 >>296 >>297
それはCOOLというてなぁ...
http://www.sage-p.com/process/cool.htm
301296:2011/06/07(火) 23:46:22.51
前にみたのは、こっち
http://modelingwithdata.org/arch/00000035.htm
302デフォルトの名無しさん:2011/06/09(木) 07:24:58.74
>>301
興味深いブログの紹介ありがとう。

"OOC object-oriented"でググると、こんなのが上のほうに出てくる。
http://ooc-coding.sourceforge.net/
上記によれば
ooc is mature enough to be ported onto small microcontrollers or DSPs.
だそうだ。まぁ、これに尽きるわな

しかし上記でググると"Object Oriented COBOL"が出てくるのは、いかがなもんかのう?
303デフォルトの名無しさん:2011/06/09(木) 21:46:06.84
>>302
COBOLはプログラミング雑誌に広告出す位には現役ですから。。。

縁が無いのに、よく見かける
304デフォルトの名無しさん:2011/06/09(木) 22:04:36.40
プログラミング雑誌ってめっちゃオフラインな感じだな
305デフォルトの名無しさん:2011/06/09(木) 23:11:30.42
日立だっけか?
.netのCLI上にCOBOL実装して売ってたよな。
名前空間とかオブジェクトに対応してた覚えがある。
306デフォルトの名無しさん:2011/06/09(木) 23:38:47.37
プログラマーは常に電波を張り巡らせているから
その中を雑誌で儲けるには
騙し騙しいかないといけない
307デフォルトの名無しさん:2011/06/11(土) 21:39:06.80
普通、電波じゃなくてアンテナを張り巡らせね?
308デフォルトの名無しさん:2011/06/11(土) 21:47:10.65
電波は飛ばしたり受信したりするものだな
309デフォルトの名無しさん:2011/06/12(日) 00:58:05.83
張り巡らした電波の、他の電波の干渉による乱れをキャッチするのかも知れない
310デフォルトの名無しさん:2011/06/12(日) 08:55:06.96
E-2Cみたいなもんか
311デフォルトの名無しさん:2011/06/18(土) 20:30:05.05
プログラミングに憧れてる新米なんだけど、
他の人が組んだプログラミングの画面とかを見ていると、} ←このような記号の後に
やたら間隔が空いてたりするけど、一体何の意味があるの?
312デフォルトの名無しさん:2011/06/18(土) 20:31:27.87
詰め詰めに書くと見づらいとか、その程度の意味
313デフォルトの名無しさん:2011/06/18(土) 20:58:01.32
なるほど
ありがとう
314デフォルトの名無しさん:2011/06/18(土) 21:47:03.56
>>311
} これは女の子のあそこのボッチなんだよ

でな、あんまり近づいてジロジロ見るのは失礼だから、
ちょっと離してるんだよ

本当はちょっと離すだけでいいんだ
やたら間隔が空いてたりするのはシャイなだけ
315デフォルトの名無しさん:2011/06/20(月) 01:26:34.87
疑似コードを書くのが楽しい

リファレンスを引いたり、文法を手直ししたり、現実のプログラミング言語に落とし込むのが辛い
Haskell を勉強したら幸せになれるだろうか・・・
316デフォルトの名無しさん:2011/06/20(月) 01:47:19.24
>>315
そのコード間違ってるよ
317デフォルトの名無しさん:2011/06/20(月) 02:16:27.82
しばらく、vimかemacsの環境で遊べよ
タイピングは捗るぞ
318デフォルトの名無しさん:2011/06/20(月) 02:30:16.42
>>316
自分の脳がインタープリタだから、間違いは無い筈。
他人が書いたコードに対しては受容範囲は狭いけど、
自分が書いたコードに対しては、かなり強力で協力的な
推論エンジンを搭載してるから大丈夫。
319デフォルトの名無しさん:2011/06/20(月) 08:49:09.61
新規関数のバグを補完出来るような強力なシステムなわけだ
320デフォルトの名無しさん:2011/06/20(月) 08:50:04.28
そこがバグって話じゃないのか
321uy:2011/06/20(月) 18:48:16.23
生産的な話をしろよ
略すと
生産的な話ろ
322デフォルトの名無しさん:2011/06/20(月) 19:18:24.90
性ばな
323デフォルトの名無しさん:2011/06/21(火) 01:05:37.77
>>315
擬似コードをそのまま実際に使えるようにした言語って無いの?
324デフォルトの名無しさん:2011/06/21(火) 01:12:38.43
>>323
既存の言語の発祥にも割とそんな感じのが多そうじゃね?
325デフォルトの名無しさん:2011/06/21(火) 01:33:20.88
PowerPCの命令セットリファレンスの疑似コードはPascalっぽいな。
326デフォルトの名無しさん:2011/06/21(火) 07:41:29.61
>>323
逆に現在実際に使えている言語を擬似コードとしてもそのまま使えばいいだろ

それでは何か不満があるのか?
327デフォルトの名無しさん:2011/06/21(火) 10:52:10.46
「実際の定義はめんどくさいに決まってるが名前と動作だけ決めておくメソッド/関数」
をちりばめておくだけで擬似的にいけるよな
328デフォルトの名無しさん:2011/06/21(火) 12:46:59.54
使える使えないは別にして
「なでしこ」楽しいぜw

プログラム作ってるはずなのに
なんか良く分かんない小説みたいなの書いてる気分になるw
329デフォルトの名無しさん:2011/06/21(火) 12:55:45.16
>>328
perl で詩を書くようなものか。
330デフォルトの名無しさん:2011/06/21(火) 13:46:48.05
詩っていうか
TRPGの説明書とかのほうがよりイメージかな

ま、まぁ見てみなよ
こんなんだぜ

http://blognekouser.blog56.fc2.com/
331デフォルトの名無しさん:2011/06/21(火) 14:55:12.57
まんま詳細設計の資料になりそうな勢いだなw
332uy ◆yyC0rYWEq2 :2011/06/21(火) 15:22:56.08
日本語プログラミング言語で何か、素晴らしいもの出来れば
世界の順位を覆せる可能性はあるな
アルファベットよりも効率的にかける可能性は、あんまり無いけど
= とか if 、for を

凸 凹 回 っていう記号的にあらわしていくことが、マルチバイト文字では可能で
1、記号数 や 文字数は、圧倒的だから

配列、ハッシュ、タプル、リスト、二分探索木、赤黒木、それぞれ別の[]記号で表せるだろう
キーボードに細工するかIDE補完充実させないとやっていけないけど
母国語の字数が多いっていうのはコンピュータの世界で今は、日々エンコードに悩まされて不利に見えても
後々は、デフォルトでその国の人間が扱える「記号数」が多いということなので、とても有利になっていく
333デフォルトの名無しさん:2011/06/21(火) 15:39:13.68
複数文字列だからこそインテリセンスが生きるんだよな
334329:2011/06/21(火) 17:27:47.62
一応、一番有名な Perl の詩

http://en.wikipedia.org/wiki/Black_Perl
335デフォルトの名無しさん:2011/06/21(火) 22:15:51.54
Perlの詩なんて興味ねーよ失せろ
336デフォルトの名無しさん:2011/06/21(火) 22:21:27.88
>>334
オラ日本人だで英語はわがんね。
日本語に訳してくんろ。
337デフォルトの名無しさん:2011/06/24(金) 08:05:08.21
今PHPやってるけど、この言語はWeb界のBasicって異名を与えてやろうと思う。
いまいち文法が分からんw
ってか配列代入がデフォで値コピーだと誰が気づくw
Cっぽいかとも最初思ったけど、明らかに別物の流れをくむ言語だw
338デフォルトの名無しさん:2011/06/24(金) 09:48:51.66
>>330
こんなんが Googleに引っかかりまくるようになったら
気が狂うぜ
流行りませんように・・・ナムナム
339デフォルトの名無しさん:2011/06/24(金) 09:51:11.16
>>334
spiderさんカワイソス
340デフォルトの名無しさん:2011/06/24(金) 14:12:31.85
なでしこの文体は携帯小説に近いな。
341デフォルトの名無しさん:2011/06/24(金) 22:06:56.78
99 ProblemのProlog版をちまちま解くのが楽しい
342デフォルトの名無しさん:2011/06/24(金) 22:11:06.70
>>337
もともとはperlで書かれたテンプレートエンジンだったからな
343デフォルトの名無しさん:2011/06/24(金) 23:48:23.05
そういやPerlって

@newlist = @list;

がコピーになる言語だな
344デフォルトの名無しさん:2011/06/25(土) 11:19:23.81
PHPって
Personal Homepage Processor
の略だったよな
今は知らんが
345デフォルトの名無しさん:2011/06/25(土) 15:29:40.83
違うよ
PHPは単純にPersonal Home Pageの略
346uy ◆hi.ht/Isu2 :2011/06/29(水) 05:29:38.79
なんでRubyがあんのにPHPなんてやってんだよ

っと、諸外国のPGは日本人をみてマジで思ってるよ
347デフォルトの名無しさん:2011/06/29(水) 05:35:38.32
初心者向けって感じを全面に出しててとっつきやすいからだろ
348デフォルトの名無しさん:2011/06/29(水) 06:09:27.03
毎日触るならc++

こんな感じで
アセンブラ:砂糖
c:羊羹
c++:水羊羹
java:ガトーショコラ
python:バタークッキー
349デフォルトの名無しさん:2011/06/29(水) 23:43:24.05
水ようかん触ったら手がベタベタに鳴るだろ
350デフォルトの名無しさん:2011/06/29(水) 23:46:54.75
>>348
とりあえず348の好物が水羊羹なのは分かった
351デフォルトの名無しさん:2011/06/30(木) 01:49:43.57
Pythonのイメージは五家宝とか鈴カステラみたいな感じだなあ
まあ好物なんだが
352デフォルトの名無しさん:2011/06/30(木) 06:11:48.36
C#は?
食べ物の例えもいいけど、
分かりやすくドラゴンボールのキャラで例えて。
353デフォルトの名無しさん:2011/06/30(木) 06:17:39.73
天津飯
354デフォルトの名無しさん:2011/06/30(木) 06:36:35.20
うわ微妙
355デフォルトの名無しさん:2011/06/30(木) 06:40:24.25
>毎日触るならc++

うわ・・・・
356デフォルトの名無しさん:2011/06/30(木) 20:11:56.75
水ようかんを毎日食えってことか
357デフォルトの名無しさん:2011/06/30(木) 20:22:25.97
今の時期は水ようかんおいしいよね
358デフォルトの名無しさん:2011/06/30(木) 22:09:08.81
水ようかんは凍らすと美味い

スプーンでシャリシャリ削って食べながらハスケるのが最高
359デフォルトの名無しさん:2011/07/08(金) 17:55:35.75
rubyだけは馴染めなかった。
360デフォルトの名無しさん:2011/07/08(金) 19:17:27.41
>>359
どこら辺が?
361デフォルトの名無しさん:2011/07/08(金) 22:13:05.18
>>360
なんか無理やり筋道と言うか道理をつけたような、ご都合主義っぽい言語仕様が。宗教みたい。
あれなら思いつきで増築しまくったphpの方が便利だし、いっそオブジェクト指向は捨てよう、とか好きな書き方できる。
362デフォルトの名無しさん:2011/07/08(金) 22:15:46.24
>>361
何か具体例ある?
どこら辺の仕様が気に入らなかったの?
363デフォルトの名無しさん:2011/07/08(金) 22:32:28.68
なんでそんなにRuby擁護すんの?w
364デフォルトの名無しさん:2011/07/08(金) 22:36:36.05
>>363
何で擁護だと思うの?
どこに不満があるのか聞きたいだけなのに
365デフォルトの名無しさん:2011/07/08(金) 22:44:14.77
366デフォルトの名無しさん:2011/07/08(金) 22:59:44.92
・中途半端なPascal記法が気に食わない
・ソースのparser.cの汚さは異常なレベル
367デフォルトの名無しさん:2011/07/08(金) 23:08:33.31
>>366
>Pascal記法

もしかして end の事?
368デフォルトの名無しさん:2011/07/09(土) 00:23:42.52
NaniIttendaKoitsu
369デフォルトの名無しさん:2011/07/09(土) 00:28:00.96
>>368
じゃあどうぞ
370デフォルトの名無しさん:2011/07/09(土) 00:37:42.03
>>367
Pascal記法って、いわゆるIsEnabledみたいな大文字で始めるやつだろ。VCみたいな。
Camel記法が、isEnabledの方。Javaとか。
やっぱりRuby使いは他の言語しらないのに、Rubyマンセーしてんのか?
371デフォルトの名無しさん:2011/07/09(土) 00:40:31.07
>>366
Rubyのパーザはカオスだからなあ…
ちなみにendは「中途半端なPascal記法」じゃなくて「Ada/Eiffel記法」ね
372デフォルトの名無しさん:2011/07/09(土) 00:42:47.02
なぜalgolを飛ばす
373デフォルトの名無しさん:2011/07/09(土) 00:45:06.34
>>370
Rubyの命名はその慣習では無いと思うが…
UpperCamelCase(Pascal記法)を使うのはクラス名やモジュール名で、そこはJavaも一緒だし
メソッド名はsnake_caseが主流だと思うぞ
374デフォルトの名無しさん:2011/07/09(土) 00:45:35.59
>>370
何で俺がRuby使いってことになってるのか知らんけどw
結局>>361の言う様な言語仕様的な問題はここまで登場してないのね。
これは誰が見ても深刻な問題だねーって感じのがあるのかと思ったんだが。
375デフォルトの名無しさん:2011/07/09(土) 00:47:27.58
使ってるやつと作ってる奴が宗教じみてるから嫌い
376デフォルトの名無しさん:2011/07/09(土) 00:50:02.40
そういう非プログラム的な話は訊いてないんだわ
377デフォルトの名無しさん:2011/07/09(土) 00:53:14.49
真偽値とか、トップレベルの扱い、またはPerl由来の要素あたりなら分からんでもない
…んだが、記法とパーザと宗教しか出てきてないな

>>372
ALGOLもBEGIN/END系だったっけ?
378デフォルトの名無しさん:2011/07/09(土) 00:55:35.77
Pythonで言う所のlambdaレベルのがっかりポイントは無いのかな?
379デフォルトの名無しさん:2011/07/09(土) 00:55:44.26
rubyはpythonとかと存分に喧嘩しといてくれ。
その間にphpとaspxで食っていくから。
380デフォルトの名無しさん:2011/07/09(土) 00:58:17.84
やってて楽しいプログラミング言語スレなのに…
381デフォルトの名無しさん:2011/07/09(土) 01:41:46.89
phpとaspxとかワープア
382デフォルトの名無しさん:2011/07/09(土) 02:13:53.59
一番手軽に金になるけどな。数もこなせるし。
俺はMUMPSがコーディングしてて一番楽しい。
本当に知名度低い誰も知らないような言語だけど。
383デフォルトの名無しさん:2011/07/09(土) 14:51:49.98
rubyは作ってる人が好きじゃない
384デフォルトの名無しさん:2011/07/09(土) 15:32:17.33
プログラムに関係無い事はどうでもいいわ
385デフォルトの名無しさん:2011/07/09(土) 15:35:33.11
Railsはクソブロガーのせいで印象が悪い
386デフォルトの名無しさん:2011/07/09(土) 15:42:55.40
言語仕様に対する不満が出て来ないのは、大きな問題は無いって事かな?
387デフォルトの名無しさん:2011/07/10(日) 04:17:45.51
やってて楽しいのは JavaScript かな

Scheme でも CL でも良いけど、やっぱり無名関数を自然に扱える言語は楽しいね
名前を考える煩わしさ無しに、好きなだけ微小関数を量産できるのが嬉しい

最近は実行速度でもライブラリの数でも充実して来ているし、言う事無し
388デフォルトの名無しさん:2011/07/10(日) 05:06:01.88
>>386
ということにしたいのですね
389デフォルトの名無しさん:2011/07/10(日) 05:18:59.24
>>388
if you have opposite oppinions, your comments are highly appreciated.
390デフォルトの名無しさん:2011/07/10(日) 05:22:41.13
KARA=辛=チョン
391デフォルトの名無しさん:2011/07/10(日) 08:28:46.78
>>386
Rubyの行継続のルールは嫌い
392デフォルトの名無しさん:2011/07/10(日) 12:41:07.41
どの辺が嫌い?
393デフォルトの名無しさん:2011/07/10(日) 13:08:25.08
>>392

p (1 +
2) 

とか

p ((1
+ 2)) 

は通るのに

p (1 
+ 2)

はエラーなところ
394デフォルトの名無しさん:2011/07/10(日) 13:31:42.04
なるほど
unary plus が優先されるのか
395デフォルトの名無しさん:2011/07/10(日) 15:36:15.73
これはバグとして報告されるべき
396デフォルトの名無しさん:2011/07/10(日) 17:15:35.53
なるほどね、そういうとき演算子を行末に持ってくるほうが多いから気付かなかった
まあ改行を文末にしてる言語ならそんなもんじゃねえかな、文が切られないように書くしかないよ
397デフォルトの名無しさん:2011/07/10(日) 19:06:17.57
え?
PerlもPythonもTclも改行がデリミタだけど
こんな行継続はしなくね?
398デフォルトの名無しさん:2011/07/10(日) 19:15:25.01
p("very long string"
+ "additional string")

みたいにしたい時は困るかな...
399デフォルトの名無しさん:2011/07/10(日) 20:59:52.19
あーでも

p (1 ¥
+ 2)

とか

p("a very long string" ¥
+ "another string")

ならオケなのか
納得したわ
400デフォルトの名無しさん:2011/07/10(日) 22:03:06.88
>>397
Perlはセミコロンだし、Tclは結構改行位置強制されるからフリースタイルには書けないよ
401デフォルトの名無しさん:2011/07/10(日) 22:29:40.74
>>399
なんだこの\記号。VBのアンダーラインみたいなもん?
気持ち悪いな
402デフォルトの名無しさん:2011/07/10(日) 22:41:46.93
え?
403デフォルトの名無しさん:2011/07/10(日) 23:06:31.69
Haskellはデフォルトで行継続だから問題ないな。JavaScriptはどうだっけ
404デフォルトの名無しさん:2011/07/10(日) 23:48:01.97
<script>
console.log(1
+ 2)
</script>

JavaScript はもちろん問題無し
HTML に埋め込める事が必須要件だから、改行の影響を受ける様な仕様にはしないでしょ
405デフォルトの名無しさん:2011/07/10(日) 23:52:45.06
と思ったが、自動セミコロン挿入があったなw
まあ今回の件とは関係無いけど・・・
406デフォルトの名無しさん:2011/07/11(月) 00:39:19.96
>>401
Cで複数行のマクロを見た事無い?
407デフォルトの名無しさん:2011/07/11(月) 00:45:22.77
>>406
マクロを引き合いに出してくる時点で言語としては崩壊してるだろ。
バッドノウハウの塊じゃん。
408デフォルトの名無しさん:2011/07/11(月) 00:55:26.04
>>407
君は、そういう字面だけ捉えた表層的な話をしてて楽しい?

ここで話題としているのはマクロがバッドノウハウかどうかじゃなくて、
バックスラッシュの機能についてなんだけど、話を聞く気がないなら
これで終わりね
409デフォルトの名無しさん:2011/07/11(月) 00:59:15.19
>>408
はいはい、rubyは至高の言語です。
410デフォルトの名無しさん:2011/07/11(月) 02:24:38.16
>>408
バックスラッシュは別にいいんだけど(改行区切りの言語なら何らかの記号は必要)
関数呼び出しの括弧が閉じてないのに行継続されないのは残念

いや、正確には行継続自体はされてるんだろうけど、ちょっと良くわからない

p (1
)

はOKで

p (1
+ (+2))

がNGなのは何で?どうしてこういう仕様なのかが分からない
411デフォルトの名無しさん:2011/07/11(月) 05:52:12.55
レキサーの時点で演算子優先順位を見てるバグのせい
作った奴の頭がおかしい
412デフォルトの名無しさん:2011/07/11(月) 06:39:03.79
>>406
馬鹿だな。
みんな>401みて思うわけだよ。
「shも知らんのか?」「そもそもエスケープシーケンスを知らんのでは?」等々。

だけどそんな指摘したって不毛なやりとりになるだけなのはわかってるから
黙ってスルーしてるんだ。
413デフォルトの名無しさん:2011/07/11(月) 12:55:56.59
自分もスルーしようと思ったというか、実際に一度スルーしたけど、
これで彼もバックスラッシュはおかしくないと分かった事だろうから、
全く不毛かというと、和毛くらいは生えたんじゃないかな
414デフォルトの名無しさん:2011/07/11(月) 13:08:42.26

流れを読まずに、最近かじったpython
ネストの深い糞ロジックはリファクタリングせずには居られなくなる
インデント強制は素晴らしいね

あとada
インデントはもちろん、変数名の長さ、無駄スペース、演算子優先順位・・etc
あらゆる物にケチが付く、厳格過ぎて笑えてくる
415デフォルトの名無しさん:2011/07/11(月) 14:37:57.49
結局 Ruby に対する不満って微妙なのしか出て来なかったな
もう少し技術的に価値のある話が出来るかと思ったのに
416デフォルトの名無しさん:2011/07/11(月) 15:21:18.70
Rubyの不満ねぇ。
1.9で国際化がややこしくなったから
HTTP使うとほとんどforce_encoding必須でむかつくというのがあるな。
417デフォルトの名無しさん:2011/07/11(月) 15:25:55.56
>>415
使ってる人が少ないんだろ
418デフォルトの名無しさん:2011/07/11(月) 15:37:17.50
アンチで頑張ってる奴が少しでも技術に興味関心を持っていればな・・・
419デフォルトの名無しさん:2011/07/11(月) 15:50:17.39
信者ウザい
420デフォルトの名無しさん:2011/07/11(月) 15:51:34.82
プログラムに関係無い話はどうでもいいわ
421デフォルトの名無しさん:2011/07/11(月) 15:59:23.28
Rubyの演算子の優先順位ってどうなってんの?
x, y ,z を変数として

x = y + z
x + y = z

のどっちも通るんだが、上は+が先に評価されて
下は=が先に評価されるんだけど(というか下が通るのはさすがRuby)
422デフォルトの名無しさん:2011/07/11(月) 16:10:15.47
>>421
Python でも一緒だった
JavaScript と PHP ではエラーになる
423デフォルトの名無しさん:2011/07/11(月) 16:12:47.33
>>422
Pythonは x + y = z は通らないだろ
424デフォルトの名無しさん:2011/07/11(月) 16:14:50.12
>>423
スマソ
確認する時にコマンド打ち間違えてた
425デフォルトの名無しさん:2011/07/11(月) 16:34:50.75
x+y=zって
zをyに代入して
x+yを計算するが結果は残さない
ってこと?
426デフォルトの名無しさん:2011/07/11(月) 16:52:32.15
そういうこと。つまり x + (y = z) って評価されてる

で、別に x + (y = z)  が通ること自体はいいんだ
= が式ってだけの話だから
わからないのは演算子の優先順位の仕様
427デフォルトの名無しさん:2011/07/11(月) 16:59:21.76
仕様的には = の方が + より低いとなっているので、単純な優先順位の話では無さそうだけど
428デフォルトの名無しさん:2011/07/11(月) 17:05:08.79
>>420
そればっかだな。
429デフォルトの名無しさん:2011/07/11(月) 18:51:22.26
Rubyのパーサはカスすぎるな
演算子優先順位すらまともに実装できないとか
Pythonのlambdaなんて目じゃないレベルのがっかりさ
430デフォルトの名無しさん:2011/07/11(月) 18:57:13.88
中学生が適当にいじって高速化される程度の糞実装言語なんか触る価値もねえ
10年後生き残ってたら触ってやるわ
431デフォルトの名無しさん:2011/07/11(月) 19:02:11.34
プログラムに関係無い話はどうでもいいわ
432デフォルトの名無しさん:2011/07/11(月) 19:16:54.19
>>414,>>429
インデントの強制やクロージャが無いことが欠点だと分かってくれて嬉しいわw
433デフォルトの名無しさん:2011/07/11(月) 19:24:44.34
http://www.ruby-forum.com/topic/92825

ということみたいね
434デフォルトの名無しさん:2011/07/11(月) 19:34:05.80
>>433
matzも驚いててワロスwww
435デフォルトの名無しさん:2011/07/11(月) 19:34:17.00
右から順にでも
+が優先でも
=が「右辺の値を左辺に代入」である限り
x+y=zの結果は変わらないよな
436デフォルトの名無しさん:2011/07/11(月) 19:36:39.86
間違えた
+が優先だと「zを(x+y)に代入」ってことになってわけわからんか
437デフォルトの名無しさん:2011/07/11(月) 19:36:53.17
>>435
いやいや、Ruby でも (x + y) = z はシンタックスエラーですから
438437:2011/07/11(月) 19:37:24.01
>>436
被った。スマン
439デフォルトの名無しさん:2011/07/11(月) 19:42:05.98
結局どれも既知の話だった訳だな・・・

・式の途中で改行する場合はバックスラッシュを入れる
・左辺値に式を置いた場合はアサインメントが優先される

後は何かある?
440デフォルトの名無しさん:2011/07/11(月) 19:42:31.37
>>433
情報ありがとう。とりあえず経緯は分かったので良かった
441デフォルトの名無しさん:2011/07/12(火) 00:01:32.98
教祖様も驚いてるってことは>>421はデザインされた仕様じゃなくて
たまたま生まれた挙動なのか
そんなんでいいのかRuby
442デフォルトの名無しさん:2011/07/12(火) 01:42:11.88
matzが無茶苦茶なのはいつものこと
Rubyのコアはmatzが仕様変更をしまくって互換性に問題出したりバグ作り込んだりするのを
その周りの人達が戻したり改良したりバグ取りすることで出来上がったものだからなw
443デフォルトの名無しさん:2011/07/12(火) 01:43:40.84
444デフォルトの名無しさん:2011/07/13(水) 21:28:52.46
rubyが具体的におかしかったらスレとまんのな。
やっぱruby信者のマッチポンプスレだったって訳だ。
445デフォルトの名無しさん:2011/07/13(水) 23:20:05.87
>>439
こんなのが既知の不具合な訳?
恥ずかしい言語
446デフォルトの名無しさん:2011/07/14(木) 02:32:07.73
単にディスりたいだけならバトロワスレを建ててやればいい。
技術的に意味がある指摘じゃないとレスは付かないよ。
447デフォルトの名無しさん:2011/07/14(木) 08:42:15.06
まあ、演算子優先順位だの行継続だのは
普通はまともに実装されてしかるべきで、
技術的な意味を語る以前の問題だな

そんなものもキチンと実装されてないRubyは論外ってことで
448デフォルトの名無しさん:2011/07/14(木) 09:38:02.10
楽しいかどうかなんてどうでもいい
こういう言語に引っ張られる考えは時間の無駄
449デフォルトの名無しさん:2011/07/14(木) 10:10:51.80
どうでもいいけど、何が問題だったのかホントに分かってるのかな?
450デフォルトの名無しさん:2011/07/14(木) 11:32:18.50
「言語仕様に対する不満が出て来ないのは、大きな問題は無いって事かな?」(キリッ
とか>>386が言ってるから不満を書き込んだら
disるなら他スレでやれと言われたでござる、の巻
451デフォルトの名無しさん:2011/07/14(木) 13:46:33.02
まあここは「やってて楽しい言語」を語るスレだからな
嫌な言語を語るスレでないことは確かだ
452デフォルトの名無しさん:2011/07/14(木) 16:34:24.66
粗探しの楽しいRubyはこのスレ向きってことか
453デフォルトの名無しさん:2011/07/14(木) 17:47:20.86
>>439
誤)
・式の途中で改行する場合はバックスラッシュを入れる
・左辺値に式を置いた場合はアサインメントが優先される

正)
・バックスラッシュを省略した場合は行継続に一貫性無し
・アサインメントの優先順位がバグってるけど「仕様です」
454デフォルトの名無しさん:2011/07/14(木) 21:27:54.60
ホントに分かってるのかな?

正)どれもコーナーケースにおける特殊な振る舞いで、実害は無い
455デフォルトの名無しさん:2011/07/14(木) 21:58:10.98
学生が演習で作ったパーサでも「不可」のレベル
456デフォルトの名無しさん:2011/07/14(木) 22:00:06.93
>>454
実害があるか無いかw
さすがRuby使いは違うなw
457デフォルトの名無しさん:2011/07/14(木) 22:11:47.36
具体的な実害も挙らないし、他の問題点も出て来ないし、ホントどうでもいい流れだな

せめてプログラムに関係する話題にして欲しい物だ
458デフォルトの名無しさん:2011/07/14(木) 23:08:59.59
とりあえず楽しかった言語としてJavaScriptを挙げてみる
459デフォルトの名無しさん:2011/07/14(木) 23:47:46.03
Rubyは使ってて気持ち悪い。
なおかつ信者がこんなのだから、もっと気持ち悪い。
技術的な問題挙がっても「実害じゃないからそれはどうでもいいプログラムの話題じゃない」
なんて言ってるんだからもう絶滅してしまえと思う。
信者も教祖も言語もゴミレベル。
そもそも、楽しい言語って言ってるんだから、プログラムの実害wとか、
そんなの以前に、使ってて気持ちの良い言語であるべきだろ。
何が「プログラムの話題にして欲しい」だ。信者も布教に必死だな。

Redmineのカスタマイズなんか苦痛過ぎ。

やってて面白いのはlisp。
460デフォルトの名無しさん:2011/07/14(木) 23:59:28.61
>>458
自分も JavaScript が楽しい

関数型言語も幾つか試してみたけど、やっぱりオブジェクト指向的に書ける言語が楽しい
461デフォルトの名無しさん:2011/07/15(金) 00:07:55.96
LISP信者キモいと言って欲しいのか
462デフォルトの名無しさん:2011/07/15(金) 00:24:29.20
本物の Lisp 信者は他の言語をディスったりしないよ
最高の道具を手にした職人が、他の安ピカ物の道具をディスる必要なんてないでしょ
463デフォルトの名無しさん:2011/07/15(金) 00:24:58.06
>>461
実用性はほとんど無いが、やってて楽しいぞ。
464デフォルトの名無しさん:2011/07/15(金) 02:58:47.36
>>460
最初に触れたときには「何このオモチャ」と思ってたんだけど
やり込んだら「あれ、これ意外と本格派じゃね?」って感じになってくる不思議
465デフォルトの名無しさん:2011/07/15(金) 02:59:17.65
newがよくわかんない
466デフォルトの名無しさん:2011/07/15(金) 03:21:13.46
>>465
どっかのサイトで色々考察してるのを読んだことがある、詳細は俺もよく解らなかったし、どこかも忘れたが
・プロトタイプベースの本質からすれば要らない
・でもJavaScriptのコンストラクタはnew付きで呼ばれるのが通例なので、new付きの前提で書いたほうが良い

みたいな結論だった気がする
467デフォルトの名無しさん:2011/07/15(金) 22:25:49.13
C最強に気づけないやつは才能ない
468デフォルトの名無しさん:2011/07/15(金) 22:51:44.55
それは言うまでもないだろ。
高級な低級限後だからな。
469デフォルトの名無しさん:2011/07/15(金) 23:24:24.05
Problogが楽しいよw
470デフォルトの名無しさん:2011/07/16(土) 09:44:35.72
>>469
prologではなく、problogなの?
初耳の言語だ
471デフォルトの名無しさん:2011/07/16(土) 09:47:45.29
俺も初耳だったからググった
472デフォルトの名無しさん:2011/07/16(土) 10:50:34.42
C++が最強  多重継承万歳
473デフォルトの名無しさん:2011/07/16(土) 11:18:41.62
>>470
プログラマーが書いてるブログじゃね?
474デフォルトの名無しさん:2011/07/16(土) 11:20:50.82
ちげーよ、アホ。ggrks
475デフォルトの名無しさん:2011/07/16(土) 11:46:11.06
>>472
多重継承の何がいいの?
依存・参照関係がややこしく危険になるからやめた方がいいと思うんだけど…。
Aのサブクラスであると同時にBのサブクラスである必要ってどういう時に出てくるの?
一意に親が辿れなくなるような継承って美しい?役に立つ?
インターフェースじゃ駄目なの?
実装の継承が必要なだけならScalaでいうトレイトとかの方が良くない?
476デフォルトの名無しさん:2011/07/16(土) 12:21:08.34
ダイヤモンド継承を避ければ無問題
便利ですよ
477デフォルトの名無しさん:2011/07/16(土) 12:51:05.20
>ダイヤモンド継承を避ければ無問題
そういうのを自動で避けるような設計がなされてるのがいい言語だと思うんだけどな…。
Mix-inを目的として使用するのであれば、
クラスの多重継承は明らかに危険で美しくない解決策じゃないの?
モジュールやトレイトがある今、
クラスの多重継承は過去に行った実装を引きずってるだけの盲腸的仕様になってる気がするけど。
478デフォルトの名無しさん:2011/07/16(土) 13:23:01.55
自動で避けれられなくて困ったこと一度もないけど
どうしても困るならダイヤモンド継承禁止した言語使えばいい
479デフォルトの名無しさん:2011/07/16(土) 15:06:32.29
Cの話題が出ると、C++使いが対抗心を燃やしてくるのは何でなんだろうなあ
C系統の言語の一つに過ぎないのに
480デフォルトの名無しさん:2011/07/16(土) 18:41:58.92
釣り?
c++はcを包含してるけど、全く別の言語じゃん。
481デフォルトの名無しさん:2011/07/16(土) 21:20:46.46
今までの流れからするとC言語使いがC++使いに対抗意識燃やしてる感じだけど
482デフォルトの名無しさん:2011/07/16(土) 21:22:23.27
Cを改良したのがC++、それを改良したのがJava
Java先生が一番でございます。
483デフォルトの名無しさん:2011/07/16(土) 21:28:22.52
java遅い
484デフォルトの名無しさん:2011/07/16(土) 21:36:41.37
改良したつもりなのがJavaでしょ
485デフォルトの名無しさん:2011/07/16(土) 21:41:09.72
C#が1番だよ
486デフォルトの名無しさん:2011/07/16(土) 21:49:17.03
>>481
ん、流れ?
487デフォルトの名無しさん:2011/07/16(土) 22:11:31.65
>>480
もはや包含すらしてない関係の無い言語
488デフォルトの名無しさん:2011/07/16(土) 22:12:39.45
C++とか気持ち悪いからあっちいけって思う
489デフォルトの名無しさん:2011/07/16(土) 22:13:06.81
やっぱぁ包含よ
490デフォルトの名無しさん:2011/07/16(土) 22:20:34.70
結局Common Lispが最強なんですよね?
491デフォルトの名無しさん:2011/07/16(土) 22:26:09.87
使っている奴の態度のでかさでは最強だよな > Common Lisp
492デフォルトの名無しさん:2011/07/16(土) 22:41:51.97
Schemeこそ正義。
493デフォルトの名無しさん:2011/07/16(土) 22:48:47.13
特徴を整理したうえで比較検討するような議論にできないもんかね
盲目的なクソ信者みたいにわめきやがってバカどもが
494デフォルトの名無しさん:2011/07/16(土) 22:52:12.17
common Lispとかww
使用人口がいるかどうかも
495デフォルトの名無しさん:2011/07/16(土) 22:52:12.77
事実と向き合うにはそれなりの素養が必要だからな
496デフォルトの名無しさん:2011/07/16(土) 23:04:03.78
楽しい言語なんて個人差があるからな
俺は楽しさがウリのRubyとかちっとも楽しくないし
497デフォルトの名無しさん:2011/07/16(土) 23:10:31.80
だから、感覚的な部分を排除して話をできないかという提案なんじゃないの
498デフォルトの名無しさん:2011/07/16(土) 23:14:07.65
それはもはや「やってて楽しい」からはほど遠い話になると思うが
499デフォルトの名無しさん:2011/07/16(土) 23:15:01.98
>>498
他人と共有できない話だったらそれこそチラ裏にかいとけですよ
500デフォルトの名無しさん:2011/07/16(土) 23:17:53.20
単なるレッテル貼りの書き込みとかを見ていると、それを他人に言って
何が楽しいのかと思う事はあるな
501デフォルトの名無しさん:2011/07/16(土) 23:45:34.36
>>497
楽しい言語の感覚的な部分排除して、何を楽しいと思うのか。。。
最強でも、実用的でもなく、楽しい。だぞ?

502デフォルトの名無しさん:2011/07/16(土) 23:50:03.76
感覚だからといって科学的分析の対象に出来ない訳じゃないぞ
503デフォルトの名無しさん:2011/07/16(土) 23:50:50.72
>>494
Common Lispは確かにマイナーではある。
しかしそれは実用的でないという意味ではない。
504デフォルトの名無しさん:2011/07/16(土) 23:52:33.49
>>503
haskellも2に同じく

505デフォルトの名無しさん:2011/07/16(土) 23:55:02.24
遊びならともかく実用用途で
マイナーな言語は避けた方が吉
506デフォルトの名無しさん:2011/07/16(土) 23:56:56.57
自分でメンテを続けられるなら良いんじゃないの
CL なんて処理系も沢山あるし、規格もきっちりしてるし
507デフォルトの名無しさん:2011/07/17(日) 00:01:42.98
Brainfuckがなぜでない
508デフォルトの名無しさん:2011/07/17(日) 00:03:46.31
もっともマイナーな言語といったらジョジョ言語だろう
509デフォルトの名無しさん:2011/07/17(日) 00:41:43.86
>>505
面白い言語って遊びで使うんじゃないの?
仕事で面白い言語使えるかは会社に依るだろ?
510デフォルトの名無しさん:2011/07/17(日) 06:47:35.99
マイナーと面白いがどう繋がるんだ
511デフォルトの名無しさん:2011/07/17(日) 07:18:45.30
>>510
いや、おいらが確認したいのは、ここで面白いって主張する言語は遊ぶ事前提でおk?って事
実用性無視が基本で良いんだよな?と

これがブレると面白いって言う言語が大きく違ってくる
512デフォルトの名無しさん:2011/07/17(日) 07:49:51.84
仕事でもプログラミングしてる奴は
遊びで書くなんて事はしないっしょ
513デフォルトの名無しさん:2011/07/17(日) 09:19:47.49
>>511
C#は「組み易いから面白い」
なんてレスもよく出て来る
514デフォルトの名無しさん:2011/07/17(日) 09:23:11.98
遊びだろうと何か書くなら最低限の実用性がないと苦痛だろ
その意味でCommon Lispや最近のHaskellには実用性があって、
だからこそこのスレで名前が挙がってる
515デフォルトの名無しさん:2011/07/17(日) 10:29:26.41
>>514
何を以て「遊び」とするかに依る

例えば BrainFuck なんかを「楽しんでる」人たちは、
論理的なパズルを解く(組み立てる?)ような感覚を面白がっている
また、そうとう限られたリソースや極悪な環境で
他人にはできない何かを作ることを楽しんでる人もいる(メガデモ的楽しみ)

最低限の実用性という場合の「最低限」がどの辺りかは知らんが、
このようなことを楽しみとしている人たちにとって
最低限の実用性すらないことはそれほど苦痛ではない
むしろ無い方が高難易度だと言って楽しめる人も多くいる
516デフォルトの名無しさん:2011/07/17(日) 13:08:33.89
そういう意味では x86 のアセンブラが楽しかったな。

適当なプログラムをヘックスダンプして、インテルのマニュアルを片手に
解読して行く行程は胸躍る物だった。ムスカのあの台詞が乗り移るね。
517デフォルトの名無しさん:2011/07/17(日) 13:23:33.23
Brainfuckとか組み込み言語として使うと面白そうだけどな
インタプリタ実装もそれほど難しくなさそうだし
518デフォルトの名無しさん:2011/07/17(日) 13:41:44.38
組み込み言語とかDSLは、プログラム内部のオブジェクトを簡単に生成したり
操作したりする為の手段だから、入出力が手軽に扱えてリテラルもそれなりに
揃ってないとしんどいぞ
519デフォルトの名無しさん:2011/07/17(日) 13:50:43.64
Small Basicっていうのが出たけど
誰か使ってみた?
520デフォルトの名無しさん:2011/07/17(日) 14:18:56.08
亀+MS BASICって感じだな。
新しいんだけど凄くノスタルジックw
521デフォルトの名無しさん:2011/07/17(日) 17:22:10.25
>>516
x86も面白かったけど、GBAでARMアセンブラも楽しいぞ
OSも無いゲーム機に組んだプログラム流して動いたの見ると震えるw
522デフォルトの名無しさん:2011/07/17(日) 18:37:48.70
>>518
そんなメタ的な使用法でなくとも、もっと軽い用途いくらでもあると思うぞ
たとえばRPGのイベント制御とかなら簡単な演算と制御分岐くらい出来れば十分
Brainfuckはさすがにアレだが、俺はそれをC+FORTHでやってる
523デフォルトの名無しさん:2011/07/17(日) 18:42:45.12
うん
Brainfuckだとさすがにアレだよねってこと
524デフォルトの名無しさん:2011/07/17(日) 19:15:15.21
BFはチューリングマシンの勉強になるから自分で実装すると楽しいぞ。
525デフォルトの名無しさん:2011/07/17(日) 20:34:43.00
実装するならね

BrainFuckとかGrassとかで盛り上がってるのは基本アホ
526デフォルトの名無しさん:2011/07/17(日) 20:37:54.82
俺もアホとは思うが、奴らはいい意味でのアホだな

少なくとも愚かではない
527デフォルトの名無しさん:2011/07/18(月) 00:05:48.26
>>526
そういうのいい視点だね
528デフォルトの名無しさん:2011/07/20(水) 19:17:55.80
流れぶった切るようだが

VBだわ
それに限らず.NETは良いと思う
529デフォルトの名無しさん:2011/07/20(水) 20:32:35.44
>>528
面白いというより、楽な言語だな
自分なら、ここじゃ挙げない

haskellとsmalltalk挙げる

530デフォルトの名無しさん:2011/07/21(木) 01:16:42.85
Haskellってどのあたりが楽しいのかな?
最近触り始めたんだけど、まだ楽しさがよく分かっていない。
531デフォルトの名無しさん:2011/07/21(木) 01:58:52.06
結局トイプログラムで終わる言語だよ。面白いけど、実用性がね
532デフォルトの名無しさん:2011/07/21(木) 02:01:10.06
具体的にどうおもしろいの?
533デフォルトの名無しさん:2011/07/21(木) 04:01:35.79
プログラミングって何が面白いの?
534デフォルトの名無しさん:2011/07/21(木) 04:02:45.24
型クラスとかじゃないの?
haskellやった事ないけど
535デフォルトの名無しさん:2011/07/21(木) 04:19:29.53
型クラスって、JavaのAbstractクラスみたいなイメージなんだけど
あってる?
機能一覧とデフォルトの振る舞いを纏めたものって感じ。
536デフォルトの名無しさん:2011/07/21(木) 04:32:25.81
手続脳の俺にはHaskellとかSchemeとかはパズルみたいで面白いかな

>>535
どっちかっつーとinterfaceじゃね
537デフォルトの名無しさん:2011/07/21(木) 07:47:39.38
>>530
ループを再帰で置き換えるとか、よく言われるけど、むしろ、いかに再帰を使わないで、関数の組み合わせだけで書いていくかが燃える
(組み込み関数内では再起してるだろうけど)
538デフォルトの名無しさん:2011/07/21(木) 11:48:37.92
レスサンクスです。
どちらかと言えば何かを作るよりも、プログラミング自体を楽しむためにHaskellを使っている人が多いのかな?
自分にはまだ分からないけど、そういう方達を満足させるような構文だったり言語仕様になっているのかな。

ふむ、もうちょい勉強してみます。
539デフォルトの名無しさん:2011/07/22(金) 02:12:41.52
おまえら、阿呆のように、再帰、再帰っていうけどさ、
どんなお題に再帰をつかっての?
540デフォルトの名無しさん:2011/07/22(金) 02:42:34.86
ここ数年の流行は fold 系じゃないの?
541デフォルトの名無しさん:2011/07/22(金) 05:21:14.66
>>539
ループするものなら何でも
但し末尾再帰にする
542デフォルトの名無しさん:2011/07/22(金) 08:27:23.57
昔Haskellの末尾再帰は最適化されなかった
今はしらん
543デフォルトの名無しさん:2011/07/22(金) 13:13:23.91
だったらSchemeで良いじゃない、仕様で明言されてるぞ
544デフォルトの名無しさん:2011/07/22(金) 21:20:38.84
単純なループの再帰って、どのぐらいの難しさ?
P99のリストの中身を前後逆にするようなもん?
それとも2分木をトラバースするぐらい?
545デフォルトの名無しさん:2011/07/23(土) 02:18:00.13
gotoを使ってもいいとなったCの柔軟さに対しては今ひとつかなぁ。
今の職場が、ロートルがバイナリにホットパッチ当てまくるから、途中return禁止なんだが、
gotoを解禁するだけでこれだけ使いやすくなるとら思わなかった。
546デフォルトの名無しさん:2011/07/23(土) 05:31:15.94
>>544
変数宣言するくらい
547デフォルトの名無しさん:2011/07/23(土) 11:12:10.72
>>545
ループの中に飛ぶgotoみたいな曲芸的なのを除けば、
gotoを多用して書かれた関数は素直に末尾再帰に直せるよ
548デフォルトの名無しさん:2011/07/23(土) 11:12:37.33
>>542
今はされる
549デフォルトの名無しさん:2011/07/23(土) 11:14:48.53
関数型言語の説明で末尾再帰最適化の話が出るとどうももにょる
それはコンパイラの最適化であって、パラダイムの特徴ちゃうわ…
550デフォルトの名無しさん:2011/07/23(土) 11:18:47.99
末尾再帰が最適化されるからこそ関数的なスタイルで実用コードが書けるんだが
551デフォルトの名無しさん:2011/07/23(土) 14:11:07.58
末尾再帰って、どんな風に考えて作るもん?
良い問題集や実装の具体例を教えてエロい人
552デフォルトの名無しさん:2011/07/23(土) 14:28:57.91
>>550
末尾再帰は可読性がループ並みなる
そんな事するなら、組み込み関数でループ再現させた方が確実に最適化されるし、可読性が保てる
553デフォルトの名無しさん:2011/07/23(土) 20:43:11.75
>>550
それはそうなんだけど、
相互参照してる再帰が最適化されないとか、
デバッグビルド時は最適化されずにスタック積まれるとか、
ふつーにあるぞ。
554デフォルトの名無しさん:2011/07/23(土) 22:56:39.99
>>553
どの言語?
デバッグビルドはともかく相互再帰で最適化が効かないのは酷い
555デフォルトの名無しさん:2011/07/23(土) 23:26:27.30
>>554
その例の一つは、俺が好きな言語のScalaたんである。
(…あった、と書けるのかもしれない。2.9でどうなってるのかまだ知らない)
556デフォルトの名無しさん:2011/07/23(土) 23:32:50.25
でさ、それって、言語じゃなくて、実装の話だよね。パラダイムの話でもない。

反復を再帰として書こうと思ったら末尾再帰最適化はほぼ必須と思っていいと思うけど、
それは実装レベルの問題であって、言語の問題じゃない。
557デフォルトの名無しさん:2011/07/24(日) 03:47:23.64
>>556
実装が 1 つしかない言語だとしかたない。
558デフォルトの名無しさん:2011/07/24(日) 04:23:44.54
>>556
言語によっては末尾再帰について実装ではなく「言語仕様」としてるものがある
そういった言語の場合、末尾再帰を実装してない処理系は
もはやその言語を名乗れない、実装の問題ではないよ

まあ、パラダイムとは確かに関係ないけどね
559デフォルトの名無しさん:2011/07/30(土) 10:44:23.85
scratch
言語仕様覚えるのを面倒い
コード書きたく無いって人には良いかなと思った
(そうで無い人にもオモチャとしてオススメ)

プロトタイプベースで以外と作り込める

これでプログラミング出来ない奴は、何使ってもプログラミング出来ないだろ。と思った

560デフォルトの名無しさん:2011/07/30(土) 14:41:19.57
scratch はエンドユーザプログラミングシステムとしては良さげだけど、
プログラマがプログラムを書く用途で使えるものなのかな?
561デフォルトの名無しさん:2011/07/30(土) 15:09:11.62
>>560
それは素直に言語覚えろとしか


プログラミング言語覚えてるなら、コード書いたほうが楽だったりする
(ロジック部分にはマウス操作でプログラミングは向かない。。。)

コードを書くより面倒なのに、ロジックをパズルみたいに組み立てるのが楽しいと言う、何か原点回帰的な体験だった
562デフォルトの名無しさん:2011/07/30(土) 19:12:45.07
時々、プログラミング出来るようになるにはどうしたら良いですか?とか聞いてくる奴いるけど、そう言う奴にこそscratchで修行しろと言いたい
言語に依存しない、でもプログラミングに大切な(そしてプログラミングが難しい本当の原因)を勉強出来る

逆に言えば、scratchでプログラミング出来なかったら、根本的にプログラマの素質が無い

その位、子供向けだと馬鹿に出来ない位、よく考えられてる
563デフォルトの名無しさん:2011/08/02(火) 19:42:55.15
こういうのってわりと昔からあるんじゃないの?
特に目新しい点は無いような気がするんだけど
564デフォルトの名無しさん:2011/08/03(水) 00:14:27.02
特定の形のピースを繋ぎ合わせてロジックを作るというアイデアは昔からあったとして、

電子ブロックやカルネージハートや FFXII のガンビットのシステムが好きだったとして、

それでも Scratch みたいなシステムを現実的なレベルで実現するのは非常に価値のある
仕事だと思うなあ

小さな子供にソフトウェアの仕組みを学ばせる必要があったら、俺もこれを選ぶかも
565デフォルトの名無しさん:2011/08/03(水) 01:11:38.75
>>564
個人的には大人でもプログラミング初心者は、まずscratch触ってから他の言語に行くとスムーズに覚えられるんじゃ無いかと思ってる

自分はある程度言語を覚えた後で触ったけど、良くで来てると思うよ
566デフォルトの名無しさん:2011/08/03(水) 01:16:36.10
大人だったら独習シリーズとか与えるわ
567デフォルトの名無しさん:2011/08/03(水) 01:29:32.43
>>566
パソコン初心者脱してたらそれで良い
何か最近、パソコン初心者すら脱してないのにプログラミングに興味持ってやって来るの多いから。。。
568デフォルトの名無しさん:2011/08/03(水) 01:38:11.37
成人していて、具体的な目的も無しにプログラミングを学びたいという人は見た事無いわ
569デフォルトの名無しさん:2011/08/03(水) 01:55:20.95
社会人なってからの初心者って、ExcellかAccess弄るだけだろ。VBでいいじゃん
いきなり統計処理のためにR、matlabが必要になる場面なんてあんの?
570デフォルトの名無しさん:2011/08/03(水) 07:27:59.25
「必要になる」ことは希だろうね

周りの話を聞いて「興味が沸いた」という場面ならいっぱいある
571デフォルトの名無しさん:2011/08/03(水) 22:37:15.57
俺の周りにはそんな話をしている人は一人もいないわ
572デフォルトの名無しさん:2011/08/03(水) 23:06:25.77
Scalaスレは地道に伸びてるけどClojureスレは伸びない。
573デフォルトの名無しさん:2011/08/21(日) 13:09:32.18
Delphi(Pascal)は括弧が少ないから好きだ。
VB.net も括弧は少ないが、今時行に意味があるような言語仕様は嫌だな。
574デフォルトの名無しさん:2011/08/21(日) 14:01:44.08
今時と言うが、行に意味がある言語なんて比較的新しい言語でも沢山あるぞ
575デフォルトの名無しさん:2011/08/23(火) 01:23:03.03
みんなは頭に浮かんできたアイデアを何でもすぐにコーディングできるの?
576デフォルトの名無しさん:2011/08/23(火) 01:46:17.35
10代のころは出来たが今は一旦紙に書かないと無理ぽ
577デフォルトの名無しさん:2011/08/23(火) 02:08:06.23
いいなーアイデア次第で億万長者じゃん
578デフォルトの名無しさん:2011/08/23(火) 02:19:12.73
俺は紙には書かないな、テキストエディタに向かって自己流デタラメコードで書くほうが多い
んでそれを手直ししたり、デタラメ関数名を実際に実装したりして組み上げてくことが多いかと
でもグラフィックス関係とかになると流石にコードより描いたほうが早いだろな
579576:2011/08/23(火) 05:24:52.16
あぁ・・・説明が足りんかった。

紙にコードを書くというよりは、処理の流れとかデータ構造を図形とか矢印で紙に描いていくってこと。
フローチャートとはちょっとちがう。
580デフォルトの名無しさん:2011/08/23(火) 06:12:37.19
それはむしろ、そうやって考えをまとめる術を身につけたということでは。
581デフォルトの名無しさん:2011/08/23(火) 08:00:25.75
>>579
データ構造もテキストファイルだなあ
Tabで階層付ける感じで書く
紙だと付け足したりするのがやりにくくない?

処理の流れって聞くとフローチャートのような気がするんだが
個人的にはフローチャートよりコード書いたほうが解りやすい…
582デフォルトの名無しさん:2011/08/23(火) 15:45:12.92
私もデータ構造は手書きです

手で書いて消してとやらないとなかなか頭に入らないし
手書きの方が余計なものを書かないように頭が働きます
583デフォルトの名無しさん:2011/08/23(火) 15:54:08.99
あー…ってことは俺が電子データメインなのは
「余計なものを書かないように」すると、思考そのものが止まっちゃうタイプだからなのか
584デフォルトの名無しさん:2011/08/23(火) 19:43:43.56
モニタを見てると神経が昂ったりネット見るのに集中が移っちゃったりするので、
最近は擬似コードを紙に手書きが多いかなぁ…。
矢印や図を書いたりするのにツール変えなくて済むのもいい。
んで、擬似コードの段組が終わってからエディタで少々肉付けして、後はIDE。
擬似コードで処理の内容を書いていくと自動的にメソッド切り出しが出来る。
まぁCodeCompleteに書かれてたPPPまんまなんだけど、
やってみるとすごくしっくり来て、そのまま習慣として続いてる。
585デフォルトの名無しさん:2011/08/26(金) 19:54:14.35
おれはレコードを示す長方形を書いて埋めていく
人に説明する時だけど
586デフォルトの名無しさん:2011/08/29(月) 02:51:56.49
>>573
関数内関数がけっこう好きだった。
λでいいじゃんとも思うけど。
今は、jmpでとんじゃえば?って思うようなプログラミングしてるけど。
587デフォルトの名無しさん:2011/09/03(土) 16:34:17.36
有名なOSベンダーもFOSS圏も、html5+javascriptを推すんじゃないか?
低レベルな層なんて弄っても面白くないし、
高級言語が欲しいなら対応している環境が多いもん使う方ができること多いし、
言語固有の罠やら作法を覚えなくてすむよ。
多言語から入ってわざわざjsonを覚える必要もないし、jqueryなんてライブラリも出来た。
html5のキャンバスにお絵描きもできて、railsにはcoffee scriptが対応した。
仮に今から何か1つだけ言語を覚えて、
プログラミングでやれることを増やすならjavascriptでやるけどな
588デフォルトの名無しさん:2011/09/03(土) 17:02:02.30
>>587
ここは、やってて楽しい言語スレですよ
生産効率の良い言語の議論は別のスレでお願いします
589デフォルトの名無しさん:2011/09/04(日) 16:21:40.68
587じゃないけど、
「1個覚えるだけで色々できて楽しい」ってことじゃねーの?
>1にも「また、その理由は?」ってあるし。
590デフォルトの名無しさん:2011/09/05(月) 22:51:46.07
変な内容に釣られただけだろ
ほんとclojure楽しいのにそんなに人気ないのかな

591デフォルトの名無しさん:2011/09/05(月) 23:20:09.62
>>590
Lisp系は好き嫌いが分かれるから。。。
592デフォルトの名無しさん:2011/09/06(火) 09:18:19.98
最近Javaが楽しい
イベントにインターフェース関連付けて、様々なクラスに処理を飛ばしたり。
クラスの継承のさらに継承にジェネリック合わせて多方面に使えるようにしたり。
シングルスレッドな言語からの人なんで、
処理が複雑に絡み合う。
それでもスパゲティにならないようにバランスを取り続けるってのが
パズル作ってるみたいで楽しい
593デフォルトの名無しさん:2011/09/06(火) 19:33:40.17
パズルって感じてるようではまだまだだけどな
594デフォルトの名無しさん:2011/09/07(水) 00:14:59.59
デザパタとumlも未習得なのかな
javaなんて業務両言語じゃねーの
パズル解くのが好きならschemeなりprologなりの方がいいよん。

595デフォルトの名無しさん:2011/09/07(水) 07:25:58.13
つーてもProlog使いに言わせるとあれが直感的らしいからなあ
やっぱりパズルと感じるか、書きやすいと感じるかは個々の適性によるところがあるんだと思う
596デフォルトの名無しさん:2011/09/08(木) 03:01:11.37
パズル好きならパズルやりゃいいじゃん
597デフォルトの名無しさん:2011/09/08(木) 08:56:41.67
パズル解くってより作る側の気持ち
あれこれな機能をプログラマが使う際に、
プログラマの手間ができるだけ最小かつ処理の無駄を抑えつつ、さらに拡張性と読解難易度を低く保ち続ける構造を求める事

アンドロイド相手にしてる人だから業務用とか知らないけど、
アンドロイドのフレームワークで使用頻度が高いけど、改良すればもっと利便性が上がる箇所とかあるし、
趣味全開
598デフォルトの名無しさん:2011/09/08(木) 10:43:09.96
パズーでバルス
599デフォルトの名無しさん:2011/09/08(木) 12:18:54.33
あんまりJavaScript 言い過ぎるとウザがられるから関連で
haXe : http://haxe.org/?lang=jp でも別スレ立てて使ってな。
600デフォルトの名無しさん:2011/09/12(月) 01:48:44.12
プログラマの仕事辞めて趣味にすると楽しいな。ソースコード見るだけでワクワクする。
601デフォルトの名無しさん:2011/09/18(日) 19:54:52.22
ちょっと感動したんで書いとく

まずはプログラミングhaskellからの引用


x^2+y^2=z^2を満たす正の整数をピタゴラス数と呼び、三つ組(x,y,z)で表す。ピタゴラス数のリストを生成する関数pythsを定義せよ。ただし、ピタゴラス数の要素は、与えられた上限以下であるとする。

以下に例を示す。

>pyths 10
[(3,4,5),(4,3,5),(6,8,10),(8,6,10)]

引用終わり

これ、haskellで書くと(と言うか、リスト内包表記使える言語だと同じ感じ)、こうなるんだけど、

pyths n = [(x,y,z) | x <- [1..n], y<-[1..n], z<-[1..n], x^2+y^2 == z^2]

リスト内包表記以外の方法だとこんなに短く書け無いんじゃ無かろうか

pythonはリスト内包表記あるの知ってるけど、他の言語でも、こんなに短く書けるんだろうか。。。


602デフォルトの名無しさん:2011/09/18(日) 23:45:33.11
scalaだと
def pyths(n:Int) = for(x <- 1 to n; y <- 1 to n; z <- 1 to n; if x*x+y*y==z*z) yield (x,y,z)
603デフォルトの名無しさん:2011/09/19(月) 00:53:51.34
Ocamlだとrange関数相当が標準では無いので定義してやる必要がある

let rec (--) x y = if x > y then [] else x :: (--) (x + 1) y
let pyths n = [ (x,y,z) | x <- 1--n; y <- 1--n; z <- 1--n; x*x + y*y = z*z]
604デフォルトの名無しさん:2011/09/23(金) 01:23:21.32
Matlab:
function f = pyths(n)
[x y z] = meshgrid(1:n, 1:n, 1:n);
sol = x.^2 + y.^2 == z.^2;
f = [x(sol) y(sol) z(sol)];

こういう例題って効率良く解こうとすると
途端に汚くなるんだよな
605デフォルトの名無しさん:2011/09/23(金) 01:56:00.40
Mathematicaだと
Select[Tuples[Range@#, 3]^2, Plus @@ Most@# == Last@# &]^.5 &

もしくは問題文をそのまま書いて
Solve[x^2 + y^2 == z^2 && 0 < x <= # && 0 < y <= # && 0 < z <= #, {x,
y, z}, Integers] &

>>604
こういう初等整数論の問題をガリガリ求めるのは
結局C/C++が最速なのかな?
606デフォルトの名無しさん:2011/09/23(金) 07:22:42.02
Prolog
途中ちょっと必要ないことをやってますが。勘案のログということで。
http://nojiriko.asia/prolog/pythagorean_su_3.html
607デフォルトの名無しさん:2011/09/23(金) 11:33:34.37
>>604
手続型でも短く書けるもんですね。
>>606
短くないけど面白そうですね。
手続型、関数型と発想が違う
608デフォルトの名無しさん:2011/09/23(金) 14:02:07.86
>>607
このお題だと短く書けるもクソもねーだろ
どうやったら長くなるんだよ
609デフォルトの名無しさん:2011/09/23(金) 15:40:31.27
C++の超難解な文法に自虐的な快感を覚えつつプログラムを書くのが好き

>>605
http://dada.perl.it/shootout/

使用しているコンパイラが古いけどおおよその傾向がつかめる
大部分C/C++が最速だが、OCamlも馬鹿に出来ない
610デフォルトの名無しさん:2011/09/23(金) 17:01:08.75
>>608
少なくとも>>606は故意に長くしているみたい。
611デフォルトの名無しさん:2011/09/23(金) 21:13:24.86
>>606
見たけどすごいな
暇人というか何と言うか
612デフォルトの名無しさん:2011/09/23(金) 23:40:54.18
>>605
pyths = #^2+#2^2==#3^2&~Array~{#,#,#}~Position~True&
なら>>601より9文字短いけど、リスト内包のほうが見やすいな
613デフォルトの名無しさん:2011/09/24(土) 00:40:28.40
あまり実行ファイル作った事ないんだけど、頑張ってHaskellでコマンドライン引数とって>>601を実行するプログラム書いてみた。

import System.Environment

pyths n = [(x,y,z) | x <- [1..n], y <- [1..n], z <- [1..n], x^2 + y^2 == z^2]

main = do
args <- getArgs
putStrLn $ show $ pyths $ read $ args!!0

副作用の扱いが苦手って言うけど、関数型言語っぽくないだけで普通な気がする・・・
他の言語だともっと簡単なの?
少し解説すると、readは文字列を型推論で推論された型へ変換する関数で、showはその逆。

614デフォルトの名無しさん:2011/09/24(土) 00:54:35.46
短く書くならperlやrubyが得意そうだが。俺書けんけど
615デフォルトの名無しさん:2011/09/24(土) 01:01:31.56
>>609
Cは納得するがOCamlてなんでこんなに速いの?
616デフォルトの名無しさん:2011/09/24(土) 01:50:02.50
>>613
Matlabだと文字列のコマンドライン引数をstr2numで数値に変換される処理が入る

function pyths(n); [x y z] = ndgrid(1:str2num(n)); s = x.^2+y.^2==z.^2; [x(s) y(s) z(s)]
617デフォルトの名無しさん:2011/09/24(土) 02:14:43.29
618デフォルトの名無しさん:2011/09/24(土) 02:25:13.75
>>617
無茶しやがるw
619デフォルトの名無しさん:2011/09/24(土) 05:04:36.53
>>609
rubyがドン亀すぎて笑える
ライバルのpythonがはるか雲の上じゃん
620デフォルトの名無しさん:2011/09/24(土) 06:57:32.39
[1..n] 3セットを何か一言で表現できないければ、同じ穴の狢。
621デフォルトの名無しさん:2011/09/24(土) 10:52:55.23
今更追記

>>613のコードをO2オプションつけて最適化したらかなり早くなった。(pyths 100で明確に分かる速さ)
テキスト処理とかの用途だったらruby/pythonより向いてたりするんだろうか・・・
だと嬉しいなぁ・・・
622デフォルトの名無しさん:2011/09/24(土) 12:38:42.64
計算量の多い数値計算ならともかく、ウェブアプリにとって言語の速度ってどのぐらい重要なんだ?
623デフォルトの名無しさん:2011/09/24(土) 12:44:40.81
コード量が同じ、柔軟性も同じなら、速いに越したことはないと思うが
624デフォルトの名無しさん:2011/09/24(土) 13:35:23.90
>>623

エスパーすると、>>622>>623 みたいな他の条件を揃えた場合の事じゃなくて、
単純に他の要素(柔軟性とか可読性とか)に対して
言語の速度はどれほど重要度・優先順位が高いか(いや、あまり高くないだろ)
という意味かと
625デフォルトの名無しさん:2011/09/24(土) 13:47:59.96
>>624
程度問題だなぁ。。。
遅いと言っても、許容範囲なら書きやすい方使うけど、遅過ぎたらそうも行かないし

Webアプリに速度は重要じゃ無いけど、たまに「もうこれ、遅過ぎるだろ」ってサイトはたまに有るし
(多分、アルゴリズムの見直しで解決できそうなレベルだが)

626デフォルトの名無しさん:2011/09/24(土) 15:02:10.79
SQLの書き方や鯖側の設定(FastCGI)とかで何とかなる問題がほとんどだろうから
言語だけで使い物にならなくなるなんてことは無い。
627デフォルトの名無しさん:2011/09/24(土) 16:00:08.26
[1..n]^3みたいに直積集合書ければな
628デフォルトの名無しさん:2011/09/24(土) 16:19:30.85
>>627
Haskellなら書ける(そのような^を定義できる)
629デフォルトの名無しさん:2011/09/24(土) 16:23:11.29
>>627
直積集合と言うのがよく分からんが、どう言う結果を期待するの?
haskellは演算子も関数だから、定義しようと思えば出来ると思うけど
630デフォルトの名無しさん:2011/09/24(土) 16:32:58.41
直積集合ってのは、こういうのだな
[1..2]^3 なら [[1,1,1], [1,1,2], [1,2,1], [1,2,2], [2,1,1], [2,1,2], [2,2,1], [2,2,2]]
631デフォルトの名無しさん:2011/09/24(土) 16:35:17.12
>>615
コンパイラが優秀だから
632デフォルトの名無しさん:2011/09/24(土) 16:39:37.87
それ使えば>>601が短くなる?
633デフォルトの名無しさん:2011/09/24(土) 16:39:57.59
どこかのイケメンがHaskell版を書くのを待ってくれ(これはOCaml)

let rec (--) x y = if x > y then [] else x :: (--) (x + 1) y
let rec (^) l = function
    1 -> [[x] | x <- l]
  | n -> [x @ y | i <- [n / 2]; x <- (^) l (n - i); y <- (^) l i]

使用例:
# (1--2)^3
[[1; 1; 1]; [1; 1; 2]; [1; 2; 1]; [1; 2; 2]; [2; 1; 1]; [2; 1; 2]; [2; 2; 1]; [2; 2; 2]]
634デフォルトの名無しさん:2011/09/24(土) 16:45:55.92
>>632
少しだけ短くなる

使用前:let pyths n = [(x,y,z) | x <- 1--n; y <- 1--n; z <- 1--n; x*x + y*y = z*z]
使用後:let pyths n = [l | l <- 1--n^3; let [x;y;z] = l in x*x + y*y = z*z]
635デフォルトの名無しさん:2011/09/24(土) 17:05:53.77
>>634
Mathematica(>>612)に勝ってるな
636デフォルトの名無しさん:2011/09/24(土) 17:32:53.35
>>634
益々、正規表現風になってきた。
637デフォルトの名無しさん:2011/09/24(土) 17:33:16.94
>>633
使いまわしでスマン

lst ^ 1 = [[x] | x <- lst]
lst ^ n = [x ++ y | i <- [n `div` 2], x <- lst ^ (n - i), y <- lst ^ i]

でも、実際は"^"と"^^"は定義済みなので、"^^^"とかにしてね

638デフォルトの名無しさん:2011/09/24(土) 20:36:40.36
マセマテカでもリスト内包っぽいの:

min_∴max_ := min~Range~max  (* haskell風リスト *)

dom_↑dim_ := dom~Tuples~dim  (* 直積集合 *)

< vars_∈prod_, expr_ > := Select[prod, expr/.Thread[vars->#]&]  (* { . } 演算子が使われてるので < . > *)


pyths = < {x,y,z}∈(1∴#)↑3, x^2+y^2==z^2 >&
639デフォルトの名無しさん:2011/09/24(土) 22:38:23.91
>>607-608 
手続き型というか、リスト演算ができれば短くなる
640デフォルトの名無しさん:2011/09/24(土) 22:41:59.19
どいつもこいつも呪文みたいで汚い。

なんで、こんなのをよろこんでるのかw
641デフォルトの名無しさん:2011/09/24(土) 22:57:42.67
>>617
Scratchのコードを初めて見たけど、なにやら楽しそうだ。
煩雑ではあるが日曜大工的な面白さがありそうだ(と想像)。
642デフォルトの名無しさん:2011/09/25(日) 01:10:28.09
>>640
全然汚くないと思うが?
お前が思う綺麗なコードとやらを出してみ?
643デフォルトの名無しさん:2011/09/25(日) 01:57:56.43
ああ、そう。


こんなのに興味がないが、FORTRANでいい。


この言語にしかできないってことあるか?
どうせ、この言語だとこんなに綺麗に書けますよ
といった好みの問題だろ。

お前が変態を美しいというのなら、別にそれでいい。


相手する気にもならん
644デフォルトの名無しさん:2011/09/25(日) 02:28:44.14
>>643
このスレで何言ってんだ、お前の方が場違いじゃね

やってて楽しいなんて、まさに「好みの問題」だろ
ここはそういう趣旨でおしゃべりするスレだと思うが

俺がやってて楽しいFORTRANなら、こんな風に書くぜって言えばいいのに
645デフォルトの名無しさん:2011/09/25(日) 03:32:11.89
どんな言語でも、枝葉末節をちまちま手動最適化するのが楽しい
646606:2011/09/25(日) 05:09:54.67
何をやっているのか、何を考えたのか、書き記すのが楽しい。
647デフォルトの名無しさん:2011/09/25(日) 07:24:26.03
「この道具サイキョ!」とか言ってるの見ると笑えてくる
別にそういうテーマで頭の体操するならいいけど
(>642)→>643みたいに
「何もうまいこと言えないけどとにかくサイキョ!」っていうようなのは特に
648デフォルトの名無しさん:2011/09/25(日) 08:16:14.30
>>643
こいつはFortran書けないに一票
649デフォルトの名無しさん:2011/09/25(日) 08:25:04.68
>>641
プログラミング言語覚えた後だと非効率的極まりないが、作るのも動かすのも楽しいぞ

デバッグは、他の言語と比べ物にならん程イライラするがw
650デフォルトの名無しさん:2011/09/25(日) 15:11:23.66
fortranでウェブアプリすらも書くのか
hack精神に溢れてるなw
651デフォルトの名無しさん:2011/09/25(日) 15:25:57.96
>>650
まあ、最初のPrologインタプリタ処理系はFORTRANで書かれたくらいだから。
もっともこれは元になった自然言語解析システムがFORTRANで書いてあって、
それをそのまま流用したからだと思うけど。
652デフォルトの名無しさん:2011/09/25(日) 16:39:00.36
C++が最強に楽しいよ
653デフォルトの名無しさん:2011/09/25(日) 19:25:56.60
ほんとに、糞どもがうじゃうじゃ。

おーい。殺虫剤もってきて!

害虫じゃない、ゴミ退治だw
654デフォルトの名無しさん:2011/09/25(日) 20:08:53.73
自殺は止めろ
655デフォルトの名無しさん:2011/09/25(日) 20:22:47.28
>>651
はははっ!こやつ。と思って調べたら、stack overflowに
the first two Prolog implementations were an interpreter written
in Fortran by Colmerauer et al.
and a DEC PDP-10 native compiler by Warren et al

諸君らが愛したfortranは死んだ!なぜだ?
ってか、膨大な資産があっても言語って死ぬのな。恐ろしい。
苦労してc++を覚えたと思ったバッドノウハウの塊だったとか悲しすぎるな
656デフォルトの名無しさん:2011/09/26(月) 14:53:33.16
日本語をしゃべれ。チョンが
657デフォルトの名無しさん:2011/09/26(月) 15:57:24.17
FORTRANまだ現役だろ一応
658デフォルトの名無しさん:2011/09/26(月) 18:42:45.08
>>614
Pythonにはlist comprehensionあるけど
1..nをrange(1,n+1)と書かないといけないしlist comprehensionのsyntax自体
for〜in〜if〜とか余計なものを書かせるので、集合表記として読みにくいし
別に短くもならない
Rubyだとlist comprehensionないのでproduct()とselect()で書く感じかな
659デフォルトの名無しさん:2011/09/26(月) 18:45:22.92
Cでベタに書いたってそう長くなるわけじゃないけど、ジェネレータや無限リスト
みたいなものがないから、一般的な関数にしにくいのがむしろネック
メモリの無駄を承知で全部のリスト作って返すことにしたとしても
やはり面倒くさい

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    if (argc > 1) {
        int i, j, k, n = atoi(argv[1]);
        for (i = 1; i <= n; ++i)
            for (j = 1; j <= n; ++j)
                for (k = 1; k <= n; ++k)
                    if (i * i + j * j == k * k)
                        printf("%d,%d,%d\n", i, j, k);
    }
}
660デフォルトの名無しさん:2011/09/27(火) 01:07:29.09
>>658-659
うーん・・・
例が悪かったのかも?
副作用を多用するようなプログラムの場合はHaskellは苦手って話は良く聞くけど、そこまでやった事ないから、なんとも・・・

今度、時間があったらHaskell版のじゃんけんゲームでも作ってみます。
それと他の言語の比較でもしませう。

661デフォルトの名無しさん:2011/09/27(火) 16:52:42.45
巨大なリストを作ってしまう問題は>>634の (1--n)^3 を使った方の pyths にもある
OCamlは正格評価だから、一度 (1--n)^3 のリストが生成されてしまう
それを避けるにはHaskellのような非正格評価か、Pythonのジェネレータ的なものが必要になる

そういう問題を考えなくて済む点ではHaskellは楽だし、
比較の意味はあったんじゃないか?>>660
662デフォルトの名無しさん:2011/09/27(火) 16:56:18.78
なお、OCamlにはストリーム(Pythonのジェネレータみたいなもの)がある
以下はStreamをモナドと見なして(^)の遅延評価バージョンを定義してる

let rec ( >>= ) m f = (parser
    [< 'x; rest >] -> [< (f x); rest >>= f >]
  | [<>] -> [<>]) m
let return x = Stream.ising x

let rec (^) l = function
    n when n > 1 -> Stream.of_list l >>= fun x -> (l^(n-1) >>= fun y -> return (x :: y))
  | 1 -> Stream.of_list [[x] | x <- l]
  | _ -> [<>]
663デフォルトの名無しさん:2011/09/27(火) 19:44:09.41
ぱっと見、何を計算しているのか分からん
664デフォルトの名無しさん:2011/09/27(火) 22:36:44.92
C別解、product()だけ関数化してみた
そんなに長くないように見えるが、main()がごちゃごちゃするのを
見ての通り使いにくく、ベタループよりずっと効率が悪くなるのが
C的にはやはり問題

#include <stdio.h>
int product(int nelem, int *elems, int *limits)
{
    int i;
    for (i = nelem - 1; i >= 0 && ++elems[i] == limits[i]; --i)
        elems[i] = 0;
    return i >= 0;
}
int main()
{
    int ix[] = { 0, 0, -1 };
    int limits[] = { 10, 10, 10 };
    while (product(3, ix, limits)) {
        int x = ix[0] + 1, y = ix[1] + 1, z = ix[2] + 1;
        if (x * x + y * y == z * z)
            printf("%d, %d, %d\n", x, y, z);
    }
}



665デフォルトの名無しさん:2011/09/28(水) 00:27:44.19
product(またはn重ループ:nはパラメータ)って概念的には簡単なのに
いざ実装しようとすると案外頭を使う
666デフォルトの名無しさん:2011/09/28(水) 00:45:01.53
>>665
やはり前に出てきたPrologのコードのように多重ループを見せない
工夫がいるのでは。
667デフォルトの名無しさん:2011/09/28(水) 00:49:42.71
>>>666
「見せない」ようにすると不自然になる

「見る必要がない」ようにすると自然になる
668デフォルトの名無しさん:2011/09/28(水) 01:07:58.79
Python、これだとリスト全部作ってしまうし自然どころか暗号的
Pythonならジェネレータで書いたほうがいいな
(つーかproduct()は元々あるので自分で書く必要ないけど)

product = lambda *xs: [[]] if not xs else \
sum(map(lambda y: map(lambda ys: [y] + ys, product(*xs[1:])), xs[0]),[])

>>> product('ABCD', [1,2,3])
[['A', 1], ['A', 2], ['A', 3], ['B', 1], ['B', 2], ['B', 3], ['C', 1], ['C', 2], ['C', 3], ['D', 1], ['D', 2], ['D', 3]]
669デフォルトの名無しさん:2011/09/28(水) 01:20:07.78
Haskellだとproductは数値のリストの積を求める関数だから、ちょっとここ見てると混乱する。
670デフォルトの名無しさん:2011/09/28(水) 01:45:08.72
>>668
ジェネレータ式に書き直してみた

product = lambda *xs: [[]] if not xs else ([y] + ys for ys in product(*xs[1:]) for y in xs[0])

Pythonはジェネレータ式にも内包表記が使えて良いな
671デフォルトの名無しさん:2011/09/28(水) 02:08:52.19
みんな短さを競ってるけど、時間orメモリの手動最適化した場合(といっても
sqrt(x^2+y^2)等々は無しで)、どれくらいコード変化する?
672デフォルトの名無しさん:2011/09/28(水) 02:37:33.30
リスト生成をジェネレータやストリームに変換するのは
まさに省メモリ化の話だと思うが
673デフォルトの名無しさん:2011/09/28(水) 03:47:06.11
http://hibari.2ch.net/test/read.cgi/tech/1215242849/477-
こういう議論はC以外だとさらに解らなくなるな
674デフォルトの名無しさん:2011/09/28(水) 20:12:54.24
あーあ、変態プログラムが、うじゃうじゃと。


しかも、書いてる奴は「俺はこんなにうまいんだ!」と自己陶酔してるから
始末が悪い。メンヘルに治療に逝ってこい。アスペルガーの糞共。
675デフォルトの名無しさん:2011/09/28(水) 20:16:39.59
やってて楽しいなら、お得意のJavaのコードを書いても良いんだよ?
コードが冗長すぎて1レスに収まらんだろうけどwww
676デフォルトの名無しさん:2011/09/28(水) 20:21:22.11

\               U           /
  \             U          /
             / ̄ ̄ ヽ,
            /        ',       /    _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \          /
     \ / く l   ヽ._.ノ   ', ゝ \       <本当にスゲエ!>
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |

ゴゾンジ!の変態ぶりにジュウシマツも驚いています。

677デフォルトの名無しさん:2011/09/28(水) 20:25:38.41
コードは書けないけどAAは貼れるのか
アホの極みだな
678デフォルトの名無しさん:2011/09/28(水) 20:28:00.20
釣れたw


雑魚だけど
679デフォルトの名無しさん:2011/09/28(水) 20:57:10.16
>>674
このスレは、あなたの言う変態プログラムのためのスレだから

うじゃうじゃいる方が当たり前
680デフォルトの名無しさん:2011/09/29(木) 18:55:25.10
Androidの開発始めて久々にJava使ったけど、プロパティ無いとこんなに不便なのな。
681uy:2011/10/03(月) 04:20:58.60
俺は最近
>>664
こういうソースコードをみると、古めかしさを感じるだけど、お前等はどうなの?

特に { ... } これが古めかしいよね


Rubyみたいに思い切ってendとか、Pythonみたいにインデント構造にするとか
Lisp、XML、 ぱっと思いつくだけで4種類も別の方法がでたが


古いものがよいとも限らないところがIT技術だねぇ
682デフォルトの名無しさん:2011/10/03(月) 05:45:16.26
>>681
p :- q1,q2,q3.

というような構造もあるが。
683デフォルトの名無しさん:2011/10/03(月) 10:19:17.64
>>681
endだけは勘弁
684デフォルトの名無しさん:2011/10/03(月) 19:37:17.95
uyには構いたくない…んだけど、乗っておくか。

TransactSQLみたいに文法の欠陥でBEGIN,ENDを書かざるを得ないのは最悪。
けど、Endホニャララってそんなに悪いもんでもないと思うよ。
{ ... }を使用(多用)する場合、特殊な意味(レコード型とかクロージャとか)に使いにくくなるし、
言語が強いるコーディングポリシによってはElseIf周辺で3行取る事になるのはどうよと思う。

というかEnd勘弁って人はなんでそう思うのさ?>>683
685デフォルトの名無しさん:2011/10/03(月) 20:01:48.40
ぶっちゃけどれでもいい…
ブレース使うのは古めかしくも何ともないし
endもインデントも括弧も何らおかしくはない
特定の書法を貶める気持ちは全く理解出来ん
686デフォルトの名無しさん:2011/10/04(火) 00:35:57.13
たいていのエディタでは、対応するカッコ、ブレースを色づけしてくれたり、
ジャンプしたりできる。
愛用してるエディタがbegin〜endの対応をサポートしてくれるなら、そっちでもいいのだが。
687デフォルトの名無しさん:2011/10/04(火) 00:52:42.53
beginがなかったりendの後ろにピリオド付いたり付かなかったり
気持ち悪い
688デフォルトの名無しさん:2011/10/04(火) 00:54:00.62
>>686
自分で設定すればいいじゃないかプログラマなら
勉強でRubyやってたんだけどMacのXcodeで対応してたよ
他は知らん
689デフォルトの名無しさん:2011/10/04(火) 01:19:29.10
ふつうのプログラマはvimかemacsを使う
誰かがfixしたり便利なマクロを先んじて作ってくれるからだ
ダチョウ倶楽部のどうぞ、どうぞののりで
690デフォルトの名無しさん:2011/10/04(火) 07:14:26.08
クラブ ダチョーって懐かしいな
まだ居るのか?
691デフォルトの名無しさん:2011/10/04(火) 14:27:48.31
>>687
endの後ろにピリオドって何の言語?
692デフォルトの名無しさん:2011/10/04(火) 15:28:40.46
>>691
ESP
693デフォルトの名無しさん:2011/10/04(火) 22:20:56.29
Pascalもピリオド付くよ。
694デフォルトの名無しさん:2011/10/04(火) 22:58:02.90
C#は名前空間単位のアクセス修飾が無いのと通信関係とコレクション操作のAPIが富豪過ぎるのを除けば良い言語
Silverlightは業務で使わない分には良いサブセット
695デフォルトの名無しさん:2011/10/05(水) 00:12:51.39
>>693
Pascalは最後のendだけだろ
696デフォルトの名無しさん:2011/10/05(水) 02:18:22.06
付いたり付かなかったりの話しだろ?
697デフォルトの名無しさん:2011/10/05(水) 05:53:35.62
ESPの end. もクラスの終了を表す時だけだから、ここでの話から
すこし外れますね。
698デフォルトの名無しさん:2011/10/05(水) 08:14:18.12
>>696
それにしたって、Pascalの場合は
エディタの設定には何も困らないんだよ
699デフォルトの名無しさん:2011/10/06(木) 15:19:29.57
最近javascriptが楽しい
node.js最高
700デフォルトの名無しさん:2011/10/06(木) 20:15:33.17
それは動くものがすぐ目に見える楽しみと違うか?
701デフォルトの名無しさん:2011/10/06(木) 21:18:24.24
OCamlを始めた。型周りが面白い。
もっと早くML系やっとけばよかった。
702デフォルトの名無しさん:2011/10/07(金) 05:49:52.77
>>700
js使ってモジュール化してくのが楽しいよ。
単に見下したくて言ってるだけなら死ね。
703デフォルトの名無しさん:2011/10/07(金) 07:24:27.19
>>702
モジュール化してくのが楽しいって、意味が分からん

モジュール化なんてたいていの言語で実現できるが、
jsでモジュール化するのと他言語でモジュール化するのとで、
「楽しさ」にどう違いが出るの?
704デフォルトの名無しさん:2011/10/07(金) 07:57:59.88
JavascriptはPerlやPythonからおいしい所取りしてるから、
なんでもアリの楽しい言語だよ。
扱いを間違えれば、あっという間にカオスで、バギーになるけど。
705デフォルトの名無しさん:2011/10/07(金) 15:11:09.62
美味しいところ取り切れてないからCoffeeScriptとか出てくるんでないの
なんでもありというならそれこそPerlがそうだし、Pythonは真逆の思想でしょ

いや、JavaScriptをバカにする気はないけどさ
706デフォルトの名無しさん:2011/10/07(金) 17:34:13.55
ブラウザに載っているのがJavaScriptだけだから
みんな仕方なく使っているだけ
707デフォルトの名無しさん:2011/10/07(金) 17:43:26.36
>>705
表現力が高いことを言いたかったんだけどね。
Javascript1.7以降に限定されるけど、Python風にも書ける。
素数計算だとこんな感じで(Javascript1.8以降で動作)。
function range(begin, end) {
for (let i = begin; i < end; i++) {
yield i;
}
}
var prime = [p for each (p in range(2, 100))
if ([d for each (d in range(2, p))].every(function(x) p % x !== 0))];
708デフォルトの名無しさん:2011/10/07(金) 20:21:35.12
var prime = for (i <- 2 to 100; p = for (j <- 2 to i; if i % j == 0) yield j; if p.length == 1) yield i
709デフォルトの名無しさん:2011/10/07(金) 20:26:33.37
var prime = for (i <- 2 to 10 if (for (j <- 2 to i if i % j == 0) yield j).length == 1) yield i
710デフォルトの名無しさん:2011/10/07(金) 22:05:48.61
バカにする気はないと言ってバカにしてるとはこれいかに
711デフォルトの名無しさん:2011/10/07(金) 22:13:36.89
何で急に重箱の隅をつついてきたり、暗にバカにするのかなあと思ったら、
絶賛してる奴でもうお腹いっぱいって事かよ。
はいはい、素直に帰りますわ。
712デフォルトの名無しさん:2011/10/08(土) 00:54:23.38
JavaScript面白いよ!で自己完結してる分には可愛いものだが
ニュー即あたりで初心者に勧めてるキチガイは頭おかしいと思う
713デフォルトの名無しさん:2011/10/08(土) 01:08:10.40
>>712
webプログラミングやりたいって奴にはjavaScript取り合えず勧めるけど、学習用途はhaskellだな
その後C#へ進めと言う流れで
714デフォルトの名無しさん:2011/10/08(土) 06:37:50.82
haskell触ったこと無いけど
モナディウスの詳細見る限りでは
言語学習というよりアルゴリズム力(論理力)アップに役立ちそうな感じがするんだけどどう?
715デフォルトの名無しさん:2011/10/08(土) 07:39:14.39
>>714
モナディウスを見ても、関数型言語としてのアルゴリズムは
あまり参考にならないような気がする

が、Haskell がアルゴリズム力(論理力)アップに役立ちそうな
という感じは間違っていないと思う
今まで培ってきた自分のアルゴリズム力に、新たな発想力が加わるという意味で
716デフォルトの名無しさん:2011/10/08(土) 12:37:02.06
ハスケルはそれなりに良い言語だけど、学習リソースが少ないからプログラミング初心者には勧めない
717デフォルトの名無しさん:2011/10/08(土) 16:06:20.39
haskellをずっとメインで使うならともかく、学習用途だったら「プログラミングHaskell」一冊で十分だろ
練習問題も良い問題多いし

718デフォルトの名無しさん:2011/10/10(月) 00:57:34.51
haskellをメインで使いつづけたら?手続き型のポトペタなアプリが書ける奴なんて、
その辺の道端に犬のウンコぐらいいくらでも転がってんだろ

haskellでCSP、TSPなりパーサーなりをスラスラ書ける奴と
手続き型でありきたりなウェブアプリしか書けない奴を同時に面接するとして、
自分が経営者ならどっちを雇いたい?
719デフォルトの名無しさん:2011/10/10(月) 02:16:18.07
>718
手続き型でCSP、TSPなりパーサーなりをスラスラ書ける奴と
haskellでありきたりなウェブアプリしか書けない奴を同時に面接するとして、
自分が経営者ならどっちを雇いたい?
720デフォルトの名無しさん:2011/10/10(月) 02:23:52.62
どちらかしか雇えないのなら、必要な方を雇うに決まってる

どちらが必要かは、何をどう経営してるかや経済状況などによるとしか言いようがない

そういう当たり前な前提条件を全く提示しないでたとえ話を持ちかける奴は、
どういう経営状況・経済状況であってもプログラマとしては雇いたくない
721デフォルトの名無しさん:2011/10/10(月) 05:18:14.74
>>718
CSPとは何か、TSPとは、パーサーとは何か、を理解してればどっちでも書けるだろ
そう言うのを理解するためのhaskellで、必要なパフォーマンスに合わせて他の言語でも書けると良い
722デフォルトの名無しさん:2011/10/10(月) 12:24:14.02
これまでの総勉強時間が100時間あったとして、
10種類の言語を10時間ずつやった奴と、2種類の言語を50時間ずつやった奴でどちらがマとして優秀か?と言えば後者だろう。
なぜなら前者はどの言語も環境や基本文法に慣れるだけの入門レベルで忙殺されて応用的な課題に取り組めないから。
723デフォルトの名無しさん:2011/10/10(月) 12:26:26.23
そんな無意味な条件(トータル100時間なんてどっちみち初心者だろ?)で比較してまで
二種類しか言語使えない俺優秀って言いたいの?
724デフォルトの名無しさん:2011/10/10(月) 12:54:44.49
そもそもスレチ
725デフォルトの名無しさん:2011/10/10(月) 14:49:41.78
COBOLとSQLを50時間ずつなら、
手続き型、オブジェクト指向、関数型、論理型、機械語、
brainfuck,whitespaceなんかで計100時間ほど触った奴を選ぶよ
726デフォルトの名無しさん:2011/10/10(月) 15:15:58.68
>>719
Haskeで募集して、PHPで書かせる。
727デフォルトの名無しさん:2011/10/10(月) 17:29:44.19
>>726
鬼だ‥‥‥。
728デフォルトの名無しさん:2011/10/10(月) 17:44:15.11
問題ない

優秀な Haskeller なら Haskell->PHP トランスレーターを作って対処する
729デフォルトの名無しさん:2011/10/10(月) 17:46:37.97
元のプログラムがPHPで書かれているから
PHP->Haskellトランスレーターも必要だな
730デフォルトの名無しさん:2011/10/10(月) 22:17:35.17
俺は広告代理店でバイクしてる時、サイト量産する事になったから、
PHP上で動くwikiみたいなフレームワーク組んで、ついでのようにそこにオレオレ言語のインタプリタ組んだ。
クソ遅かったけど、社内で大流行したわ。
あれ楽しかったな。
731デフォルトの名無しさん:2011/10/13(木) 21:37:15.54
振り込むか通報かってやつ?
732デフォルトの名無しさん:2011/10/15(土) 22:41:13.92
バイク→バイトだった。
要は広告枠をある程度自社でも処理しよう的な。
733デフォルトの名無しさん:2011/11/07(月) 17:14:21.58
>>722
その言語とその方言ばかりで10言語100時間だったら、そこそこの
技量はついてると思うけど、全く毛並みの違う言語10言語だったら
時間は足りないだろうね。
Common Lisp,Haskell,C++,Prolog,Python,Java,SmallTalk,R,SQL,Fortran
を100時間で10言語といわれたら、かなりきつそう。
7つの言語7つの世界だっけ?あれが流行ってるから7つくらい概要を
知ることができる人は増えるかもしれん。
734デフォルトの名無しさん:2011/11/07(月) 17:42:04.76
やってて楽しい言語?Lisp系に決まってるよ。文法は単純だし
あるていど見につけてしまったら、制限らしい制限が殆どなくなる。
ただ、ライブラリの不足による制限を感じることはあるが。
やってていらいらする言語は?C++だったな。
735デフォルトの名無しさん:2011/11/07(月) 17:57:40.98
Lisperはゴミしか作れないのに
態度のでかさ、横柄さだけは凄い
736デフォルトの名無しさん:2011/11/07(月) 18:59:09.57
俺はLisp系にイライラした

Haskellは
737デフォルトの名無しさん:2011/11/07(月) 18:59:35.22
大好き
738デフォルトの名無しさん:2011/11/07(月) 19:38:04.66
うむ
739デフォルトの名無しさん:2011/11/07(月) 20:46:27.27
>>736
Lispは記法になれるのが大変だからね。Haskellも面白い。
日本人が英語に、あるいは英語ネイティブが日本語に戸惑
うところと似てるかもしれない。
740デフォルトの名無しさん:2011/11/07(月) 21:14:45.92
BASIC覚えた頃よりも、LISPの方が習得時間が圧倒的に短かかった俺はイレギュラーかな(^◇^;)
プログラムの概念を知っていたからかもしれんが(basicで)
741デフォルトの名無しさん:2011/11/07(月) 21:50:05.90
Common Lispやってみたんだが、結局何もできん。
どうしたらよいものやら。

いや、末尾再帰がどうだの高階関数がどうだのってのは説明読めばわかる。
でも、他人にも使ってもらうような業務アプリ作るならGUIの作り方を知らなければならないし、
TCP/IP通信やら正規表現を使ったテキスト処理やらにも習熟しなくちゃならない。
これまでシェルスクリプト、awk、sed、python、Tcl/Tkを適当に使い分けてきたんだが、
それらの代替となるほどにLispを使い込む自信は全くない。
742デフォルトの名無しさん:2011/11/07(月) 22:08:58.22
Lisp は文法が簡単だから覚えることが少ない気はする。
Common Lisp で使えるものを作ろうとすると、
整理された使いやすい標準的なライブラリない。
743デフォルトの名無しさん:2011/11/07(月) 22:56:52.13
いろんな言語が使えるって豪語してる奴が会社にいるんだ
そいつが最近Haskellかじってるとか言い出したから、8クイーンをお題に出してあげたら、
そんなにHaskell詳しくないとか言い訳はじめてくそわろたww
じゃあJavaで書いてもいいよって優しさ見せてやったら、それでも解けないでやがるwwwバカスw
使いもしない言語を覚える前にやることあんじゃねえの?ww
744デフォルトの名無しさん:2011/11/07(月) 23:20:47.10
勉強するために覚えた言語というのはあるかもschemeなんてその典型だろうよ。
8クイーンだって知らなくてもSICPでお目にかかることになるしね。

Common LispはInternet普及以前の仕様のままなのが辛いところかも、日本人で
web関連を整備することに情熱をかけてる人は出てきてるけど、大変だよね。
ライブラリのことをきにしてLispをやるのならClojureが一番気楽かも。Java
ライブラリをそのまま生かせるから。

Haskellって学習コストが高い印象があるけど、他言語習得者で実際に習得し
た人何ヶ月くらいで、ちょっとした小物を作った?
745デフォルトの名無しさん:2011/11/08(火) 06:45:31.44
>>743
そいつは言語オタクであってプログラマではないな
言語の文法は沢山覚えてるけど、8クイーン自体は作ったことないだろ

俺の仲間だわw
(それでもクイックソートとマージソートは作れるが)
746デフォルトの名無しさん:2011/11/08(火) 07:07:28.64
>>744
Lispもマクロとか継続とか語りだしたら途端に難易度上がるし、Haskellと大差ない気がする
プログラミングHaskell読めばコマンドラインアプリならすぐ作れるようになる
(大体一か月?)

GUIとか外部パッケージは、Hoogle or Hahooがある分、JVMに乗ってない他のマイナー言語よりは大分情報探しやすいと思うけど

言語オタクだから、関数づくりに夢中になりすぎて実際のアプリはじゃんけんゲームとか、yesコマンドとかしか作ってないけど^^;
手続型言語よりも、作りたい関数をコードにしやすいんで、GUIライブラリさえ決めて覚えればjavaよりも簡単にGUI作れそう
(両方とも、テキストエディタ上での開発の場合)

glade(GUIビルダー)拡張してIDEになってくれんかね…
747デフォルトの名無しさん:2011/11/08(火) 08:43:34.10
つ Xtext
748デフォルトの名無しさん:2011/11/08(火) 11:32:17.90
>>746
マクロの感覚が身につくのは半年以上はかかるだろうな。マクロで
マクロや関数を作るってのは抽象化のセンスも問われるところだし
多分、これがうまく作れる人はhaskellのポイントフリースタイル
はすぐにできるようになる。両方共扱うけど、使うときのセンスが
共通してる。
Lisp:マクロ周辺,Haskell:モナド周辺, C:ポインタ周辺
この辺がそれぞれの言語を扱う上でワンランク上に行くの壁だろう。
モナドは、人が難しいというけど、やってることを見ると単純なこ
とだから。偏見がなければ習得は難しくない。モナド変換子まで行くと
混乱するかもしれないというのが感想。継続にしてもモナドにしても
感覚的に理解を促す説明が誰もうまくできてないのがダメなのかなと
思ってて、良い方法がないか模索はいつもしてる。
749デフォルトの名無しさん:2011/11/08(火) 11:41:47.57
Haskellは最初からごっついモナドライブラリが付いてくるからなぁ
初学者は天から降ってくる感じになってしまう
OCamlあたりでモナドを自作して使ってけば
わりと簡単に理解できると思う
750デフォルトの名無しさん:2011/11/08(火) 17:59:08.71
8クイーンかけるかけないって
あんまマと関係なくないか
751デフォルトの名無しさん:2011/11/08(火) 18:27:55.23
8クイーン別に大げさなもんじゃないよね
Pythonで書くとこんなもんだ

def queens(size):
    solve = lambda y: ((),) if not y else \
              (((x, y),) + qs
                for qs in solve(y - 1)
                  for x in range(1, size + 1)
                    if all(x != u and abs(x - v) != y - v for u, v in qs))
    return solve(size)

for x in queens(8):
    print x
752デフォルトの名無しさん:2011/11/08(火) 18:28:37.23
くだらなすぎるfizzbuzzより適切かもな
753デフォルトの名無しさん:2011/11/08(火) 19:20:23.12
はたして8クイーンは C++ の template で解けるか?
754デフォルトの名無しさん:2011/11/08(火) 19:26:04.31
>>752
FizzBuzzは
「根本的にプログラマに向いてない人種」
を振り落とすための問題だから仕方ないな
755デフォルトの名無しさん:2011/11/08(火) 19:30:40.29
>>751
大げさに間違ってるのはギャグのつもり?
756デフォルトの名無しさん:2011/11/08(火) 19:37:42.81
うお、ほんとだw

> if all(x != u and abs(x - v) != y - v for u, v in qs))
if all(x != u and abs(x - u) != y - v for u, v in qs))

こうかな
757デフォルトの名無しさん:2011/11/08(火) 19:40:58.11
「こうかな」って

別に大げさなもんじゃないなら、もっと自信持てよ
758デフォルトの名無しさん:2011/11/08(火) 19:42:30.62
いや、>>756で大丈夫だよ
759デフォルトの名無しさん:2011/11/08(火) 21:49:46.07
pythonって循環定義(solveの定義の右辺にsolveを利用)を許すんだ。
ちょっとびっくり。
760デフォルトの名無しさん:2011/11/08(火) 23:09:44.82
>>759
たぶん変数が関数スコープだからだと思う
761デフォルトの名無しさん:2011/11/09(水) 00:28:11.37
やった!!!
高卒の自分でもHaskellで自然数の定義と加減算の定義ができたよ…
(デクリメントに発想の転換が必要だったけど・・・)

-- 自然数を定義
data VNum = Zero | One VNum
deriving (Eq,Ord,Show,Read)

-- 加算を定義
Zero +^ n = n
m +^ Zero = m
m +^ n = inc m +^ (n -^ (One Zero))

-- 減算を定義
Zero -^ n = n
m -^ Zero = m
m -^ n | m == n = Zero
m -^ n = dec m -^ (n +^ (One Zero))

-- インクリメント(1+)を定義
inc n = One (n)

-- デクリメント(−1)を定義
dec (One (n)) = n



3+2の独自定義版の使用例

*Main> (One (One (One Zero))) +^ (One (One Zero))
One (One (One (One (One Zero))))
762デフォルトの名無しさん:2011/11/09(水) 00:36:19.29
ごめん

減算の定義が間違ってた
正しくはこちら

-- 減算を定義
Zero -^ n = n
m -^ Zero = m
m -^ n | m == n = Zero
m -^ n = dec m -^ (n -^ (One Zero))
763デフォルトの名無しさん:2011/11/09(水) 01:06:56.86
今までの文脈に全く関係ないそういうのは Haskell スレでやれよ
764デフォルトの名無しさん:2011/11/09(水) 05:59:13.14
すまん
嬉しくてつい・・・
765デフォルトの名無しさん:2011/11/09(水) 08:36:26.91
やってて楽しかったなら別にいいんじゃね
766デフォルトの名無しさん:2011/11/09(水) 10:27:49.27
>>764
かまへんよ。嬉しいことは多くの共有したいもんね。:-)
767デフォルトの名無しさん:2011/11/09(水) 14:50:54.51
>>751
でも絶対に使いたくない言語だと思わせる。
768デフォルトの名無しさん:2011/11/09(水) 15:18:08.77
fizzbuzzって最近知ったんだが
ほんとに書けない奴いるの
769デフォルトの名無しさん:2011/11/09(水) 15:40:36.63
そりゃまあ世の中にはいるだろうな
770デフォルトの名無しさん:2011/11/09(水) 17:12:55.09
おるから、一番最初の篩に使ってるんだろう。
771デフォルトの名無しさん:2011/11/09(水) 18:04:32.07
fizzbuzz は書けるかどうかじゃなくて、
如何に面白い、そうきたか、と思わせる書き方ができるかが大事

そういう意味ではソーティング アルゴリズムなんかと似てる
772デフォルトの名無しさん:2011/11/09(水) 19:04:51.92
haskellでエイトクイーン
でももっと短く書けるに違いない

module Main(main) where
import Control.Monad
import Data.Tuple

main = print $ nQueen $ 8

nQueen n = nQueen_ (n-1) (map return [1..n])
where nQueen_ 0 result = result
nQueen_ c base = do xs <- base
x <- [1..n]
guard (cond x xs)
(nQueen_ (c-1)) $ return $ (x:xs)

cond x xs = let list = zip (iterate (subtract 1) (length (x:xs))) (x:xs)
(p:ps) = tUnion (+) list
(m:ms) = tUnion (-) list in
notElem x xs && notElem p ps && notElem m ms

tUnion f [] = []
tUnion f (x:xs) = (f (fst x) (snd x)):(tUnion f xs)
773デフォルトの名無しさん:2011/11/09(水) 19:44:05.91
>>768
学校でプログラミング習うと
分岐やループ辺りから何人か脳がフリーズし始めるよ
774デフォルトの名無しさん:2011/11/09(水) 19:58:52.60
Cで書いてもこんぐらい
#include <stdio.h>
#include <stdlib.h>

void print(int *pos, int n) {
    int i;
    for (i = 0; i < n; ++i)
        printf("(%d, %d) ", i + 1, pos[i]);
    putchar('\n');
}
int safe(int x, int y, int *pos) {
    int i, d;
    for (i = 0; i < x; ++i)
        if ((d = y - pos[i]) == 0 || abs(d) == x - i)
            break;
    return i == x;
}
void queens(int n, int x, int *pos) {
    int y;
    if (x == n)
        print(pos, n);
    else
        for (y = 1; y <= n; ++y)
            if (safe(x, y, pos))
                queens(n, x + 1, (pos[x] = y, pos));
}
int main() {
    int pos[8];
    queens(8, 0, pos);
    return 0;
}
775デフォルトの名無しさん:2011/11/09(水) 20:09:05.65
>>773
basicで値の交換が理解出来ない人が居たのには驚いた
(関数使える言語なら、まだ分からなくはない)
776 ◆QZaw55cn4c :2011/11/09(水) 23:05:54.24
>>772
haskell ってそんなに簡単にかけるのですね。うらやましい。
777デフォルトの名無しさん:2011/11/09(水) 23:21:50.75
OCamlだとこんなもんか

let rec (--) x y = if x > y then [] else x :: (--) (x + 1) y
let queens n =
  let rec f = function
      0 -> [[]]
    | y -> [[(x, y)] @ s |
                s <- f (y - 1);
                x <- 1--n;
                List.for_all (fun (u,v) -> x != u && abs(x - u) != (y - v)) s]
  in f n
let _ = List.iter Std.print (queens 8)
778デフォルトの名無しさん:2011/11/10(木) 01:20:24.26
>>774
> queens(n, x + 1, (pos[x] = y, pos));
恥ずかしながら、この用法初めて知ったよ。
更新したものを返すのを引数内に書けるのね。
今まで","はfor文第一引数で複数の変数の初期化とかしか使ったこと無かった。
得した。ありがとう。
779デフォルトの名無しさん:2011/11/10(木) 03:19:03.92
>>777
ああそうか、最初から二要素タプルにすれば良かったのね
直した

import Control.Monad
import Data.Functor

main = print $ length $ nQueen $ 8

nQueen n = nQueen_ 1 (map return (zip (repeat 1) [1..n]))
   where nQueen_ m base = if m == n then base
               else do xs <- base
                   x <- [1..n]
                   guard $ and $ (\(i,j) -> x /= j && abs (m+1-i) /= abs (x-j)) <$> xs
                   (nQueen_ (m+1)) $ return $ ((m+1,x):xs)
780デフォルトの名無しさん:2011/11/10(木) 07:21:07.87
>>761-762
これ、手続き型言語だとどう書くんだろ?

781デフォルトの名無しさん:2011/11/10(木) 22:41:48.77
782デフォルトの名無しさん:2011/11/11(金) 00:53:33.39
やべえ、Cはわかったけど
ハスケルもオカムも全然わからん
783デフォルトの名無しさん:2011/11/11(金) 01:18:34.09
>>782
そりゃ、文法くらいは覚えなきゃ判るわけないw
でも、Cより、ポインタとか機械寄りな概念がない分、素直に書けるし、素直に読める。

自然数の定義なんて、

data 自然数 = ゼロ | ひとつ足す 自然数

型、自然数はゼロか、自然数にひとつ足したもの。と言う定義。
ゼロは自然数だから、

1 = (ひとつ足す ゼロ)

ここで「1」と「ひとつ足す」が=(イコール)じゃないのがミソ。

インクリメントは、何か自然数を受け取って、「ひとつ足す」

inc n = ひとつ足す n

デクリメントは何か自然数に「ひとつ足したもの」を受け取って、「ひとつ足す前の」自然数を返す

dec (ひとつ足す n) = n

それを処理系が解釈できるように>>761-762は半角英数で書いてるだけ。
784デフォルトの名無しさん:2011/11/11(金) 01:21:47.48
>>782
http://www.haskell.org/haskellwiki/99_Haskell_exercises

↑Haskellのプログラム例がある。
リストの最後の要素を出力する、などの簡単なもの。
785デフォルトの名無しさん:2011/11/11(金) 07:33:01.21
>>782
他人のコード読むなら、CでもhaskellでもOCamlでも組込み関数覚える必要は有るな

でも、Cと違って型宣言の読み方に複雑なパターンはない
(関数ポインタとか)

何より、基本的なデータ構造が配列とリストって言う違いが大きい
手続き型言語だと入門終わってから使う柔軟なデータ構造なのに、それがデフォルトになってる

配列の方が、簡単さ、柔軟さを犠牲にして速度を求める、入門終わってから使うデータ構造と言う位置付け
786デフォルトの名無しさん:2011/11/11(金) 10:15:13.14
list処理がマスターできたら、ほとんどループは使わなくなると思うよ。
確かに早さが違うもんな。配列は任意の要素にアクセスするのにO(1)だけど
リストはO(N)、順次処理させるようなものはリストは得意だし。

今年はhaskellを身につけるという方針でやってるけど、いつか、
prologとsmalltalk
をやってみないとと思ってる。今までやってた言語にくらべても
毛並みが違うから時間が欲しそうだし。これらの言語を楽しくて使ってる人
あまりいないのかもしれないが。
787デフォルトの名無しさん:2011/11/11(金) 12:38:44.32
>>786
概ね同意だけど、

> 順次処理させるようなものはリストは得意だし

「順次処理」なら配列も同じ
次の要素へのポインタを経由しなくて良い分、むしろ配列の方が得意

リストは挿入や連結が配列に比べて得意
788デフォルトの名無しさん:2011/11/11(金) 15:05:26.29
>>787
そうやった。訂正ありがと。
789デフォルトの名無しさん:2011/11/11(金) 18:50:21.25
OCamlやHaskellのリストはimmutableだから挿入や連結も苦手だけどな
本当に速いのは先頭への追加/削除だけ
790デフォルトの名無しさん:2011/11/11(金) 19:11:05.69
>>789
え?

add3 (n1:n2:n3:ns) x = n1:n2:n3:x:ns
791デフォルトの名無しさん:2011/11/11(金) 19:14:43.40
>>789
速さよりも単純明快さを求めてるからな

速さ求めたければ配列でやればいいし
792デフォルトの名無しさん:2011/11/11(金) 19:20:12.07
>>790
「先頭に近いところ」への追加は速いと言ってもいいけど、
add3を一般化てaddNにしたら、addNはNに比例する時間が掛かる
793デフォルトの名無しさん:2011/11/11(金) 19:33:09.29
>>792
内部的には他の言語も同じだと思うが・・・
794デフォルトの名無しさん:2011/11/11(金) 19:46:15.00
>>793
破壊的なつぎかえ(splicing)を許しているのなら、途中の入れ替えもO(1)でできるよ
Lispで言うとconsセルのcarまたはcdr部の書き換え

splicingを使わないのなら、リストが動的配列に対して勝る部分は正直なにもないね
動的配列でも末尾の追加はO(1)で、全要素にO(1)でランダムアクセス可能だ


795デフォルトの名無しさん:2011/11/11(金) 19:49:49.95
>>790
馬鹿?
文法で得手不得手を語ってる流れに見えた?
796デフォルトの名無しさん:2011/11/11(金) 19:50:34.34
何もないとまで言うのはさすがに言いすぎか

関数型言語でリストが多用されるのは、それが再帰と相性がよく、
部分列を(ポインタのような飛び道具なしで)自然に扱うことができて、
先頭への要素の追加が既存の部分を破壊しないからだろう
(動的配列ではメモリが再配置される可能性がある)
797デフォルトの名無しさん:2011/11/11(金) 20:06:58.39
>>792
騙されたなw

add3 (n1:n2:n3:ns) x = n1:n2:n3:x:ns



add (n:ns) x 0 = x:ns
add (n:ns) x num = n:add ns x (num-1)

も同じ。二つは、再起でメモリ消費するかしないかだけで、データ構造としてのリストは「先頭から順に辿る」のは変わらずO(n)だw

破壊的かどうかも、メモリ上でリストをコピーするか、しないかだけで、データ構造としてのリストはどの言語でも、「先頭から順に辿る」は変わらず、O(n)なんだよwww

破壊的かどうかってのは、リストと言うデータ構造の速度とは別の問題。
798デフォルトの名無しさん:2011/11/11(金) 21:55:00.65
>>797
何に騙されたって?

ともあれ、破壊的更新ができるリストなら、あらかじめ末尾へのポインタを持っておけば
定数時間で連結できるよね
799デフォルトの名無しさん:2011/11/12(土) 07:51:00.78
>>798
変動する末尾へのポインタ保持するのに結局最初から辿らないといけなくね?
うろ覚えだが、Cのデータ構造としてのリストも

struct intList
{
   int value;
   intList *next;
}

みたいなのじゃなかったっけ?
800デフォルトの名無しさん:2011/11/12(土) 08:10:39.62
>>799
いや、末尾へのポインタをずっと保持しておいて、必要に応じて更新するという手段がある
末尾への要素の追加と二つのリストの連結は(末尾ポインタの更新を含めても)定数時間

構造としては、そのintListを使って、
struct wholeIntList
{
  intList *first; /* 先頭ノードを指す */
  intList *last; /* 末尾ノードを指す */
};

みたいにする
801デフォルトの名無しさん:2011/11/12(土) 08:27:34.05
今思い付いたアホアイデア

上のレスのやり方は双方向リンクリスト+頭とケツを覚えておく、だよね。

そこに[ほぼ真ん中も覚えておく]とするとO(log)になったりして
802デフォルトの名無しさん:2011/11/12(土) 08:29:49.75
いや、挿入がO(n)になるか(w
803デフォルトの名無しさん:2011/11/12(土) 08:31:31.17
>>800
うーん・・・
それでいくと
head xs = xs!!1
last xs = xs!!(length xs -1)

みたいな感じで、!!は定数(O(1))だけど、length xs -1の部分でO(n)掛かってるよね。みたいなのは変わらん気も・・・
(いや、!!も実際はO(n)だろうけど・・・)

参考までに、どういう仕組みでリストの末尾を保持するのか教えてほしい

804デフォルトの名無しさん:2011/11/12(土) 08:49:00.45
.>>803
前半何言ってるか分からん

>参考までに、どういう仕組みでリストの末尾を保持するのか教えてほしい
要素数1のリストの末尾を保持するのは簡単(空リストはちょっと特別扱いが必要)
そこから始めて、
・要素を先頭に追加する(末尾は変わらない)
・要素を末尾に追加する(末尾ポインタの更新は自明)
・二つのリストa, bを連結する(bの末尾が全体の末尾になる)
を繰り返すことでリストを作れば、ずっと末尾ポインタを持ち続けられる
末尾からの要素の削除はできないけど、これは単方向リストなので仕方ない
805デフォルトの名無しさん:2011/11/12(土) 12:21:11.85
oz/mozartってインストールしてみたけど、emacs必須の言語なんだね。
806デフォルトの名無しさん:2011/11/18(金) 15:47:24.43
なんでリスト実装のお勉強が…
クヌース先生の本でも読めば…
807デフォルトの名無しさん:2011/11/22(火) 18:23:21.69
上司からの指示をそのまま解釈して意図通りにちゃんと動くアプリケーションを出力してくれるコンパイラはどこにありますか
808デフォルトの名無しさん:2011/11/22(火) 18:56:02.05
>>807
100万/月でリース出来ます。
809デフォルトの名無しさん:2011/11/22(火) 19:09:09.56
>>808
むちゃくちゃ安いな

それどこだよ
会社名やホームページ、住所や電話番号さらせ
810デフォルトの名無しさん:2011/12/06(火) 10:15:56.63
ttp://www.infoq.com/jp/news/2011/12/yammer-scala
twitterでRubyに勝利したJavaがScalaにも勝利した
またJavaの時代が来ちゃうんじゃね?
811デフォルトの名無しさん:2011/12/06(火) 10:44:17.37
またも何も、Javaの時代は別に終わってないだろ
812デフォルトの名無しさん:2011/12/10(土) 16:26:06.59
tes
813デフォルトの名無しさん:2011/12/11(日) 08:06:04.44
VBってやたら変な記述してるね
今ではVBとC#はその記述以外大体同じらしいのに
このスレではC#だけ持ち上げられてVBがさっぱりなのはそのせいなの?
Basicから抜け出せない人用か
814デフォルトの名無しさん:2011/12/11(日) 13:16:47.41
だいたいゲイツのせい
815デフォルトの名無しさん:2011/12/11(日) 13:36:14.25
>>813
C#と同じこともかけないしね。λとか、.net FW3.5以降の美味しい所はあんまり食べれない。
とは言うものの、うちはVB.netだよ。その通り、前のバージョンがVB6だから。
インフラ周りはC#とcppだけど。
816デフォルトの名無しさん:2011/12/11(日) 17:48:56.42
c#とほかの.Net言語を混在させてるプロジェクトあるのかなあ
817デフォルトの名無しさん:2011/12/11(日) 18:49:40.53
うちはそうだよ。あと未だにVB6も残ってる。
初期はVB側の人が、大文字小文字に無頓着で、イラっとしたりしたが、最近はコーディング規約が現実的な所に落ちて来てて、
あんまり不自由無いよ。
VisualBasic.dllは重たいが。
818デフォルトの名無しさん:2011/12/12(月) 07:23:54.05
VBはこういう良いところもあるらしいけど
ttp://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer03/vbcheer03.html
ただこれ「脱出対象の指定」というより「caseにbreakやExitが不要」だというのが重要だよね
C#でもそうすれば便利だったと思う

逆にVBは等価判定が代入と同じ「=」だというのが何だか酷い
「厳密等価演算子 VB」でググっても出て来ないし
a=b==0とかいうのはVBでどう書くの?
819デフォルトの名無しさん:2011/12/12(月) 08:18:22.62
a = b = 0

VBでは代入は文なので曖昧性はない。
820デフォルトの名無しさん:2011/12/12(月) 08:51:23.96
ttp://d.hatena.ne.jp/yone-ken/20090421/p1
VBは左端のa=のみを代入と認識
つまりaとb両方同時に代入は出来ないってことか・・・
C#〜JAVA〜AS(javaスク)やってる俺からするとかなり異様だわ
821デフォルトの名無しさん:2011/12/12(月) 10:31:18.63
左端っつーか、文を書くときに=を書くと、かな
式を書くときに=を書くと確実に等価演算子

てかBASIC出身の俺からすると
C系の「代入が値を返す」仕様はデメリットのが大きく感じるよ
822デフォルトの名無しさん:2011/12/12(月) 10:42:03.43
>>818
代入構文以外だとかならず比較演算子だから、大丈夫。
心配なら右辺にカッコつければいい。
823 忍法帖【Lv=9,xxxP】 :2011/12/12(月) 11:29:52.69
那覇那覇
824デフォルトの名無しさん:2011/12/12(月) 11:41:04.53
>>821
「代入」操作自体が、関数の一種だとかんがえればいいと思う。
825デフォルトの名無しさん:2011/12/12(月) 12:49:09.54
「代入操作」が手続きのの一種ではなく関数の一種となってしまう事に違和感を感じる
826デフォルトの名無しさん:2011/12/12(月) 13:20:47.93
代入って代入演算子だから四則演算や比較演算と同じ扱いじゃないのかね
それが文扱いになるのってVBだけ?
827デフォルトの名無しさん:2011/12/12(月) 19:03:50.38
>>826
文扱いになる代入操作は VB 以外にも Python や「なでしこ」などある

こういう言語では、代入は代入演算子ではない
828デフォルトの名無しさん:2011/12/12(月) 21:09:25.32
BASICの代入は、SETほにゃららの省略じゃ無かったっけ?
829デフォルトの名無しさん:2011/12/12(月) 21:09:53.00
>>826
そもそもBASIC系はだいたいそうだよ
830デフォルトの名無しさん:2011/12/12(月) 21:10:42.04
>>828
LETね
SETはVBなどにある、参照の代入
831 ◆QZaw55cn4c :2011/12/12(月) 21:11:24.59
>>828
LET A = 1
832デフォルトの名無しさん:2011/12/12(月) 21:42:35.62
そう言えば、LET A = 1 って数学的な記述方法なんだよな

Haskell も let a = 1 だ
833デフォルトの名無しさん:2011/12/17(土) 20:46:48.15
書くことが楽しい言語ってのも無いな。
結局、結果を見てその成果物の成長を楽しめないならクソ言語。
書くことが楽しくて、やってることが単なるリファクタリングばかりなら
不毛でしか無い。

ということで、楽しいとなると、シェルスクリプト(zsh, bash)とC++か。
前者は、とにかく必要なものをすぐ作れて楽しい。
後者は、グラフィックスとかアーカイバとか、個性のはっきりしたものを作れて楽しい。
834デフォルトの名無しさん:2011/12/17(土) 23:34:55.36
楽しいと言えばアセンブラだろ。
書いた通りに動くぞ。
あとドマイナー言語だが、MUMPSは滅茶苦茶面白い。
835デフォルトの名無しさん:2011/12/18(日) 00:51:15.68
Mは超メジャーじゃないか
836デフォルトの名無しさん:2011/12/18(日) 02:18:56.99
tes
837デフォルトの名無しさん:2011/12/18(日) 14:26:28.15
>>835
お、物流?医療?
838デフォルトの名無しさん:2011/12/20(火) 00:23:45.75
( ^ω^)おっおっおっ
839デフォルトの名無しさん:2011/12/21(水) 02:09:33.53
834だが、誰かMスレ立てないもんか。
まぁもともと人口少なすぎるし、全く伸びないだろうが。
各社、化石のような、例えばU-MUMPS時代のルーチンを礎にいろんな事してると思うんだが。
840デフォルトの名無しさん:2011/12/21(水) 09:25:22.14
自分で立てたらどうかな?
841デフォルトの名無しさん:2011/12/21(水) 17:27:44.25
立てた事無いからわからんのだよ……
842デフォルトの名無しさん:2011/12/21(水) 17:36:08.90
スレタイと>>1を書いてくれたら誰か立てるんじゃね
そういうスレあるしな
843デフォルトの名無しさん:2011/12/21(水) 17:53:45.57
頑張って立てて見たものの、スレタイ化けた……
eの上に'が乗ってたんだ。

【Caché】変態M言語【U-MUMPS】
http://toro.2ch.net/test/read.cgi/tech/1324457499/
844デフォルトの名無しさん:2011/12/23(金) 18:05:47.64
>>843
こっちだとeの上に点が乗ってるように見えるよ、環境によって表示されないってことなのかな
845デフォルトの名無しさん:2011/12/23(金) 18:06:33.26
ああ、2chの本文だと見えるだけか
実際のスレタイは見事に化けてた
846デフォルトの名無しさん:2011/12/24(土) 00:27:39.79
>>845
そうそう、本文には書ける事しってたから、そのまま行っちゃったら化けたよ。もっと仕様を確認すべきだった。
しかも案の定伸びないしw
まぁ、即身バレするからなぁ。
847デフォルトの名無しさん:2011/12/24(土) 08:56:20.46
RDBで特に困ってないしなあ。
848デフォルトの名無しさん:2011/12/25(日) 02:13:57.92
普通はRDBで全く問題ないからね。うちも、会計系にはOracleつかってる。集計やら統計はやっぱフットワークが違う。
ただ、生産、出荷、途中の検品なんかは、他資本入った時にやっぱモノイイついたものの、
両方作った上でのベンチマークでCachéの圧倒的勝利に落ち着いたよ。
849デフォルトの名無しさん:2011/12/31(土) 18:20:31.48
VSのMFCには不思議な魅力がある
はた目には難解すぎるライブラリなはずなのに…
難解すぎるから、分かるまで挑戦したいと思わせるんだろうか…

学制の頃バイトで金貯めてやっとの思いでVS6.0買ったけど、今は学生じゃないからなぁ…

あ、Haskellも好きです
こっちはシンプルすぎるのが好き
Winじゃ日本語文字化けするのが難だけど…


実用的な言語と面白い言語は別だよなぁ…と思いつつ、どっちにも魅力を感じる今日この頃

ちら裏でした
850デフォルトの名無しさん:2011/12/31(土) 23:21:06.08
今まではMFCで書いとけばWinでは何とかなるだろう感があったが、Vista以降微妙な感じはするな。
851デフォルトの名無しさん:2012/01/01(日) 12:17:56.31
>>850
VS2011のMFCのクラスの強化具合が分かるまでは何とも言えないが、VS2010でも順調にMFCは新しいクラスが追加されてるみたいだし、これまで通りパフォーマンス向けはx86 or x64に特化でMFCも残るんじゃないかな
そんなパフォーマンスが必要な場面は確実に減ってるけど、無くなりもしないだろうし

個人的にはARM向けにもネイティブ吐けるようになると嬉しい
(その分、for x86, for x64, for ARM。みたいになるんだろうけど)
852デフォルトの名無しさん:2012/01/01(日) 16:13:40.32
>>851
昔はVSでCEのSH3とかのコードも出せたし、そこは安心しててもいいかもな。
853デフォルトの名無しさん:2012/01/03(火) 14:36:21.72
Visual Studio 11のARMターゲットを遊んでみた
ttp://wontfix.blogspot.com/2011/09/visual-studio-11arm.html
854デフォルトの名無しさん:2012/01/06(金) 23:00:01.96
どう考えてもObjective-C
Cocoa, iOSの言語だから
855デフォルトの名無しさん:2012/01/07(土) 13:02:59.73
>>854
どう考えた結果なのか言わないのなら、なんの意味もないゴミ発言だよ
856デフォルトの名無しさん:2012/01/07(土) 20:07:44.08
多分
> Cocoa, iOSの言語だから
なんじゃね?
そういう人なんでしょ。
857デフォルトの名無しさん:2012/01/08(日) 03:49:54.98
まあ、そういう人ならもう仕方ないな
858デフォルトの名無しさん:2012/01/08(日) 05:03:14.86
理由にはなってるな。
ある程度的を射てる。
859デフォルトの名無しさん:2012/01/08(日) 12:17:54.22
Javaに素晴らしい所があるとすればJVMで動作する数多くの優秀なソフトウェアがある事だし、
プラットフォームの魅力って重要だよね。
連携すればすぐに出来のいいソフトウェアが作れるのは楽しい。
構文とか意味論とかの面で見る所が無くてもね。
860デフォルトの名無しさん:2012/01/08(日) 14:17:08.19
>>859
> Javaに素晴らしい所があるとすればJVMで動作する数多くの優秀なソフトウェアがある事だし、
大量のCPUを並列に動かせないのでつまんないんですけど
861デフォルトの名無しさん:2012/01/08(日) 17:24:00.86
>>860
スレッドわかんねえんだろ?
無理すんな(笑)
862デフォルトの名無しさん:2012/01/08(日) 17:39:33.40
JavaはCPUやコアのリソース配分はどうやるの
863デフォルトの名無しさん:2012/01/08(日) 18:54:18.83
やれるやれない以前に、そもそものJavaの思想から考えると
CPUとかリソースは基本的には「触れるべきでない」部分じゃないかな
864デフォルトの名無しさん:2012/01/08(日) 20:57:10.73
>>861 fortran のような並列化はしてくれんだろw
865デフォルトの名無しさん:2012/01/09(月) 06:05:05.03
write once,debug everywhere
866デフォルトの名無しさん:2012/01/09(月) 09:27:09.16
write many times, run nowhere
867デフォルトの名無しさん:2012/01/10(火) 13:18:28.23
>>859
ビジネス向けはね
ゲームはC#+XNAの方がwin+xbox360+WP7でコード資産は上回ってる
日本では魅力的なwp7.5端末でないとダメだろうけど
868デフォルトの名無しさん:2012/01/10(火) 13:43:00.91
xbox360とかWP7に魅力はないし、WindowsでもXNAを使ってどんな面白いゲームが出てるのか知らないし
むろんJavaでゲームというのもずいぶん寒い状況だけど、一応Minecraftっていう面白いのはあるな
869デフォルトの名無しさん:2012/01/11(水) 18:56:19.05
>>868
完全にJava製なの?>Minecraft
870デフォルトの名無しさん:2012/01/11(水) 19:55:46.43
MinecraftフォロワーのTerrariaっつーPCゲームがあるが
これはXNA製だな
871デフォルトの名無しさん:2012/01/17(火) 12:26:51.00
Perl、Ruby、JavaScriptとやってきたけどどれも楽しかった
プログラムの手助けになるライブラリや、新しく追加された言語仕様を数年遅れで知って
「うおーこんなのもあったんだー」となるのがますます楽しいね
872デフォルトの名無しさん:2012/01/17(火) 19:37:11.23
Perl の最近の仕様変更は面白いな
知ったときは面白い割に、頭に入らんけど…
873デフォルトの名無しさん:2012/01/17(火) 22:15:40.18
やはり、すっきり書くことができなくては、
Haskell, Prolog, Smalltalk の3つで決まり。
874デフォルトの名無しさん:2012/01/17(火) 23:07:10.33
やってて楽しいというか、ストレスを感じないのはC#だな
構文とかライブラリの命名規則とかが

だがLinqのクエリ式、てめーはダメだ
875デフォルトの名無しさん:2012/01/17(火) 23:24:56.80
>>874
なんで?

けっこう合理的な設計だと思うが
876デフォルトの名無しさん:2012/01/18(水) 07:00:23.08
>>875
ごめん、なんかえらそーにダメだとか言ったけどただの俺の好みなんだ、すまない

今までのクラスとメソッドをベースにした文法と掛け離れてるから
何をしてるのか俺にはぱっと見で理解できない
SQLをよく触ってる人からしたら分かりやすいのかもしれんとは思う
877デフォルトの名無しさん:2012/01/18(水) 08:08:37.62
プログラミング言語と呼べるかは別として、
SQLは、面白いと思うけどな。
パズルっぽくて。
878デフォルトの名無しさん:2012/01/18(水) 09:11:09.34
SQL書くの楽しいよな
読むの嫌だけど。
879デフォルトの名無しさん:2012/01/19(木) 00:42:18.90
確かにこんな事も出来るのか的な発見は何時もあるよねSQLには。
880デフォルトの名無しさん:2012/01/19(木) 08:31:37.23
むしろSQLは読んでるほうが楽しい
自分が書くと、あんまり色んなこと考えたくなくなって
ごく単純なSQLで済ませてしまいたくなる
881デフォルトの名無しさん:2012/01/19(木) 08:32:35.84
それは楽しんでないだろw
882デフォルトの名無しさん:2012/01/19(木) 08:34:35.87
>>881
そだね、俺自身は楽しんでないと思う
883デフォルトの名無しさん:2012/01/19(木) 14:13:22.88
長いSQLは人間が読むものじゃないと思う
GUIとかで自動認識させてer図でみれないかな
884デフォルトの名無しさん:2012/01/20(金) 03:25:32.42
>>883
guiで作ったクエリで大失敗したことないか?
七月位に新人が本系にマジで投げよって業務停止させるのが恒例だったな。俺が前居た会社だと。
885デフォルトの名無しさん:2012/01/20(金) 10:14:12.98
UPDATE a_tbl SET flg = true;

         ____
      /::::::─三三─\
    /:::::::: ( ○)三(○)\ 
    |::::::::::::::::::::(__人__)::::  | ________
     \::::::::::   |r┬-|   / | |           |
    ノ:::::::::::::  `ー'´   \ | |           |
886デフォルトの名無しさん:2012/01/20(金) 12:46:47.86
うあ゙ぁあ ・゚・(´Д⊂ヽ・゚・ あ゙ぁあぁ゙ああぁぁうあ゙ぁあ゙ぁぁ
887デフォルトの名無しさん:2012/01/20(金) 14:42:46.94
>>885
ぎゃあああああああああ

CRUD時はWHEREの使用を強制する文法の方が良かったよな…
888デフォルトの名無しさん:2012/01/20(金) 22:04:47.10
commitしておきますね^^
889デフォルトの名無しさん:2012/01/28(土) 23:33:30.73
885にこのスレの終了フラグを全部立てられたようだな
890デフォルトの名無しさん:2012/03/03(土) 20:22:49.81
ほんっとにこのスレ終わっちゃったな
それ以前からRubyネタも消えちゃってたし
891デフォルトの名無しさん:2012/03/06(火) 02:19:11.35
実は自分が昔投下したHaskellネタにRubyユーザーが食いついてくるかと期待したが、一度も来なかったな・・・
アンチ関数型言語スレでも食いついてくるのはpythonユーザーだけで、rubyは来なかった

オブジェクト指向言語としてはpublic/privete/protectedが指定できないpythonよりもしっかりしてるし、底力見せて欲しかったんだがなぁ・・・
892デフォルトの名無しさん:2012/03/06(火) 22:40:03.68
Rubyは理論じゃなくて実験的、技巧的な話をしたがる人が多いかも
Haskellな人はコードを無視してもの凄い勢いで理論の話をするからRubyな人は離れてくと思う
893デフォルトの名無しさん:2012/03/06(火) 22:42:45.36
>>892
> Haskellな人はコードを無視してもの凄い勢いで理論の話をするから

頼むから偏見を持たないでくれ
894デフォルトの名無しさん:2012/03/06(火) 22:53:53.00
やっぱ偏見なのかな?でもそういうイメージ強いんだよなあ
895デフォルトの名無しさん:2012/03/06(火) 23:07:08.77
世界中の普通にHaskellを使ってアプリを作ったり研究してる人たちは、
相手のことを考えずコードを無視してもの凄い勢いで理論の話をしたりはしません
会話の相手に応じてちゃんとトーンや内容を使い分けます

これはHaskellに限らず他言語を好む人たちも同じです

コードを無視してもの凄い勢いで理論の話をしたり、
理論を無視してもの凄い勢いで技巧的な話をしたりするのは、
扱っている言語ではなく、その人自身の性格の問題です
896デフォルトの名無しさん:2012/03/06(火) 23:37:42.17
   〃∩ ∧_∧
   ⊂⌒(  ・ω・)  はいはいハスケルハスケル
     `ヽ_っ⌒/⌒c
        ⌒ ⌒
897デフォルトの名無しさん:2012/03/06(火) 23:55:56.50
漏れもハスケるぜ!
898109:2012/03/07(水) 00:25:51.66
Excelをバリバリと計算に使う事務職の人には、関数型言語はとても理解してもらえると言うことが最近わかった。
手続き型言語は何度説明しても、ふうん。逆に面倒そう。といった反応だったが。
899デフォルトの名無しさん:2012/03/07(水) 00:34:59.40
どいつもこいつも贅沢だな。
物凄い勢いで理論の話をしてきても結構。
物凄い勢いで技巧的な話をしてきても結構。
一番メンドクサイのは何も言わないで人を見下した顔している奴。
900デフォルトの名無しさん:2012/03/07(水) 01:25:53.11
例えば誰のことよ
901デフォルトの名無しさん:2012/03/07(水) 06:28:06.70
人を見下した顔して物凄い勢いで生まれて来た奴のことだよ
902デフォルトの名無しさん:2012/03/07(水) 09:46:11.54
想像したらワロタ
903デフォルトの名無しさん:2012/03/07(水) 12:52:58.20
個人的にはjavascriptが楽しいかな
node.js+html5+jsで大体やりたいことは全部できるし(俺の中では)
jqueryつかうとDOMを面白いようにいじれるし

あとは人の書いたコードでxssできそうなとこを探すのも楽しい


haskellも興味はあるけど関数型ってのがまだいまいちわからん
904デフォルトの名無しさん:2012/03/07(水) 13:08:50.58
JavaScriptは関数型言語
905デフォルトの名無しさん:2012/03/07(水) 19:18:39.42
>>903
> haskellも興味はあるけど関数型ってのがまだいまいちわからん

そりゃ使わなきゃ分かるわけがない
906デフォルトの名無しさん:2012/03/07(水) 23:14:38.36
>>904
確かに手続き型の中では比較的関数的な書き方ができる言語だが、いくらなんでも手続き型言語だろう
907デフォルトの名無しさん:2012/03/07(水) 23:56:57.96
>>906
同感

関数型かどうかは書き方ではない
908デフォルトの名無しさん:2012/03/08(木) 12:01:18.63
関数型に、比較的出来る、みたいな意味不明な状態はない
909デフォルトの名無しさん:2012/03/08(木) 12:24:38.57
×意味不明
○曖昧
910デフォルトの名無しさん:2012/03/09(金) 00:19:07.68
言語というよりもメタ言語の範疇になるだろうけど、yacc,lex(bison, flex)でインタープリター書くのは結構楽しい。一種のパズルゲーム的な意味で。
911デフォルトの名無しさん:2012/03/13(火) 01:09:38.60
楽しいが、そのうちyaccは使わなくなる。
オレオレ言語をオレオレ言語でコンパイル出来るようになった頃。
912デフォルトの名無しさん:2012/03/28(水) 02:10:43.83
今はcoffeescript
まだ勉強中だが
913デフォルトの名無しさん:2012/04/22(日) 05:31:47.07
>>61
何でもはできない。できる事だけ。
914デフォルトの名無しさん:2012/05/14(月) 18:50:55.74
今までC〜JAVA系書式の言語ばかりやって来て
ちょっと関数系でもかじろうかな〜ってことでF#とHaskell試してみたらチンプンカンプン
こりゃこの書式に慣れるまで苦行だなあ
915デフォルトの名無しさん:2012/05/14(月) 19:11:24.15
>>914
きっとそのチンプンカンプンの根本の原因は書式じゃなくて考え方だ
916デフォルトの名無しさん:2012/05/14(月) 21:53:13.54
Haskell はブロックを { } でも表せるし
$ は基本的に ( ) に置き換えられるけど
そうしたところで手続き型ではないから
「手順を書くのがプログラミング」
「プログラミングの基本は順次・分岐・ループ」
といった常識が通用しないことも多いね
もろちん手順を書けないワケではないし、少し違う形で分岐や繰り返しも存在するのだけどね
917デフォルトの名無しさん:2012/05/15(火) 00:27:02.66
>>914
慣れると、関数型の方が楽だよ
オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある
ライブラリのサポート範囲によってプラットフォームが変わってしまうので、考え方が違ってくるけど、関数型言語は、基本は関数適用という同じ考え方で統一されてる

小さい関数は再帰関数が多いけど、それも自分自身を「関数適用する」し、大きめの関数は、既存の関数を「関数適用する」だけ
918デフォルトの名無しさん:2012/05/15(火) 05:40:31.72
>>917
コード量の比較等を見れば確かに慣れたら楽そういや楽しそうだけど
その慣れるまでが、ネット講座とか少ないし厳しい

画像表示とフレーム毎の処理とマウスキーボード入力どうすればいいのか
とりあえずMonadiusのコード切り貼りしてみようと思うけど
919デフォルトの名無しさん:2012/05/15(火) 07:42:18.49
>>917
> オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある

私は Haskell も C/C++ や Java も日常的に使っていますが、
オブジェクト指向言語に対するこの認識が私にはよくわかりません。

オブジェクト指向でライブラリがサポートしてる範囲の
メソッドを利用するだけの部分も、どう考えても「手続き的に」記述して
利用する必要があると思うのですが。

もしかして、メソッドを呼ぶだけの場合は宣言的になるという意味でしょうか?
環境が変化する順(フロー)を意識しなければならないメソッド呼び出しは、
宣言的とは言いがたいと私は思います。
違うことを言っているのでしたらごめんなさい。

あと、関数適用あるいはメソッド呼び出しにおいて、
その記述的な違いは表層的なものであり本質ではないと思います。
Haskell のような関数型と C++ のような手続き型で本質的に違うのは、
記述的なことではなく、関数型は参照透過性が保たれること、
これに尽きると思います。
920デフォルトの名無しさん:2012/05/15(火) 08:06:15.76
・手続き型
コード上から順番に実行
・オブジェクト・関数型
処理に応じてコード飛び飛びに実行

手続き型は塊が大きく内部複雑でバグ多い
オブジェクト・関数型は塊を小さく出来
純粋関数型では代入を排除しバグも更に減少

こちら関数型初心者だけど>917の言いたいのはこういうことでは?
「既存の関数(中身は手続き型だけど完成されててバグ無し)」について分けて語ってるし
921デフォルトの名無しさん:2012/05/15(火) 08:30:54.40
>>919
>環境が変化する順(フロー)を意識しなければならないメソッド呼び出しは、
>宣言的とは言いがたいと私は思います。

これは、Haskellでもdo構文使えば同じように手続き的になると思うのですが・・・

それは置いておいて、rubyやsmalltalkのような純粋なOOだと、メソッドチェーンが繋がりやすいのですが、これは関数型言語も関数適用の連鎖で最終的にほしい関数を作るのに似てるな・・・と感じます
ただ、ほしい関数(やメソッド)の部品として作られた関数(やメソッド)の作り方が関数型言語はやっぱり関数適用であるのに対して、オブジェクト指向は手続き的になるな・・・と感じました

そして、順序を意識したHaskellのdo構文は、関数数適用という考え方のまま、手続き型をエミュレートしてるという感覚を最近感じています
922デフォルトの名無しさん:2012/05/15(火) 08:55:09.00
>>918
プログラミングHaskellをまずは読んで下さい
その後なら、ネットの情報も生きてきます

結局、大部分は優しく書いてるだけで、理解を促す書き方になってるとは言いがたい
文法覚えるだけならネットや他のHaskell本でも十分ですが、考え方を覚えるにはプログラミングHaskellか、プログラミング in OCamlのような、実際に大学で関数型言語の授業をしている人が書いた本を読む必要があります
923デフォルトの名無しさん:2012/05/15(火) 22:12:00.04
>>921
ごめんなさい、言葉が足りなかったです。
私が言っている環境というのは、アプリの振る舞いに影響を与える情報を蓄える
メモリ全体の内容の事です。

手続き型の場合、あるメソッドを呼んだ時に、
環境の複数の部分が同時に変化する事は普通にあります。
そして、ある部分の変化がその後に呼ぶメソッドの振る舞いに影響を及ぼします。
このためプログラマは環境の変化の順を意識します。
言語仕様も意識する必要がある部分を可能な限り局所化しようと工夫され、
プログラマの方も環境の局所化に苦心しますが、根本的に宣言的にはなりにくいです。

Haskellでこのような意味での環境の変化順を本当に意識しなければならないのは、
ほとんどの場合IOモナドを使っている時だけではないでしょうか(do表記かは無関係)。
この時ばかりは、変化する環境に影響される部分がコードの広範囲に渡る可能性があり、
アプリのコード全体でちゃんと意識しなければなりません。

それ以外のモナドでは、わざと環境の変化順を意識させるような構造・使い方でない限り、
たとえdo表記で見た目手続き型っぽく書いても、それほど意識する必要はないです。
せいぜいリストを map f に通してから map g に通す、程度の順の意識で良いはずです。
(この場合の環境変化は、超局所化されて引数と戻り値の関係だけになり、意識すらしない)

なので、IOモナド以外のモナドでは、
普通にHaskellコードを書くのと同程度には宣言的に書けます。
例えばYesodというWebフレームワークではdo記法を多用しますが、
むしろdo記法でより宣言的に書けるように工夫されています。
924デフォルトの名無しさん:2012/05/16(水) 06:31:56.43
>>923
私の言いたいこととあなたの言いたいことは概ね同じなんですが・・・

要するにですね
何か処理させたければ、必然的にOOでも関数型でも何らかのメソッドや関数を作らないといけません
その時点で、OOは手続き的にならざるを得ないが、関数型はどこまで行っても関数適用(宣言的)だ。と
(do記法すらも、モナド記法よりも手続き的に書いたほうが読みやすい場合に使う為の構文糖衣だと感じている)

OOな人たちに波風立てたくないから、オブラートに包んでいるのに、オブラートを引き剥がさないで下さいw

Listモナドも「先頭から順に」という順番はありますよ
意識しないといけないほど順序がハッキリしてるのは確かにIOモナドだけかもしれませんが
925デフォルトの名無しさん:2012/05/16(水) 07:53:49.96
>>924
> OOな人たちに波風立てたくないから、

気づかなくて申し訳なかったです。

> Listモナドも「先頭から順に」という順番はありますよ

私が言ってるのは環境が変化する順なんです。

では、どのような時にListモナドに対して
「先頭から順に」という順番を気にするのでしょう。


>>917
> オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある

やはり私には、コードの中でメソッドを利用するだけの部分も、
どのように利用するか、つまり環境をどの順でどう変化させるかを考える必要があり、
その手続きをコードに書いている様にしか見えないです。
926デフォルトの名無しさん:2012/05/17(木) 01:57:31.19
>>925
え、リスト使うときに(x:xs)とかしない?それが、順序を気にしてるところだよ
環境・状態って言うよりは構造って感じで、あなたも私もあまり意識はしないけど

モナドそのものが順序の無い関数の世界に順序をもたらすものだから、環境・状態に限らず、順序を意識するものはモナドで定義されてる
そのおかげでIOモナドも宣言的に書けると言える(大抵はIOモナドはdo記法の方が読みやすいが)

数学セミナーによると静的マンセー(ここで言う静的は恐らく宣言的)な数学で動的なものを表現しようってのがどうやら圏論(モナドの元になった数学の分野)らしいんですね
(数学セミナー2011年7月号第一回圏論の歩き方・参照)


一応、擁護すると、最近のオブジェクト指向言語(主にLL)は関数型言語とも被りますが、イテレータ等でループを表現できるようになってますよ
Haskellで言うfoldlがeachに、mapはまんまmapという「メソッド」として

もちろん、それでも関数型言語ほど宣言的には出来ないし、一応OOも宣言的を目指してるはずなんですが、どうしても全部宣言的とは行かない(というか、ほとんど手続き的)です
(ついでに言うと、蒸し返したこの部分がまさにオブラートですw)
927デフォルトの名無しさん:2012/05/17(木) 07:25:09.93
>>926
> え、リスト使うときに(x:xs)とかしない?それが、順序を気にしてるところだよ

それはListモナドの事では無くて、リスト構造の事なのでは?
リスト構造を持つデータ型を自作して、それを Monad のインスタンスにしなくても、
全く同じ事が言えるような気がするのですが・・・

もともとデータの構造の中に順序の概念が含まれているので
(というか、順序の概念をデータ構造にしたと言っても良いですが)、
それは手続き型の言語で扱おうが、関数型の言語で扱おうが、
Plorogのような論理型の言語で扱おうが、
どれも同じように「構造の順」を意識する必要があると思います。

ただ、その扱いの中で環境の変化する順を意識する必要があるかどうかは、
言語に依ると思います。
928926:2012/05/17(木) 07:30:02.00
>>926
既に「構造って感じで」とおっしゃって説明されていますね。
申し訳ないです。

考えていることがだいたい同じであることは分りました。
いい加減スレチなので、この辺りで引きます。

長々とすいませんでした。
929927:2012/05/17(木) 07:31:08.97
>>928
名前欄のレス番が間違っていました。

大変失礼なことをしました。
930デフォルトの名無しさん:2012/05/17(木) 13:13:02.34
>>926
foldl は reduce とか inject とかって名前であることが多いと思うよ
931デフォルトの名無しさん:2012/05/17(木) 20:28:19.65
リストで言えば、次のどっちを選ぶかで性能が変わったりする
(f xやg xが[]を返すことがある場合)

[(x,y,z) | x <- xs, y <- f x, z <- g x]
[(x,y,z) | x <- xs, z <- g x, y <- f x]

だから環境の変化が無くても順序を意識することはある
932デフォルトの名無しさん:2012/05/26(土) 21:43:57.46
AS1.0、JAVA&C#(XNA&Form)とやってみて今回C++CLIFormを齧った
この辺で比較してみると色々認識できて面白かった

ただしモノ作る分にはC++の情報が少な過ぎてキツイ
C#なら楽に組めるのに記述が違うだけの同じマネージ言語に変換する空しさもね・・・
画像ビューア作ってたけどもう「C#ならとっくに完成してる」ってことにして
とっとと素のC++かF#に進もうかな
933デフォルトの名無しさん:2012/06/24(日) 23:49:58.81
>>851
QtやらWTLやら便利なもんあるんだから
未だにカビ生えたようなライブラリつかうなよ
934デフォルトの名無しさん:2012/06/24(日) 23:52:49.03
>>854
むしろNextStepとUNIX系だがな
GNUStepもしらんのか?
935デフォルトの名無しさん:2012/06/25(月) 07:29:57.08
しらん
936デフォルトの名無しさん:2012/07/07(土) 23:03:38.14
>>751-757
わろた
937デフォルトの名無しさん:2012/07/09(月) 18:29:13.83
何の言語でもいいが、車輪の再発明はなぜか楽しい。
無駄だアホだと言われてもやめられん
938デフォルトの名無しさん:2012/07/09(月) 19:31:50.19
再発明もだが、車輪がなぜ回るのかを理解できた時も楽しいぞ。

ブラックボックスの中を知る必要性はたいていは無くて、
こっちも仕事的には無駄だアホだと言われる類のことだけどな。
939デフォルトの名無しさん:2012/07/11(水) 07:09:11.94
車輪の再発明するなってのは罠だと思ってる
やったほうが勉強になる
940デフォルトの名無しさん:2012/07/11(水) 07:21:34.95
そんなのは状況と目的によるだろ。

趣味で勉強してるのなら、再発明は避けるべきではなく、積極的に行った方が良い。

納期の決まってる仕事なら、積極的に行うべきはむしろ再利用だ。
どんな事に何が再利用できそうか、日ごろからアンテナを張り巡らしておかないといけない。
予算があるなら、有料のライブラリやミドルウェアなどの購入も検討すべき。
勉強は昼休みや終業後にファミレスなどで勉強会を開いてやって、仕事中は再利用に集中。
941デフォルトの名無しさん:2012/07/11(水) 20:48:57.40
状況や目的によらず、やった方が勉強になる > 車輪の再発明
ただし他に優先して勉強すべきことがあるかもしれない
942デフォルトの名無しさん:2012/07/11(水) 20:55:42.33
>>941
すまん
「車輪の再発明するなってのは罠」に反論したつもりだった
943uy ◆pdu1UZmweE :2012/07/12(木) 11:22:00.75
再発明はスキルレベルを高めるにはいい、ように思えても無駄だからさー

時間は大切に使えよ
ゴミカスのような作業に必死になっていないで。
944デフォルトの名無しさん:2012/07/12(木) 12:32:53.37
少なくとも言語習得には一番良い方法に思える
945デフォルトの名無しさん:2012/07/12(木) 15:27:26.58
誰にも遊んでもらえない
ウンコレベルのゲーム作ってる
uyが何言ってんだ?
あんなの再発明以外の何物でもないだろ
946デフォルトの名無しさん:2012/07/12(木) 16:24:07.71
>>945
お前は何か言う権利を主張できるほど、いや、人が何か言う権利を押さえつけられるほど
ご立派なものを作っているのか?
947デフォルトの名無しさん:2012/07/12(木) 19:06:13.28
たとえ立派なものを作っていても、他人の権利は奪えないのであしからず
948デフォルトの名無しさん:2012/07/12(木) 21:32:42.33
アホにアホと指摘する権利
949デフォルトの名無しさん:2012/07/12(木) 21:50:42.12
そんな権利を持っていても、普通は行使しないよな

意味無いし、時間の無駄だし、自分に返ってきそうだし
950デフォルトの名無しさん:2012/07/12(木) 22:13:11.85
アホは生存そのものが無意味で時間の無駄
951デフォルトの名無しさん:2012/07/12(木) 22:19:26.37
そんな事はないぞ

お前にとっては、下には下がいるんだと安心できる大事な存在だろ
952デフォルトの名無しさん:2012/07/12(木) 22:45:43.23
下を見て安心するという下衆の発想
953デフォルトの名無しさん:2012/07/13(金) 04:33:43.44
ここまでの、まとめはPHPが1番やってて面白いで決まりだな。
954デフォルトの名無しさん:2012/07/13(金) 07:08:00.68
それでいいんじゃね
955デフォルトの名無しさん:2012/07/13(金) 08:10:15.94
おめぇはそれでいいや
俺はPHPよりもやってて辛いってことになぜかなっている言語を使い続けるわ
956デフォルトの名無しさん:2012/07/15(日) 17:22:39.52
ない
唯一あるとすればlispだけど、
すぐ飽きる
957uy:2012/07/22(日) 22:27:18.25
ゴミカス
958デフォルトの名無しさん:2012/07/22(日) 23:01:14.16
そんなに人生つまんないの?
959デフォルトの名無しさん:2012/07/27(金) 09:04:39.84
人生がツマラナイ連中がプログラミングをはじめるものだろ
960デフォルトの名無しさん:2012/07/29(日) 07:35:23.06
関数型プログラミングも関係代数も楽しいからな。
人生がツマラナイものでないならおめでとう。幸せな人生をまっとうして下さい。

それはともかく、知的な楽しみが欲しいのであればPHPをメインで使う所には来ない方がいいぞ。
技術的な話が出来ない人間が大半だからな。人間的にもアレ。落ちこぼれが来る所だよ。
PHPは言語的にも面白くないし、他の言語をやりましょう。
961デフォルトの名無しさん:2012/07/29(日) 13:16:34.39
>>960
人間的にもアレ以降が余計な話

そんな話を思わずしてしまう辺りがまさに人間的にアレだと自分では思わないか
962デフォルトの名無しさん:2012/08/02(木) 23:53:35.72
PHPな会社に就職しそうなんだが、
技術的な話って、どこから仕入れてくるものなんだ?スラド?
963デフォルトの名無しさん:2012/08/03(金) 07:28:59.85
学会から仕入れてくる。
964デフォルトの名無しさん:2012/10/14(日) 16:16:19.46
JavaScriptいいよね。
ライブラリが充実してきた頃から
面白くなった。
965デフォルトの名無しさん:2012/10/14(日) 19:35:46.06
オブジェクティブCは、目標が分かり易いからモチベーションの維持にはいいかもね。
966デフォルトの名無しさん:2012/11/14(水) 07:39:31.09
C#ってほぼMS独占だろうからIDE込みで語るけど
「安全」に使えるようにした割には下位でも同じ変数名宣言出来るね
宣言消せば普通はエラー出るけど
上位で同じ変数名があるとそれ使うようになって
結果構文上でなく使用中にバグる

まあしかしIDE込みで凄い使い易いからそれくらいいいけど
967デフォルトの名無しさん:2012/11/15(木) 07:43:30.35
>>966
そんなもんC#以外でもモダンな言語だったらだいたい一緒
つーかIDE関係ないだろ
968デフォルトの名無しさん:2013/01/13(日) 07:40:42.55
次スレが立つまでに、少しはまとまる・・・ことはないか
969デフォルトの名無しさん:2013/09/27(金) 15:46:47.10
Java, Prolog
970デフォルトの名無しさん:2013/11/09(土) 20:02:34.72
OCaml
971デフォルトの名無しさん:2013/11/09(土) 23:34:36.02
C#
972デフォルトの名無しさん:2013/11/10(日) 00:04:37.04
やってて楽しいのはRuby+Railsだな。
お客さんの要望を最短距離で実現するために
基本的な機能やライブラリが揃っていて、
必要最小限のコードで目的を達成できる;
これほど楽しい言語はない。
973デフォルトの名無しさん:2013/11/10(日) 00:51:27.13
>>963
そうかそうか
974デフォルトの名無しさん:2013/11/10(日) 01:19:35.60
Pharo( Smalltalk )いいわ。Smalltalkだけで
オブジェクト指向型RDBを200行足らずで書けたり、
とにかく書きやすい。それから、状態や設定を保存するだけの処理を
全く作る必要が無いのが助かる

SqueakとGUIのイメージで嫌遠してるかもしれんが、
Pharoなら標準入出力も実行引数も使えるし、簡単にOSのAPI叩けるから、
OS固有のGuiを使うことだってできる。
お前らも毛嫌いせずに使ってみ。
シェルスクリプト的な
位置づけで使えば作業が劇的に楽になるぞ。

"OOなRDB処理"
resultTable := ( QueryForTables tables: { userTable. imageTable } ) do:
[ :query :userRow :imageRow |
  query
    where: [ userRow isHas: image ]
    select: [ userRow name. imageRow name ].
].
975デフォルトの名無しさん:2013/11/10(日) 03:30:50.21
C#,Python
976デフォルトの名無しさん:2013/11/10(日) 08:02:03.72
>>974
2行ぐらいで済ませりゃいいのに
なんでそんなに臭いレスをするのか
977デフォルトの名無しさん:2013/11/10(日) 12:22:06.07
>>976
布教
978デフォルトの名無しさん:2013/11/10(日) 12:26:36.58
>>974
> "OOなRDB処理"

その程度なら、どの言語でも書けそうだが?
979デフォルトの名無しさん:2013/11/10(日) 12:31:07.66
どの言語でも直書きすれば一つのやり方で済む
980デフォルトの名無しさん:2013/11/10(日) 13:03:53.26
>>978
試しに書いて
981デフォルトの名無しさん
>>979
問題はその手間がどれだけ少ないかだろ