やってて楽しいプログラミング言語は? 3言語
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2011/05/14(土) 23:35:38.48やってて楽しいプログラミング言語は? 2言語
http://hibari.2ch.net/test/read.cgi/tech/1303357967/
やってて楽しいプログラミング言語は?
http://hibari.2ch.net/test/read.cgi/tech/1298628324/
次スレも立てられないおまえらはPHPの刑、VBの刑
0002デフォルトの名無しさん
2011/05/15(日) 00:10:24.150003デフォルトの名無しさん
2011/05/15(日) 00:15:06.480004デフォルトの名無しさん
2011/05/15(日) 01:13:12.67立てようとしたけど立てれなくて代行依頼したw
今からキャンセルしてくるわw
0005デフォルトの名無しさん
2011/05/15(日) 01:17:37.97趣味でプログラミング乙
0006uy
2011/05/15(日) 01:19:29.05自分は読めるけど、誰も読めないようなソースコードかいてるときのこと?
それはある
0007デフォルトの名無しさん
2011/05/15(日) 01:23:29.11お前のコードはコンパイラですら読むことができずに困っているからな
0008デフォルトの名無しさん
2011/05/15(日) 01:33:44.460009デフォルトの名無しさん
2011/05/15(日) 01:37:37.120010デフォルトの名無しさん
2011/05/15(日) 03:04:15.830011デフォルトの名無しさん
2011/05/15(日) 04:19:59.20よく出来てる。
0012デフォルトの名無しさん
2011/05/15(日) 05:36:27.010013デフォルトの名無しさん
2011/05/15(日) 05:50:25.15ストレス無くコーディング出来る
0014デフォルトの名無しさん
2011/05/15(日) 05:58:06.080015デフォルトの名無しさん
2011/05/15(日) 06:14:55.73Forth : 何でもスタック
Lisp : 何でもリスト
Scheme : 何でもラムダ
Tcl : 何でもコマンド
JavaScript : 何でもハッシュ
Smalltalk : 何でもオブジェクト
0016デフォルトの名無しさん
2011/05/15(日) 06:19:18.670017デフォルトの名無しさん
2011/05/15(日) 10:48:50.280018デフォルトの名無しさん
2011/05/15(日) 12:14:19.930019デフォルトの名無しさん
2011/05/15(日) 14:19:16.38じゃあ一貫してないじゃん
0020デフォルトの名無しさん
2011/05/15(日) 15:53:39.170021デフォルトの名無しさん
2011/05/15(日) 15:54:22.810022デフォルトの名無しさん
2011/05/15(日) 16:04:14.860023デフォルトの名無しさん
2011/05/15(日) 16:07:25.32WS BF Lisp 正宗
昔はobject pascalなんかも良いと言われてた気がするが死んだ
0024デフォルトの名無しさん
2011/05/15(日) 17:31:08.210025デフォルトの名無しさん
2011/05/15(日) 18:05:58.87http://www-history.mcs.st-and.ac.uk/Posters/912.html
お近づきになるなら Ada さんの方が良いな
http://en.wikipedia.org/wiki/Ada_Lovelace
0026デフォルトの名無しさん
2011/05/17(火) 09:28:23.09クラウドがはやってるけど、試そうと思ったらJavaかPythonになっちゃう。
ちょっと遅れて他の言語でも使えるようになるけどこのタイムラグは大きい
0027デフォルトの名無しさん
2011/05/17(火) 16:00:59.83少し前にJavaScriptが絶賛されてるかと思えば、次に覗いたときには大バッシングされてたり
0028デフォルトの名無しさん
2011/05/17(火) 16:05:18.61楽しい言語と、始めるのに良い言語とはまた違うよ
0029デフォルトの名無しさん
2011/05/17(火) 16:25:59.68ジャップは自分の意見という物が無く、非常に流されやすい
誰に流されるかと言うと
どっかの英語喋るオッサン達
初心者に勧めるのはpython
同じ動作=同じ見た目になりやすいのはソースコードから学びやすいのではないかという学習面の楽しさから
やってて楽しいをどう考えるかによるが
・難解で本格的、正統派っぽいのが楽しいという変態
・素人でもエレガントに記述できそうだ
・目的に一番早くて達成できるから楽しい
何が楽しくてやろうと思ってるか言わないと助言のしようがない
何が分からないのか分からない
楽しいというのは人によって違うんだから人に左右されるのはおかしい
0030デフォルトの名無しさん
2011/05/17(火) 18:04:54.30現在プログラムしてて楽しい言語を挙げているだけで、
べつに入門言語を紹介してるわけじゃないからな
今楽しすぎても、初心者にはお勧めしにくい言語もある
Haskellとか
0031デフォルトの名無しさん
2011/05/17(火) 18:24:42.48はじめの一歩にすると手を広げやすくなる
ゲーム作るならアドビFlash(actionscript)がVisual風にグラフィカルにいじれて良い
0032デフォルトの名無しさん
2011/05/17(火) 19:03:23.20javaScriptは処理系を用意しなくても、ブラウザさえあれば、プログラミングを始められるという意味では、初心者向き
文法としては別に初心者向けじゃないよ
文法としてはlisp系やhaskellの方が分かりやすい
(ただ、日本語の入門書が少ない)
初心者向けとか関係なく、情報を入手しやすい言語は、javaScript、python、ruby、java、c#、c、c++辺りかな
基本的に初心者向けはどれだろう。。。とか、考えるだけ無駄
0033デフォルトの名無しさん
2011/05/17(火) 20:43:39.47一生迷ってろ
0034デフォルトの名無しさん
2011/05/17(火) 21:03:02.76GAEだけがクラウドだもんね^^わかるわかる^^^
0035デフォルトの名無しさん
2011/05/17(火) 21:07:18.02GAE は Java と Python だけじゃないけど
0036デフォルトの名無しさん
2011/05/17(火) 21:38:32.06http://bellard.org/jslinux/
http://www.lively-kernel.org/
ウェブブラウザさえあれば何でも出来ちゃう
0037デフォルトの名無しさん
2011/05/17(火) 21:54:09.32それはブラウザが有れば動くって言うポテンシャルだけが取り柄って事でも有るんだけどね
他の言語も、ブラウザ上でjavaScriptと同じ扱いになれたら、選択肢が広がって楽しいんだが。。。
0038デフォルトの名無しさん
2011/05/17(火) 22:05:38.36「だけが」って所は貴方個人の見解でしょう。訳知り風に言っても筋は通らないよ。
それと、JavaScript にコンパイルする言語は幾つかあるから、探してみるといいよ。
0039デフォルトの名無しさん
2011/05/17(火) 22:12:15.47ブラウザが有れば動くって言うポテンシャルだけが取り柄って事ならば、
他言語でも JavaScript へのトランスレータ作ればいいだけとちゃうか
0040デフォルトの名無しさん
2011/05/17(火) 23:17:22.570041デフォルトの名無しさん
2011/05/17(火) 23:27:45.630042デフォルトの名無しさん
2011/05/17(火) 23:32:52.740043デフォルトの名無しさん
2011/05/17(火) 23:37:50.84どういうこと?
Webブラウザのフォントはプロポーショナルだから、
インデントが揃わない可能性があってコードが見難いということ?
それでも意味が全く分からんが
0044デフォルトの名無しさん
2011/05/17(火) 23:52:38.040045デフォルトの名無しさん
2011/05/17(火) 23:54:41.44おれはJavaからC++,javascript,actionscriptってつくったけど。
0046デフォルトの名無しさん
2011/05/17(火) 23:55:52.180047デフォルトの名無しさん
2011/05/17(火) 23:56:26.29それHTTPの仕様じゃなくてHTMLの仕様でしょ
そのHTMLですらちゃんとソース上ではインデント残ってるワケだし
0048デフォルトの名無しさん
2011/05/17(火) 23:56:55.370049デフォルトの名無しさん
2011/05/18(水) 00:05:16.81どうすんの?ってどういうことよ
何を問題に思っているのかが分からないのだが
0050デフォルトの名無しさん
2011/05/18(水) 00:09:56.74うーん
0051デフォルトの名無しさん
2011/05/18(水) 00:09:57.10ブラウザ上でPythonが「動く」こととインデントとの関係は?
0052デフォルトの名無しさん
2011/05/18(水) 00:12:16.07QML は JavaScript だし、ウェブブラウザも JavaScript
それはもう動かし様が無いの
ウェブプログラマだって本物のクロージャは欲しいし、当たり前に
JIT が無いとやっていけないし、HTML ファイルが空白文字の数に
左右されたら軽量化が面倒だし
UN*X 系の OS でデフォで入ってるとか、GAE で簡単に使えるとか、
Python は Python の良い所をのばしたら良いと思うの
インデントが好きなら CoffeeScript を使ったら良いんじゃないかな
0053デフォルトの名無しさん
2011/05/18(水) 00:30:41.66別にHTMLが空白文字の数に左右されようと軽量化はそんな難しくないよ
要は<script language="Python" src="foobar.py" />ってやればいいだけでしょ
0054デフォルトの名無しさん
2011/05/18(水) 00:33:52.81は?
0055デフォルトの名無しさん
2011/05/18(水) 00:35:43.120056デフォルトの名無しさん
2011/05/18(水) 00:37:21.46出来るかどうかじゃなくて、実効性がどのくらいあるかを考えてごらん
ぐーぐるさんがファイルの圧縮にどれだけ力を注いでいるか調べてみると良いよ
そもそも HTML なのに改行に依存するデータは歓迎されないんじゃないかな
誰かが出来ると思っても、他のみんなが嫌がる事はやらない方が良いよね
0057デフォルトの名無しさん
2011/05/18(水) 00:43:09.90ならVBScriptとかどうなるんだ、利用価値はともかく一応IE用として存在はしてるはずだぞ
0058デフォルトの名無しさん
2011/05/18(水) 00:46:52.82VBScript って何?
それって何か重要な技術なの?
0059デフォルトの名無しさん
2011/05/18(水) 00:52:29.400060デフォルトの名無しさん
2011/05/18(水) 00:57:33.73http://code.google.com/apis/libraries/devguide.html
ここにあるライブラリが全部 Python だったらどうなるか考えてみんしゃい
0061デフォルトの名無しさん
2011/05/18(水) 01:49:51.28http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217
ウェブブラウザさえあれば何でも出来ちゃう
0062デフォルトの名無しさん
2011/05/18(水) 02:11:30.310063デフォルトの名無しさん
2011/05/18(水) 02:17:49.00時代に取り残されたおっさん
0064デフォルトの名無しさん
2011/05/18(水) 02:20:07.67最新のブラウザにアップデートして>>61のリンク先へゴーゴー!
0065デフォルトの名無しさん
2011/05/18(水) 02:34:23.730066デフォルトの名無しさん
2011/05/18(水) 03:04:46.450067デフォルトの名無しさん
2011/05/18(水) 03:20:29.17それでJavaScript万能とか言い出すのは勘違い甚だしい
0068デフォルトの名無しさん
2011/05/18(水) 03:45:24.99これなに?初心者の俺には何が凄いのか分からないw
0069デフォルトの名無しさん
2011/05/18(水) 05:12:30.200070デフォルトの名無しさん
2011/05/18(水) 05:34:10.82http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217
ウェブブラウザさえあれば何でも出来ちゃう
0071デフォルトの名無しさん
2011/05/18(水) 05:48:05.630072デフォルトの名無しさん
2011/05/18(水) 05:51:18.29クライアントとしては最悪じゃないか…
0073デフォルトの名無しさん
2011/05/18(水) 08:06:02.760074デフォルトの名無しさん
2011/05/18(水) 10:58:18.62ブラウザやサーバに組み込まれたモジュールはJavaScriptじゃない
0075デフォルトの名無しさん
2011/05/18(水) 16:34:08.480076デフォルトの名無しさん
2011/05/18(水) 18:44:12.84「そういうの」が何を指しているのか知らないけど、WebGL はシェーダーも書けるし、
Canvas はピクセル単位の情報にもアクセス出来るんだけど、「インターフェイスを
制御してるだけ」ってどういう意味で言ってるの?
0077デフォルトの名無しさん
2011/05/18(水) 19:09:51.050078デフォルトの名無しさん
2011/05/18(水) 19:10:24.79上は JavaScript で x86 マシンをエミュレートして、その上で Linux を動かしている
x86 エミュレータの歴史を紐解いたら必ず名前が出て来る Fabrice Bellard というプログラマが書いたプログラム
ブラウザ上で動く QEMU みたいな物
下はデスクトップ環境を丸ごと JavaScript で実装している
GUI の歴史を紐解いたら必ず名前が出て来る Dan Ingalls というプログラマが書いたプログラム
ブラウザ上で動く Squeak みたいな物
どちらも、JavaScript でも、ある程度複雑な物がある程度の処理性能で実装出来る事を示している
0079デフォルトの名無しさん
2011/05/18(水) 19:12:04.56>>36 とか >>61 はサーバ側のプログラムは関係無いんだけど?
0080デフォルトの名無しさん
2011/05/18(水) 23:11:54.67UI仮組みすぐだし、ブラウザある環境ならどこでもコーディング可能。
やろうと思えばスマホでもできる。
実際にはスマホ上では作ってないけどスマホ用の簡単なツールとか楽しすぎる。
昔は何でもC/C++でやってたけど今はJava中心にC++とJavascriptも使ってる。
0081デフォルトの名無しさん
2011/05/18(水) 23:35:58.26形になるのが早いから、プロトタイピングにはとても適してる
加えて、複雑なプログラムもそれなりの労力で作れるのが良いね
昔と違って処理速度やライブラリの充実度合いもかなりの域に達しているし
0082デフォルトの名無しさん
2011/05/19(木) 02:19:27.21JSで何でもできてしまったらWeb閲覧のセキュリティが崩壊するわ
0083デフォルトの名無しさん
2011/05/19(木) 02:34:31.12最早ウェブブラウザ上だけの言語という訳でもないですし、
そう拒絶する必要も無いと思いますよ
0084デフォルトの名無しさん
2011/05/19(木) 03:07:38.070085デフォルトの名無しさん
2011/05/19(木) 03:10:09.44もし本気でそう思うなら、きちんと具体的に指摘した方が良いですよ
0086デフォルトの名無しさん
2011/05/19(木) 03:16:31.590087デフォルトの名無しさん
2011/05/19(木) 03:18:10.330088デフォルトの名無しさん
2011/05/19(木) 03:20:23.25レス番込みで、何を問題と思ったのか書かないと誰も分からないよ
0089デフォルトの名無しさん
2011/05/19(木) 03:24:55.28ソース読んでみ
http://labs.oracle.com/projects/lively/expt.xhtml
0090デフォルトの名無しさん
2011/05/19(木) 03:27:56.560091デフォルトの名無しさん
2011/05/19(木) 03:32:19.76JavaScript について何か言いたいなら、せめて最新のブラウザを使おうぜ・・・
それが嫌なら http://labs.oracle.com/projects/lively/expt.xhtml を
ダウンローダで落として、中を見てみ
0092デフォルトの名無しさん
2011/05/19(木) 03:36:55.920093デフォルトの名無しさん
2011/05/19(木) 03:39:33.070094デフォルトの名無しさん
2011/05/19(木) 03:41:06.580095デフォルトの名無しさん
2011/05/19(木) 03:42:32.270096デフォルトの名無しさん
2011/05/19(木) 03:59:25.920097デフォルトの名無しさん
2011/05/19(木) 04:12:47.47わかり易い言語だからプログラマも沢山いて
ウェブアプリが成長分野になっていて
jQuery や YUI を筆頭に便利なライブラリが沢山あって
V8 や JavaScriptCore みたいな莫大な開発費が投入されている処理系があって
JIT があるから実行速度が高速で
殆どのサイトで使われていて
イラストレータや PDF にも組み込まれていて
Qt では次期リリースで第一言語にリストアップされていて
Node.js みたいにサーバサイドでも使う事が出来て
Titanium みたいにマルチプラットフォームの開発でも使えて
プロトタイプ指向だから既存のオブジェクトの拡張が簡単で
本物のクロージャもあってプログラムを書くのが容易で
Flash と違って IOS でも実行出来て
ブラウザがあれば動くからプログラムをテストするのも容易で
AJAX や JSON のおかげで JavaScript の適用範囲が広がって
HTML5 によってグラフィックや通信等の高度な処理も可能になって
WebGL によって 3D のプログラミングも高速に処理出来て
まさに素晴らしいとしか言い様が無い
0098デフォルトの名無しさん
2011/05/19(木) 04:15:34.820099デフォルトの名無しさん
2011/05/19(木) 05:13:14.040100デフォルトの名無しさん
2011/05/19(木) 06:26:29.30http://www.ro.me/tech/
http://learningwebgl.com/blog/?page_id=1217
ウェブブラウザさえあれば何でも出来ちゃう
0101デフォルトの名無しさん
2011/05/19(木) 06:31:53.46信頼性のあるサイトでのみアクティブXとセットでオンにする
0102デフォルトの名無しさん
2011/05/19(木) 06:34:22.990103デフォルトの名無しさん
2011/05/19(木) 06:36:18.720104デフォルトの名無しさん
2011/05/19(木) 06:42:02.060105デフォルトの名無しさん
2011/05/19(木) 07:06:33.040106デフォルトの名無しさん
2011/05/19(木) 07:13:31.09Rails最高!!Ruby最高!!!
世界はObject-Cで完結した!!
Javascript!!!!!! ←今ここ
Perl6は言語を超えた文化! ←次ここ
0107デフォルトの名無しさん
2011/05/19(木) 07:58:47.08今までの言語仕様を捨てて可読性が向上するとか?
0108デフォルトの名無しさん
2011/05/19(木) 08:09:14.490109デフォルトの名無しさん
2011/05/19(木) 08:52:38.76赤木しげる登場前の鷲巣様みたいなもん
0110デフォルトの名無しさん
2011/05/19(木) 09:03:54.03スレタイ
0111デフォルトの名無しさん
2011/05/19(木) 11:40:58.17つーかperl使いがもう少なくなってきているだろ
0112デフォルトの名無しさん
2011/05/19(木) 11:55:17.830113デフォルトの名無しさん
2011/05/19(木) 15:03:20.42C++も真っ青の複雑言語と化しつつあると思う
0114デフォルトの名無しさん
2011/05/19(木) 23:31:35.160115デフォルトの名無しさん
2011/05/20(金) 01:46:49.02それが特長でもあるからな。
0116デフォルトの名無しさん
2011/05/20(金) 01:55:44.26どれも一部で高評価されつつ総評としては失笑されてる気がするが
0117デフォルトの名無しさん
2011/05/20(金) 06:12:52.450118デフォルトの名無しさん
2011/05/20(金) 06:24:46.070119uy
2011/05/20(金) 08:24:00.87言えてる
あの複雑さが癖になってる奴が、いつまでもPerlを使い続ける
今でもRubyより、Perlのほうが少ない文字数でプログラミングできるしな
覚える気しないけど、既に覚えきってる奴だとRubyがオモチャに見える可能性はある
>>113
C++とPerlは複雑さのベクトルが違うぜ
C++が複雑なのは、コンパイラ言語に似合わない事をやってるからだ
C、JAVA相当の普通のコンパイラ言語として使っていく分には複雑にはならない
ちょっと遊び始めると、メタと、コーディングの二つを同時にやっていくことになるから、スクリプト言語の2倍複雑になる
MathがRubyにマクロ入れたがらない理由は、C++のそういうところを嫌ってると予想する
まぁ、#define か、Template か、 または独自のマクロを実装するにしても、スクリプト言語だったら
evalでマクロ相当の事は出来るはずだからマクロを無理に入れる必要はないとは思う、あったほうが便利だけど
0120デフォルトの名無しさん
2011/05/20(金) 15:11:36.35なかった
0121デフォルトの名無しさん
2011/05/20(金) 23:31:09.310122デフォルトの名無しさん
2011/05/20(金) 23:32:08.680123デフォルトの名無しさん
2011/05/20(金) 23:34:52.950124デフォルトの名無しさん
2011/05/20(金) 23:35:34.710125デフォルトの名無しさん
2011/05/20(金) 23:35:36.40perlは・・・
0126デフォルトの名無しさん
2011/05/20(金) 23:35:51.220127デフォルトの名無しさん
2011/05/20(金) 23:37:46.540128デフォルトの名無しさん
2011/05/20(金) 23:38:19.800129デフォルトの名無しさん
2011/05/20(金) 23:42:59.680130デフォルトの名無しさん
2011/05/21(土) 00:08:07.60俺だけかな。
0131デフォルトの名無しさん
2011/05/21(土) 00:08:20.310132デフォルトの名無しさん
2011/05/21(土) 00:11:24.46一度 SML や Scheme をやって戻ってくると良いよ
長いコードなんて書けなくなる
0133デフォルトの名無しさん
2011/05/21(土) 00:13:20.420134デフォルトの名無しさん
2011/05/21(土) 00:16:00.94関数スコープに統一されてるだけの話
嫌なら let を使えば良い
0135デフォルトの名無しさん
2011/05/21(土) 00:22:03.750136デフォルトの名無しさん
2011/05/21(土) 00:22:43.960137デフォルトの名無しさん
2011/05/21(土) 00:24:00.350138デフォルトの名無しさん
2011/05/21(土) 00:24:51.850139デフォルトの名無しさん
2011/05/21(土) 00:26:34.470140デフォルトの名無しさん
2011/05/21(土) 00:28:16.60>まったく
naming convention でも出来る
0141デフォルトの名無しさん
2011/05/21(土) 06:02:58.94JavaScriptは綺麗なうんこだと
0142デフォルトの名無しさん
2011/05/21(土) 06:06:04.170143デフォルトの名無しさん
2011/05/21(土) 10:14:40.870144デフォルトの名無しさん
2011/05/21(土) 14:04:23.18作る人が下痢にしてる。
0145デフォルトの名無しさん
2011/05/21(土) 16:03:15.230146デフォルトの名無しさん
2011/05/21(土) 16:07:13.210147デフォルトの名無しさん
2011/05/21(土) 17:36:44.870148デフォルトの名無しさん
2011/05/21(土) 17:37:46.620149デフォルトの名無しさん
2011/05/21(土) 17:51:01.170150デフォルトの名無しさん
2011/05/21(土) 18:07:54.740151デフォルトの名無しさん
2011/05/21(土) 23:37:14.260152デフォルトの名無しさん
2011/05/21(土) 23:58:57.250153デフォルトの名無しさん
2011/05/22(日) 00:22:16.170154デフォルトの名無しさん
2011/05/22(日) 00:43:35.520155デフォルトの名無しさん
2011/05/22(日) 00:53:28.160156デフォルトの名無しさん
2011/05/22(日) 01:08:59.500157デフォルトの名無しさん
2011/05/22(日) 01:33:42.320158デフォルトの名無しさん
2011/05/22(日) 08:01:21.270159デフォルトの名無しさん
2011/05/22(日) 09:56:09.280160デフォルトの名無しさん
2011/05/22(日) 11:19:49.420161デフォルトの名無しさん
2011/05/22(日) 11:31:06.010162デフォルトの名無しさん
2011/05/22(日) 11:34:00.02命令だと捉えると泥沼にはまるな
0163デフォルトの名無しさん
2011/05/22(日) 13:03:47.000164デフォルトの名無しさん
2011/05/22(日) 13:10:34.92マクロ部分が癌になりそうな感じを受ける
0165デフォルトの名無しさん
2011/05/22(日) 13:57:48.200166デフォルトの名無しさん
2011/05/22(日) 16:02:04.50画面にムキー!!!って表示されて楽しいよ
0167デフォルトの名無しさん
2011/05/22(日) 22:41:56.33マクロ部分がうんこになりそうな感じを受ける
0168uy
2011/05/23(月) 20:19:50.280169デフォルトの名無しさん
2011/05/23(月) 20:26:54.850170デフォルトの名無しさん
2011/05/23(月) 20:51:43.42ナンデココニイルノ?
0171デフォルトの名無しさん
2011/05/23(月) 20:59:30.290172デフォルトの名無しさん
2011/05/24(火) 02:33:09.90このスレの人達にとってはHTMLとCSSなんて意識がなくても書けるくらい簡単なものなんだろうけど・・・いやぁ〜ほんと難しい(;´Д`)
WordPressやMovableTypeなんかで書いてあるHPとか惚れ惚れするほどキレイだもん。
自分もああいうキレイなHP作りたいけどまだまだ先が長そうだ・・・。
めちゃくちゃソースがキレイな有料テンプレートとかよく売ってたりするけど、このスレの人達ってみんな市販されてる有料テンプレート程度のソースなら簡単に書けちゃうくらい凄いの?
0173デフォルトの名無しさん
2011/05/24(火) 05:16:59.84最近はプログラミングと言えばWebプログラミグしか頭に無い人間が増えてるのか
0174デフォルトの名無しさん
2011/05/24(火) 06:03:37.23コンソールも操作できない低脳が
ちょっとjavascript触っただけでドヤ顔してるのが現状
0175デフォルトの名無しさん
2011/05/24(火) 06:27:17.77いきなり数値計算や組み込みに手を付けて楽しいなと思う奴はかなり変わってる方だろ
Web系は環境の用意が手軽で結果が目に見えるから楽しみ易いだろ
>>174
こういうコンソール操作で脳味噌が止まってるおっさんが
変にこだわって5分で欲しいものに半日かけたりするんだよなー
0176デフォルトの名無しさん
2011/05/24(火) 06:30:35.960177デフォルトの名無しさん
2011/05/24(火) 07:44:25.330178デフォルトの名無しさん
2011/05/24(火) 07:48:19.89分かってないな
仕事は仕事できちんとするよ
その上で、普通なら5分でできる事を変にこだわって半日かけたりするのが
この上なく「楽しい」んじゃないか
アホなことを大まじめに仕上げる楽しさとか、
処理速度無視で徹底的に自分の美学にこだわる楽しさとか、
逆に美しさ無視で1クロック1バイトの節約にこだわる楽しさとか、
SIGPLAN や SIGGRAPH の論文を最速で実装してみる楽しさとか
そういう点で、君の言う手軽で結果が目に見える「Web系」言語より、
C や Haskell や Scheme なんかの方が何倍も楽しい
0179デフォルトの名無しさん
2011/05/24(火) 08:34:45.610180デフォルトの名無しさん
2011/05/24(火) 08:39:53.54俺も C と Scheme は好きだけど、「Web系」言語を見下せるほどの何かがあるとは
思わないな。JavaScript なんてヘンテコだけどなかなか楽しい言語だぜ。
俺には理解出来ないけど、1バイトを削るのがそんなに楽しければ、JavaScript でも
十分楽しめるみたいよ。
https://github.com/jed/140bytes/wiki/Byte-saving-techniques
それとコンソールなんてサーバ管理してれば毎日弄ってるもんだと思うけど。
0181デフォルトの名無しさん
2011/05/24(火) 08:59:54.72自分が使える言語と大きく記述が違うものは
とりあえずは学習しなきゃ無理だろ
0182デフォルトの名無しさん
2011/05/24(火) 09:17:32.91http://shyouhei.tumblr.com/post/5545216280/c
0183デフォルトの名無しさん
2011/05/24(火) 10:34:20.75楽しくないやつがやる必要はないけど。
0184デフォルトの名無しさん
2011/05/24(火) 10:42:29.690185デフォルトの名無しさん
2011/05/24(火) 11:58:48.540186デフォルトの名無しさん
2011/05/24(火) 12:02:46.15こいつ相変わらず電波なんだな
0187デフォルトの名無しさん
2011/05/24(火) 12:11:39.17泥被るポジションに付いておいて、
「あーめんどくせー」とか「○○氏ね!」とか言うのが
その人の芸風なので、流してあげよう
0188デフォルトの名無しさん
2011/05/24(火) 12:20:26.55Web系はもはやアプリのボタンクリックするのと変わらないからスレチ
0189デフォルトの名無しさん
2011/05/24(火) 20:36:12.57http://slashdot.jp/askslashdot/article.pl?sid=11/05/24/1037214
0190デフォルトの名無しさん
2011/05/24(火) 21:06:36.040191デフォルトの名無しさん
2011/05/24(火) 22:08:22.350192デフォルトの名無しさん
2011/05/24(火) 22:10:36.68マなら、Cを置き換える力を持った言語を作るという道もある訳だが
0193デフォルトの名無しさん
2011/05/24(火) 22:34:12.880194デフォルトの名無しさん
2011/05/24(火) 23:27:11.50それは大リーグコード2号のことである
0195デフォルトの名無しさん
2011/05/24(火) 23:40:42.05上司が時々使う日本語っぽいけど意味が分からない謎の指示言語とか消えて欲しいな
0196デフォルトの名無しさん
2011/05/24(火) 23:51:16.630197デフォルトの名無しさん
2011/05/24(火) 23:57:09.090198デフォルトの名無しさん
2011/05/25(水) 00:46:23.060199デフォルトの名無しさん
2011/05/25(水) 00:47:45.06それはマジで困るからヤメテ><
0200デフォルトの名無しさん
2011/05/25(水) 00:47:48.100201デフォルトの名無しさん
2011/05/25(水) 00:48:34.35パワーシエルがあるだろ。
0202デフォルトの名無しさん
2011/05/25(水) 00:48:55.020203デフォルトの名無しさん
2011/05/25(水) 01:00:51.06業務で使ってる資産があるんよ
本来の仕事が忙しいのに、作り直すなどという雑用はしたくない
0204デフォルトの名無しさん
2011/05/25(水) 07:27:11.770205uy
2011/05/25(水) 15:53:12.530206デフォルトの名無しさん
2011/05/25(水) 17:27:11.09まだ、無条件に置き換えられるレベルにないだろ
0207デフォルトの名無しさん
2011/05/26(木) 02:08:59.260208デフォルトの名無しさん
2011/05/26(木) 05:59:27.77ただどちらにしろ周辺のコマンドがまだまだ貧弱なんで
結局突っ込んだことやろうとすると何かしらコードを書かされるのがな〜
0209デフォルトの名無しさん
2011/05/26(木) 11:49:33.250210デフォルトの名無しさん
2011/05/26(木) 22:27:03.040211デフォルトの名無しさん
2011/05/26(木) 22:28:51.920212デフォルトの名無しさん
2011/05/27(金) 00:56:34.37微妙に上位互換になってなかった希ガス
0213デフォルトの名無しさん
2011/05/27(金) 15:47:34.31.NET Micro Framework があるってことはさ、つまりOSの開発にC#でいけるってことだな
0214uy
2011/05/27(金) 21:19:22.74OSには1クロックも無駄に出来ない箇所がある
Cを捨てればアセンブラでかく範囲が増えるだけ
0215デフォルトの名無しさん
2011/05/27(金) 22:11:21.74たとえば何処が1クロックも無駄に出来ない?
Linuxのソースで説明してくれ
0216デフォルトの名無しさん
2011/05/27(金) 22:16:36.70行けるだろうが、組み込み向けのcやjavaは浮動小数点使えなかったりと、微妙に違ったりするから、違いを意識してプログラミングする事になると思われ
0217デフォルトの名無しさん
2011/05/27(金) 22:24:54.46いや微妙どころじゃなく違うよ、いい意味で。
外部コマンドの呼び出しに関してはそれほど違いを意識しなくていいけど。
0218uy
2011/05/28(土) 00:51:40.69Linuxって何?
まず、割り込み処理
次に描画のリフレッシュ部分
この部分だけはどう考えてもC・アセンブラ以外で組めばゴミOSの出来上がり
0219デフォルトの名無しさん
2011/05/28(土) 00:58:47.53え、アプリの話じゃ無いのか?
.netって出て来てたからてっきり。。。。
0220デフォルトの名無しさん
2011/05/28(土) 02:19:07.24http://programatica.cs.pdx.edu/House/
0222デフォルトの名無しさん
2011/05/28(土) 06:09:04.03でも今のところ移行するほどのメリットを感じられんのがなあ。
もうちょっと資源(コードや資料)が揃ってきたら楽なんだが。
0223デフォルトの名無しさん
2011/05/28(土) 14:19:41.780224デフォルトの名無しさん
2011/05/28(土) 14:30:46.89パイプラインで動かしてればある程度は一命令一クロック実行だろ
0225デフォルトの名無しさん
2011/05/28(土) 14:51:30.370226デフォルトの名無しさん
2011/05/28(土) 16:21:09.210227デフォルトの名無しさん
2011/05/28(土) 16:38:49.130228デフォルトの名無しさん
2011/05/28(土) 18:02:28.33今時1クロックで2、3命令実行するのが当たり前だろ
スーパースカラとかの技術が何年前から有ると思ってんだ
0229デフォルトの名無しさん
2011/05/28(土) 18:19:45.78ほとんどCとC++関係の本で埋め尽くされてた。人気すなぁ
0230デフォルトの名無しさん
2011/05/28(土) 19:06:06.420231デフォルトの名無しさん
2011/05/28(土) 19:21:37.68そもそも大型書店やネットじゃないと技術書は売り物にならないんだろうな
一応置いておくのにc/c++は無難
プログラマとしては教養みたいなもんだし
0232デフォルトの名無しさん
2011/05/29(日) 19:24:49.800233デフォルトの名無しさん
2011/05/29(日) 19:57:27.980234デフォルトの名無しさん
2011/05/30(月) 00:26:08.050235デフォルトの名無しさん
2011/05/30(月) 16:13:41.940236デフォルトの名無しさん
2011/05/31(火) 01:56:58.010237デフォルトの名無しさん
2011/05/31(火) 02:02:40.540238デフォルトの名無しさん
2011/05/31(火) 06:19:32.95要は自分が分かればいいってだけなんだから
0239デフォルトの名無しさん
2011/05/31(火) 07:19:06.13和洋色んな技術書を見ても、定まった言語なんて無いように思える
ただ俺言語と言っても、余程変な構文でも無い限り、
普通は誰でも読めるものに落ち着くが
0240デフォルトの名無しさん
2011/05/31(火) 13:09:00.860241デフォルトの名無しさん
2011/05/31(火) 15:22:44.89擬似コードはpascalのそっくりさんが多い気ガス
0242デフォルトの名無しさん
2011/06/03(金) 21:53:29.060243デフォルトの名無しさん
2011/06/03(金) 23:22:45.73楽しいプログラミング言語という考え方がどうかと思う
0244デフォルトの名無しさん
2011/06/03(金) 23:25:33.67そうじゃない人もいる
色んな人がいる
他人は他人
自分は自分
他人が自分と異なる価値観なのは当たり前
0245デフォルトの名無しさん
2011/06/03(金) 23:40:53.860246デフォルトの名無しさん
2011/06/03(金) 23:46:27.38意外に忘れてしまうというか
0247デフォルトの名無しさん
2011/06/04(土) 00:30:29.510248デフォルトの名無しさん
2011/06/04(土) 01:01:02.00個人の好みの問題じゃ・・・
0249デフォルトの名無しさん
2011/06/04(土) 03:08:28.21プログラミング言語の面白さだったら、どれだけぶっ飛んでるか、かな。。。
純粋オブジェクト指向言語とか、純粋関数型言語もだし、全てがリストという世界観のlispとか、論理型言語も言語そのものが面白い
手続き型、非手続き型問わず、何か一つの世界観で統一しようと試みてる言語は面白いと思う
0250デフォルトの名無しさん
2011/06/04(土) 03:11:47.72だからこそ魅了されるのかもしれないが
つまらん言語ほど実用だが憂鬱でもある
しかしrubyは面白い rubyの本にもrubyは楽しい言語って書いてあるし・・・
0251デフォルトの名無しさん
2011/06/04(土) 03:31:52.790252デフォルトの名無しさん
2011/06/04(土) 10:06:35.880253デフォルトの名無しさん
2011/06/04(土) 10:09:20.180254デフォルトの名無しさん
2011/06/04(土) 12:07:35.280255デフォルトの名無しさん
2011/06/04(土) 12:10:30.400256デフォルトの名無しさん
2011/06/04(土) 12:19:49.410257デフォルトの名無しさん
2011/06/04(土) 18:17:56.44それはWebで動かせるのが楽しいので有って、javaScriptそのものが楽しいってのとは違う気がする
0258デフォルトの名無しさん
2011/06/04(土) 18:19:33.21実用性のある言語が欲しいのか、面白い言語が欲しいのか。
どっちだ
0259デフォルトの名無しさん
2011/06/04(土) 19:46:25.560260デフォルトの名無しさん
2011/06/04(土) 19:59:17.400261デフォルトの名無しさん
2011/06/04(土) 20:00:46.960262デフォルトの名無しさん
2011/06/04(土) 20:17:11.430263デフォルトの名無しさん
2011/06/04(土) 20:19:37.900264デフォルトの名無しさん
2011/06/04(土) 20:40:30.040265デフォルトの名無しさん
2011/06/04(土) 21:03:24.81マイナーすぎてGHCにすら見放されたDarcsぐらいしか聞いたことないのはどうなの
0266デフォルトの名無しさん
2011/06/04(土) 21:59:40.29そして、これからもずっと見抜かれない
人間ごときには見抜かれない
あぁそうですとも、見抜かれてたまるもんですか
by かみ
0267デフォルトの名無しさん
2011/06/04(土) 22:34:42.540268デフォルトの名無しさん
2011/06/04(土) 22:48:38.55実用性はrubyとかと同じ位ではあると思う
やりたい事が有ったら、haskellスレで聞いてね
0269デフォルトの名無しさん
2011/06/04(土) 23:11:04.850270デフォルトの名無しさん
2011/06/04(土) 23:15:27.38むしろc言語でプログラミング出来ない自分がhaskellでプログラミング出来てるんだが。。。
0271デフォルトの名無しさん
2011/06/04(土) 23:26:21.500272デフォルトの名無しさん
2011/06/04(土) 23:33:12.710273デフォルトの名無しさん
2011/06/04(土) 23:33:49.63プログラムとは全く縁の無い仕事してる
0274デフォルトの名無しさん
2011/06/04(土) 23:42:52.370275デフォルトの名無しさん
2011/06/05(日) 00:13:14.47>>270だが、2に同じく!
0277デフォルトの名無しさん
2011/06/05(日) 07:31:31.98職業PGなら知っておきたいC言語ではあるが
高級言語としては相当とっつきにくい部類だよあれ
0278デフォルトの名無しさん
2011/06/05(日) 08:52:30.950279デフォルトの名無しさん
2011/06/05(日) 08:54:04.30アプリ → C#
0280デフォルトの名無しさん
2011/06/05(日) 12:03:53.42本業でなくって、副業レベルでシェアウェア、スマホ、アフィ、topcoderだとか
ライブラリ数やデバッグに掛かる時間、マイクロソフトへのお布施など、
金と時間が絡むもので総合的に考えてみて欲しい
0281デフォルトの名無しさん
2011/06/05(日) 12:11:13.47ゆがんでるな
金集めに直結する言語はパラダイムによって様々だ
企業が言語も含めて囲い込みしてるからな
iOS向けのObjCが一番小遣い稼ぎに向いてる
国の金でガッポリとか、大企業からガッポリなら、cobolやfortlanと教授職をエロ
0282デフォルトの名無しさん
2011/06/05(日) 12:42:37.24Pagsの事も忘れないで(Parlインタプリタのhaskell実装)
haskellが注目されたキッカケよ?
0283デフォルトの名無しさん
2011/06/05(日) 19:34:49.98Cは高級言語じゃなくて低級言語じゃまいか
0284デフォルトの名無しさん
2011/06/05(日) 20:21:19.39低級言語は機械語やアセンブラ
0285デフォルトの名無しさん
2011/06/06(月) 07:00:39.62一応は高級言語に分類されるよ
実際のところ高級アセンブラってのが一番的を得た呼び方だが
0286デフォルトの名無しさん
2011/06/06(月) 17:23:44.2795じゃダメなんすか
0287デフォルトの名無しさん
2011/06/06(月) 17:29:59.08まあ、言語的にやれること少なかったので無駄に使い倒し過ぎて印象が強いだけな気もする
0288デフォルトの名無しさん
2011/06/06(月) 17:32:27.71Javaは楽しい
とくにライブラリ作りは楽しい
0289デフォルトの名無しさん
2011/06/06(月) 19:09:57.59アセンブラは楽しい
とくにゲーム作りは楽しい
0290デフォルトの名無しさん
2011/06/06(月) 20:33:58.27だそうだ。
嫌な四天王だな。
0291デフォルトの名無しさん
2011/06/06(月) 20:35:41.290292デフォルトの名無しさん
2011/06/06(月) 21:09:43.970293デフォルトの名無しさん
2011/06/06(月) 22:25:40.02行列ライブラリの枯れたものが存在するからじゃねーの
数値計算で.NET(javaはまだしも)とかないわー
枯れてて信頼のおけそうなライブラリが見当たらない
もっとも、javaで数値計算なんてオペレータがオーバーロードされてなくて
鬼畜だとしかいえないけど
static importを使ってないサンプルコードとかウェブに載せんなよとか思う
0294デフォルトの名無しさん
2011/06/06(月) 22:50:45.09もちろん .NET 用にも
0295デフォルトの名無しさん
2011/06/07(火) 15:40:05.710296デフォルトの名無しさん
2011/06/07(火) 16:23:42.79gtkなんかは、大量のマクロつかって無理矢理なOOP
そこまでして、なぜCで書く必要があったのか疑問
0297デフォルトの名無しさん
2011/06/07(火) 16:34:04.77Cが好きだからw
発端はXToolKitでこの手のCOOP(?)が使われてて、激しくインスパイアされた。
んで、関数も・・・
int
hoge(this, val)
hoge_obj_t *this;
int val;
{
↑この書き方が好き
仕事ではやらんが、プライベートな趣味のコードは全部コレw
0298デフォルトの名無しさん
2011/06/07(火) 18:36:48.76使えないのでそれなりのメリットを期待できる。
0299デフォルトの名無しさん
2011/06/07(火) 20:13:23.09今までValaみたいな使い易い言語がなかったからじゃないの
0300デフォルトの名無しさん
2011/06/07(火) 22:43:42.46それはCOOLというてなぁ...
http://www.sage-p.com/process/cool.htm
0301296
2011/06/07(火) 23:46:22.51http://modelingwithdata.org/arch/00000035.htm
0302デフォルトの名無しさん
2011/06/09(木) 07:24:58.74興味深いブログの紹介ありがとう。
"OOC object-oriented"でググると、こんなのが上のほうに出てくる。
http://ooc-coding.sourceforge.net/
上記によれば
ooc is mature enough to be ported onto small microcontrollers or DSPs.
だそうだ。まぁ、これに尽きるわな
しかし上記でググると"Object Oriented COBOL"が出てくるのは、いかがなもんかのう?
0303デフォルトの名無しさん
2011/06/09(木) 21:46:06.84COBOLはプログラミング雑誌に広告出す位には現役ですから。。。
縁が無いのに、よく見かける
0304デフォルトの名無しさん
2011/06/09(木) 22:04:36.400305デフォルトの名無しさん
2011/06/09(木) 23:11:30.42.netのCLI上にCOBOL実装して売ってたよな。
名前空間とかオブジェクトに対応してた覚えがある。
0306デフォルトの名無しさん
2011/06/09(木) 23:38:47.37その中を雑誌で儲けるには
騙し騙しいかないといけない
0307デフォルトの名無しさん
2011/06/11(土) 21:39:06.800308デフォルトの名無しさん
2011/06/11(土) 21:47:10.650309デフォルトの名無しさん
2011/06/12(日) 00:58:05.830310デフォルトの名無しさん
2011/06/12(日) 08:55:06.960311デフォルトの名無しさん
2011/06/18(土) 20:30:05.05他の人が組んだプログラミングの画面とかを見ていると、} ←このような記号の後に
やたら間隔が空いてたりするけど、一体何の意味があるの?
0312デフォルトの名無しさん
2011/06/18(土) 20:31:27.870313デフォルトの名無しさん
2011/06/18(土) 20:58:01.32ありがとう
0314デフォルトの名無しさん
2011/06/18(土) 21:47:03.56} これは女の子のあそこのボッチなんだよ
でな、あんまり近づいてジロジロ見るのは失礼だから、
ちょっと離してるんだよ
本当はちょっと離すだけでいいんだ
やたら間隔が空いてたりするのはシャイなだけ
0315デフォルトの名無しさん
2011/06/20(月) 01:26:34.87リファレンスを引いたり、文法を手直ししたり、現実のプログラミング言語に落とし込むのが辛い
Haskell を勉強したら幸せになれるだろうか・・・
0316デフォルトの名無しさん
2011/06/20(月) 01:47:19.24そのコード間違ってるよ
0317デフォルトの名無しさん
2011/06/20(月) 02:16:27.82タイピングは捗るぞ
0318デフォルトの名無しさん
2011/06/20(月) 02:30:16.42自分の脳がインタープリタだから、間違いは無い筈。
他人が書いたコードに対しては受容範囲は狭いけど、
自分が書いたコードに対しては、かなり強力で協力的な
推論エンジンを搭載してるから大丈夫。
0319デフォルトの名無しさん
2011/06/20(月) 08:49:09.610320デフォルトの名無しさん
2011/06/20(月) 08:50:04.280321uy
2011/06/20(月) 18:48:16.23略すと
生産的な話ろ
0322デフォルトの名無しさん
2011/06/20(月) 19:18:24.900323デフォルトの名無しさん
2011/06/21(火) 01:05:37.77擬似コードをそのまま実際に使えるようにした言語って無いの?
0324デフォルトの名無しさん
2011/06/21(火) 01:12:38.43既存の言語の発祥にも割とそんな感じのが多そうじゃね?
0325デフォルトの名無しさん
2011/06/21(火) 01:33:20.880326デフォルトの名無しさん
2011/06/21(火) 07:41:29.61逆に現在実際に使えている言語を擬似コードとしてもそのまま使えばいいだろ
それでは何か不満があるのか?
0327デフォルトの名無しさん
2011/06/21(火) 10:52:10.46をちりばめておくだけで擬似的にいけるよな
0328デフォルトの名無しさん
2011/06/21(火) 12:46:59.54「なでしこ」楽しいぜw
プログラム作ってるはずなのに
なんか良く分かんない小説みたいなの書いてる気分になるw
0329デフォルトの名無しさん
2011/06/21(火) 12:55:45.16perl で詩を書くようなものか。
0330デフォルトの名無しさん
2011/06/21(火) 13:46:48.05TRPGの説明書とかのほうがよりイメージかな
ま、まぁ見てみなよ
こんなんだぜ
http://blognekouser.blog56.fc2.com/
0331デフォルトの名無しさん
2011/06/21(火) 14:55:12.570332uy ◆yyC0rYWEq2
2011/06/21(火) 15:22:56.08世界の順位を覆せる可能性はあるな
アルファベットよりも効率的にかける可能性は、あんまり無いけど
= とか if 、for を
凸 凹 回 っていう記号的にあらわしていくことが、マルチバイト文字では可能で
1、記号数 や 文字数は、圧倒的だから
配列、ハッシュ、タプル、リスト、二分探索木、赤黒木、それぞれ別の[]記号で表せるだろう
キーボードに細工するかIDE補完充実させないとやっていけないけど
母国語の字数が多いっていうのはコンピュータの世界で今は、日々エンコードに悩まされて不利に見えても
後々は、デフォルトでその国の人間が扱える「記号数」が多いということなので、とても有利になっていく
0333デフォルトの名無しさん
2011/06/21(火) 15:39:13.680334329
2011/06/21(火) 17:27:47.62http://en.wikipedia.org/wiki/Black_Perl
0335デフォルトの名無しさん
2011/06/21(火) 22:15:51.540336デフォルトの名無しさん
2011/06/21(火) 22:21:27.88オラ日本人だで英語はわがんね。
日本語に訳してくんろ。
0337デフォルトの名無しさん
2011/06/24(金) 08:05:08.21いまいち文法が分からんw
ってか配列代入がデフォで値コピーだと誰が気づくw
Cっぽいかとも最初思ったけど、明らかに別物の流れをくむ言語だw
0338デフォルトの名無しさん
2011/06/24(金) 09:48:51.66こんなんが Googleに引っかかりまくるようになったら
気が狂うぜ
流行りませんように・・・ナムナム
0339デフォルトの名無しさん
2011/06/24(金) 09:51:11.16spiderさんカワイソス
0340デフォルトの名無しさん
2011/06/24(金) 14:12:31.850341デフォルトの名無しさん
2011/06/24(金) 22:06:56.780342デフォルトの名無しさん
2011/06/24(金) 22:11:06.70もともとはperlで書かれたテンプレートエンジンだったからな
0343デフォルトの名無しさん
2011/06/24(金) 23:48:23.05@newlist = @list;
がコピーになる言語だな
0344デフォルトの名無しさん
2011/06/25(土) 11:19:23.81Personal Homepage Processor
の略だったよな
今は知らんが
0345デフォルトの名無しさん
2011/06/25(土) 15:29:40.83PHPは単純にPersonal Home Pageの略
0346uy ◆hi.ht/Isu2
2011/06/29(水) 05:29:38.79っと、諸外国のPGは日本人をみてマジで思ってるよ
0347デフォルトの名無しさん
2011/06/29(水) 05:35:38.320348デフォルトの名無しさん
2011/06/29(水) 06:09:27.03こんな感じで
アセンブラ:砂糖
c:羊羹
c++:水羊羹
java:ガトーショコラ
python:バタークッキー
0349デフォルトの名無しさん
2011/06/29(水) 23:43:24.050350デフォルトの名無しさん
2011/06/29(水) 23:46:54.75とりあえず348の好物が水羊羹なのは分かった
0351デフォルトの名無しさん
2011/06/30(木) 01:49:43.57まあ好物なんだが
0352デフォルトの名無しさん
2011/06/30(木) 06:11:48.36食べ物の例えもいいけど、
分かりやすくドラゴンボールのキャラで例えて。
0353デフォルトの名無しさん
2011/06/30(木) 06:17:39.730354デフォルトの名無しさん
2011/06/30(木) 06:36:35.200355デフォルトの名無しさん
2011/06/30(木) 06:40:24.25うわ・・・・
0356デフォルトの名無しさん
2011/06/30(木) 20:11:56.750357デフォルトの名無しさん
2011/06/30(木) 20:22:25.970358デフォルトの名無しさん
2011/06/30(木) 22:09:08.81スプーンでシャリシャリ削って食べながらハスケるのが最高
0359デフォルトの名無しさん
2011/07/08(金) 17:55:35.750360デフォルトの名無しさん
2011/07/08(金) 19:17:27.41どこら辺が?
0361デフォルトの名無しさん
2011/07/08(金) 22:13:05.18なんか無理やり筋道と言うか道理をつけたような、ご都合主義っぽい言語仕様が。宗教みたい。
あれなら思いつきで増築しまくったphpの方が便利だし、いっそオブジェクト指向は捨てよう、とか好きな書き方できる。
0362デフォルトの名無しさん
2011/07/08(金) 22:15:46.24何か具体例ある?
どこら辺の仕様が気に入らなかったの?
0363デフォルトの名無しさん
2011/07/08(金) 22:32:28.680364デフォルトの名無しさん
2011/07/08(金) 22:36:36.05何で擁護だと思うの?
どこに不満があるのか聞きたいだけなのに
0365デフォルトの名無しさん
2011/07/08(金) 22:44:14.770366デフォルトの名無しさん
2011/07/08(金) 22:59:44.92・ソースのparser.cの汚さは異常なレベル
0367デフォルトの名無しさん
2011/07/08(金) 23:08:33.31>Pascal記法
もしかして end の事?
0368デフォルトの名無しさん
2011/07/09(土) 00:23:42.520369デフォルトの名無しさん
2011/07/09(土) 00:28:00.96じゃあどうぞ
0370デフォルトの名無しさん
2011/07/09(土) 00:37:42.03Pascal記法って、いわゆるIsEnabledみたいな大文字で始めるやつだろ。VCみたいな。
Camel記法が、isEnabledの方。Javaとか。
やっぱりRuby使いは他の言語しらないのに、Rubyマンセーしてんのか?
0371デフォルトの名無しさん
2011/07/09(土) 00:40:31.07Rubyのパーザはカオスだからなあ…
ちなみにendは「中途半端なPascal記法」じゃなくて「Ada/Eiffel記法」ね
0372デフォルトの名無しさん
2011/07/09(土) 00:42:47.020373デフォルトの名無しさん
2011/07/09(土) 00:45:06.34Rubyの命名はその慣習では無いと思うが…
UpperCamelCase(Pascal記法)を使うのはクラス名やモジュール名で、そこはJavaも一緒だし
メソッド名はsnake_caseが主流だと思うぞ
0374デフォルトの名無しさん
2011/07/09(土) 00:45:35.59何で俺がRuby使いってことになってるのか知らんけどw
結局>>361の言う様な言語仕様的な問題はここまで登場してないのね。
これは誰が見ても深刻な問題だねーって感じのがあるのかと思ったんだが。
0375デフォルトの名無しさん
2011/07/09(土) 00:47:27.580376デフォルトの名無しさん
2011/07/09(土) 00:50:02.400377デフォルトの名無しさん
2011/07/09(土) 00:53:14.49…んだが、記法とパーザと宗教しか出てきてないな
>>372
ALGOLもBEGIN/END系だったっけ?
0378デフォルトの名無しさん
2011/07/09(土) 00:55:35.770379デフォルトの名無しさん
2011/07/09(土) 00:55:44.26その間にphpとaspxで食っていくから。
0380デフォルトの名無しさん
2011/07/09(土) 00:58:17.840381デフォルトの名無しさん
2011/07/09(土) 01:41:46.890382デフォルトの名無しさん
2011/07/09(土) 02:13:53.59俺はMUMPSがコーディングしてて一番楽しい。
本当に知名度低い誰も知らないような言語だけど。
0383デフォルトの名無しさん
2011/07/09(土) 14:51:49.980384デフォルトの名無しさん
2011/07/09(土) 15:32:17.330385デフォルトの名無しさん
2011/07/09(土) 15:35:33.110386デフォルトの名無しさん
2011/07/09(土) 15:42:55.400387デフォルトの名無しさん
2011/07/10(日) 04:17:45.51Scheme でも CL でも良いけど、やっぱり無名関数を自然に扱える言語は楽しいね
名前を考える煩わしさ無しに、好きなだけ微小関数を量産できるのが嬉しい
最近は実行速度でもライブラリの数でも充実して来ているし、言う事無し
0388デフォルトの名無しさん
2011/07/10(日) 05:06:01.88ということにしたいのですね
0389デフォルトの名無しさん
2011/07/10(日) 05:18:59.24if you have opposite oppinions, your comments are highly appreciated.
0390デフォルトの名無しさん
2011/07/10(日) 05:22:41.130391デフォルトの名無しさん
2011/07/10(日) 08:28:46.78Rubyの行継続のルールは嫌い
0392デフォルトの名無しさん
2011/07/10(日) 12:41:07.410393デフォルトの名無しさん
2011/07/10(日) 13:08:25.08p (1 +
2)
とか
p ((1
+ 2))
は通るのに
p (1
+ 2)
はエラーなところ
0394デフォルトの名無しさん
2011/07/10(日) 13:31:42.04unary plus が優先されるのか
0395デフォルトの名無しさん
2011/07/10(日) 15:36:15.730396デフォルトの名無しさん
2011/07/10(日) 17:15:35.53まあ改行を文末にしてる言語ならそんなもんじゃねえかな、文が切られないように書くしかないよ
0397デフォルトの名無しさん
2011/07/10(日) 19:06:17.57PerlもPythonもTclも改行がデリミタだけど
こんな行継続はしなくね?
0398デフォルトの名無しさん
2011/07/10(日) 19:15:25.01+ "additional string")
みたいにしたい時は困るかな...
0399デフォルトの名無しさん
2011/07/10(日) 20:59:52.19p (1 ¥
+ 2)
とか
p("a very long string" ¥
+ "another string")
ならオケなのか
納得したわ
0400デフォルトの名無しさん
2011/07/10(日) 22:03:06.88Perlはセミコロンだし、Tclは結構改行位置強制されるからフリースタイルには書けないよ
0401デフォルトの名無しさん
2011/07/10(日) 22:29:40.74なんだこの\記号。VBのアンダーラインみたいなもん?
気持ち悪いな
0402デフォルトの名無しさん
2011/07/10(日) 22:41:46.930403デフォルトの名無しさん
2011/07/10(日) 23:06:31.690404デフォルトの名無しさん
2011/07/10(日) 23:48:01.97console.log(1
+ 2)
</script>
JavaScript はもちろん問題無し
HTML に埋め込める事が必須要件だから、改行の影響を受ける様な仕様にはしないでしょ
0405デフォルトの名無しさん
2011/07/10(日) 23:52:45.06まあ今回の件とは関係無いけど・・・
0406デフォルトの名無しさん
2011/07/11(月) 00:39:19.96Cで複数行のマクロを見た事無い?
0407デフォルトの名無しさん
2011/07/11(月) 00:45:22.77マクロを引き合いに出してくる時点で言語としては崩壊してるだろ。
バッドノウハウの塊じゃん。
0408デフォルトの名無しさん
2011/07/11(月) 00:55:26.04君は、そういう字面だけ捉えた表層的な話をしてて楽しい?
ここで話題としているのはマクロがバッドノウハウかどうかじゃなくて、
バックスラッシュの機能についてなんだけど、話を聞く気がないなら
これで終わりね
0409デフォルトの名無しさん
2011/07/11(月) 00:59:15.19はいはい、rubyは至高の言語です。
0410デフォルトの名無しさん
2011/07/11(月) 02:24:38.16バックスラッシュは別にいいんだけど(改行区切りの言語なら何らかの記号は必要)
関数呼び出しの括弧が閉じてないのに行継続されないのは残念
いや、正確には行継続自体はされてるんだろうけど、ちょっと良くわからない
p (1
)
はOKで
p (1
+ (+2))
がNGなのは何で?どうしてこういう仕様なのかが分からない
0411デフォルトの名無しさん
2011/07/11(月) 05:52:12.55作った奴の頭がおかしい
0412デフォルトの名無しさん
2011/07/11(月) 06:39:03.79馬鹿だな。
みんな>401みて思うわけだよ。
「shも知らんのか?」「そもそもエスケープシーケンスを知らんのでは?」等々。
だけどそんな指摘したって不毛なやりとりになるだけなのはわかってるから
黙ってスルーしてるんだ。
0413デフォルトの名無しさん
2011/07/11(月) 12:55:56.59これで彼もバックスラッシュはおかしくないと分かった事だろうから、
全く不毛かというと、和毛くらいは生えたんじゃないかな
0414デフォルトの名無しさん
2011/07/11(月) 13:08:42.26流れを読まずに、最近かじったpython
ネストの深い糞ロジックはリファクタリングせずには居られなくなる
インデント強制は素晴らしいね
あとada
インデントはもちろん、変数名の長さ、無駄スペース、演算子優先順位・・etc
あらゆる物にケチが付く、厳格過ぎて笑えてくる
0415デフォルトの名無しさん
2011/07/11(月) 14:37:57.49もう少し技術的に価値のある話が出来るかと思ったのに
0416デフォルトの名無しさん
2011/07/11(月) 15:21:18.701.9で国際化がややこしくなったから
HTTP使うとほとんどforce_encoding必須でむかつくというのがあるな。
0417デフォルトの名無しさん
2011/07/11(月) 15:25:55.56使ってる人が少ないんだろ
0418デフォルトの名無しさん
2011/07/11(月) 15:37:17.500419デフォルトの名無しさん
2011/07/11(月) 15:50:17.390420デフォルトの名無しさん
2011/07/11(月) 15:51:34.820421デフォルトの名無しさん
2011/07/11(月) 15:59:23.28x, y ,z を変数として
x = y + z
x + y = z
のどっちも通るんだが、上は+が先に評価されて
下は=が先に評価されるんだけど(というか下が通るのはさすがRuby)
0422デフォルトの名無しさん
2011/07/11(月) 16:10:15.47Python でも一緒だった
JavaScript と PHP ではエラーになる
0423デフォルトの名無しさん
2011/07/11(月) 16:12:47.33Pythonは x + y = z は通らないだろ
0424デフォルトの名無しさん
2011/07/11(月) 16:14:50.12スマソ
確認する時にコマンド打ち間違えてた
0425デフォルトの名無しさん
2011/07/11(月) 16:34:50.75zをyに代入して
x+yを計算するが結果は残さない
ってこと?
0426デフォルトの名無しさん
2011/07/11(月) 16:52:32.15で、別に x + (y = z) が通ること自体はいいんだ
= が式ってだけの話だから
わからないのは演算子の優先順位の仕様
0427デフォルトの名無しさん
2011/07/11(月) 16:59:21.760428デフォルトの名無しさん
2011/07/11(月) 17:05:08.79そればっかだな。
0429デフォルトの名無しさん
2011/07/11(月) 18:51:22.26演算子優先順位すらまともに実装できないとか
Pythonのlambdaなんて目じゃないレベルのがっかりさ
0430デフォルトの名無しさん
2011/07/11(月) 18:57:13.8810年後生き残ってたら触ってやるわ
0431デフォルトの名無しさん
2011/07/11(月) 19:02:11.340432デフォルトの名無しさん
2011/07/11(月) 19:16:54.19インデントの強制やクロージャが無いことが欠点だと分かってくれて嬉しいわw
0433デフォルトの名無しさん
2011/07/11(月) 19:24:44.34ということみたいね
0434デフォルトの名無しさん
2011/07/11(月) 19:34:05.80matzも驚いててワロスwww
0435デフォルトの名無しさん
2011/07/11(月) 19:34:17.00+が優先でも
=が「右辺の値を左辺に代入」である限り
x+y=zの結果は変わらないよな
0436デフォルトの名無しさん
2011/07/11(月) 19:36:39.86+が優先だと「zを(x+y)に代入」ってことになってわけわからんか
0437デフォルトの名無しさん
2011/07/11(月) 19:36:53.17いやいや、Ruby でも (x + y) = z はシンタックスエラーですから
0439デフォルトの名無しさん
2011/07/11(月) 19:42:05.98・式の途中で改行する場合はバックスラッシュを入れる
・左辺値に式を置いた場合はアサインメントが優先される
後は何かある?
0440デフォルトの名無しさん
2011/07/11(月) 19:42:31.37情報ありがとう。とりあえず経緯は分かったので良かった
0441デフォルトの名無しさん
2011/07/12(火) 00:01:32.98たまたま生まれた挙動なのか
そんなんでいいのかRuby
0442デフォルトの名無しさん
2011/07/12(火) 01:42:11.88Rubyのコアはmatzが仕様変更をしまくって互換性に問題出したりバグ作り込んだりするのを
その周りの人達が戻したり改良したりバグ取りすることで出来上がったものだからなw
0443デフォルトの名無しさん
2011/07/12(火) 01:43:40.84http://d.hatena.ne.jp/gongoZ/20110514/1305372647
0444デフォルトの名無しさん
2011/07/13(水) 21:28:52.46やっぱruby信者のマッチポンプスレだったって訳だ。
0445デフォルトの名無しさん
2011/07/13(水) 23:20:05.87こんなのが既知の不具合な訳?
恥ずかしい言語
0446デフォルトの名無しさん
2011/07/14(木) 02:32:07.73技術的に意味がある指摘じゃないとレスは付かないよ。
0447デフォルトの名無しさん
2011/07/14(木) 08:42:15.06普通はまともに実装されてしかるべきで、
技術的な意味を語る以前の問題だな
そんなものもキチンと実装されてないRubyは論外ってことで
0448デフォルトの名無しさん
2011/07/14(木) 09:38:02.10こういう言語に引っ張られる考えは時間の無駄
0449デフォルトの名無しさん
2011/07/14(木) 10:10:51.800450デフォルトの名無しさん
2011/07/14(木) 11:32:18.50とか>>386が言ってるから不満を書き込んだら
disるなら他スレでやれと言われたでござる、の巻
0451デフォルトの名無しさん
2011/07/14(木) 13:46:33.02嫌な言語を語るスレでないことは確かだ
0452デフォルトの名無しさん
2011/07/14(木) 16:34:24.660453デフォルトの名無しさん
2011/07/14(木) 17:47:20.86誤)
・式の途中で改行する場合はバックスラッシュを入れる
・左辺値に式を置いた場合はアサインメントが優先される
正)
・バックスラッシュを省略した場合は行継続に一貫性無し
・アサインメントの優先順位がバグってるけど「仕様です」
0454デフォルトの名無しさん
2011/07/14(木) 21:27:54.60正)どれもコーナーケースにおける特殊な振る舞いで、実害は無い
0455デフォルトの名無しさん
2011/07/14(木) 21:58:10.980456デフォルトの名無しさん
2011/07/14(木) 22:00:06.93実害があるか無いかw
さすがRuby使いは違うなw
0457デフォルトの名無しさん
2011/07/14(木) 22:11:47.36せめてプログラムに関係する話題にして欲しい物だ
0458デフォルトの名無しさん
2011/07/14(木) 23:08:59.590459デフォルトの名無しさん
2011/07/14(木) 23:47:46.03なおかつ信者がこんなのだから、もっと気持ち悪い。
技術的な問題挙がっても「実害じゃないからそれはどうでもいいプログラムの話題じゃない」
なんて言ってるんだからもう絶滅してしまえと思う。
信者も教祖も言語もゴミレベル。
そもそも、楽しい言語って言ってるんだから、プログラムの実害wとか、
そんなの以前に、使ってて気持ちの良い言語であるべきだろ。
何が「プログラムの話題にして欲しい」だ。信者も布教に必死だな。
Redmineのカスタマイズなんか苦痛過ぎ。
やってて面白いのはlisp。
0460デフォルトの名無しさん
2011/07/14(木) 23:59:28.61自分も JavaScript が楽しい
関数型言語も幾つか試してみたけど、やっぱりオブジェクト指向的に書ける言語が楽しい
0461デフォルトの名無しさん
2011/07/15(金) 00:07:55.960462デフォルトの名無しさん
2011/07/15(金) 00:24:29.20最高の道具を手にした職人が、他の安ピカ物の道具をディスる必要なんてないでしょ
0463デフォルトの名無しさん
2011/07/15(金) 00:24:58.06実用性はほとんど無いが、やってて楽しいぞ。
0464デフォルトの名無しさん
2011/07/15(金) 02:58:47.36最初に触れたときには「何このオモチャ」と思ってたんだけど
やり込んだら「あれ、これ意外と本格派じゃね?」って感じになってくる不思議
0465デフォルトの名無しさん
2011/07/15(金) 02:59:17.650466デフォルトの名無しさん
2011/07/15(金) 03:21:13.46どっかのサイトで色々考察してるのを読んだことがある、詳細は俺もよく解らなかったし、どこかも忘れたが
・プロトタイプベースの本質からすれば要らない
・でもJavaScriptのコンストラクタはnew付きで呼ばれるのが通例なので、new付きの前提で書いたほうが良い
みたいな結論だった気がする
0467デフォルトの名無しさん
2011/07/15(金) 22:25:49.130468デフォルトの名無しさん
2011/07/15(金) 22:51:44.55高級な低級限後だからな。
0469デフォルトの名無しさん
2011/07/15(金) 23:24:24.050470デフォルトの名無しさん
2011/07/16(土) 09:44:35.72prologではなく、problogなの?
初耳の言語だ
0471デフォルトの名無しさん
2011/07/16(土) 09:47:45.290472デフォルトの名無しさん
2011/07/16(土) 10:50:34.420473デフォルトの名無しさん
2011/07/16(土) 11:18:41.62プログラマーが書いてるブログじゃね?
0474デフォルトの名無しさん
2011/07/16(土) 11:20:50.820475デフォルトの名無しさん
2011/07/16(土) 11:46:11.06多重継承の何がいいの?
依存・参照関係がややこしく危険になるからやめた方がいいと思うんだけど…。
Aのサブクラスであると同時にBのサブクラスである必要ってどういう時に出てくるの?
一意に親が辿れなくなるような継承って美しい?役に立つ?
インターフェースじゃ駄目なの?
実装の継承が必要なだけならScalaでいうトレイトとかの方が良くない?
0476デフォルトの名無しさん
2011/07/16(土) 12:21:08.34便利ですよ
0477デフォルトの名無しさん
2011/07/16(土) 12:51:05.20そういうのを自動で避けるような設計がなされてるのがいい言語だと思うんだけどな…。
Mix-inを目的として使用するのであれば、
クラスの多重継承は明らかに危険で美しくない解決策じゃないの?
モジュールやトレイトがある今、
クラスの多重継承は過去に行った実装を引きずってるだけの盲腸的仕様になってる気がするけど。
0478デフォルトの名無しさん
2011/07/16(土) 13:23:01.55どうしても困るならダイヤモンド継承禁止した言語使えばいい
0479デフォルトの名無しさん
2011/07/16(土) 15:06:32.29C系統の言語の一つに過ぎないのに
0480デフォルトの名無しさん
2011/07/16(土) 18:41:58.92c++はcを包含してるけど、全く別の言語じゃん。
0481デフォルトの名無しさん
2011/07/16(土) 21:20:46.460482デフォルトの名無しさん
2011/07/16(土) 21:22:23.27Java先生が一番でございます。
0483デフォルトの名無しさん
2011/07/16(土) 21:28:22.520484デフォルトの名無しさん
2011/07/16(土) 21:36:41.370485デフォルトの名無しさん
2011/07/16(土) 21:41:09.720486デフォルトの名無しさん
2011/07/16(土) 21:49:17.03ん、流れ?
0487デフォルトの名無しさん
2011/07/16(土) 22:11:31.65もはや包含すらしてない関係の無い言語
0488デフォルトの名無しさん
2011/07/16(土) 22:12:39.450489デフォルトの名無しさん
2011/07/16(土) 22:13:06.810490デフォルトの名無しさん
2011/07/16(土) 22:20:34.700491デフォルトの名無しさん
2011/07/16(土) 22:26:09.870492デフォルトの名無しさん
2011/07/16(土) 22:41:51.970493デフォルトの名無しさん
2011/07/16(土) 22:48:47.13盲目的なクソ信者みたいにわめきやがってバカどもが
0494デフォルトの名無しさん
2011/07/16(土) 22:52:12.17使用人口がいるかどうかも
0495デフォルトの名無しさん
2011/07/16(土) 22:52:12.770496デフォルトの名無しさん
2011/07/16(土) 23:04:03.78俺は楽しさがウリのRubyとかちっとも楽しくないし
0497デフォルトの名無しさん
2011/07/16(土) 23:10:31.800498デフォルトの名無しさん
2011/07/16(土) 23:14:07.650499デフォルトの名無しさん
2011/07/16(土) 23:15:01.98他人と共有できない話だったらそれこそチラ裏にかいとけですよ
0500デフォルトの名無しさん
2011/07/16(土) 23:17:53.20何が楽しいのかと思う事はあるな
0501デフォルトの名無しさん
2011/07/16(土) 23:45:34.36楽しい言語の感覚的な部分排除して、何を楽しいと思うのか。。。
最強でも、実用的でもなく、楽しい。だぞ?
0502デフォルトの名無しさん
2011/07/16(土) 23:50:03.760503デフォルトの名無しさん
2011/07/16(土) 23:50:50.72Common Lispは確かにマイナーではある。
しかしそれは実用的でないという意味ではない。
0504デフォルトの名無しさん
2011/07/16(土) 23:52:33.49haskellも2に同じく
0505デフォルトの名無しさん
2011/07/16(土) 23:55:02.24マイナーな言語は避けた方が吉
0506デフォルトの名無しさん
2011/07/16(土) 23:56:56.57CL なんて処理系も沢山あるし、規格もきっちりしてるし
0507デフォルトの名無しさん
2011/07/17(日) 00:01:42.980508デフォルトの名無しさん
2011/07/17(日) 00:03:46.310509デフォルトの名無しさん
2011/07/17(日) 00:41:43.86面白い言語って遊びで使うんじゃないの?
仕事で面白い言語使えるかは会社に依るだろ?
0510デフォルトの名無しさん
2011/07/17(日) 06:47:35.990511デフォルトの名無しさん
2011/07/17(日) 07:18:45.30いや、おいらが確認したいのは、ここで面白いって主張する言語は遊ぶ事前提でおk?って事
実用性無視が基本で良いんだよな?と
これがブレると面白いって言う言語が大きく違ってくる
0512デフォルトの名無しさん
2011/07/17(日) 07:49:51.84遊びで書くなんて事はしないっしょ
0513デフォルトの名無しさん
2011/07/17(日) 09:19:47.49C#は「組み易いから面白い」
なんてレスもよく出て来る
0514デフォルトの名無しさん
2011/07/17(日) 09:23:11.98その意味でCommon Lispや最近のHaskellには実用性があって、
だからこそこのスレで名前が挙がってる
0515デフォルトの名無しさん
2011/07/17(日) 10:29:26.41何を以て「遊び」とするかに依る
例えば BrainFuck なんかを「楽しんでる」人たちは、
論理的なパズルを解く(組み立てる?)ような感覚を面白がっている
また、そうとう限られたリソースや極悪な環境で
他人にはできない何かを作ることを楽しんでる人もいる(メガデモ的楽しみ)
最低限の実用性という場合の「最低限」がどの辺りかは知らんが、
このようなことを楽しみとしている人たちにとって
最低限の実用性すらないことはそれほど苦痛ではない
むしろ無い方が高難易度だと言って楽しめる人も多くいる
0516デフォルトの名無しさん
2011/07/17(日) 13:08:33.89適当なプログラムをヘックスダンプして、インテルのマニュアルを片手に
解読して行く行程は胸躍る物だった。ムスカのあの台詞が乗り移るね。
0517デフォルトの名無しさん
2011/07/17(日) 13:23:33.23インタプリタ実装もそれほど難しくなさそうだし
0518デフォルトの名無しさん
2011/07/17(日) 13:41:44.38操作したりする為の手段だから、入出力が手軽に扱えてリテラルもそれなりに
揃ってないとしんどいぞ
0519デフォルトの名無しさん
2011/07/17(日) 13:50:43.64誰か使ってみた?
0520デフォルトの名無しさん
2011/07/17(日) 14:18:56.08新しいんだけど凄くノスタルジックw
0521デフォルトの名無しさん
2011/07/17(日) 17:22:10.25x86も面白かったけど、GBAでARMアセンブラも楽しいぞ
OSも無いゲーム機に組んだプログラム流して動いたの見ると震えるw
0522デフォルトの名無しさん
2011/07/17(日) 18:37:48.70そんなメタ的な使用法でなくとも、もっと軽い用途いくらでもあると思うぞ
たとえばRPGのイベント制御とかなら簡単な演算と制御分岐くらい出来れば十分
Brainfuckはさすがにアレだが、俺はそれをC+FORTHでやってる
0523デフォルトの名無しさん
2011/07/17(日) 18:42:45.12Brainfuckだとさすがにアレだよねってこと
0524デフォルトの名無しさん
2011/07/17(日) 19:15:15.210525デフォルトの名無しさん
2011/07/17(日) 20:34:43.00BrainFuckとかGrassとかで盛り上がってるのは基本アホ
0526デフォルトの名無しさん
2011/07/17(日) 20:37:54.82少なくとも愚かではない
0527デフォルトの名無しさん
2011/07/18(月) 00:05:48.26そういうのいい視点だね
0528デフォルトの名無しさん
2011/07/20(水) 19:17:55.80VBだわ
それに限らず.NETは良いと思う
0529デフォルトの名無しさん
2011/07/20(水) 20:32:35.44面白いというより、楽な言語だな
自分なら、ここじゃ挙げない
haskellとsmalltalk挙げる
0530デフォルトの名無しさん
2011/07/21(木) 01:16:42.85最近触り始めたんだけど、まだ楽しさがよく分かっていない。
0531デフォルトの名無しさん
2011/07/21(木) 01:58:52.060532デフォルトの名無しさん
2011/07/21(木) 02:01:10.060533デフォルトの名無しさん
2011/07/21(木) 04:01:35.790534デフォルトの名無しさん
2011/07/21(木) 04:02:45.24haskellやった事ないけど
0535デフォルトの名無しさん
2011/07/21(木) 04:19:29.53あってる?
機能一覧とデフォルトの振る舞いを纏めたものって感じ。
0536デフォルトの名無しさん
2011/07/21(木) 04:32:25.81>>535
どっちかっつーとinterfaceじゃね
0537デフォルトの名無しさん
2011/07/21(木) 07:47:39.38ループを再帰で置き換えるとか、よく言われるけど、むしろ、いかに再帰を使わないで、関数の組み合わせだけで書いていくかが燃える
(組み込み関数内では再起してるだろうけど)
0538デフォルトの名無しさん
2011/07/21(木) 11:48:37.92どちらかと言えば何かを作るよりも、プログラミング自体を楽しむためにHaskellを使っている人が多いのかな?
自分にはまだ分からないけど、そういう方達を満足させるような構文だったり言語仕様になっているのかな。
ふむ、もうちょい勉強してみます。
0539デフォルトの名無しさん
2011/07/22(金) 02:12:41.52どんなお題に再帰をつかっての?
0540デフォルトの名無しさん
2011/07/22(金) 02:42:34.860541デフォルトの名無しさん
2011/07/22(金) 05:21:14.66ループするものなら何でも
但し末尾再帰にする
0542デフォルトの名無しさん
2011/07/22(金) 08:27:23.57今はしらん
0543デフォルトの名無しさん
2011/07/22(金) 13:13:23.910544デフォルトの名無しさん
2011/07/22(金) 21:20:38.84P99のリストの中身を前後逆にするようなもん?
それとも2分木をトラバースするぐらい?
0545デフォルトの名無しさん
2011/07/23(土) 02:18:00.13今の職場が、ロートルがバイナリにホットパッチ当てまくるから、途中return禁止なんだが、
gotoを解禁するだけでこれだけ使いやすくなるとら思わなかった。
0546デフォルトの名無しさん
2011/07/23(土) 05:31:15.94変数宣言するくらい
0547デフォルトの名無しさん
2011/07/23(土) 11:12:10.72ループの中に飛ぶgotoみたいな曲芸的なのを除けば、
gotoを多用して書かれた関数は素直に末尾再帰に直せるよ
0548デフォルトの名無しさん
2011/07/23(土) 11:12:37.33今はされる
0549デフォルトの名無しさん
2011/07/23(土) 11:14:48.53それはコンパイラの最適化であって、パラダイムの特徴ちゃうわ…
0550デフォルトの名無しさん
2011/07/23(土) 11:18:47.990551デフォルトの名無しさん
2011/07/23(土) 14:11:07.58良い問題集や実装の具体例を教えてエロい人
0552デフォルトの名無しさん
2011/07/23(土) 14:28:57.91末尾再帰は可読性がループ並みなる
そんな事するなら、組み込み関数でループ再現させた方が確実に最適化されるし、可読性が保てる
0553デフォルトの名無しさん
2011/07/23(土) 20:43:11.75それはそうなんだけど、
相互参照してる再帰が最適化されないとか、
デバッグビルド時は最適化されずにスタック積まれるとか、
ふつーにあるぞ。
0554デフォルトの名無しさん
2011/07/23(土) 22:56:39.99どの言語?
デバッグビルドはともかく相互再帰で最適化が効かないのは酷い
0555デフォルトの名無しさん
2011/07/23(土) 23:26:27.30その例の一つは、俺が好きな言語のScalaたんである。
(…あった、と書けるのかもしれない。2.9でどうなってるのかまだ知らない)
0556デフォルトの名無しさん
2011/07/23(土) 23:32:50.25反復を再帰として書こうと思ったら末尾再帰最適化はほぼ必須と思っていいと思うけど、
それは実装レベルの問題であって、言語の問題じゃない。
0557デフォルトの名無しさん
2011/07/24(日) 03:47:23.64実装が 1 つしかない言語だとしかたない。
0558デフォルトの名無しさん
2011/07/24(日) 04:23:44.54言語によっては末尾再帰について実装ではなく「言語仕様」としてるものがある
そういった言語の場合、末尾再帰を実装してない処理系は
もはやその言語を名乗れない、実装の問題ではないよ
まあ、パラダイムとは確かに関係ないけどね
0559デフォルトの名無しさん
2011/07/30(土) 10:44:23.85言語仕様覚えるのを面倒い
コード書きたく無いって人には良いかなと思った
(そうで無い人にもオモチャとしてオススメ)
プロトタイプベースで以外と作り込める
これでプログラミング出来ない奴は、何使ってもプログラミング出来ないだろ。と思った
0560デフォルトの名無しさん
2011/07/30(土) 14:41:19.57プログラマがプログラムを書く用途で使えるものなのかな?
0561デフォルトの名無しさん
2011/07/30(土) 15:09:11.62それは素直に言語覚えろとしか
プログラミング言語覚えてるなら、コード書いたほうが楽だったりする
(ロジック部分にはマウス操作でプログラミングは向かない。。。)
コードを書くより面倒なのに、ロジックをパズルみたいに組み立てるのが楽しいと言う、何か原点回帰的な体験だった
0562デフォルトの名無しさん
2011/07/30(土) 19:12:45.07言語に依存しない、でもプログラミングに大切な(そしてプログラミングが難しい本当の原因)を勉強出来る
逆に言えば、scratchでプログラミング出来なかったら、根本的にプログラマの素質が無い
その位、子供向けだと馬鹿に出来ない位、よく考えられてる
0563デフォルトの名無しさん
2011/08/02(火) 19:42:55.15特に目新しい点は無いような気がするんだけど
0564デフォルトの名無しさん
2011/08/03(水) 00:14:27.02電子ブロックやカルネージハートや FFXII のガンビットのシステムが好きだったとして、
それでも Scratch みたいなシステムを現実的なレベルで実現するのは非常に価値のある
仕事だと思うなあ
小さな子供にソフトウェアの仕組みを学ばせる必要があったら、俺もこれを選ぶかも
0565デフォルトの名無しさん
2011/08/03(水) 01:11:38.75個人的には大人でもプログラミング初心者は、まずscratch触ってから他の言語に行くとスムーズに覚えられるんじゃ無いかと思ってる
自分はある程度言語を覚えた後で触ったけど、良くで来てると思うよ
0566デフォルトの名無しさん
2011/08/03(水) 01:16:36.100567デフォルトの名無しさん
2011/08/03(水) 01:29:32.43パソコン初心者脱してたらそれで良い
何か最近、パソコン初心者すら脱してないのにプログラミングに興味持ってやって来るの多いから。。。
0568デフォルトの名無しさん
2011/08/03(水) 01:38:11.370569デフォルトの名無しさん
2011/08/03(水) 01:55:20.95いきなり統計処理のためにR、matlabが必要になる場面なんてあんの?
0570デフォルトの名無しさん
2011/08/03(水) 07:27:59.25周りの話を聞いて「興味が沸いた」という場面ならいっぱいある
0571デフォルトの名無しさん
2011/08/03(水) 22:37:15.570572デフォルトの名無しさん
2011/08/03(水) 23:06:25.770573デフォルトの名無しさん
2011/08/21(日) 13:09:32.18VB.net も括弧は少ないが、今時行に意味があるような言語仕様は嫌だな。
0574デフォルトの名無しさん
2011/08/21(日) 14:01:44.080575デフォルトの名無しさん
2011/08/23(火) 01:23:03.030576デフォルトの名無しさん
2011/08/23(火) 01:46:17.350577デフォルトの名無しさん
2011/08/23(火) 02:08:06.230578デフォルトの名無しさん
2011/08/23(火) 02:19:12.73んでそれを手直ししたり、デタラメ関数名を実際に実装したりして組み上げてくことが多いかと
でもグラフィックス関係とかになると流石にコードより描いたほうが早いだろな
0579576
2011/08/23(火) 05:24:52.16紙にコードを書くというよりは、処理の流れとかデータ構造を図形とか矢印で紙に描いていくってこと。
フローチャートとはちょっとちがう。
0580デフォルトの名無しさん
2011/08/23(火) 06:12:37.190581デフォルトの名無しさん
2011/08/23(火) 08:00:25.75データ構造もテキストファイルだなあ
Tabで階層付ける感じで書く
紙だと付け足したりするのがやりにくくない?
処理の流れって聞くとフローチャートのような気がするんだが
個人的にはフローチャートよりコード書いたほうが解りやすい…
0582デフォルトの名無しさん
2011/08/23(火) 15:45:12.92手で書いて消してとやらないとなかなか頭に入らないし
手書きの方が余計なものを書かないように頭が働きます
0583デフォルトの名無しさん
2011/08/23(火) 15:54:08.99「余計なものを書かないように」すると、思考そのものが止まっちゃうタイプだからなのか
0584デフォルトの名無しさん
2011/08/23(火) 19:43:43.56最近は擬似コードを紙に手書きが多いかなぁ…。
矢印や図を書いたりするのにツール変えなくて済むのもいい。
んで、擬似コードの段組が終わってからエディタで少々肉付けして、後はIDE。
擬似コードで処理の内容を書いていくと自動的にメソッド切り出しが出来る。
まぁCodeCompleteに書かれてたPPPまんまなんだけど、
やってみるとすごくしっくり来て、そのまま習慣として続いてる。
0585デフォルトの名無しさん
2011/08/26(金) 19:54:14.35人に説明する時だけど
0586デフォルトの名無しさん
2011/08/29(月) 02:51:56.49関数内関数がけっこう好きだった。
λでいいじゃんとも思うけど。
今は、jmpでとんじゃえば?って思うようなプログラミングしてるけど。
0587デフォルトの名無しさん
2011/09/03(土) 16:34:17.36低レベルな層なんて弄っても面白くないし、
高級言語が欲しいなら対応している環境が多いもん使う方ができること多いし、
言語固有の罠やら作法を覚えなくてすむよ。
多言語から入ってわざわざjsonを覚える必要もないし、jqueryなんてライブラリも出来た。
html5のキャンバスにお絵描きもできて、railsにはcoffee scriptが対応した。
仮に今から何か1つだけ言語を覚えて、
プログラミングでやれることを増やすならjavascriptでやるけどな
0588デフォルトの名無しさん
2011/09/03(土) 17:02:02.30ここは、やってて楽しい言語スレですよ
生産効率の良い言語の議論は別のスレでお願いします
0589デフォルトの名無しさん
2011/09/04(日) 16:21:40.68「1個覚えるだけで色々できて楽しい」ってことじゃねーの?
>1にも「また、その理由は?」ってあるし。
0590デフォルトの名無しさん
2011/09/05(月) 22:51:46.07ほんとclojure楽しいのにそんなに人気ないのかな
0591デフォルトの名無しさん
2011/09/05(月) 23:20:09.62Lisp系は好き嫌いが分かれるから。。。
0592デフォルトの名無しさん
2011/09/06(火) 09:18:19.98イベントにインターフェース関連付けて、様々なクラスに処理を飛ばしたり。
クラスの継承のさらに継承にジェネリック合わせて多方面に使えるようにしたり。
シングルスレッドな言語からの人なんで、
処理が複雑に絡み合う。
それでもスパゲティにならないようにバランスを取り続けるってのが
パズル作ってるみたいで楽しい
0593デフォルトの名無しさん
2011/09/06(火) 19:33:40.170594デフォルトの名無しさん
2011/09/07(水) 00:14:59.59javaなんて業務両言語じゃねーの
パズル解くのが好きならschemeなりprologなりの方がいいよん。
0595デフォルトの名無しさん
2011/09/07(水) 07:25:58.13やっぱりパズルと感じるか、書きやすいと感じるかは個々の適性によるところがあるんだと思う
0596デフォルトの名無しさん
2011/09/08(木) 03:01:11.370597デフォルトの名無しさん
2011/09/08(木) 08:56:41.67あれこれな機能をプログラマが使う際に、
プログラマの手間ができるだけ最小かつ処理の無駄を抑えつつ、さらに拡張性と読解難易度を低く保ち続ける構造を求める事
アンドロイド相手にしてる人だから業務用とか知らないけど、
アンドロイドのフレームワークで使用頻度が高いけど、改良すればもっと利便性が上がる箇所とかあるし、
趣味全開
0598デフォルトの名無しさん
2011/09/08(木) 10:43:09.960599デフォルトの名無しさん
2011/09/08(木) 12:18:54.33haXe : http://haxe.org/?lang=jp でも別スレ立てて使ってな。
0600デフォルトの名無しさん
2011/09/12(月) 01:48:44.120601デフォルトの名無しさん
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はリスト内包表記あるの知ってるけど、他の言語でも、こんなに短く書けるんだろうか。。。
0602デフォルトの名無しさん
2011/09/18(日) 23:45:33.11def 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)
0603デフォルトの名無しさん
2011/09/19(月) 00:53:51.34let 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]
0604デフォルトの名無しさん
2011/09/23(金) 01:23:21.32function 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)];
こういう例題って効率良く解こうとすると
途端に汚くなるんだよな
0605デフォルトの名無しさん
2011/09/23(金) 01:56:00.40Select[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++が最速なのかな?
0606デフォルトの名無しさん
2011/09/23(金) 07:22:42.02途中ちょっと必要ないことをやってますが。勘案のログということで。
http://nojiriko.asia/prolog/pythagorean_su_3.html
0607デフォルトの名無しさん
2011/09/23(金) 11:33:34.37手続型でも短く書けるもんですね。
>>606
短くないけど面白そうですね。
手続型、関数型と発想が違う
0608デフォルトの名無しさん
2011/09/23(金) 14:02:07.86このお題だと短く書けるもクソもねーだろ
どうやったら長くなるんだよ
0609デフォルトの名無しさん
2011/09/23(金) 15:40:31.27>>605
http://dada.perl.it/shootout/
使用しているコンパイラが古いけどおおよその傾向がつかめる
大部分C/C++が最速だが、OCamlも馬鹿に出来ない
0610デフォルトの名無しさん
2011/09/23(金) 17:01:08.75少なくとも>>606は故意に長くしているみたい。
0611デフォルトの名無しさん
2011/09/23(金) 21:13:24.86見たけどすごいな
暇人というか何と言うか
0612デフォルトの名無しさん
2011/09/23(金) 23:40:54.18pyths = #^2+#2^2==#3^2&~Array~{#,#,#}~Position~True&
なら>>601より9文字短いけど、リスト内包のほうが見やすいな
0613デフォルトの名無しさん
2011/09/24(土) 00:40:28.40import 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はその逆。
0614デフォルトの名無しさん
2011/09/24(土) 00:54:35.460615デフォルトの名無しさん
2011/09/24(土) 01:01:31.56Cは納得するがOCamlてなんでこんなに速いの?
0616デフォルトの名無しさん
2011/09/24(土) 01:50:02.50Matlabだと文字列のコマンドライン引数をstr2numで数値に変換される処理が入る
function pyths(n); [x y z] = ndgrid(1:str2num(n)); s = x.^2+y.^2==z.^2; [x(s) y(s) z(s)]
0617デフォルトの名無しさん
2011/09/24(土) 02:14:43.29http://scratch.mit.edu/projects/DarthPickley/986731
0618デフォルトの名無しさん
2011/09/24(土) 02:25:13.75無茶しやがるw
0619デフォルトの名無しさん
2011/09/24(土) 05:04:36.53rubyがドン亀すぎて笑える
ライバルのpythonがはるか雲の上じゃん
0620デフォルトの名無しさん
2011/09/24(土) 06:57:32.390621デフォルトの名無しさん
2011/09/24(土) 10:52:55.23>>613のコードをO2オプションつけて最適化したらかなり早くなった。(pyths 100で明確に分かる速さ)
テキスト処理とかの用途だったらruby/pythonより向いてたりするんだろうか・・・
だと嬉しいなぁ・・・
0622デフォルトの名無しさん
2011/09/24(土) 12:38:42.640623デフォルトの名無しさん
2011/09/24(土) 12:44:40.810624デフォルトの名無しさん
2011/09/24(土) 13:35:23.90エスパーすると、>>622 は >>623 みたいな他の条件を揃えた場合の事じゃなくて、
単純に他の要素(柔軟性とか可読性とか)に対して
言語の速度はどれほど重要度・優先順位が高いか(いや、あまり高くないだろ)
という意味かと
0625デフォルトの名無しさん
2011/09/24(土) 13:47:59.96程度問題だなぁ。。。
遅いと言っても、許容範囲なら書きやすい方使うけど、遅過ぎたらそうも行かないし
Webアプリに速度は重要じゃ無いけど、たまに「もうこれ、遅過ぎるだろ」ってサイトはたまに有るし
(多分、アルゴリズムの見直しで解決できそうなレベルだが)
0626デフォルトの名無しさん
2011/09/24(土) 15:02:10.79言語だけで使い物にならなくなるなんてことは無い。
0627デフォルトの名無しさん
2011/09/24(土) 16:00:08.260628デフォルトの名無しさん
2011/09/24(土) 16:19:30.85Haskellなら書ける(そのような^を定義できる)
0629デフォルトの名無しさん
2011/09/24(土) 16:23:11.29直積集合と言うのがよく分からんが、どう言う結果を期待するの?
haskellは演算子も関数だから、定義しようと思えば出来ると思うけど
0630デフォルトの名無しさん
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]]
0631デフォルトの名無しさん
2011/09/24(土) 16:35:17.12コンパイラが優秀だから
0632デフォルトの名無しさん
2011/09/24(土) 16:39:37.870633デフォルトの名無しさん
2011/09/24(土) 16:39:57.59let 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]]
0634デフォルトの名無しさん
2011/09/24(土) 16:45:55.92少しだけ短くなる
使用前: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]
0635デフォルトの名無しさん
2011/09/24(土) 17:05:53.77Mathematica(>>612)に勝ってるな
0636デフォルトの名無しさん
2011/09/24(土) 17:32:53.35益々、正規表現風になってきた。
0637デフォルトの名無しさん
2011/09/24(土) 17:33:16.94使いまわしでスマン
lst ^ 1 = [[x] | x <- lst]
lst ^ n = [x ++ y | i <- [n `div` 2], x <- lst ^ (n - i), y <- lst ^ i]
でも、実際は"^"と"^^"は定義済みなので、"^^^"とかにしてね
0638デフォルトの名無しさん
2011/09/24(土) 20:36:40.36min_∴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 >&
0639デフォルトの名無しさん
2011/09/24(土) 22:38:23.91手続き型というか、リスト演算ができれば短くなる
0640デフォルトの名無しさん
2011/09/24(土) 22:41:59.19なんで、こんなのをよろこんでるのかw
0641デフォルトの名無しさん
2011/09/24(土) 22:57:42.67Scratchのコードを初めて見たけど、なにやら楽しそうだ。
煩雑ではあるが日曜大工的な面白さがありそうだ(と想像)。
0642デフォルトの名無しさん
2011/09/25(日) 01:10:28.09全然汚くないと思うが?
お前が思う綺麗なコードとやらを出してみ?
0643デフォルトの名無しさん
2011/09/25(日) 01:57:56.43こんなのに興味がないが、FORTRANでいい。
この言語にしかできないってことあるか?
どうせ、この言語だとこんなに綺麗に書けますよ
といった好みの問題だろ。
お前が変態を美しいというのなら、別にそれでいい。
相手する気にもならん
0644デフォルトの名無しさん
2011/09/25(日) 02:28:44.14このスレで何言ってんだ、お前の方が場違いじゃね
やってて楽しいなんて、まさに「好みの問題」だろ
ここはそういう趣旨でおしゃべりするスレだと思うが
俺がやってて楽しいFORTRANなら、こんな風に書くぜって言えばいいのに
0645デフォルトの名無しさん
2011/09/25(日) 03:32:11.890646606
2011/09/25(日) 05:09:54.670647デフォルトの名無しさん
2011/09/25(日) 07:24:26.03別にそういうテーマで頭の体操するならいいけど
(>642)→>643みたいに
「何もうまいこと言えないけどとにかくサイキョ!」っていうようなのは特に
0648デフォルトの名無しさん
2011/09/25(日) 08:16:14.30こいつはFortran書けないに一票
0649デフォルトの名無しさん
2011/09/25(日) 08:25:04.68プログラミング言語覚えた後だと非効率的極まりないが、作るのも動かすのも楽しいぞ
デバッグは、他の言語と比べ物にならん程イライラするがw
0650デフォルトの名無しさん
2011/09/25(日) 15:11:23.66hack精神に溢れてるなw
0651デフォルトの名無しさん
2011/09/25(日) 15:25:57.96まあ、最初のPrologインタプリタ処理系はFORTRANで書かれたくらいだから。
もっともこれは元になった自然言語解析システムがFORTRANで書いてあって、
それをそのまま流用したからだと思うけど。
0652デフォルトの名無しさん
2011/09/25(日) 16:39:00.360653デフォルトの名無しさん
2011/09/25(日) 19:25:56.60おーい。殺虫剤もってきて!
害虫じゃない、ゴミ退治だw
0654デフォルトの名無しさん
2011/09/25(日) 20:08:53.730655デフォルトの名無しさん
2011/09/25(日) 20:22:47.28はははっ!こやつ。と思って調べたら、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++を覚えたと思ったバッドノウハウの塊だったとか悲しすぎるな
0656デフォルトの名無しさん
2011/09/26(月) 14:53:33.160657デフォルトの名無しさん
2011/09/26(月) 15:57:24.170658デフォルトの名無しさん
2011/09/26(月) 18:42:45.08Pythonにはlist comprehensionあるけど
1..nをrange(1,n+1)と書かないといけないしlist comprehensionのsyntax自体
for〜in〜if〜とか余計なものを書かせるので、集合表記として読みにくいし
別に短くもならない
Rubyだとlist comprehensionないのでproduct()とselect()で書く感じかな
0659デフォルトの名無しさん
2011/09/26(月) 18:45:22.92みたいなものがないから、一般的な関数にしにくいのがむしろネック
メモリの無駄を承知で全部のリスト作って返すことにしたとしても
やはり面倒くさい
#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);
}
}
0660デフォルトの名無しさん
2011/09/27(火) 01:07:29.09うーん・・・
例が悪かったのかも?
副作用を多用するようなプログラムの場合はHaskellは苦手って話は良く聞くけど、そこまでやった事ないから、なんとも・・・
今度、時間があったらHaskell版のじゃんけんゲームでも作ってみます。
それと他の言語の比較でもしませう。
0661デフォルトの名無しさん
2011/09/27(火) 16:52:42.45OCamlは正格評価だから、一度 (1--n)^3 のリストが生成されてしまう
それを避けるにはHaskellのような非正格評価か、Pythonのジェネレータ的なものが必要になる
そういう問題を考えなくて済む点ではHaskellは楽だし、
比較の意味はあったんじゃないか?>>660
0662デフォルトの名無しさん
2011/09/27(火) 16:56:18.78以下は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]
| _ -> [<>]
0663デフォルトの名無しさん
2011/09/27(火) 19:44:09.410664デフォルトの名無しさん
2011/09/27(火) 22:36:44.92そんなに長くないように見えるが、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);
}
}
0665デフォルトの名無しさん
2011/09/28(水) 00:27:44.19いざ実装しようとすると案外頭を使う
0666デフォルトの名無しさん
2011/09/28(水) 00:45:01.53やはり前に出てきたPrologのコードのように多重ループを見せない
工夫がいるのでは。
0667デフォルトの名無しさん
2011/09/28(水) 00:49:42.71「見せない」ようにすると不自然になる
「見る必要がない」ようにすると自然になる
0668デフォルトの名無しさん
2011/09/28(水) 01:07:58.79Pythonならジェネレータで書いたほうがいいな
(つーか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]]
0669デフォルトの名無しさん
2011/09/28(水) 01:20:07.780670デフォルトの名無しさん
2011/09/28(水) 01:45:08.72ジェネレータ式に書き直してみた
product = lambda *xs: [[]] if not xs else ([y] + ys for ys in product(*xs[1:]) for y in xs[0])
Pythonはジェネレータ式にも内包表記が使えて良いな
0671デフォルトの名無しさん
2011/09/28(水) 02:08:52.19sqrt(x^2+y^2)等々は無しで)、どれくらいコード変化する?
0672デフォルトの名無しさん
2011/09/28(水) 02:37:33.30まさに省メモリ化の話だと思うが
0673デフォルトの名無しさん
2011/09/28(水) 03:47:06.11こういう議論はC以外だとさらに解らなくなるな
0674デフォルトの名無しさん
2011/09/28(水) 20:12:54.24しかも、書いてる奴は「俺はこんなにうまいんだ!」と自己陶酔してるから
始末が悪い。メンヘルに治療に逝ってこい。アスペルガーの糞共。
0675デフォルトの名無しさん
2011/09/28(水) 20:16:39.59コードが冗長すぎて1レスに収まらんだろうけどwww
0676デフォルトの名無しさん
2011/09/28(水) 20:21:22.11\ �U /
\ �U /
/ ̄ ̄ ヽ,
/ ', / _/\/\/\/|_
\ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ /
\ / く l ヽ._.ノ ', ゝ \ <本当にスゲエ!>
/ /⌒ リ `ー'′ ' ⌒\ \ / \
(  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄
` ̄ ̄`ヽ /´ ̄
| |
ゴゾンジ!の変態ぶりにジュウシマツも驚いています。
0677デフォルトの名無しさん
2011/09/28(水) 20:25:38.41アホの極みだな
0678デフォルトの名無しさん
2011/09/28(水) 20:28:00.20雑魚だけど
0679デフォルトの名無しさん
2011/09/28(水) 20:57:10.16このスレは、あなたの言う変態プログラムのためのスレだから
うじゃうじゃいる方が当たり前
0680デフォルトの名無しさん
2011/09/29(木) 18:55:25.100681uy
2011/10/03(月) 04:20:58.60>>664
こういうソースコードをみると、古めかしさを感じるだけど、お前等はどうなの?
特に { ... } これが古めかしいよね
Rubyみたいに思い切ってendとか、Pythonみたいにインデント構造にするとか
Lisp、XML、 ぱっと思いつくだけで4種類も別の方法がでたが
古いものがよいとも限らないところがIT技術だねぇ
0682デフォルトの名無しさん
2011/10/03(月) 05:45:16.26p :- q1,q2,q3.
というような構造もあるが。
0683デフォルトの名無しさん
2011/10/03(月) 10:19:17.64endだけは勘弁
0684デフォルトの名無しさん
2011/10/03(月) 19:37:17.95TransactSQLみたいに文法の欠陥でBEGIN,ENDを書かざるを得ないのは最悪。
けど、Endホニャララってそんなに悪いもんでもないと思うよ。
{ ... }を使用(多用)する場合、特殊な意味(レコード型とかクロージャとか)に使いにくくなるし、
言語が強いるコーディングポリシによってはElseIf周辺で3行取る事になるのはどうよと思う。
というかEnd勘弁って人はなんでそう思うのさ?>>683
0685デフォルトの名無しさん
2011/10/03(月) 20:01:48.40ブレース使うのは古めかしくも何ともないし
endもインデントも括弧も何らおかしくはない
特定の書法を貶める気持ちは全く理解出来ん
0686デフォルトの名無しさん
2011/10/04(火) 00:35:57.13ジャンプしたりできる。
愛用してるエディタがbegin〜endの対応をサポートしてくれるなら、そっちでもいいのだが。
0687デフォルトの名無しさん
2011/10/04(火) 00:52:42.53気持ち悪い
0688デフォルトの名無しさん
2011/10/04(火) 00:54:00.62自分で設定すればいいじゃないかプログラマなら
勉強でRubyやってたんだけどMacのXcodeで対応してたよ
他は知らん
0689デフォルトの名無しさん
2011/10/04(火) 01:19:29.10誰かがfixしたり便利なマクロを先んじて作ってくれるからだ
ダチョウ倶楽部のどうぞ、どうぞののりで
0690デフォルトの名無しさん
2011/10/04(火) 07:14:26.08まだ居るのか?
0691デフォルトの名無しさん
2011/10/04(火) 14:27:48.31endの後ろにピリオドって何の言語?
0692デフォルトの名無しさん
2011/10/04(火) 15:28:40.46ESP
0693デフォルトの名無しさん
2011/10/04(火) 22:20:56.290694デフォルトの名無しさん
2011/10/04(火) 22:58:02.90Silverlightは業務で使わない分には良いサブセット
0695デフォルトの名無しさん
2011/10/05(水) 00:12:51.39Pascalは最後のendだけだろ
0696デフォルトの名無しさん
2011/10/05(水) 02:18:22.060697デフォルトの名無しさん
2011/10/05(水) 05:53:35.62すこし外れますね。
0698デフォルトの名無しさん
2011/10/05(水) 08:14:18.12それにしたって、Pascalの場合は
エディタの設定には何も困らないんだよ
0699デフォルトの名無しさん
2011/10/06(木) 15:19:29.57node.js最高
0700デフォルトの名無しさん
2011/10/06(木) 20:15:33.170701デフォルトの名無しさん
2011/10/06(木) 21:18:24.24もっと早くML系やっとけばよかった。
0702デフォルトの名無しさん
2011/10/07(金) 05:49:52.77js使ってモジュール化してくのが楽しいよ。
単に見下したくて言ってるだけなら死ね。
0703デフォルトの名無しさん
2011/10/07(金) 07:24:27.19モジュール化してくのが楽しいって、意味が分からん
モジュール化なんてたいていの言語で実現できるが、
jsでモジュール化するのと他言語でモジュール化するのとで、
「楽しさ」にどう違いが出るの?
0704デフォルトの名無しさん
2011/10/07(金) 07:57:59.88なんでもアリの楽しい言語だよ。
扱いを間違えれば、あっという間にカオスで、バギーになるけど。
0705デフォルトの名無しさん
2011/10/07(金) 15:11:09.62なんでもありというならそれこそPerlがそうだし、Pythonは真逆の思想でしょ
いや、JavaScriptをバカにする気はないけどさ
0706デフォルトの名無しさん
2011/10/07(金) 17:34:13.55みんな仕方なく使っているだけ
0707デフォルトの名無しさん
2011/10/07(金) 17:43:26.36表現力が高いことを言いたかったんだけどね。
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))];
0708デフォルトの名無しさん
2011/10/07(金) 20:21:35.120709デフォルトの名無しさん
2011/10/07(金) 20:26:33.370710デフォルトの名無しさん
2011/10/07(金) 22:05:48.610711デフォルトの名無しさん
2011/10/07(金) 22:13:36.89絶賛してる奴でもうお腹いっぱいって事かよ。
はいはい、素直に帰りますわ。
0712デフォルトの名無しさん
2011/10/08(土) 00:54:23.38ニュー即あたりで初心者に勧めてるキチガイは頭おかしいと思う
0713デフォルトの名無しさん
2011/10/08(土) 01:08:10.40webプログラミングやりたいって奴にはjavaScript取り合えず勧めるけど、学習用途はhaskellだな
その後C#へ進めと言う流れで
0714デフォルトの名無しさん
2011/10/08(土) 06:37:50.82モナディウスの詳細見る限りでは
言語学習というよりアルゴリズム力(論理力)アップに役立ちそうな感じがするんだけどどう?
0715デフォルトの名無しさん
2011/10/08(土) 07:39:14.39モナディウスを見ても、関数型言語としてのアルゴリズムは
あまり参考にならないような気がする
が、Haskell がアルゴリズム力(論理力)アップに役立ちそうな
という感じは間違っていないと思う
今まで培ってきた自分のアルゴリズム力に、新たな発想力が加わるという意味で
0716デフォルトの名無しさん
2011/10/08(土) 12:37:02.060717デフォルトの名無しさん
2011/10/08(土) 16:06:20.39練習問題も良い問題多いし
0718デフォルトの名無しさん
2011/10/10(月) 00:57:34.51その辺の道端に犬のウンコぐらいいくらでも転がってんだろ
haskellでCSP、TSPなりパーサーなりをスラスラ書ける奴と
手続き型でありきたりなウェブアプリしか書けない奴を同時に面接するとして、
自分が経営者ならどっちを雇いたい?
0719デフォルトの名無しさん
2011/10/10(月) 02:16:18.07手続き型でCSP、TSPなりパーサーなりをスラスラ書ける奴と
haskellでありきたりなウェブアプリしか書けない奴を同時に面接するとして、
自分が経営者ならどっちを雇いたい?
0720デフォルトの名無しさん
2011/10/10(月) 02:23:52.62どちらが必要かは、何をどう経営してるかや経済状況などによるとしか言いようがない
そういう当たり前な前提条件を全く提示しないでたとえ話を持ちかける奴は、
どういう経営状況・経済状況であってもプログラマとしては雇いたくない
0721デフォルトの名無しさん
2011/10/10(月) 05:18:14.74CSPとは何か、TSPとは、パーサーとは何か、を理解してればどっちでも書けるだろ
そう言うのを理解するためのhaskellで、必要なパフォーマンスに合わせて他の言語でも書けると良い
0722デフォルトの名無しさん
2011/10/10(月) 12:24:14.0210種類の言語を10時間ずつやった奴と、2種類の言語を50時間ずつやった奴でどちらがマとして優秀か?と言えば後者だろう。
なぜなら前者はどの言語も環境や基本文法に慣れるだけの入門レベルで忙殺されて応用的な課題に取り組めないから。
0723デフォルトの名無しさん
2011/10/10(月) 12:26:26.23二種類しか言語使えない俺優秀って言いたいの?
0724デフォルトの名無しさん
2011/10/10(月) 12:54:44.490725デフォルトの名無しさん
2011/10/10(月) 14:49:41.78手続き型、オブジェクト指向、関数型、論理型、機械語、
brainfuck,whitespaceなんかで計100時間ほど触った奴を選ぶよ
0726デフォルトの名無しさん
2011/10/10(月) 15:15:58.68Haskeで募集して、PHPで書かせる。
0727デフォルトの名無しさん
2011/10/10(月) 17:29:44.19鬼だ‥‥‥。
0728デフォルトの名無しさん
2011/10/10(月) 17:44:15.11優秀な Haskeller なら Haskell->PHP トランスレーターを作って対処する
0729デフォルトの名無しさん
2011/10/10(月) 17:46:37.97PHP->Haskellトランスレーターも必要だな
0730デフォルトの名無しさん
2011/10/10(月) 22:17:35.17PHP上で動くwikiみたいなフレームワーク組んで、ついでのようにそこにオレオレ言語のインタプリタ組んだ。
クソ遅かったけど、社内で大流行したわ。
あれ楽しかったな。
0731デフォルトの名無しさん
2011/10/13(木) 21:37:15.540732デフォルトの名無しさん
2011/10/15(土) 22:41:13.92要は広告枠をある程度自社でも処理しよう的な。
0733デフォルトの名無しさん
2011/11/07(月) 17:14:21.58その言語とその方言ばかりで10言語100時間だったら、そこそこの
技量はついてると思うけど、全く毛並みの違う言語10言語だったら
時間は足りないだろうね。
Common Lisp,Haskell,C++,Prolog,Python,Java,SmallTalk,R,SQL,Fortran
を100時間で10言語といわれたら、かなりきつそう。
7つの言語7つの世界だっけ?あれが流行ってるから7つくらい概要を
知ることができる人は増えるかもしれん。
0734デフォルトの名無しさん
2011/11/07(月) 17:42:04.76あるていど見につけてしまったら、制限らしい制限が殆どなくなる。
ただ、ライブラリの不足による制限を感じることはあるが。
やってていらいらする言語は?C++だったな。
0735デフォルトの名無しさん
2011/11/07(月) 17:57:40.98態度のでかさ、横柄さだけは凄い
0736デフォルトの名無しさん
2011/11/07(月) 18:59:09.57Haskellは
0737デフォルトの名無しさん
2011/11/07(月) 18:59:35.220738デフォルトの名無しさん
2011/11/07(月) 19:38:04.660739デフォルトの名無しさん
2011/11/07(月) 20:46:27.27Lispは記法になれるのが大変だからね。Haskellも面白い。
日本人が英語に、あるいは英語ネイティブが日本語に戸惑
うところと似てるかもしれない。
0740デフォルトの名無しさん
2011/11/07(月) 21:14:45.92プログラムの概念を知っていたからかもしれんが(basicで)
0741デフォルトの名無しさん
2011/11/07(月) 21:50:05.90どうしたらよいものやら。
いや、末尾再帰がどうだの高階関数がどうだのってのは説明読めばわかる。
でも、他人にも使ってもらうような業務アプリ作るならGUIの作り方を知らなければならないし、
TCP/IP通信やら正規表現を使ったテキスト処理やらにも習熟しなくちゃならない。
これまでシェルスクリプト、awk、sed、python、Tcl/Tkを適当に使い分けてきたんだが、
それらの代替となるほどにLispを使い込む自信は全くない。
0742デフォルトの名無しさん
2011/11/07(月) 22:08:58.22Common Lisp で使えるものを作ろうとすると、
整理された使いやすい標準的なライブラリない。
0743デフォルトの名無しさん
2011/11/07(月) 22:56:52.13そいつが最近Haskellかじってるとか言い出したから、8クイーンをお題に出してあげたら、
そんなにHaskell詳しくないとか言い訳はじめてくそわろたww
じゃあJavaで書いてもいいよって優しさ見せてやったら、それでも解けないでやがるwwwバカスw
使いもしない言語を覚える前にやることあんじゃねえの?ww
0744デフォルトの名無しさん
2011/11/07(月) 23:20:47.108クイーンだって知らなくてもSICPでお目にかかることになるしね。
Common LispはInternet普及以前の仕様のままなのが辛いところかも、日本人で
web関連を整備することに情熱をかけてる人は出てきてるけど、大変だよね。
ライブラリのことをきにしてLispをやるのならClojureが一番気楽かも。Java
ライブラリをそのまま生かせるから。
Haskellって学習コストが高い印象があるけど、他言語習得者で実際に習得し
た人何ヶ月くらいで、ちょっとした小物を作った?
0745デフォルトの名無しさん
2011/11/08(火) 06:45:31.44そいつは言語オタクであってプログラマではないな
言語の文法は沢山覚えてるけど、8クイーン自体は作ったことないだろ
俺の仲間だわw
(それでもクイックソートとマージソートは作れるが)
0746デフォルトの名無しさん
2011/11/08(火) 07:07:28.64Lispもマクロとか継続とか語りだしたら途端に難易度上がるし、Haskellと大差ない気がする
プログラミングHaskell読めばコマンドラインアプリならすぐ作れるようになる
(大体一か月?)
GUIとか外部パッケージは、Hoogle or Hahooがある分、JVMに乗ってない他のマイナー言語よりは大分情報探しやすいと思うけど
言語オタクだから、関数づくりに夢中になりすぎて実際のアプリはじゃんけんゲームとか、yesコマンドとかしか作ってないけど^^;
手続型言語よりも、作りたい関数をコードにしやすいんで、GUIライブラリさえ決めて覚えればjavaよりも簡単にGUI作れそう
(両方とも、テキストエディタ上での開発の場合)
glade(GUIビルダー)拡張してIDEになってくれんかね…
0747デフォルトの名無しさん
2011/11/08(火) 08:43:34.100748デフォルトの名無しさん
2011/11/08(火) 11:32:17.90マクロの感覚が身につくのは半年以上はかかるだろうな。マクロで
マクロや関数を作るってのは抽象化のセンスも問われるところだし
多分、これがうまく作れる人はhaskellのポイントフリースタイル
はすぐにできるようになる。両方共扱うけど、使うときのセンスが
共通してる。
Lisp:マクロ周辺,Haskell:モナド周辺, C:ポインタ周辺
この辺がそれぞれの言語を扱う上でワンランク上に行くの壁だろう。
モナドは、人が難しいというけど、やってることを見ると単純なこ
とだから。偏見がなければ習得は難しくない。モナド変換子まで行くと
混乱するかもしれないというのが感想。継続にしてもモナドにしても
感覚的に理解を促す説明が誰もうまくできてないのがダメなのかなと
思ってて、良い方法がないか模索はいつもしてる。
0749デフォルトの名無しさん
2011/11/08(火) 11:41:47.57初学者は天から降ってくる感じになってしまう
OCamlあたりでモナドを自作して使ってけば
わりと簡単に理解できると思う
0750デフォルトの名無しさん
2011/11/08(火) 17:59:08.71あんまマと関係なくないか
0751デフォルトの名無しさん
2011/11/08(火) 18:27:55.23Pythonで書くとこんなもんだ
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
0752デフォルトの名無しさん
2011/11/08(火) 18:28:37.230753デフォルトの名無しさん
2011/11/08(火) 19:20:23.120754デフォルトの名無しさん
2011/11/08(火) 19:26:04.31FizzBuzzは
「根本的にプログラマに向いてない人種」
を振り落とすための問題だから仕方ないな
0755デフォルトの名無しさん
2011/11/08(火) 19:30:40.29大げさに間違ってるのはギャグのつもり?
0756デフォルトの名無しさん
2011/11/08(火) 19:37:42.81> 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))
こうかな
0757デフォルトの名無しさん
2011/11/08(火) 19:40:58.11別に大げさなもんじゃないなら、もっと自信持てよ
0758デフォルトの名無しさん
2011/11/08(火) 19:42:30.620759デフォルトの名無しさん
2011/11/08(火) 21:49:46.07ちょっとびっくり。
0760デフォルトの名無しさん
2011/11/08(火) 23:09:44.82たぶん変数が関数スコープだからだと思う
0761デフォルトの名無しさん
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))))
0762デフォルトの名無しさん
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))
0763デフォルトの名無しさん
2011/11/09(水) 01:06:56.860764デフォルトの名無しさん
2011/11/09(水) 05:59:13.14嬉しくてつい・・・
0765デフォルトの名無しさん
2011/11/09(水) 08:36:26.910766デフォルトの名無しさん
2011/11/09(水) 10:27:49.27かまへんよ。嬉しいことは多くの共有したいもんね。:-)
0767デフォルトの名無しさん
2011/11/09(水) 14:50:54.51でも絶対に使いたくない言語だと思わせる。
0768デフォルトの名無しさん
2011/11/09(水) 15:18:08.77ほんとに書けない奴いるの
0769デフォルトの名無しさん
2011/11/09(水) 15:40:36.630770デフォルトの名無しさん
2011/11/09(水) 17:12:55.090771デフォルトの名無しさん
2011/11/09(水) 18:04:32.07如何に面白い、そうきたか、と思わせる書き方ができるかが大事
そういう意味ではソーティング アルゴリズムなんかと似てる
0772デフォルトの名無しさん
2011/11/09(水) 19:04:51.92でももっと短く書けるに違いない
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)
0773デフォルトの名無しさん
2011/11/09(水) 19:44:05.91学校でプログラミング習うと
分岐やループ辺りから何人か脳がフリーズし始めるよ
0774デフォルトの名無しさん
2011/11/09(水) 19:58:52.60#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;
}
0775デフォルトの名無しさん
2011/11/09(水) 20:09:05.65basicで値の交換が理解出来ない人が居たのには驚いた
(関数使える言語なら、まだ分からなくはない)
haskell ってそんなに簡単にかけるのですね。うらやましい。
0777デフォルトの名無しさん
2011/11/09(水) 23:21:50.75let 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)
0778デフォルトの名無しさん
2011/11/10(木) 01:20:24.26> queens(n, x + 1, (pos[x] = y, pos));
恥ずかしながら、この用法初めて知ったよ。
更新したものを返すのを引数内に書けるのね。
今まで","はfor文第一引数で複数の変数の初期化とかしか使ったこと無かった。
得した。ありがとう。
0779デフォルトの名無しさん
2011/11/10(木) 03:19:03.92ああそうか、最初から二要素タプルにすれば良かったのね
直した
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)
0780デフォルトの名無しさん
2011/11/10(木) 07:21:07.87これ、手続き型言語だとどう書くんだろ?
0781デフォルトの名無しさん
2011/11/10(木) 22:41:48.770782デフォルトの名無しさん
2011/11/11(金) 00:53:33.39ハスケルもオカムも全然わからん
0783デフォルトの名無しさん
2011/11/11(金) 01:18:34.09そりゃ、文法くらいは覚えなきゃ判るわけないw
でも、Cより、ポインタとか機械寄りな概念がない分、素直に書けるし、素直に読める。
自然数の定義なんて、
data 自然数 = ゼロ | ひとつ足す 自然数
型、自然数はゼロか、自然数にひとつ足したもの。と言う定義。
ゼロは自然数だから、
1 = (ひとつ足す ゼロ)
ここで「1」と「ひとつ足す」が=(イコール)じゃないのがミソ。
インクリメントは、何か自然数を受け取って、「ひとつ足す」
inc n = ひとつ足す n
デクリメントは何か自然数に「ひとつ足したもの」を受け取って、「ひとつ足す前の」自然数を返す
dec (ひとつ足す n) = n
それを処理系が解釈できるように>>761-762は半角英数で書いてるだけ。
0784デフォルトの名無しさん
2011/11/11(金) 01:21:47.48http://www.haskell.org/haskellwiki/99_Haskell_exercises
↑Haskellのプログラム例がある。
リストの最後の要素を出力する、などの簡単なもの。
0785デフォルトの名無しさん
2011/11/11(金) 07:33:01.21他人のコード読むなら、CでもhaskellでもOCamlでも組込み関数覚える必要は有るな
でも、Cと違って型宣言の読み方に複雑なパターンはない
(関数ポインタとか)
何より、基本的なデータ構造が配列とリストって言う違いが大きい
手続き型言語だと入門終わってから使う柔軟なデータ構造なのに、それがデフォルトになってる
配列の方が、簡単さ、柔軟さを犠牲にして速度を求める、入門終わってから使うデータ構造と言う位置付け
0786デフォルトの名無しさん
2011/11/11(金) 10:15:13.14確かに早さが違うもんな。配列は任意の要素にアクセスするのにO(1)だけど
リストはO(N)、順次処理させるようなものはリストは得意だし。
今年はhaskellを身につけるという方針でやってるけど、いつか、
prologとsmalltalk
をやってみないとと思ってる。今までやってた言語にくらべても
毛並みが違うから時間が欲しそうだし。これらの言語を楽しくて使ってる人
あまりいないのかもしれないが。
0787デフォルトの名無しさん
2011/11/11(金) 12:38:44.32概ね同意だけど、
> 順次処理させるようなものはリストは得意だし
「順次処理」なら配列も同じ
次の要素へのポインタを経由しなくて良い分、むしろ配列の方が得意
リストは挿入や連結が配列に比べて得意
0788デフォルトの名無しさん
2011/11/11(金) 15:05:26.29そうやった。訂正ありがと。
0789デフォルトの名無しさん
2011/11/11(金) 18:50:21.25本当に速いのは先頭への追加/削除だけ
0790デフォルトの名無しさん
2011/11/11(金) 19:11:05.69え?
add3 (n1:n2:n3:ns) x = n1:n2:n3:x:ns
0791デフォルトの名無しさん
2011/11/11(金) 19:14:43.40速さよりも単純明快さを求めてるからな
速さ求めたければ配列でやればいいし
0792デフォルトの名無しさん
2011/11/11(金) 19:20:12.07「先頭に近いところ」への追加は速いと言ってもいいけど、
add3を一般化てaddNにしたら、addNはNに比例する時間が掛かる
0793デフォルトの名無しさん
2011/11/11(金) 19:33:09.29内部的には他の言語も同じだと思うが・・・
0794デフォルトの名無しさん
2011/11/11(金) 19:46:15.00破壊的なつぎかえ(splicing)を許しているのなら、途中の入れ替えもO(1)でできるよ
Lispで言うとconsセルのcarまたはcdr部の書き換え
splicingを使わないのなら、リストが動的配列に対して勝る部分は正直なにもないね
動的配列でも末尾の追加はO(1)で、全要素にO(1)でランダムアクセス可能だ
0795デフォルトの名無しさん
2011/11/11(金) 19:49:49.95馬鹿?
文法で得手不得手を語ってる流れに見えた?
0796デフォルトの名無しさん
2011/11/11(金) 19:50:34.34関数型言語でリストが多用されるのは、それが再帰と相性がよく、
部分列を(ポインタのような飛び道具なしで)自然に扱うことができて、
先頭への要素の追加が既存の部分を破壊しないからだろう
(動的配列ではメモリが再配置される可能性がある)
0797デフォルトの名無しさん
2011/11/11(金) 20:06:58.39騙されたな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
破壊的かどうかってのは、リストと言うデータ構造の速度とは別の問題。
0798デフォルトの名無しさん
2011/11/11(金) 21:55:00.65何に騙されたって?
ともあれ、破壊的更新ができるリストなら、あらかじめ末尾へのポインタを持っておけば
定数時間で連結できるよね
0799デフォルトの名無しさん
2011/11/12(土) 07:51:00.78変動する末尾へのポインタ保持するのに結局最初から辿らないといけなくね?
うろ覚えだが、Cのデータ構造としてのリストも
struct intList
{
int value;
intList *next;
}
みたいなのじゃなかったっけ?
0800デフォルトの名無しさん
2011/11/12(土) 08:10:39.62いや、末尾へのポインタをずっと保持しておいて、必要に応じて更新するという手段がある
末尾への要素の追加と二つのリストの連結は(末尾ポインタの更新を含めても)定数時間
構造としては、そのintListを使って、
struct wholeIntList
{
intList *first; /* 先頭ノードを指す */
intList *last; /* 末尾ノードを指す */
};
みたいにする
0801デフォルトの名無しさん
2011/11/12(土) 08:27:34.05上のレスのやり方は双方向リンクリスト+頭とケツを覚えておく、だよね。
そこに[ほぼ真ん中も覚えておく]とするとO(log)になったりして
0802デフォルトの名無しさん
2011/11/12(土) 08:29:49.750803デフォルトの名無しさん
2011/11/12(土) 08:31:31.17うーん・・・
それでいくと
head xs = xs!!1
last xs = xs!!(length xs -1)
みたいな感じで、!!は定数(O(1))だけど、length xs -1の部分でO(n)掛かってるよね。みたいなのは変わらん気も・・・
(いや、!!も実際はO(n)だろうけど・・・)
参考までに、どういう仕組みでリストの末尾を保持するのか教えてほしい
0804デフォルトの名無しさん
2011/11/12(土) 08:49:00.45前半何言ってるか分からん
>参考までに、どういう仕組みでリストの末尾を保持するのか教えてほしい
要素数1のリストの末尾を保持するのは簡単(空リストはちょっと特別扱いが必要)
そこから始めて、
・要素を先頭に追加する(末尾は変わらない)
・要素を末尾に追加する(末尾ポインタの更新は自明)
・二つのリストa, bを連結する(bの末尾が全体の末尾になる)
を繰り返すことでリストを作れば、ずっと末尾ポインタを持ち続けられる
末尾からの要素の削除はできないけど、これは単方向リストなので仕方ない
0805デフォルトの名無しさん
2011/11/12(土) 12:21:11.850806デフォルトの名無しさん
2011/11/18(金) 15:47:24.43クヌース先生の本でも読めば…
0807デフォルトの名無しさん
2011/11/22(火) 18:23:21.690808デフォルトの名無しさん
2011/11/22(火) 18:56:02.05100万/月でリース出来ます。
0809デフォルトの名無しさん
2011/11/22(火) 19:09:09.56むちゃくちゃ安いな
それどこだよ
会社名やホームページ、住所や電話番号さらせ
0810デフォルトの名無しさん
2011/12/06(火) 10:15:56.63twitterでRubyに勝利したJavaがScalaにも勝利した
またJavaの時代が来ちゃうんじゃね?
0811デフォルトの名無しさん
2011/12/06(火) 10:44:17.370812デフォルトの名無しさん
2011/12/10(土) 16:26:06.590813デフォルトの名無しさん
2011/12/11(日) 08:06:04.44今ではVBとC#はその記述以外大体同じらしいのに
このスレではC#だけ持ち上げられてVBがさっぱりなのはそのせいなの?
Basicから抜け出せない人用か
0814デフォルトの名無しさん
2011/12/11(日) 13:16:47.410815デフォルトの名無しさん
2011/12/11(日) 13:36:14.25C#と同じこともかけないしね。λとか、.net FW3.5以降の美味しい所はあんまり食べれない。
とは言うものの、うちはVB.netだよ。その通り、前のバージョンがVB6だから。
インフラ周りはC#とcppだけど。
0816デフォルトの名無しさん
2011/12/11(日) 17:48:56.420817デフォルトの名無しさん
2011/12/11(日) 18:49:40.53初期はVB側の人が、大文字小文字に無頓着で、イラっとしたりしたが、最近はコーディング規約が現実的な所に落ちて来てて、
あんまり不自由無いよ。
VisualBasic.dllは重たいが。
0818デフォルトの名無しさん
2011/12/12(月) 07:23:54.05ttp://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer03/vbcheer03.html
ただこれ「脱出対象の指定」というより「caseにbreakやExitが不要」だというのが重要だよね
C#でもそうすれば便利だったと思う
逆にVBは等価判定が代入と同じ「=」だというのが何だか酷い
「厳密等価演算子 VB」でググっても出て来ないし
a=b==0とかいうのはVBでどう書くの?
0819デフォルトの名無しさん
2011/12/12(月) 08:18:22.62VBでは代入は文なので曖昧性はない。
0820デフォルトの名無しさん
2011/12/12(月) 08:51:23.96VBは左端のa=のみを代入と認識
つまりaとb両方同時に代入は出来ないってことか・・・
C#〜JAVA〜AS(javaスク)やってる俺からするとかなり異様だわ
0821デフォルトの名無しさん
2011/12/12(月) 10:31:18.63式を書くときに=を書くと確実に等価演算子
てかBASIC出身の俺からすると
C系の「代入が値を返す」仕様はデメリットのが大きく感じるよ
0822デフォルトの名無しさん
2011/12/12(月) 10:42:03.43代入構文以外だとかならず比較演算子だから、大丈夫。
心配なら右辺にカッコつければいい。
0824デフォルトの名無しさん
2011/12/12(月) 11:41:04.53「代入」操作自体が、関数の一種だとかんがえればいいと思う。
0825デフォルトの名無しさん
2011/12/12(月) 12:49:09.540826デフォルトの名無しさん
2011/12/12(月) 13:20:47.93それが文扱いになるのってVBだけ?
0827デフォルトの名無しさん
2011/12/12(月) 19:03:50.38文扱いになる代入操作は VB 以外にも Python や「なでしこ」などある
こういう言語では、代入は代入演算子ではない
0828デフォルトの名無しさん
2011/12/12(月) 21:09:25.320829デフォルトの名無しさん
2011/12/12(月) 21:09:53.00そもそもBASIC系はだいたいそうだよ
0830デフォルトの名無しさん
2011/12/12(月) 21:10:42.04LETね
SETはVBなどにある、参照の代入
LET A = 1
0832デフォルトの名無しさん
2011/12/12(月) 21:42:35.62Haskell も let a = 1 だ
0833デフォルトの名無しさん
2011/12/17(土) 20:46:48.15結局、結果を見てその成果物の成長を楽しめないならクソ言語。
書くことが楽しくて、やってることが単なるリファクタリングばかりなら
不毛でしか無い。
ということで、楽しいとなると、シェルスクリプト(zsh, bash)とC++か。
前者は、とにかく必要なものをすぐ作れて楽しい。
後者は、グラフィックスとかアーカイバとか、個性のはっきりしたものを作れて楽しい。
0834デフォルトの名無しさん
2011/12/17(土) 23:34:55.36書いた通りに動くぞ。
あとドマイナー言語だが、MUMPSは滅茶苦茶面白い。
0835デフォルトの名無しさん
2011/12/18(日) 00:51:15.680836デフォルトの名無しさん
2011/12/18(日) 02:18:56.990837デフォルトの名無しさん
2011/12/18(日) 14:26:28.15お、物流?医療?
0838デフォルトの名無しさん
2011/12/20(火) 00:23:45.750839デフォルトの名無しさん
2011/12/21(水) 02:09:33.53まぁもともと人口少なすぎるし、全く伸びないだろうが。
各社、化石のような、例えばU-MUMPS時代のルーチンを礎にいろんな事してると思うんだが。
0840デフォルトの名無しさん
2011/12/21(水) 09:25:22.140841デフォルトの名無しさん
2011/12/21(水) 17:27:44.250842デフォルトの名無しさん
2011/12/21(水) 17:36:08.90そういうスレあるしな
0843デフォルトの名無しさん
2011/12/21(水) 17:53:45.57eの上に'が乗ってたんだ。
【Caché】変態M言語【U-MUMPS】
http://toro.2ch.net/test/read.cgi/tech/1324457499/
0844デフォルトの名無しさん
2011/12/23(金) 18:05:47.64こっちだとeの上に点が乗ってるように見えるよ、環境によって表示されないってことなのかな
0845デフォルトの名無しさん
2011/12/23(金) 18:06:33.26実際のスレタイは見事に化けてた
0846デフォルトの名無しさん
2011/12/24(土) 00:27:39.79そうそう、本文には書ける事しってたから、そのまま行っちゃったら化けたよ。もっと仕様を確認すべきだった。
しかも案の定伸びないしw
まぁ、即身バレするからなぁ。
0847デフォルトの名無しさん
2011/12/24(土) 08:56:20.460848デフォルトの名無しさん
2011/12/25(日) 02:13:57.92ただ、生産、出荷、途中の検品なんかは、他資本入った時にやっぱモノイイついたものの、
両方作った上でのベンチマークでCachéの圧倒的勝利に落ち着いたよ。
0849デフォルトの名無しさん
2011/12/31(土) 18:20:31.48はた目には難解すぎるライブラリなはずなのに…
難解すぎるから、分かるまで挑戦したいと思わせるんだろうか…
学制の頃バイトで金貯めてやっとの思いでVS6.0買ったけど、今は学生じゃないからなぁ…
あ、Haskellも好きです
こっちはシンプルすぎるのが好き
Winじゃ日本語文字化けするのが難だけど…
実用的な言語と面白い言語は別だよなぁ…と思いつつ、どっちにも魅力を感じる今日この頃
ちら裏でした
0850デフォルトの名無しさん
2011/12/31(土) 23:21:06.080851デフォルトの名無しさん
2012/01/01(日) 12:17:56.31VS2011のMFCのクラスの強化具合が分かるまでは何とも言えないが、VS2010でも順調にMFCは新しいクラスが追加されてるみたいだし、これまで通りパフォーマンス向けはx86 or x64に特化でMFCも残るんじゃないかな
そんなパフォーマンスが必要な場面は確実に減ってるけど、無くなりもしないだろうし
個人的にはARM向けにもネイティブ吐けるようになると嬉しい
(その分、for x86, for x64, for ARM。みたいになるんだろうけど)
0852デフォルトの名無しさん
2012/01/01(日) 16:13:40.32昔はVSでCEのSH3とかのコードも出せたし、そこは安心しててもいいかもな。
0853デフォルトの名無しさん
2012/01/03(火) 14:36:21.72ttp://wontfix.blogspot.com/2011/09/visual-studio-11arm.html
0854デフォルトの名無しさん
2012/01/06(金) 23:00:01.96Cocoa, iOSの言語だから
0855デフォルトの名無しさん
2012/01/07(土) 13:02:59.73どう考えた結果なのか言わないのなら、なんの意味もないゴミ発言だよ
0856デフォルトの名無しさん
2012/01/07(土) 20:07:44.08> Cocoa, iOSの言語だから
なんじゃね?
そういう人なんでしょ。
0857デフォルトの名無しさん
2012/01/08(日) 03:49:54.980858デフォルトの名無しさん
2012/01/08(日) 05:03:14.86ある程度的を射てる。
0859デフォルトの名無しさん
2012/01/08(日) 12:17:54.22プラットフォームの魅力って重要だよね。
連携すればすぐに出来のいいソフトウェアが作れるのは楽しい。
構文とか意味論とかの面で見る所が無くてもね。
0860デフォルトの名無しさん
2012/01/08(日) 14:17:08.19> Javaに素晴らしい所があるとすればJVMで動作する数多くの優秀なソフトウェアがある事だし、
大量のCPUを並列に動かせないのでつまんないんですけど
0861デフォルトの名無しさん
2012/01/08(日) 17:24:00.86スレッドわかんねえんだろ?
無理すんな(笑)
0862デフォルトの名無しさん
2012/01/08(日) 17:39:33.400863デフォルトの名無しさん
2012/01/08(日) 18:54:18.83CPUとかリソースは基本的には「触れるべきでない」部分じゃないかな
0864デフォルトの名無しさん
2012/01/08(日) 20:57:10.730865デフォルトの名無しさん
2012/01/09(月) 06:05:05.030866デフォルトの名無しさん
2012/01/09(月) 09:27:09.160867デフォルトの名無しさん
2012/01/10(火) 13:18:28.23ビジネス向けはね
ゲームはC#+XNAの方がwin+xbox360+WP7でコード資産は上回ってる
日本では魅力的なwp7.5端末でないとダメだろうけど
0868デフォルトの名無しさん
2012/01/10(火) 13:43:00.91むろんJavaでゲームというのもずいぶん寒い状況だけど、一応Minecraftっていう面白いのはあるな
0869デフォルトの名無しさん
2012/01/11(水) 18:56:19.05完全にJava製なの?>Minecraft
0870デフォルトの名無しさん
2012/01/11(水) 19:55:46.43これはXNA製だな
0871デフォルトの名無しさん
2012/01/17(火) 12:26:51.00プログラムの手助けになるライブラリや、新しく追加された言語仕様を数年遅れで知って
「うおーこんなのもあったんだー」となるのがますます楽しいね
0872デフォルトの名無しさん
2012/01/17(火) 19:37:11.23知ったときは面白い割に、頭に入らんけど…
0873デフォルトの名無しさん
2012/01/17(火) 22:15:40.18Haskell, Prolog, Smalltalk の3つで決まり。
0874デフォルトの名無しさん
2012/01/17(火) 23:07:10.33構文とかライブラリの命名規則とかが
だがLinqのクエリ式、てめーはダメだ
0875デフォルトの名無しさん
2012/01/17(火) 23:24:56.80なんで?
けっこう合理的な設計だと思うが
0876デフォルトの名無しさん
2012/01/18(水) 07:00:23.08ごめん、なんかえらそーにダメだとか言ったけどただの俺の好みなんだ、すまない
今までのクラスとメソッドをベースにした文法と掛け離れてるから
何をしてるのか俺にはぱっと見で理解できない
SQLをよく触ってる人からしたら分かりやすいのかもしれんとは思う
0877デフォルトの名無しさん
2012/01/18(水) 08:08:37.62SQLは、面白いと思うけどな。
パズルっぽくて。
0878デフォルトの名無しさん
2012/01/18(水) 09:11:09.34読むの嫌だけど。
0879デフォルトの名無しさん
2012/01/19(木) 00:42:18.900880デフォルトの名無しさん
2012/01/19(木) 08:31:37.23自分が書くと、あんまり色んなこと考えたくなくなって
ごく単純なSQLで済ませてしまいたくなる
0881デフォルトの名無しさん
2012/01/19(木) 08:32:35.840882デフォルトの名無しさん
2012/01/19(木) 08:34:35.87そだね、俺自身は楽しんでないと思う
0883デフォルトの名無しさん
2012/01/19(木) 14:13:22.88GUIとかで自動認識させてer図でみれないかな
0884デフォルトの名無しさん
2012/01/20(金) 03:25:32.42guiで作ったクエリで大失敗したことないか?
七月位に新人が本系にマジで投げよって業務停止させるのが恒例だったな。俺が前居た会社だと。
0885デフォルトの名無しさん
2012/01/20(金) 10:14:12.98____
/::::::─三三─\
/:::::::: ( ○)三(○)\
|::::::::::::::::::::(__人__):::: | ________
\:::::::::: |r┬-| / | | |
ノ::::::::::::: `ー'´ \ | | |
0886デフォルトの名無しさん
2012/01/20(金) 12:46:47.860887デフォルトの名無しさん
2012/01/20(金) 14:42:46.94ぎゃあああああああああ
CRUD時はWHEREの使用を強制する文法の方が良かったよな…
0888デフォルトの名無しさん
2012/01/20(金) 22:04:47.100889デフォルトの名無しさん
2012/01/28(土) 23:33:30.730890デフォルトの名無しさん
2012/03/03(土) 20:22:49.81それ以前からRubyネタも消えちゃってたし
0891デフォルトの名無しさん
2012/03/06(火) 02:19:11.35アンチ関数型言語スレでも食いついてくるのはpythonユーザーだけで、rubyは来なかった
オブジェクト指向言語としてはpublic/privete/protectedが指定できないpythonよりもしっかりしてるし、底力見せて欲しかったんだがなぁ・・・
0892デフォルトの名無しさん
2012/03/06(火) 22:40:03.68Haskellな人はコードを無視してもの凄い勢いで理論の話をするからRubyな人は離れてくと思う
0893デフォルトの名無しさん
2012/03/06(火) 22:42:45.36> Haskellな人はコードを無視してもの凄い勢いで理論の話をするから
頼むから偏見を持たないでくれ
0894デフォルトの名無しさん
2012/03/06(火) 22:53:53.000895デフォルトの名無しさん
2012/03/06(火) 23:07:08.77相手のことを考えずコードを無視してもの凄い勢いで理論の話をしたりはしません
会話の相手に応じてちゃんとトーンや内容を使い分けます
これはHaskellに限らず他言語を好む人たちも同じです
コードを無視してもの凄い勢いで理論の話をしたり、
理論を無視してもの凄い勢いで技巧的な話をしたりするのは、
扱っている言語ではなく、その人自身の性格の問題です
0896デフォルトの名無しさん
2012/03/06(火) 23:37:42.17⊂⌒( ・ω・) はいはいハスケルハスケル
`ヽ_っ⌒/⌒c
⌒ ⌒
0897デフォルトの名無しさん
2012/03/06(火) 23:55:56.500898109
2012/03/07(水) 00:25:51.66手続き型言語は何度説明しても、ふうん。逆に面倒そう。といった反応だったが。
0899デフォルトの名無しさん
2012/03/07(水) 00:34:59.40物凄い勢いで理論の話をしてきても結構。
物凄い勢いで技巧的な話をしてきても結構。
一番メンドクサイのは何も言わないで人を見下した顔している奴。
0900デフォルトの名無しさん
2012/03/07(水) 01:25:53.110901デフォルトの名無しさん
2012/03/07(水) 06:28:06.700902デフォルトの名無しさん
2012/03/07(水) 09:46:11.540903デフォルトの名無しさん
2012/03/07(水) 12:52:58.20node.js+html5+jsで大体やりたいことは全部できるし(俺の中では)
jqueryつかうとDOMを面白いようにいじれるし
あとは人の書いたコードでxssできそうなとこを探すのも楽しい
haskellも興味はあるけど関数型ってのがまだいまいちわからん
0904デフォルトの名無しさん
2012/03/07(水) 13:08:50.580905デフォルトの名無しさん
2012/03/07(水) 19:18:39.42> haskellも興味はあるけど関数型ってのがまだいまいちわからん
そりゃ使わなきゃ分かるわけがない
0906デフォルトの名無しさん
2012/03/07(水) 23:14:38.36確かに手続き型の中では比較的関数的な書き方ができる言語だが、いくらなんでも手続き型言語だろう
0907デフォルトの名無しさん
2012/03/07(水) 23:56:57.96同感
関数型かどうかは書き方ではない
0908デフォルトの名無しさん
2012/03/08(木) 12:01:18.630909デフォルトの名無しさん
2012/03/08(木) 12:24:38.57○曖昧
0910デフォルトの名無しさん
2012/03/09(金) 00:19:07.680911デフォルトの名無しさん
2012/03/13(火) 01:09:38.60オレオレ言語をオレオレ言語でコンパイル出来るようになった頃。
0912デフォルトの名無しさん
2012/03/28(水) 02:10:43.83まだ勉強中だが
0913デフォルトの名無しさん
2012/04/22(日) 05:31:47.07何でもはできない。できる事だけ。
0914デフォルトの名無しさん
2012/05/14(月) 18:50:55.74ちょっと関数系でもかじろうかな〜ってことでF#とHaskell試してみたらチンプンカンプン
こりゃこの書式に慣れるまで苦行だなあ
0915デフォルトの名無しさん
2012/05/14(月) 19:11:24.15きっとそのチンプンカンプンの根本の原因は書式じゃなくて考え方だ
0916デフォルトの名無しさん
2012/05/14(月) 21:53:13.54$ は基本的に ( ) に置き換えられるけど
そうしたところで手続き型ではないから
「手順を書くのがプログラミング」
「プログラミングの基本は順次・分岐・ループ」
といった常識が通用しないことも多いね
もろちん手順を書けないワケではないし、少し違う形で分岐や繰り返しも存在するのだけどね
0917デフォルトの名無しさん
2012/05/15(火) 00:27:02.66慣れると、関数型の方が楽だよ
オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある
ライブラリのサポート範囲によってプラットフォームが変わってしまうので、考え方が違ってくるけど、関数型言語は、基本は関数適用という同じ考え方で統一されてる
小さい関数は再帰関数が多いけど、それも自分自身を「関数適用する」し、大きめの関数は、既存の関数を「関数適用する」だけ
0918デフォルトの名無しさん
2012/05/15(火) 05:40:31.72コード量の比較等を見れば確かに慣れたら楽そういや楽しそうだけど
その慣れるまでが、ネット講座とか少ないし厳しい
画像表示とフレーム毎の処理とマウスキーボード入力どうすればいいのか
とりあえずMonadiusのコード切り貼りしてみようと思うけど
0919デフォルトの名無しさん
2012/05/15(火) 07:42:18.49> オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある
私は Haskell も C/C++ や Java も日常的に使っていますが、
オブジェクト指向言語に対するこの認識が私にはよくわかりません。
オブジェクト指向でライブラリがサポートしてる範囲の
メソッドを利用するだけの部分も、どう考えても「手続き的に」記述して
利用する必要があると思うのですが。
もしかして、メソッドを呼ぶだけの場合は宣言的になるという意味でしょうか?
環境が変化する順(フロー)を意識しなければならないメソッド呼び出しは、
宣言的とは言いがたいと私は思います。
違うことを言っているのでしたらごめんなさい。
あと、関数適用あるいはメソッド呼び出しにおいて、
その記述的な違いは表層的なものであり本質ではないと思います。
Haskell のような関数型と C++ のような手続き型で本質的に違うのは、
記述的なことではなく、関数型は参照透過性が保たれること、
これに尽きると思います。
0920デフォルトの名無しさん
2012/05/15(火) 08:06:15.76コード上から順番に実行
・オブジェクト・関数型
処理に応じてコード飛び飛びに実行
手続き型は塊が大きく内部複雑でバグ多い
オブジェクト・関数型は塊を小さく出来
純粋関数型では代入を排除しバグも更に減少
こちら関数型初心者だけど>917の言いたいのはこういうことでは?
「既存の関数(中身は手続き型だけど完成されててバグ無し)」について分けて語ってるし
0921デフォルトの名無しさん
2012/05/15(火) 08:30:54.40>環境が変化する順(フロー)を意識しなければならないメソッド呼び出しは、
>宣言的とは言いがたいと私は思います。
これは、Haskellでもdo構文使えば同じように手続き的になると思うのですが・・・
それは置いておいて、rubyやsmalltalkのような純粋なOOだと、メソッドチェーンが繋がりやすいのですが、これは関数型言語も関数適用の連鎖で最終的にほしい関数を作るのに似てるな・・・と感じます
ただ、ほしい関数(やメソッド)の部品として作られた関数(やメソッド)の作り方が関数型言語はやっぱり関数適用であるのに対して、オブジェクト指向は手続き的になるな・・・と感じました
そして、順序を意識したHaskellのdo構文は、関数数適用という考え方のまま、手続き型をエミュレートしてるという感覚を最近感じています
0922デフォルトの名無しさん
2012/05/15(火) 08:55:09.00プログラミングHaskellをまずは読んで下さい
その後なら、ネットの情報も生きてきます
結局、大部分は優しく書いてるだけで、理解を促す書き方になってるとは言いがたい
文法覚えるだけならネットや他のHaskell本でも十分ですが、考え方を覚えるにはプログラミングHaskellか、プログラミング in OCamlのような、実際に大学で関数型言語の授業をしている人が書いた本を読む必要があります
0923デフォルトの名無しさん
2012/05/15(火) 22:12:00.04ごめんなさい、言葉が足りなかったです。
私が言っている環境というのは、アプリの振る舞いに影響を与える情報を蓄える
メモリ全体の内容の事です。
手続き型の場合、あるメソッドを呼んだ時に、
環境の複数の部分が同時に変化する事は普通にあります。
そして、ある部分の変化がその後に呼ぶメソッドの振る舞いに影響を及ぼします。
このためプログラマは環境の変化の順を意識します。
言語仕様も意識する必要がある部分を可能な限り局所化しようと工夫され、
プログラマの方も環境の局所化に苦心しますが、根本的に宣言的にはなりにくいです。
Haskellでこのような意味での環境の変化順を本当に意識しなければならないのは、
ほとんどの場合IOモナドを使っている時だけではないでしょうか(do表記かは無関係)。
この時ばかりは、変化する環境に影響される部分がコードの広範囲に渡る可能性があり、
アプリのコード全体でちゃんと意識しなければなりません。
それ以外のモナドでは、わざと環境の変化順を意識させるような構造・使い方でない限り、
たとえdo表記で見た目手続き型っぽく書いても、それほど意識する必要はないです。
せいぜいリストを map f に通してから map g に通す、程度の順の意識で良いはずです。
(この場合の環境変化は、超局所化されて引数と戻り値の関係だけになり、意識すらしない)
なので、IOモナド以外のモナドでは、
普通にHaskellコードを書くのと同程度には宣言的に書けます。
例えばYesodというWebフレームワークではdo記法を多用しますが、
むしろdo記法でより宣言的に書けるように工夫されています。
0924デフォルトの名無しさん
2012/05/16(水) 06:31:56.43私の言いたいこととあなたの言いたいことは概ね同じなんですが・・・
要するにですね
何か処理させたければ、必然的にOOでも関数型でも何らかのメソッドや関数を作らないといけません
その時点で、OOは手続き的にならざるを得ないが、関数型はどこまで行っても関数適用(宣言的)だ。と
(do記法すらも、モナド記法よりも手続き的に書いたほうが読みやすい場合に使う為の構文糖衣だと感じている)
OOな人たちに波風立てたくないから、オブラートに包んでいるのに、オブラートを引き剥がさないで下さいw
Listモナドも「先頭から順に」という順番はありますよ
意識しないといけないほど順序がハッキリしてるのは確かにIOモナドだけかもしれませんが
0925デフォルトの名無しさん
2012/05/16(水) 07:53:49.96> OOな人たちに波風立てたくないから、
気づかなくて申し訳なかったです。
> Listモナドも「先頭から順に」という順番はありますよ
私が言ってるのは環境が変化する順なんです。
では、どのような時にListモナドに対して
「先頭から順に」という順番を気にするのでしょう。
>>917
> オブジェクト指向はライブラリがサポートしてる範囲はメソッドを利用するだけになるけど、そこから外れるとメソッドを手続き的に作る必要がある
やはり私には、コードの中でメソッドを利用するだけの部分も、
どのように利用するか、つまり環境をどの順でどう変化させるかを考える必要があり、
その手続きをコードに書いている様にしか見えないです。
0926デフォルトの名無しさん
2012/05/17(木) 01:57:31.19え、リスト使うときに(x:xs)とかしない?それが、順序を気にしてるところだよ
環境・状態って言うよりは構造って感じで、あなたも私もあまり意識はしないけど
モナドそのものが順序の無い関数の世界に順序をもたらすものだから、環境・状態に限らず、順序を意識するものはモナドで定義されてる
そのおかげでIOモナドも宣言的に書けると言える(大抵はIOモナドはdo記法の方が読みやすいが)
数学セミナーによると静的マンセー(ここで言う静的は恐らく宣言的)な数学で動的なものを表現しようってのがどうやら圏論(モナドの元になった数学の分野)らしいんですね
(数学セミナー2011年7月号第一回圏論の歩き方・参照)
一応、擁護すると、最近のオブジェクト指向言語(主にLL)は関数型言語とも被りますが、イテレータ等でループを表現できるようになってますよ
Haskellで言うfoldlがeachに、mapはまんまmapという「メソッド」として
もちろん、それでも関数型言語ほど宣言的には出来ないし、一応OOも宣言的を目指してるはずなんですが、どうしても全部宣言的とは行かない(というか、ほとんど手続き的)です
(ついでに言うと、蒸し返したこの部分がまさにオブラートですw)
0927デフォルトの名無しさん
2012/05/17(木) 07:25:09.93> え、リスト使うときに(x:xs)とかしない?それが、順序を気にしてるところだよ
それはListモナドの事では無くて、リスト構造の事なのでは?
リスト構造を持つデータ型を自作して、それを Monad のインスタンスにしなくても、
全く同じ事が言えるような気がするのですが・・・
もともとデータの構造の中に順序の概念が含まれているので
(というか、順序の概念をデータ構造にしたと言っても良いですが)、
それは手続き型の言語で扱おうが、関数型の言語で扱おうが、
Plorogのような論理型の言語で扱おうが、
どれも同じように「構造の順」を意識する必要があると思います。
ただ、その扱いの中で環境の変化する順を意識する必要があるかどうかは、
言語に依ると思います。
0928926
2012/05/17(木) 07:30:02.00既に「構造って感じで」とおっしゃって説明されていますね。
申し訳ないです。
考えていることがだいたい同じであることは分りました。
いい加減スレチなので、この辺りで引きます。
長々とすいませんでした。
0930デフォルトの名無しさん
2012/05/17(木) 13:13:02.34foldl は reduce とか inject とかって名前であることが多いと思うよ
0931デフォルトの名無しさん
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]
だから環境の変化が無くても順序を意識することはある
0932デフォルトの名無しさん
2012/05/26(土) 21:43:57.46この辺で比較してみると色々認識できて面白かった
ただしモノ作る分にはC++の情報が少な過ぎてキツイ
C#なら楽に組めるのに記述が違うだけの同じマネージ言語に変換する空しさもね・・・
画像ビューア作ってたけどもう「C#ならとっくに完成してる」ってことにして
とっとと素のC++かF#に進もうかな
0933デフォルトの名無しさん
2012/06/24(日) 23:49:58.81QtやらWTLやら便利なもんあるんだから
未だにカビ生えたようなライブラリつかうなよ
0934デフォルトの名無しさん
2012/06/24(日) 23:52:49.03むしろNextStepとUNIX系だがな
GNUStepもしらんのか?
0935デフォルトの名無しさん
2012/06/25(月) 07:29:57.080936デフォルトの名無しさん
2012/07/07(土) 23:03:38.14わろた
0937デフォルトの名無しさん
2012/07/09(月) 18:29:13.83無駄だアホだと言われてもやめられん
0938デフォルトの名無しさん
2012/07/09(月) 19:31:50.19ブラックボックスの中を知る必要性はたいていは無くて、
こっちも仕事的には無駄だアホだと言われる類のことだけどな。
0939デフォルトの名無しさん
2012/07/11(水) 07:09:11.94やったほうが勉強になる
0940デフォルトの名無しさん
2012/07/11(水) 07:21:34.95趣味で勉強してるのなら、再発明は避けるべきではなく、積極的に行った方が良い。
納期の決まってる仕事なら、積極的に行うべきはむしろ再利用だ。
どんな事に何が再利用できそうか、日ごろからアンテナを張り巡らしておかないといけない。
予算があるなら、有料のライブラリやミドルウェアなどの購入も検討すべき。
勉強は昼休みや終業後にファミレスなどで勉強会を開いてやって、仕事中は再利用に集中。
0941デフォルトの名無しさん
2012/07/11(水) 20:48:57.40ただし他に優先して勉強すべきことがあるかもしれない
0942デフォルトの名無しさん
2012/07/11(水) 20:55:42.33すまん
「車輪の再発明するなってのは罠」に反論したつもりだった
0943uy ◆pdu1UZmweE
2012/07/12(木) 11:22:00.75時間は大切に使えよ
ゴミカスのような作業に必死になっていないで。
0944デフォルトの名無しさん
2012/07/12(木) 12:32:53.370945デフォルトの名無しさん
2012/07/12(木) 15:27:26.58ウンコレベルのゲーム作ってる
uyが何言ってんだ?
あんなの再発明以外の何物でもないだろ
0946デフォルトの名無しさん
2012/07/12(木) 16:24:07.71お前は何か言う権利を主張できるほど、いや、人が何か言う権利を押さえつけられるほど
ご立派なものを作っているのか?
0947デフォルトの名無しさん
2012/07/12(木) 19:06:13.280948デフォルトの名無しさん
2012/07/12(木) 21:32:42.330949デフォルトの名無しさん
2012/07/12(木) 21:50:42.12意味無いし、時間の無駄だし、自分に返ってきそうだし
0950デフォルトの名無しさん
2012/07/12(木) 22:13:11.850951デフォルトの名無しさん
2012/07/12(木) 22:19:26.37お前にとっては、下には下がいるんだと安心できる大事な存在だろ
0952デフォルトの名無しさん
2012/07/12(木) 22:45:43.230953デフォルトの名無しさん
2012/07/13(金) 04:33:43.440954デフォルトの名無しさん
2012/07/13(金) 07:08:00.680955デフォルトの名無しさん
2012/07/13(金) 08:10:15.94俺はPHPよりもやってて辛いってことになぜかなっている言語を使い続けるわ
0956デフォルトの名無しさん
2012/07/15(日) 17:22:39.52唯一あるとすればlispだけど、
すぐ飽きる
0957uy
2012/07/22(日) 22:27:18.250958デフォルトの名無しさん
2012/07/22(日) 23:01:14.160959デフォルトの名無しさん
2012/07/27(金) 09:04:39.840960デフォルトの名無しさん
2012/07/29(日) 07:35:23.06人生がツマラナイものでないならおめでとう。幸せな人生をまっとうして下さい。
それはともかく、知的な楽しみが欲しいのであればPHPをメインで使う所には来ない方がいいぞ。
技術的な話が出来ない人間が大半だからな。人間的にもアレ。落ちこぼれが来る所だよ。
PHPは言語的にも面白くないし、他の言語をやりましょう。
0961デフォルトの名無しさん
2012/07/29(日) 13:16:34.39人間的にもアレ以降が余計な話
そんな話を思わずしてしまう辺りがまさに人間的にアレだと自分では思わないか
0962デフォルトの名無しさん
2012/08/02(木) 23:53:35.72技術的な話って、どこから仕入れてくるものなんだ?スラド?
0963デフォルトの名無しさん
2012/08/03(金) 07:28:59.850964デフォルトの名無しさん
2012/10/14(日) 16:16:19.46ライブラリが充実してきた頃から
面白くなった。
0965デフォルトの名無しさん
2012/10/14(日) 19:35:46.060966デフォルトの名無しさん
2012/11/14(水) 07:39:31.09「安全」に使えるようにした割には下位でも同じ変数名宣言出来るね
宣言消せば普通はエラー出るけど
上位で同じ変数名があるとそれ使うようになって
結果構文上でなく使用中にバグる
まあしかしIDE込みで凄い使い易いからそれくらいいいけど
0967デフォルトの名無しさん
2012/11/15(木) 07:43:30.35そんなもんC#以外でもモダンな言語だったらだいたい一緒
つーかIDE関係ないだろ
0968デフォルトの名無しさん
2013/01/13(日) 07:40:42.550969デフォルトの名無しさん
2013/09/27(金) 15:46:47.100970デフォルトの名無しさん
2013/11/09(土) 20:02:34.720971デフォルトの名無しさん
2013/11/09(土) 23:34:36.020972デフォルトの名無しさん
2013/11/10(日) 00:04:37.04お客さんの要望を最短距離で実現するために
基本的な機能やライブラリが揃っていて、
必要最小限のコードで目的を達成できる;
これほど楽しい言語はない。
0973デフォルトの名無しさん
2013/11/10(日) 00:51:27.13そうかそうか
0974デフォルトの名無しさん
2013/11/10(日) 01:19:35.60オブジェクト指向型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 ].
].
0975デフォルトの名無しさん
2013/11/10(日) 03:30:50.210976デフォルトの名無しさん
2013/11/10(日) 08:02:03.722行ぐらいで済ませりゃいいのに
なんでそんなに臭いレスをするのか
0977デフォルトの名無しさん
2013/11/10(日) 12:22:06.07布教
0978デフォルトの名無しさん
2013/11/10(日) 12:26:36.58> "OOなRDB処理"
その程度なら、どの言語でも書けそうだが?
0979デフォルトの名無しさん
2013/11/10(日) 12:31:07.660980デフォルトの名無しさん
2013/11/10(日) 13:03:53.26試しに書いて
0981デフォルトの名無しさん
2013/11/10(日) 13:07:10.76問題はその手間がどれだけ少ないかだろ
レス数が950を超えています。1000を超えると書き込みができなくなります。