はてなキーワード: Linuxとは
Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ
端末からのテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに
PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?
けどまぁ、情弱な文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか
数値計算や端末からのテキスト処理なんてWeb系じゃ大して使わないからなあ…
Pythonに関しては、ZopeさえコケていなければWebサーバ用LLとして大成功していたはずなのに、
Railsなんかが登場したおかげで、すっかり影が薄くなってしまいますた....
ってか、railsにインスパイアされたフレームワークって今じゃ幾らでもあるよね
djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、
pythonやPHPの方がユーザー数は圧倒的に多いと思うんだけど
本家のrailsって、他を遥かに越えるほど良いものなんだっけ?
44
Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている
C a k e P H P は う ん こ
CakePHP使ってんの?
可哀そうにw
でもやっぱりいつもの使い慣れたLL(Python/Ruby)で
Webサービスを書きたいってのがある
求人数は
Ruby on Rails>>>>>>>>Django
http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=
どういうことなの?
求人数が多いのはそのためだと思うよ
なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・
Pythonのほうが使いやすいと思うのだがフレームワークはRailsが優位なんだろうか
Djangoは周辺ライブラリが微妙だし本体も鈍くさい感じがする。
でも、FlaskはSinatraより好きだから、Pythonが嫌いってわけではない。むしろ好き。
ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。
同感だ
同じように思っている人が他にもいて安心した
PHPはフレームワークが乱立しすぎているから、RailsをPHPで実装してみようというやつが出てきた。
それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、
ただ、どうやってもRailsもどきがRailsを超えることはできないのは間違いない。
パクリはオリジナルを超えられない(キリッ って定型句だけど、
これってキリッって言いたいだけだと思う。
D言語って超えたって?
B言語って超えたって?
PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない
まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ
そういう理由じゃなくてRailsのほうが単純に情報もプラグインも多いからでしょ
linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
わざわざ不合理で不完全な言語を使うなんて
もしも
>linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
真実であるのなら、今頃はdjangoの情報とプラグインが溢れかえっているはず
yumや、gdbとgnomeの拡張がpythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。
ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。
というか、世界中のPythonプログラマが Remeber Zope!! を合い言葉に
打倒RailsたるWebフレームワークを開発しているはずだけど、
Railsも登場してから、かなりの年月が経過しているんだけどなぁ....
その間にもRailsはRails 3が登場して、REST/AJAXの強化等の進化が継続しているよ
Ruby では
ary.map {|x| x**2}
map(lambda x: x**2, ary)
となり、lambda の本体が1つの式では表現しきれなくなると
.....
と書き換える必要があります。
f = lambda x:(x and f(x-1)*x)or 1
RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから、
f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}
または
f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}
と書けます。lambda内でreturnが使えますから、書きたければ
f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}
でもOKです。
348
これはPythonをdisっているように見せかけてRubyをdisっているのか? と一瞬思ってしまったw
だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…
そしてどっちもlambda式の中で束縛変数の名前で再帰可能、と
print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]
暗号のように見える。
puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}
思考の流れと、コードの流れが一致しているので書きやすい。
map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))
pythonて可読性が高いのをうたってる割にはそこいまいちだよね
Rubyの場合には、左から右へと無名関数がデータフローあるいは
関数型プログラミングに不慣れな初心者でも、参照透明性のあるコードが自然に書ける
プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby
それと比較すると、Pythonのコードは、関数型プログラミングというものが
いかに高度で難解なものであるかという事をもったいぶってプログラマに押し付ける
もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう
階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す
result_list = source_list.map { |elem|
x = foo(elem.x) # ここが局所宣言を書く部分
x + y # 最後に評価された式の値が、無名関数のリターン値になる
}
Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから、
x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける
このポイントは、実用的なプログラムを関数型風で書こうとした時に、威力を発揮する
余計分かりづらくなった
高卒ドカタなんだろうなぁと可哀想になる
集合の表記に似せてることが分かるから
355
>map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。
関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね
Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ
[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')
Pythonだと読みにくい。
'-'.join(map(str, reversed(sorted([1,4,3,2]))))
Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....
カッコだらけのコードを分かりやすくする基本的な方法は静的単一代入じゃないか
Rubyのやり方は基本ではなく玄人のやり方だろ
Pythonでは組み込みの型でメソッドチェインはやって欲しくないな
似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。
372
外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてますね
Rubyユーザーは列挙可能なものはmapやselectできて当然だろって思ってる気がします
Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる
得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない
Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い
「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く
無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像。
これを読みづらいと感じるのは、左から右に流れる
もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?
Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービスを作ってみたので、ちょっと書いてみようと思います。
ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本
気度の高いものです。
なんで素人がそんな物騒なものを動かす羽目になったかは、後述。
やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、
ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います
が。
ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前のサービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。
そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。
5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービスは存在せず。ちょうど異動があって、少し時
間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。
やりたいことは、大手サイトの情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API
だけではとても実現不可能でした。
まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが。
ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。
随分と考えた結果、
以上に区分できると考えて、これらを各個撃破していくこととしました。
また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ
ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。
ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。
さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。
いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。
MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ
と、あとファセット機能がジャンル絞りこみに便利に使えそうだったので、というのが理由です。
ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。
しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい
った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。
さらに、検索エンジンのフロントエンド(Solrの検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。
Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。
しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。
プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年
以上。本当に時間が掛かりました。
さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさんが彗星のように現れて、衝撃を受けることになります。
大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。
図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。
その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。
そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows
まず、クローラですが、専用のクローラをwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーのweb巡回ソフトを利用する
こととしました。指定のhtmlをダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。
また、ダウンロードしてきたhtmlファイルについては、これまたフリーの日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。
このあたりは、全体を通して見てもキモの部分なんですが、ある意味、ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。
あとは、msdosのバッチファイル(これは前から知っていた)で、これらの処理を繋ぎ、cygwinのcurlとかいうツールで、連続して検索エンジンサーバにcsvファイルをアップロードする
仕組みを作りました。
検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらのVPSを借りて設定。CentOSのサーバ構築ホームページを見ながら、サーバとか
Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。
ホームページは、vpsサーバに相乗りさせるのではなく、別にさくらのレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsのリソースをapacheと分け
合う必要が無くなるので。ホームページのhtmlファイル、cssファイル等も調べながら設定し、画像も準備しました。
あと、構想を思いついたときに妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメールア
ドレスに連絡して交渉し、幾ばくか払って買い取りました。
結局、足かけ18か月。ようやく完成。
楽天市場の家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場・家具カテゴリ専門の検索エンジン
この商品数規模(データ収録約30万アイテム)で、1センチ単位で家具のサイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います。
kanzen21と違って、エロじゃないから華はないけどね。。。
ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズの家具が欲しかったのですが、これが楽天で探すのは至難の技でして。
楽天で家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。
これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索が事実上、不能となっています。
家電製品とかに関しては、種類が少ないこともあり、メーカーのホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具
って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。
・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています
。
また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ
ムを調整しています。
単位(センチとミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記
の前後の状況をみて、正しいと思われる単位で拾うようにしています。
あと、変わった使い方としては、欲しい家具の価格比較みたいなこともできます。
家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格の比較が行いづらいジャンルの商品です。
しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズで検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い
方もできます。
と、そんな感じで、しがない事務職リーマンが作ってみた、ニッチな用途の検索webサービスを、サービスインさせて頂きました。
一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値を創造できるんじゃないかという実験です。
もしよろしければ、ぜひ、使ってみてくださいー。それでは!
----------
The faster a computer goes, the more likely is to have Linux at its heart. The most recent Top500 list of supercomputers shows that, if anything, Linux is becoming even more popular at computing’s high end.
In the latest Top500 Supercomputer list, you’ll find when you dig into the supercomputer statistics that Linux runs 457 of the world’s fastest computers. That’s 91.4%. Linux is followed by Unix, with 30 or 6%; mixed operating systems with 11 supercomputers, 2.2%. In the back of the line, you’ll find OpenSolaris and BSD with 1 computer and–oh me, oh my–Windows also with just 1 supercomputer to its credit. That’s a drop from 4 in the last supercomputer round up in June.
Digging deeper, we find that various customized Linux distributions account for 414 of the supercomputers. AIX, IBM’s house brand of Unix, takes a distant second place in individual operating system distributions. It’s followed by various versions of SUSE Linux Enterprise Server (SLES) and a variety of Red Hat Enterprise Linux (RHEL) variants including the RHEL clone CentOS. Compute Node Linux is the last significant solo Linux distribution on the list.
Other operating systems that just make the list includes Oracle’s all but dead OpenSolaris with one entry. The sole Windows entry, Windows HPC 2008, placed 58th.
So, while Linux has only a minute share of the desktop, a big chunk of the server market, is the platform for most Web servers, when it comes to one arena: the fastest of the fast, supercomputers, Linux absolutely rules.
私はどっちかというとWindowsが好きだしMicrosoftが好きな方だ。だがWindows8、お前は駄目だ。
そりゃiPadが売れまくって羨ましいのは分かるし、MSがいくらタブレットOSを作っても誰も見向きもしなかったのは事実だ。だからといって、WindowsをタブレットOSにするのは暴挙としか言いようがない。
そもそもiPadが売れてWindowsのシェアが落ちているとしても、それは単にこれまでPCとは無縁だった層が新たにiPadを使うようになり、これまでのWindowsユーザーがiPadを追加購入しただけで、Windowsユーザーそのものが減ってるわけではないはずだ。iPadで仕事はできないからね。逆にiPadで仕事をするとニュースになるくらいだ。世の中の多くの人間がWindowsを使っている、あるいは嫌々使っている、あるいは使わされている理由、そしてそんなWindowsユーザーがWindowsに何を求めているのか、Microsoftは理解してるんだろうか? してるけど無視してるんだろうか?
世の中のほとんどのWindowsユーザーがWindowsを使う目的は、仕事でワードとエクセルとインターネットをするためだ(あとエロゲをするためだ)。ワードを開いて文書を書きつつ、分からない点をIEで調べ、Outlookで連絡メールを送る、そんなのがほとんどでしょ。画面の綺麗さなんぞぶっちゃけどうでもいい。むしろ殺風景な方が仕事してる感じがしていいじゃないか?
なのにあのMetro UIってなんだよ。あんな原色のオモチャみたいなインターフェースで仕事ができるかっての。アプリが一つだけしか開けない、それでどうやって調べものをしつつ文書作成ができるというのか。Windowsの"s"の文字が泣くよ。でかいモニタに一つのアプリを表示して、他の情報が見たければ切り替えろ(これ「スナップ」とか言ったっけ?そういえば訳語が思いつかないから一般ユーザーに丸投げしてたね。訳語すらすぐには思いつかないような操作がどうして直感的操作として受け入れられようか)とか、冗談もほどほどにしてほしい。
ああいうUIが生きるのは、解像度が限られた端末だけだよ。なぜ広々としたモニタを無駄遣いするのか。それが気に入らないならクラシックデスクトップを使え?何がクラシックだよ現役選手をいきなり骨董品扱いすんな。
それにオフィスにはタッチパネルディスプレイなんてないよ。入力はキーボードとマウスだ。一度あのMetro UIをマウスで操作してみてほしい。悲しくなるから。だだっぴろい画面の上、マウスを端から端まで動かして、点在するばかでかいボタンをぽちぽちと押す作業のむなしさ。メニューを出すにはマウスポインタを画面の端にくっつけて。ああ、マルチモニタ環境やリモートデスクトップ越しで死ぬほどやりづらいけど気にするな。スタートスクリーンのスクロールはホイールでできるよ、ただし横スクロールなのに縦に回す必要があるけどな。どや、マウスでの操作もばっちりやろ?
Win8が出ればタッチパネルディスプレイが普及するなんて寝言も聞きたくない。仮にそうなったとして、MSは我々にそんな苦行を強いるんですか?試しに目の前のディスプレイを指でなぞってみてください。3分で腕が痛くなるから。ジョブズもそう言ってたのにねえ。タッチパネルが実用的なのは携帯端末、タブレット端末、要するに本体を手に持って使うデバイスだけです。
WindowsにiPad的機能は誰も求めてないんだよ。iPad機能を求めてるWindowsユーザーはiPadを買うから。今目の前にあるデスクトップやノートPCでiPadみたいなことをしようなんて誰も望んでない。いくらシェアがどうあっても、MSはタブレットOSとデスクトップOSを完全に別物として出すべきだ。両者の操作体系は相容れないものだ。だいたいWin8のあの中途半端な融合具合を見ればそれは明らかであるが。タブレットOSとデスクトップOSが融合して嬉しいのは、スレートPC形態にもなるがキーボードを展開するとノートPC形態になるゲテモノPCだけ。そんなのがPCの主流になるという寝言もまた聞きたくない。
まだMetro機能を完全にオフにするモード(今のところレジストリの設定で可能ではある)がデフォルトなら許せるけども、そんな状態で発売されるはずがない。そんなことをするくらいなら最初からタブレットエディションを別に出している。なのでユーザーがMetro UIが統合されたWindowsを使いづらそうに使う光景が目に見える。自分でカスタマイズしてオフにすればいいじゃんという発想はPCに詳しい人のもの。ほとんどの人は与えられた状態をあるがままに受け入れ、そんなカスタマイズとは無縁ですよ。
それにスタートメニューを廃止した理由が「スタートメニューを誰も使ってなかったから」といけしゃあしゃあと抜かすところがまた癇に障る。なんでスタートメニューを誰も使わなかったのか、そしてどうすればスタートメニューが使われるようになるのか。考えもしないのか無視しているのか…。Windows用の人気ランチャの一つや二つ、触ってみればわかることなので無視してると考えるのが妥当でしょう。あるいはスタートスクリーンをごり押しするための言い訳。
スタートスクリーンで従来のアプリを選んでクラシックデスクトップで実行できるでしょ、とMSは言いたいんだろうけども、アプリを起動するたびにいちいち全画面がMetro Style Appとかいうオモチャみたいなガジェットで覆い尽くされると、それだけで思考が中断させられる。従来アプリのメニューが階層化されずフラットに展開されるので探して選択するのが大変とか、その辺は今後改善されるかもしれないけどあんまり期待しないほうがいいだろうね。
これはエクスプローラもそうで、「ツールバーやメニューバーを誰も使ってなかったから」という理由でリボンインターフェースを採用とか、なぜ使われないのか理由を全然分析できてない。ファイルをマウスで選択して、さあ移動しよう、という段階で、一度それは置いといてメニューをクリックしに行くのは不自然な動作だから誰もしないんだよ。そのままドラッグ&ドロップ、あるいは右クリックメニューで操作を選ぶのは自然だし不要なマウスの移動もしなくてすむから皆そうしてる。あるいはキーボードショートカットを使ってる。だからリボンなんてつけてもやっぱり誰も使わないのが目に見えてる。それどころかリボンUIは縦の幅を食うので、昨今の横に広いディスプレイと相性が悪いということも考慮してないのか無視しているのか…。
シェアの数字にこだわるあまり、ユーザー完全無視。いやまあそれでもWin8は売れるんだけど。そりゃお店でパソコン買ったらWindows入ってる世の中だからね。企業だってコストを考えれば今更LinuxやMacに総入れ替えなんてできないが、XPのサポートが切れるから嫌でもWin8を導入せざるを得ない。MSは分かっててそれをやってるからなお腹立たしい。PC初心者やWindowsを嫌々使ってるユーザーをこれ以上苦しめないでほしいものだ。
私は従来モードの設定(製品版で封印されてたらキレるな間違いなく)で使うからいいとしても、そういったユーザーをサポートするのも私なんだよ…。彼らは「できるWindows8」とか「わかるWindows8」とかに載ってるのと違う画面にされることを望まないんだよ…。
http://www.heroesofnewerth.com/
プログラミング能力もないし、日本人は同人でやってることがレベルが低すぎる
糞ジャップの開発能力は一生、シューティング、テトリス、横スク、ラノベ、ターンRPG
そんな程度だよ
↑みたいなをC++で書いてデザインもして作れてないのにUnityとかほざいてる
基本を学べとかいってる割に Unityからやっちゃうんですか(笑)
Unity勉強家の連中がやってることも低レベル見ればわかるよ
日本の同人・LLジャップがやってることは2011年にもなって
RPGの基本 Rogue風
作れない
PC向けのオンラインゲーム作ってるプロジェクトやLL使いがいたらそいつ凄いけどね
せいぜい2011年にもなってカスタムロボみたいなのも作れねーだろ同人で
たかがしれてんだよ
別にフルHDにしろと言ってるわけじゃなくて、もうちょっと広くしろよと言ってるだけ。
具体的に言うと、映画とかはどうでもよくて、コーディングとかするときに凄い困る。
さっきも言ったけど、ビジネスだと狭くても困らないのか?ってこと。
Excelとか使うだけでも結構困るんじゃないかと思うんだけど。
あと俺今はwinxpで1920*1080で仕事してるけど、全然困らないぞ?
フォントとかなんとかで困るってどういう状況だろう。
プライベートではMBAで1440*900だけど(デスクトップはxpとlinuxで1920*1200)、やっぱ最低でもこのくらいの解像度は欲しいと思う。
だから、パッケージ管理ツール範囲外の物は、どっちにしたってされないよね。
そうすると、自動アップデート対象になるように、「公的に登録しろ」って事だよね。
そうすると今度、依存関係の問題が出てくる。
Linuxでも毎回警告が出てるが、依存関係で不和が生じた場合、その解決をどう図るのかって問題がある。
アップデートされない古いパッケージは、毎回毎回警告が出るようになるんだろうか。
上と絡むんだが、リポジトリの概念があったって、それがきちんと更新管理されてなきゃ意味がないわけで、それをパッケージベンダーに委ねるわけでしょ。
だからちょっと前に「正しく申告」と書いたんだけどさ。
そうした、外的要因に依存してしまうよりは、少なくともあるバージョンに関して間違いなく動くことを保証できる、「まとめてインストールシステム」は、初心者に優しいよね。
ん?
いや、まあ、その…うん。
http://anond.hatelabo.jp/20110901203436
いや逆。
UIの善し悪し関してはあくまで俺個人の主観なのでさておき、Appleが「きちんとした会社」というのは何とも。
ここ10年、他社製ハードウェアにOSを供給しないわ、内蔵ハードディスクの交換は不可能だわ、ブルーレイも使わせないわ、携帯デバイスにもFlash再生を許可しないわ、そうやって平然と競合規格を排除するくせに、「クローズなFlashはもうオワコン!これからはHTML5の時代!」とのたまうわと、熱狂的なシンパの忠誠心にあぐらをかいてるような会社を「きちんとしてる」と表現するのに違和感を覚えただけ。
macの一番良いところって、オシャレ感じゃなくて、linux的なシステム構成とwindows的なきちんとした会社が作ってるOSという安心感と洗練されたインターフェース(≒オシャレ感)が共存してるところだと思う。
linuxは基本的に便利なんだけど(最近のubuntuとかほぼmacみたいなもんだし)、やっぱり「多少うまく行かないことがあっても許してね」感があるし、
windowsはその辺しっかりしてる一方で背景のシステム構成がグロテスク過ぎて開発環境整えるだけで罰ゲームみたいになったりする。
macはそれらを(当然不満もあるけど)絶妙なバランスで両立してる上にインターフェースも良いというのが素晴らしいところだと思う。
確かに全部使えるのが最強だね。一つだけ使ってると視野が狭くなるし。
個人的にはプライベートはMac(+仮想マシンでWindows)、ビジネスはWindows、サーバはLinuxの組み合わせが一番しっくり来るけど。
OS論争のほとんどでそうなんだけど、前提条件が違いすぎてかみ合わないよね。
「Mac」も「Linux」も、「Windows」でさえ、人によって体感は違うと思うんだよね。
「Linux最高だぜ、ふぅーははは」って人に良く聞くと、viやEmacsを極限カスタマイズして、
コマンドラインさえあれば、他にツールなんていらねぇって人だったりする。
同じことが「Windowsでは出来ない?」そりゃそうだよね、対象としてるユーザー層が違うもの。
これはWindowsユーザーからすると逆のことが言えて、「なんでこの程度のことGUIで提供されてないの」となる。
それは仕方ないんよ、「Linuxコミュニティ」では、「それはシェルで○○××△△と書けば出来る」とか言われちゃうんだから。
「Windows」は当初(今も)GUIの仕様をガチガチにしなかったんだよね。
指標は示しても、後はメーカー任せ。
シュートカットの機能、コントロールの挙動、メニューやなんかも各社バラバラ。
けどこれって、「Windows」が悪い訳でもないんだよね。
縛らなかった分、多様性は生まれたし、それがこれだけの帝国を支えたわけで。
結論、全部持って、全部使えるのが最強。
カーネルコミッターでも、処理系実装者でも無さそうな人達が、「Cは滅びず!」と叫んでいる不思議な光景。
http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5545216280/c
http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5603961294/c
Linuxカーネル(せめてPOSIX互換品)を手前が思う言語にさっさと移植すれ。さすればCを滅ぼせん。(ちなみに高機能アセンブラの最適解がCとは俺も思っちゃいない。)
最後のCの牙城、Linux(UNIX)をJavaなり何なりベターな言語にさくっと移植してくれ。それともgoogleビッグブラザー様がクラウドでUNIX鯖を駆逐してくれるのを祈ってればいいのか?
JavaもC#も,それにPerlもRubyもPythonも,実行環境自体はCで書かれている件。コンピューターが「シリコンを基材としたチューリングマシン」であるかぎり,アセンブラとCは滅びない。
(http://www.drk7.jp/MT/archives/001769.html のマネ / http://anond.hatelabo.jp/20110515004216 の続き / 昔も同ネタで書いてた → http://anond.hatelabo.jp/20101218150419 / 書きおわってから http://anond.hatelabo.jp/20110515220351 に気がついた。この記事よりはるかによみやすいのでおススメ)
評価者の属性によっておおきく変りそうなので一応こちらも受けて立とう。
iPod Touchとhtc EVO wimaxを使ってみた差を独断と偏見で語ってみたいと思います。
まず結論から。
比ぶべくもなく圧倒的な差で"僕的には" androidの勝ちです。ただし、iOSユーザにはその意味は多分わからないでしょう。誰にでもおススメできる道具じゃありませんし、そこまでケータイに求めないのであればiPhoneでもガラケーでも好きなもの使えばいいと思います。
androidをかなりはやい時期から使ってたこともあり、iPhoneユーザから「androidいいですか? / androidはコレありますか?」 と人に聞かれることも多いのですが、「androidいいけど、iPhoneでいいならiPhoneのほうが良いよ」あるいは「androidにiPhoneと使いかた違うから、同じように使おうとしてもそんなソフトないかもよ」と答えます。今後の機種変についてはiOS以外なら試していきたいですが、しばらくはandroidを使うことになると思います。
一方、別の技術も知っておくという意味で、オモチャとしてiPod Touchを買ってみました。まぁ、ムービープレイヤーとしてはまぁまぁ良いので、機内のお友にしばらく使うことでしょう。
とはいえ、自分の母親みたいなど素人には「ガラケー使っとけ」と言うでしょう。iTunes用母艦のメンテも、androidのメンテもしたくないよ。
さて以下詳細。
スクロール速度についてはiPod Touchのほうが良い場合が多いです。ただ、htc EVOも言うほど劣っているわけではないです。むしろ、iPod Touch(iOS)でデフォルトのアニメーションで「目がごまかされてる」部分が気になります。アプリの切り替えやインテントによる連携なども含めて、androidのほうが「最短距離を進む」快適さがあります。てか、スクロールなんて引っ掛からなきゃいいでしょ。(xperiaが引っ掛かるのは多分メモリが足りないんじゃないかな)
アプリ込みで考えると、iOSは不安定なものがおおい。これはTouchだからかもしれないが、フォアグラウンドのアプリが突然不安定になっていきなりホームに戻される。これはいただけない。androidの場合はちゃんとエラーダイアログが出て、必要に応じてその内容を作者にフィードバックする仕組みがあるため、ちゃんとしたアプリの安定度は日々あがっている。GCがかかると時々重くなることもあるが、EVOでは気になるほどでもない。
確かにアプリ自体の作り込みはiOSの方が高い。しかし、iOSは「ちょっとしたこと」でも有料アプリな上に、「ちょっとしたこと」が全然使用感の向上に寄与しない。androidの場合、ちょっとしたアプリもインテントのおかげでさまざまな活用法が可能になるので、ボランティアレベルのプログラムでも戦力になる。
例えばiOSユーザの話を聞くと「○○ってアプリは神! Evernote/read it later/ナンチャラカンチャラと連携できる!」みたいな間抜けなことを言っているんだが、Androidはそもそも連携できないアプリがカス以下扱い(昔のustreamアプリとかね)。具体的には、twitterアプリでshort URLを展開する機能がついてて便利! とか言われても、「でもそれ開いてサファリで開いてさらにニコ動アプリ起動して」とか阿呆臭くてしょうがない。どのアプリからでもURLを開こうとするとちゃんと展開→確認の上、最適なアプリで直接開く、というところまで意識的なアプリ切り替えなしで行けるし、見終ったら戻ることも簡単。
あと、有料アプリのお試しができるようになったのが地味に便利。期限が15分になっちゃってちょっと切ない…。お試しができないApp storeで何度か外れアプリを買って以来、iOSで有料アプリは買ってない。
EVOの画面でかすぎ! 手が届かない。通勤中はtouchで我慢することもあります。あと、pdfを読む用にtouchは便利。
とはいえ、スライド読む用と論文読む用で別アプリになってしまい、管理が面倒なのが減点 -- dropboxから送り込むコースとmendeleyから送り込むコースとがあって、さらにわけわからん。あーこれは「画面」の問題じゃないや。
これはEVOは最悪。まぁ、ひどい時にはwimax, 3G(通話用), wifi(テザリング用)と3つも無線機動かすのであきらめてる。ipod touchの持ちの良さは機内のお伴には最適。
touchのカメラはおまけなので評価せず。とはいえ、skype for androidがフロントカメラ使えないので、skypeでvideo chatするときはiPod Touchを使います。てか、iPhoneユーザの「カメラ」ってデジタル処理(instagramとか)ばっかりで気持ちわるい。ちゃんとしたカメラで撮った写真以外を「作品として」人にみせびらかすために「一見オサレ()風に加工」とか、ちょっとねぇ。
あまり気にするほどの耳は持ってない。本体スピーカーは、本体質量がデカい分かもしれないがEVOの圧勝。
wimaxを使いはじめたら元には戻れません。softbank? 使ったことないので評価は控えますが、あの社長は嫌いです。本業おろそかにして目眩しばかりやってるタイプでしょ?
元blogで言及されなかったandroidの特徴が3点あって、「ハードウェアボタン」「連携性」「端末の自由度」。ハードウェアボタンは、「とりあえずここ押す」というボタンなのでとても大事。特にandroidで大事なボタンはbackボタン。つまり、スタック上にさまざまなアプリから取り出してきたactivityがシームレスに重なってて、終わったらそこに戻れる、という環境と、それに適したアプリ/使い方を見つけられないと、androidは不便なだけだと思う{{多くのiOSユーザがこれがわからずに、単体アプリで何でもやりたがるのが不思議である。Emacsか?}}。連携性も同じで、インテントによるアプリを結合した使い方って、確かにちょっと使いこなしが必要な点。ただ、手に馴染むと快適さが半端ない。「端末の自由度」についてはいわずもがな。まだまだ不十分だけど、「ワンセグが欲しい」「おサイフケータイ」「防水じゃなきゃヤダ」という要求に応えられるのはandroidであって、iPhoneではない。
iOSは単体では何もできず、何するにしてもiTunes{{それも「特定のPCの」iTunes! 糞! デスクトップに同期させてると出先のノートで何もできやしない!}}が必要になるのに対して、androidは単独で/クラウドと結合することで成立する環境になっている。まさに Apple と Google の思想の差がそのまま反映されているのは当たり前。iPod Touchはあくまで「Mac/PCのオマケ」な端末であるのに対して、androidは僕の中で「仕事の道具」という位置付け。それぐらいの違いを感じる。
僕は基本的にコンシューマ系OS(Macも、Windowsも)大嫌いな偏った人間ですが、この手の端末は金太郎飴みたいに同じような道具になるのではなく、手になじんだ一人ひとりにスペシャルな道具であるべきだと思ってる派{{カウボーイは、馬は捨てても鞍は捨てずに持っていく by HHK}}。そんなわけで結論に戻って、僕的にはandroidの圧勝なわけでした。ただし、他の人には、「androidは手になじんでくる感じがおもしろいけど、困ってないんなら別にガラケーでいいし、パソコンに慣れてるならiPhoneでいいんじゃない?」 と言ってます。こんないい道具、他人と共有してなるものか(笑)
まぁ、タイトルの「レガシープログラマ」とは私の事なんですけどね。
if( foo == TRUE ){
という判定文をよく見かける(fooはいろんなオブジェクトだと思ってほしい)。
個人的には、この書き方、嫌いなんだよね。
if( foo ){
か
if( foo != FALSE ){
と書いて欲しいわけよ。とにかく「TRUEか?」という判定にはして欲しくないわけです。
で、なんでこう書くの?と外注や若い連中に聞いたら、「TUREは1ですから」と必ず答える(断言する)。
あ、あれ???自分は「TRUEはFALSEでは無い。確定しているのはFALSE=0という事だけ」だとずっと思っていたんですわ。
古いC言語風に書けばこんな感じ。
#define FALSE 0 #define TRUE (!FALSE)
確かに、実際に値を表示させてみると、昔のVC6だと「1」という結果が出てくるし、VB6だと「-1」という結果が出てくる。これ、当時混乱の元だったんだよね。
新しいC++や規格ではBOOL型というのがきちんと定義されたと思うけど、製品寿命が20年とかいう私の職場では、DOSやC(K&R)、アセンブラは現役だし、プラットフォームもなにもWindowsに限らない。組み込みマイコンも使う(うちのところはVxWOKSだが)し、UNIXやLINUXも使う。
もちろん、マネージドC++(.netFramework)やC#、JAVA、Parlも私は使うし。でも、どのプラットフォームでどの言語になっても「TRUEか?」という判定文は使ってこなかった。
で、試しに、VC2008のincludeフォルダをgrepしてみたら、
#define TRUE 1
あ、ほんとに「1」だ。
typedef bool int
なんて見かけるから、やろうと思えば「5」でも何でも数字が入ってしまうわけですよ。そこで「== TRUE」なんてやられたら、絶対に成立しないわけで。バグの温床になるんじゃないかなー、と思ってかたくなに前述の姿勢を持っていたわけです。
今(最近の)言語はきちんと「BOOL」型(またはboolという名のクラス)を定義されていて、コンパイルエラーになるか、自動的に補正してもらえるのかもしれないけど、ちょっと気持ち悪い。
最近、ちょくちょく外注や若い連中と意見や話が合わず、「ああ、俺ってレガシープログラマなんだな」と思う事が多くなった今日この頃。ネットワークに平気でリトルエンディアンのデータを流すとか、勘弁して欲しい。LANアナライザでデータが見にくくてしょうが無い。