はてなキーワード: アセンブリとは
Qiitaで下らない記事を見つけたとき、その投稿者のプロフィールを見てみると、高確率で他も下らない記事ばっか書いている。
しかも、そいつらの記事を書くスピードは早い。息するゴミ製造機である。
初学者が学習メモを投稿しているのではなく、当の本人は彼なりの「理解」と「拘り」に基づいて書いていることが伝わってくる。だから、余計に痛々しい。
目立つゴミ記事の特徴は、とにかく実質的に何も説明していないこと。そして、キーワードとキーワードをつないで、技術的なトレンドを把握したような気になっていることだ。
たとえば、明らかにCPUやコンパイラの仕組み、アセンブリ等の知識のない人たちが、「コンピュータは二進法で動いている」みたいな表面だけの全く内容のない記事を量産している。
もちろん「まだ学習途中で、大雑把な仕組みは知っていますが、詳細は分かりません。より詳しく知りたい人はパタヘネとか読んで下さい」とでも言っているなら、まだ好感が持てる。
しかし、ゴミ記事は内容を説明せずに、とにかくたとえ話や関連キーワードの羅列に走る。書いている本人にとっては、それこそがコンピュータの技術を勉強することなのだという気迫と拘りだけは伝わる。それだけに、傍から見るとすごくイタい。
これは検索エンジンのしくみ上仕方ないのだが、そういう記事はSEO効果がめちゃくちゃ高い。何せ、人が検索するようなキーワードが散りばめられているし、馬鹿でも読めるので多くの人がアクセスするから。だから余計に目立つ。本当に迷惑。
こういうのは現実にもいて、色々知っててすげえなあと思って実際会ってみたら、バブルソートとクイックソートの計算量の違いも説明できない人だったみたいなことが幾度となくある。
もう、こういうのやめませんか?誰の得にもなってない。
ふぇ…頭がパンクしそうだ。
Webアプリケーションだとソフト部分の事だけ考えていれば良かったけど、Windowsアプリは思いのほか大変だ。
型だけでかなりの数あるし、OSやら繋がってるデバイスを制御するためのドキュメントを見てもすごいページ数。
コンパイルやら、バイナリやら、アセンブリやらなんたらかんたら…
エロゲするだけのPC位しか思ってなかったけど、実は何でも出来るすごいOSなんだな…。
近所のお兄さんは実はすごい人だったみたいな感覚だ。
プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。
JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightとかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScriptに改名されたり、規格を話すときはECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースのオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。
Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。
Javaは初期のころオートボクシング / アンボクシングもなく、ストイックなオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコードも簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である。
PHPはWebネイティブな言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能や初期化していない変数を最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列と数字を臨機応変に切り替える機能もあり(今もそうかは知らん)、数字と文字の比較を比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。
C#はHello Worldくらいしか書いたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。
C++は黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーションで腱鞘炎になることもない。PC Unixにも最初から環境がインストールされているか、簡単にインストールできるので毛嫌いせず使うとよいと思う。
Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。
TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。
Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるから、カーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。
これ以下のランキングのもその気になったら書こうかな。
★
ソートがまさにそうだけど、バブルソートの特異領域N=1,Bigがそうだけど(例示)
ソートアルゴリズムも1つじゃなくて、テキストでもあれだけ教えている。
現場ではどうするか?といえば
採択されたものがソースコードに書かれる。それいがいはブランチに合ったりする。
これらがあるので、いわゆるバイナリやリバースからはソースコードの複雑さは推し量れないし
こういう膨大なテストがあったりするので(俺の場合は少ないが)
リバースだけから学ぼうとするな、ソースコードとアセンブリ結果から学べ
というのはそういうこと
いくつかいったけど、コンパイラの最適化を期待したりしてソースを書いたりするので
そういう書き回しをまなんでいくことも重要
ソースだけになw
僕はアメリカの大学でComputer Scienceをundergraduateで専攻しています。
大学自体のレベルはTOEFLスコアが80あれば入れるぐらいです。
今は2年次ですが各学期に専攻のクラスを一つ以上取っている状況です。
基礎教養に当たるクラスが60単位ほどあるのでそれと並行して進めています。
中学高校とまともに学校へ通わずに、だけど高校は通信制だったので欠席分の課題を何とか終わらせ無事に卒業しました。
大学は担任に勧められるまFランに入ったのですが友達も作れず一年も続かずに退学しました。
それからフリーターしながらダラダラと生活していて、二十歳を迎えます。
高校の友達や担任とその辺りのタイミングで再開した時に自分の人生の方向性を深く考えられました。
唯一英語だけは人生のいろんな場面で触れる機会があり、それを活かしたいとも考え留学に決めました。
両親に掛ける負担は一般的な学生に比べて半端ないと思いますし、それは一生を通しても清算できません。
なのでせめて、失敗だけは絶対にしないという心構えで取り組んでいます。
話を戻します。
入学当時プログラミングに関して、僕はスッキリわかるjava入門を通読した程度で、他の知識は皆無でした。
今まで取ったコンピューターの基礎クラス2つはjavaが主で、試験は選択+プログラミング問題(これは10行に満たない簡単なもの)でした。
もう一つのソフトウェア開発はc++を用いて、後はlinuxの基本的なsyntaxを覚えました。
基本的にどの講義で習うこともネットで調べれば(geeksforgeeksなど)独学は可能で、
特に日本人なら良い日本語の書籍に恵まれているので学費のコストを考えたらUdemyでかなり節約できるだろうなと思いました。
それ以外の雑多なクラス(日本の基礎教養のカリキュラムはあまり分からないのですが、歴史や生物学、英語と理系文系関係なく取らされます。)
も新しい知識を得られる意味では楽しいと思えるのですが、それが大学を出た後にどう自分を助けてくれるのかは想像できません。
Computer Science自体のカリキュラムをざっと眺めると高水準言語からアセンブリなどの機械語に近いものを必須クラスで学び、
後はOSや機械学習、プログラミン言語のprinciples、など選択で取る流れになっています。
これはどの講義でも言える事だと思うのですが、1セメスターで一つの内容に対する深い理解を得るのって時間的に厳しい所があります。
上辺の理解でも試験対策さえすればAを取るのはそう難しくなく、そのまま次の学期に移行してしまいます。
僕が懸念しているのは、このまま卒業すると間違いなくただのジェネラリストになってしまうんじゃないかって事です。
自由時間を使って書籍なりUdemyなりで技術を身に付けるのが最善策ですが、要領よく課題と並行してやるのは難しいです。
まだコンピューターに対する理解が浅く、注力したい分野を定められていないのも不安を抱く要素なのだと理解しています。
最近クラウドが流行ってるからって全部クラウドに移行するなんていうのをたまに聞く
自分で面倒なことしなくていいから楽だとは思うけど、それってインフラ面をできる人がいなくなるということじゃないの?と心配になる
ほとんどの人がクラウド使うのが当たり前になった頃に、AWSなどが値上げしても、もう1から環境作れる人がうちにいないから高いけど払うしか無いみたいなことになりそう
他にもクラウド提供してる会社がなにかの理由でやめたりしたらすごく大変そう
だからクラウド使うにしても全クラウド頼りってなんか賛成できない
でも考えてみたら、今って高級言語とかばかりでCとかアセンブリ書ける人は減ってると思うし、IT系の会社でもC言語とか低レイヤー系を扱える人が全然いないところだって普通にあるわけだ
私自身それらの言語はあんまり詳しくないが、必要になることがないから困ってはない
同じようにクラウド化もインフラの設定や環境作りなんて専門の人に任せておいて、それらに興味がある人でもなければ基本は知る必要もないことになりつつあるのかな
ちなみにコンソール派です!!!!!PCゲーはゲーミングPC無くてプレイ出来ない!!!!
ゲーミングPC欲しい!!!!!ゲーマーの友達はもっと欲しい!!!!
どうしたらゲーマーの友達できますか。別にオンラインで一緒に遊ぶとかしないでもいいんです。最近出たオススメタイトルを互いに紹介し合ったりレビューし合ったりゲーミングバー行くような関係の友達が一人や二人欲しいんです。
ーーーーーーーーーーーーーーーーーーーーーーー
みなさん優しくて本当に感謝感謝です。ありがとうございます。
・ゲームやってる人の後ろで見ていたい
→喋りが下手くそなので多分プレイ動画の垂れ流しになるんですがそれでも需要あるならやってみようかなぁ
・ゲーミングバー?そんなのあるの?
→https://goo.gl/dxvfVb こんな感じで色々ある
・ゲーセンいけ
→ゲーセン特有のコミュニティ、ほんと憧れてる。でも貧乏なんで通えないんだわ。
・コンソール派ってはじめてきいた
→語弊を生んで申し訳ない。あなたの言うコンシューマー派で捉えてもらって構わない。
他の人も言及しているがコンシューマーというのは和製英語で、英語だとコンソールゲームと言う。
自分は職業柄海外の情報に携わることが多くどうしてもコンソールと言ってしまう。
→是非なって欲しい id教えてくれればコールするし、嫌だったらブクマから私のidをコールして欲しい。もしくはTwitterに連絡くれても可
書いてくれという方がいたのでとりあえず3本書きます。
◯桜国ガイスト
ポケモンが流行った当時量産された、いわゆる「ポケモンlikeゲー」の中でも個人的に良作と思えた一本。
相棒であるモンスターを武器に変化させ、トレーナーも一緒に闘うというゲームシステムが斬新だったのと、それ活かしたラスボス戦が最高だった。妖怪(和風)とSFを融合させたかのような世界観も秀逸で、小話付きなサブミッションなどやりこみ要素も豊富。色々と惜しいゲームだったが、作品を購入した当時の自分は狂ったように遊んだのを覚えている。リメイク版とかでないかなぁ
戦争×歴史×SFロマン大作『メタルギアソリッドシリーズ』の第3作。東西冷戦の中に生きた伝説の特殊部隊を描いたスニークアクションゲーム。ストーリーラインこそシンプルな王道スパイ映画のような筋書きだが、小島監督ならではの演出も相まって噛みごたえ抜群の味わいを誇る。スネーク〜イーター♪〜や「人生最高の10分間にしよう」以降の演出は今でも忘れられない。
いわゆるメタ的演出というものにゲームで触れたのも私はこの作品からだった。文字通り腹筋が崩壊したのを覚えている。
合わない人は合わないが、合う人はドハマリすること請け合いなゲームだ。ちなみにこの作品のおかげで、私はスニークアクションゲームが大好きになった。アサクリシリーズ、HITMANシリーズ、Dishonored、etc…
ロボット3DSTAG「アーマード・コアシリーズ」4作目続編。個人的には集大成という感じでシリーズ内で一番好き。安易に語らないことで自己の矮小さと対する世界の壮大さを無意識に感じさせる物語、プレイヤーの選択次第で変化する世界と、それでも全てが明らかにならない真実。爽快感抜群の超高速戦闘と自由度の高いマシンアセンブリ。ゲームの難易度を上げるとそれに応じて物語の真相に近づくという演出もよかった。これ以上好きの気持ちを文字に起こすとなんだか安っぽくなってしまうように思えてならない。言葉は不要か…
こんな感じです。基本的にアクションアドベンチャーが大好物です。最近遊んだものだとアサクリオリジンズやニーアオートマタ、ベヨネッタ2(スイッチ版)とかですかね。あとはいわゆるコマンド選択JRPGやADVも大好きです。FF、ドラクエ、ポケモンやLIFE is Strange、テキスト主体のポイント・アンド・クリック系(シュタインズ・ゲート、さよならを教えて、マブラヴオルタネイティヴなど)。FPSはエンジョイ勢。Dota2とかやってみたいがPCが無い。ソシャゲはグラブルとハースストーンしてる。
本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学に入学してからです.
今では幸運なことにインターンで都内のベンチャー企業でgolangやpython, scalaを用いた大規模なシステム構築に携わっています.
お給料も日本の大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.
大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.
私が大学の授業で初めて習ったプログラミング言語はC言語でした. 理由を教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.
最近のTwitterやQiita, StackOverflowなどでは「初学者が最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptやPythonから入るのがベストだと言う人を沢山見かけます.
JavaScriptはブラウザというものが有る限り20年は消えなさそうですし, Pythonは機械学習を始め, Webシステムでも使え, 非常にクレバーな言語です.
javaもオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメントも豊富です. 色々な分野にも応用が効くでしょう.
さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語を最初に学ぶメリットとは一体なんなのでしょう.
一つ, 私が思いついたのはコンピュータと仲良くなれる.
というのもC言語はアセンブリや機械語に比べれば, 人間にわかりやすく, かつコンピュータ側にも近いという顔をもちます.
真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識が現代の開発に置いて役立つ分野比較的限られると思います.
しかし, それらは思わぬバグの特定や意図していない動作の改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)
二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.
そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)
ただ, 私はC言語の構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤな実装的な面と概念的な面ですんなりと理解することができました.
そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.
メモリの管理を適切に設計した時あなたのプログラムはボルト並みに早く走ってくれるかもしれません.
他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.
書いているとこれぐらいしか思いつきませんでした.
それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.
昨今, 高機能な言語が沢山ありますが, あなたのプログラミング生活にささやかなアクセントとしてC言語を学び直してみてはいかがでしょうか?
きっと今使っている言語に普段言わない感謝の言葉を述べること間違いなしです.
AI翻訳で確かにこの手の文章が苦手なやつ多いし、もっといえば産業翻訳でこの構文苦手による人間誤訳を見かける。
アミラーゼという酵素はグルコースがつながってできたデンプンを分解するが、同じグルコースからできていても、形が違うセルロースは分解できない。
★ セルロースは( )と形が違う。
2ch書きだったら
「アミラーゼという酵素はグルコースがつながってできたデンプンを分解するんだ。しかし、セルロースは同じグルコースからできていても形が違うのだ。
だからアミラーゼはセルロースは分解できないんだ!(ナンダッテー)」
「アミラーゼという酵素はグルコースの連鎖したデンプンを分解(ディスアセンブリー)する。しかしセルロースは同じ原料でも形が違う・・・
まるで将棋じゃないか!」(すまんネタに走ったしこれはテレビ版だった)
くらいまでかみ砕いてやったほうがいい(と編集にも言われるだろう)。
学問の徒として生きるのは完全に諦めてるし、大学もはや無駄と思ってるけど、無能でない俺ですら無理と思う道であってこんな補助金出してガバガバ教育してる日本金の使い方無駄すぎ……とは思う
もっとちゃんとした就職予備校設置してほしいけどそういう変革は無理なんだろう。
そういう話じゃないのか。今回はそういう話ではないです。
パソコンのご本を読めるようになるのが難しい、という感じのお話。独学? が難しい。
パソコンのご本、あんまり知識がちゃんとしてない人は読めないようになっているっぽい。
後述するけど、わかりやすいように作られたスクショまみれの本とか。
全体的なビジョンがないわけ。実際の世界がそれで動いてるようなビジョンが。だから読めない。
僕は社会の役に立つことを直接学びたかったよ。社会がどういう風に動いてるかみたいな話をさア
そういうのがあれば、パソコンのご本を読めるようになるんだろうなという感覚がある。
実務の話!! 実際に「IT系のおしごと」というのがやってるような話で、特にコーディングに直接絡んでくるようなもの。
技術の実態みたいなやつ。そういうのは学校で教わらないんですよね。
優秀な人はバイトとかやって知ってるっぽいけど、それみんなバイトでやるの? みんなはやらんでしょ。
というかバイトみたいな形で社会参画しないと学べない知識だったら、それはそれでやばくないですか? という提起でもあります。
はてな民の人IT系で働いてる人多そうだけど、そういうところ、そういうところなんですよね。
そういう知識があれば、大学の図書館に置いてあるような「技術本」っぽいやつ? の扱い方がわかるんだろうなーと思う。
いや別にやってきたことは何も無駄にはなってないんだけど。ハードよりの話もしたり、基本的な数学とか物理とか電子とか論理学とかシャノンの話とか。
でも、パチョコンは実学も以前に学問というか、実際に使えてナンボな部分が(いまこの想定してる話では)デカすぎるのに、
そんな環境的な、Linuxでサバ建てしましょーねーみたいな話も三年後期になるまでやらなくて、そんなん人が立ててるの見たら一発で覚えられることだし、みたいな。
みたいな。
そう、なんというか本が読めないんですよね。これ人がいたら一発なのに……というようなことだらけで、絶対間違った道に来ちゃってるよという感じがする。
↑
(焦ってるんじゃないのか?一冊だけをしっかりやれよ。と思ったりするし、言われそうだけど、それが一番の正解なのかな…やっぱり)
つーか本読みながらチンタラチンタラ比較するの嫌になるわけですよな。わかる。
スクショがいっぱい貼ってあったからといってわかりやすくなるわけではないし……。
てかスクショ貼ってあると古くなるとすぐ対応できなくなるから本当に困りますわよね、という話もあります。
僕が何を期待しているのかって?それは実務のうちで難しいお話が出てこない、環境の話、という感じ。
プログラミングをやれと言われても、それIDEはなによ?っつー話ですわな。WindowsだとVisual Studioとかになるのかな。
Eclipseはよくわからない。Javaでアプリ作るっていうのそんなに真剣にやったことないし……
っていうかそもそもプログラミングのお仕事??がよくできる人たちはプログラミングで何をしているの?
アプリを作っているんですか?それだったらヴィジュアルモードのチェックが簡単なやつ必要だよね、という話で。
あるいは別にアプリなんか作ってないのかもしれないよな。とすると何かしらサーバーを使って捌くようなシステム・サービスの細かい調節のお手伝いをしてたりするわけだ。
その具体的なトラフィックがどうだからどうのこうの、というお話をしたり、アクセスの仕方がどうの脆弱性がどうの、新しい技術がどうの、という話だと思うんですけど、
端的に言ってそういう話がぜんぜんわからない。そういう話がわかるとスンナリ進めるはずなんだけどな~と思いながら。
親の金で大学行ってるのに、なんかもっとこううまくできるはずなのに……という感じでつらい。
僕は人の役に立つ仕事のおべんきょおがしたいんですよ。なのに図書館で借りられる本、自分が何を知らないから理解できないのかもよくわからない感じで……
日経Linuxとか読んでみて、去年のやつにプロセスとかスレッドの説明あったけど、僕はまだOSの基本的な話もマトモに理解できていないなので、
そういう人間には難しすぎる (というか抽象的すぎてかなりわからなかった) スケジューリングの話はされたので、プロセスが対象なの?とか、そもそもCPUがアセンブリ命令ADDとか?を実行しつつ、
OSがそのアセンブリ命令をセットにした実行単位を用意して、OSがスケジューリングしてくれる、みたいな話なのかな……? と思った
(でも明らかにプロセスとスレッドがわからない人間には伝わらないような程度のフワフワ説明しかなくて、これ、誰向けだ?とか思ったけど、やっぱり身近に聞ける人間がいる人のための本なのかもしれないですなあ)。
そういうの、本とか、自分の足りない知識とか、おそらくその辺にあるんだろうな~と思いながら、でもバイトで働くにも微妙にプログラミングの知識が必要で、「これまで何作ってきましたか?」と言われても、
そういう、あんまりしっかりしたものを作ったことないし、C言語、gccで可変引数までやって、でもアセンブリがどう実行されるんですか、という話はよくわからない。
Javaも習って、まあそれっぽいお話はいっぱいされたんですけど、アプリ作るの難しかったし、GUIはクソだね、というか、手打ちでやったんですけど、こんなん絶対手打ちより良いやり方ありますやろと思いながらやっていた。
絶対手打ちより良いやり方あるはずだけど、僕は知らんし、知らない以上何が効率的に作れるのかもよくわからないし、わからないことにはできるだけ手を出さない方がいいな、と思う。
いや~なんつーかこういうことばっか書いてると「甘えんなカス。氏ね」とかコメントされて、2000回くらいは殺されちゃうんですけど、それは甘んじるとして、でも何というか……みんなそうなんですかね。
同年代で「めちゃくちゃプログラミングできちゃいます!(漠然)」みたいな人間いるけど、僕が例えばどういう本読んでどういう道筋を歩んだらそういうカンジになれるか、かなり見えなくてつらいし、
そもそもそういうのを職業にできるスキル高く磨けるような人って、いったいどういう生き方してきたらそうなるんだろう、と思っている。
これで情報系の研究室いって、なんとか乗り切って就活して、プログラムがんばって書きましょうー!というような職場に行ったら、
それはもう「学生じゃないんだから。もう社会人なんだから自分で調べて」となるんですよね。マンガとかでたくさん読みました。それは死ぬほどつらいでしょ。現に人死んでるじゃないですか。
結局周りに聞ける人間がいる環境ってなに? 今もいないし、大人になってもいないんでしょ? だからはてブで「プログラマーはやっぱ自分で本読んでスキルアップしなきゃ死ぬぞ!」みたいなやつがホッテントリになったりするわけでしょ?
それはつらい。ご本読んで理解できないの、というか読めてないの、ウチにあるだけで目が上滑りして「全体像がよくわからないからな~ しょうがないよな~~」と言いながらろくに読む気も起きなくて、
「でも本当に役に立つ本って開いた瞬間に読みやすいのでは?」みたいな信念がある。 これが原因なのかな。でも、この信念、少なくともこれまでめちゃくちゃ役に立ってきたものなんだよなあ……。
学生の今、自分が考えてて不安に感じてることが、「追いつけない」みたいな不安が、イマイチわかり切ってないし、
だから具体的な質問として一言で言える話の羅列としてわかってないわけじゃなくて、もっと漠然とわからない。こういうこと感じてるの、僕だけじゃなくてパソコン知りてえ~~となって大学に来た人のうちけっこう多いような気がするんですよね。なんか生半可に甘えた環境だから。
----------------------
とりあえずこれ書いてたら少し気分落ち着いたので、要点をまとめると、
「本で勉強するのつらいよなあ~ そんなんじゃどんな分野行ってもつらいだろうなあ~」
ということです。
そういう有象無象の本をスパッスパッと切って、「この辺のこの本読んどくとこういうことができるようになるだろうな~」というモデルがまだあんまりできてない。
そういうのができるようになるのかと思ってたらあんまり学校でも学べる感じじゃない。全体像とは……となっているけど、こういう悩み、自然に解決したりしなかったりするんだろうな。
とりあえず、これは自分メモの今後の方針です。OSより下の階層、たとえばALUとメモリの組み合わせで、program counterを進めながら動いてるんだよーという感覚はあるので、
それがOSとどういう風につながってるのか、とか、100均で売ってる電卓、あのデジタル表示の部分がどういう仕組みで動いてるの、ということを考えたり、
インターネットプロトコルでパソコンが具体的にどういうパケットを送信しているんだろう、というような話を攻めて、これが全体像とやらが見えるようになる一助になるかはわからないけど、
できるところからできるところだけ勉強していきたいと思います。それが、僕にとって、よくわからない本をじっと読まなきゃいけない義務から抜け出した罰の引き受け方っぽいので。
「ファイルまたはアセンブリ 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。 」
http://stackoverflow.com/questions/4742894/mvc3-deployment-dependency-problems
IIS を実行させているサーバの GAC に Microsoft.Web.Infrastructure.dll のアセンブリキャッシュが存在しないようです。
プロジェクト参照設定にある Microsoft.Web.Infrastructure のプロパティを開いて「ローカルコピー」を True に設定して、発行(デプロイ)しましょう。
○朝食:なし
○昼食:おにぎり三つ
○調子
むきゅー!
○ブコメ返信
ロボットポンコッツを始め、クロスハンターとかメダロットとかのポケモンになれなかった銀メダリスト達が多くいましたね。
まあただ、これは辞めなければ勝ちみたいなもので、そもそもの続ける企業体力みたいなものの差でしかない気もします。
ちなみに、ボンボンは父親が重度のガノタだったため、プラモウォーズや、ときたコミカライズのために父親が買ってましたね。
oooooo4150さんが、どれだけのゲーム知識やパソコン知識を持っているかわからないので、
Microsoftが何のためにゲームを作るのか、そして今なぜWindows10を押し進めているのか、の理由を書きます。
もちろん例外は山ほどありますが、Windowsの多くのゲームはこの「DirectX」というライブラリが無いと動きません。
この「DirectX」を使うと、スーパープログラマがゴリゴリ機械語だのアセンブリだので描画を書かなくても、ライブラリを使って簡単お手軽に3Dゲームを作れます。
Quantum Breakのような大規模ゲームにおいては、如何に多くの人間が関われるか? が重要なため、このような汎用的なライブラリを使って作業の標準化を行っています。
また、Quantum Breakでは「銃の弾道の軌跡」や「時間の巻き戻りや進みや停止によるエフェクト」などが非常に美しく、
「静止画」としての美しさよりも「ゲーム」としての美しさを優先しています。
その証拠に、現行世代機では解像度は劣っています。(720p30fps)
ただ、その分、ゲーム動作のエフェクトにとても力を入れていて、「時は力」を体現する見た目を見事に描画しています。
このエフェクトは、同時多発的にかつリアルタイムに描画されるため、非常に高度な技術が必要なのは、素人目にもわかると思います。
そのため、Quantum Breakは「DirectX12」という最新のライブラリ、
さらにそれに最適化された「Northlight Engine」というこのゲーム独自のエンジンも使っています。
この「DirectX12」は、最新のWindows10にしか対応していないため、Quantum BreakはWin7では遊べないのです。
じゃあ、今度は「DirectX12」はどうしてWin7に対応しないのか?
という疑問がわくかもしれません。
それは、Microsoftがそもそも何のためにゲームを売るのか、ゲームを売ることで何を成し遂げたいのか? を説明しないといけません。
Microsoftが初代Xbox(旧箱)の時代から掲げているのが「リビング」です。
ココで言うリビングは、家族が揃っている部屋、程度の意味で、要するに「テレビがある部屋」みたいな意味です。
で、Microsoftは世界中の「テレビがある部屋」に、自社の製品を置いてもらいたいと思っています。
では、そのためにはどうすればよいのか?
いやいや、実はそれだけじゃ駄目です。
当然人間には金銭的な理由やスペース的な理由などで「他社製品」との比較をして、Microsoftの製品を置くかどうか決めるわけです。
そこで、Microsoftは「他社製品」に勝つ必要があるわけですね。
もちろん、プレステや任天堂より面白いゲームを作るのは大前提です。
けれど、歴史的事実としてSEGAは今ハード事業をしていませんし、ATARIもしていません。
SEGAが他社と比べて劣っていたわけでないことは、僕以外の誰かが詳しいので誰かに聞いてください。はてなには多分山ほどこの辺のゲーム事情に詳しい人がいるので。
また、リビングには「スティックPC」や「ApplTV」といった、ゲーム機以外の「他社製品」も参入してきています。
そんな状況でMicrosoftは、自社製品の要である「Windows」と未だ世界二位だか三位だかに甘んじている「Xbox」を融合させようと考えています。
つまり、仕事場や個人の部屋を制した「Windows」が「Xbox」が未だに制覇できていない、リビングに乗り込もうとしているのです。
さらには、モバイル端末機器の話とかも絡むのですが、省略します。
それの一端として、UWPアプリといって、Xboxでも、Windows10でも、Windows10Mobileでも、動くもの凄く汎用性のあるプラットフォームを作ろうとしています。
UWPアプリはAndroidやiOSでも動かす事ができる予定で、かの5pbさんが掲げた「1コード7プラットフォーム」は計らずとも現実の物になろうとしているのが、現状です。
(本題とは離れるので深くは触れませんが、自社製品だけでなく、他社製品であるAndroidやらiOSやらに向けても色々な施策があります。Xamarinとかでググってください)
このUWPアプリによって「あっ自分の部屋でやったゲームの続きを、そのままリビングでやろう」とか、その逆であるとか、
「電車の中でプレイしたゲームの続きを、リビングや自室の大きなテレビでやろう」みたいな動線を作ろうとしているんですね。
Quantum BreakはUWPアプリではないものの、Windows10版もXboxOne版もほぼ同じ体験ができ、セーブデータも共有できます。
メインストーリーは家族と一緒に楽しみ、やり込みは自室のパソコンで遊ぶ、なんて体験を提供しているわけです。
そして、こういう新たな施策は、ユーザー数がついてこないと意味がないんですよね。
良い”体験”を売るのは、今この世だからこそ評価されるんです。
Quantum Breakは30年後も評価されるゲームですが、Quantum Breakを取り巻くXboxOneやWindows10の体験は今でないと評価できないんです。
(任天堂のディスクシステムなんか典型的ですよね。あの時だから評価できる。今ならインターネットからダウンロードじゃない理由がないですもの)
そのために、Microsoftとしては「Windows10」の普及率を上げる必要があるんです。
なのでWin7は切り捨てないといけない、今更Win7に最新ゲームを対応したら、何時までたってもゲーマーはWindows10に移行してくれないんです。
だから、Windows10の無料アップデートをしつこくするんです。
(Win7でそのUWPアプリの構想はできないのかって? この構想はモバイル端末、ゲーム機、PCなど様々なOSが一本化できるからこそ意味があるので、それはちょっと厳しいかもしれませんね。何よりMicrosoftは、iOSのAppSotreやスチームのような「販売する場」を作ろうとWindows8辺りから一生懸命なので、ソフトウェアのようなDL販売が主のものは、なおさらWin7では出せないんです)
長々と書きましたが、どうしてWin7で遊べないか理解していただけたでしょうか?
二行でまとめると、
「商売的にはWindows10を中心としてゲーム機やPCやモバイル端末を売りたいから」
って感じです。
とまあ、理屈を述べたところで、Windows10搭載のPCを買ったり、Win7をアップデートしたりすることの後押しにはならないと思います。
キラーインスティンクトのシーズン3はWindows10とXboxOneのクロスプラットフォームで盛り上がって行くし、
ギガンテックも多分出るし(フェイブルレジェンドのアレのせいで運営型ゲームは怖いけどね)
将来的にそこまで悪いハードだとは思わないので、是非とも、XboxOneやWindows10をよろしくお願いします。
スマホ向けボードゲーム「ポケモンコマスター」Android版が本日サービスイン。AIを活用してデュエルを勝ち抜こう
http://www.4gamer.net/games/336/G033671/20160412029/
大好きなポケモンのシリーズだけど、これはちょっとプレイするのを辞めておこうと思う。
理由は簡単で、月五万円上限一杯まで課金する自分を止められそうにないからです。
この日記で度々話題に出してるけど、ポケモンとガチャは相性が悪すぎると思う。
僕の愛する悪ポケたちをコンプしたいという欲を、抑えられる自信が全くないので、触らぬが吉ですね。
ITの大航海時代がはじまって20年ほどがたち
ブルーオーシャンへとみな船の帆をあげ遭難していくのであった (完
さてプログラムを船にたとえて話をしてみよう
船の大きさは君に任せる。
船っていろいろあるからね。
君が仮に完璧な船をつくったとしよう。
だがその船は誰がどうやっていつまで運行するんだ?
船長になるためにカンナやユンボ(アセンブリなりクラウドなり)の使い方を知っている必要がはたしてあるだろうか
とある言語XやとあるハードウェアYの良さを語ったりdisったり
だがそれは、船の甲板にブナの木をつかうかクスノキをつかうかの違いか
田舎の商工会議所のお茶会議論にでてきましたー☆を言い換えただけにすぎない。
東京ーLA間を航海する話ではないし
所詮セキュリティの話は船底についたフジツボのとり方の話でしかない。
いい加減目を覚ますべきだ。
君は・・・
立派な船があっても
主砲を実戦で使うことのなかった大和のように沈む無かれ。
海関係の仕事 しかも無免許運転 遭難したらしかるべき情報を届けるところも無く
ハットヒヤリなどすら残らず・・・ また誰かが繰り返していくんだ。
どうしてあんな馬鹿なの?
アセンブリとかソースとかコードとか、どうして中途半端にカタカナ英語なんかにして、和名を付けてあげなかったの?
ノムリッシュじゃないけど、ファルシのルシがコクーンをパージみたいに字面見てるだけで拒絶反応バリバリ出るんだけど?
たまーに構造体とかちょっと分かりやすい和名つけてるけど、基本カタカナの羅列で頭痛くなってくる。お前はルー大柴か。
フールプルールとかフェールセーフとかフォールトトレラントとか、こんなもんカタカナ表記にするよりまだ英語表記にした方が覚えやすいだろ。