「Visual Basic」を含む日記 RSS

はてなキーワード: Visual Basicとは

2019-08-19

anond:20190819111351

わからんなら仕方が無い。

一般的に「マクロ」と呼ばれる仕事で使うツール

Visual Basic for Applications (VBA)で作成したマクロ

の事を指すときが多いので、それじゃないか?と思う。実行して、Office(ExcelとかAccessとかWordとか…)の結果になるヤツね。

もう暫くで直るらしいが、それまでは該当修正パッチ削除で乗り切れ。

2019-04-06

anond:20190405084225

Python拡張性がありすぎるからなあ。

外部ライブラリが果てしなくあり、


 ← それはPythonに限ったことじゃないでしょ。JavaでもRubyでもPerlでもCでも同様。主要言語はほぼそうでしょ。

似たような機能を実現する方法複数ある


 それはむしろ逆。Pythonスローガンは There's Only One Way To Do It で、これは Perlスローガン There's more than one way to do it. を意識したもの

https://wiki.python.org/moin/TOOWTDI



なお、個人的には C# は良さそうだなとは思うけど、Windows以外のプラットホームではどうなんでしょう。(よく知らない。) これは Visual Basic についても同様。

2019-04-05

anond:20190404130259

Python拡張性がありすぎるからなあ。

外部ライブラリが果てしなくあり、似たような機能を実現する方法複数あるので、本によって書いてあることが違ったりする。

逆説的ではあるが、初心者は、Visual BasicやC#あたりから入るのがいいような気がしてきた。

逆引きハンドブックのような本を片手に、チュートリアル本を手打ちコードを動かしながら読了すると、Visual BasicやC#の世界は一通り把握できる。わからないことは索引を見ればだいたい出ている。Visual BasicやC#があんまり尊敬されてなくて、限界や不満もあることもだんだん理解できる。

Visual BasicやC#でも相当なことができるし、そこからスマート言語に移行すれば、比較対象となるものがあるので、守備範囲自分のペースで広げていける。

2018-10-21

anond:20180624224045

その発言した増田ではないが、その発言は少し無責任な気がするので補足。

まずRはやめるべき。

R言語という統計などの計算に強いプログラミング言語がある。

逆に統計くらいでしか使わないので、貴方算術処理をバリバリやるのでなければ使用するべきではないだろう。

Python言語だが、Rに比べると汎用的であり、かつ機械学習(scikit-learn、NumPyやPandas等の統計ライブラリ主体だけど)などでも使われていてホット言語である

ホット言語だと、書籍ネット情報豊富にあるので、学ぶ分には困らないのでもしプログラミング言語をやりたいのであればPythonお勧めする。

そして、Excelマクロも一応Visual Basic for ApplicationというVBを下敷きにした言語なので、その言語を今から学ぶのであればPythonを学べばいいのではないかというのが先の発言趣旨ではないかと推察する。

しかしながら、言うまでもなく、Excelセルに書かれたデータをあれこれしたい(主に業務活用したい)という要件ならVBAが最適である

プログラム言語って得意/不得意があるから、やりたいことに合わせて使う言語を変えたほうが幸せになれます。(本格的なプロジェクトだと選択余地はなかったりするけど)

なお、おうちで触りたいというレベルなら私もPythonお勧めします。

MacでもWindowsでも同じ書き方で、Excelに囚われず色々な処理ができる。AIIoTなどで需要が高まっているので覚えておいて損はないし。

「これだけ凄いから導入許可をください」と情シスに掛け合えるレベルまで成長したら会社でも使えばいい。

ただ、対象者ちょっとしたプログラミング言語を覚えて、手間がかかることを自動処理とかしてみたいなぁと考えられる人。Excel効率よく使えれば十分って考えの人にまでお勧めするものではないので、その辺は誤解がないように。

2016-06-17

1.0から学ぶJava

タイトルを見て釣られクマーな皆さんこんにちは

ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。

今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。

「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。

タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー

面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。

Java 1.0 1996年1月23日

Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。

かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU が Pentium 133MHz メモリ16M とかそんな感じだったかなあ。今どきの携帯電話の例としてiPhone 6sを挙げるとCPUが1.85GHz メモリ 2G ってんだから凄いですね。OSは1995年11月23日リリースされたWindows95とかそんな時代背景です。インターネットがようやく一般に普及し始めたところでしょうか。

今から思うと相当弱いハードウェアですけども、そろそろVM方式を採用しても良さそうな、そんな時代でした。インタープリタだと流石に遅い、でもC言語のようなコンパイル言語だと"Write once, run anywhere"とはいかない、という判断もあったのだろうと思います。Javaが純粋なオブジェクト指向言語ではなくintなどのプリミティブ型を持つというのは、当時のマシンスペックを考えた場合、ある程度妥当な判断だったと言えるでしょう。これが後々苦しくなってくるわけなのですが。

Javaを作った会社はSun Microsystems(サン・マイクロシステムズ)というアメリカの会社で、2010年1月27日オラクルにより吸収合併され今はありません。SolarisというOSとSPARCプロセッサでUNIXサーバーの販売で90年代後半までは一人勝ちのような状況だったと聞きます。当時にすでに「ネットワークこそがコンピュータ」(The Network is the Computer)というモットーを掲げてたんだからおかしい。1996年リリースのJavaが標準でネットワーク機能を備えていたのもこのあたりの思想から来ているのかもしれませんね。

当時のプログラミング言語としてC++が挙げられますが、C++でのプログラマへの負担といいますか、ヒューマンエラーの起きやすさといいますか、その辺を改善する目的で開発されたのがJavaだったわけです。

1996年の時点にこんな言語が登場したのですから革新的でした。

いろんな企業がJavaに賛同します。その中にはMicrosoftもありました。この時期、Microsoftは次期のWindows開発用のプラットフォームにJavaを据えようと考えていました。その後、袂を分かつことになるのですが……。

プログラム言語として構文などを見ると、C++を強く意識した構文なのは間違いなく、しかしポインタ演算を廃してポインタを機能を限定した「参照」に置き換えるなど簡素化が多く見られます。C++からはいろんな機能が削られています。関数ポインタ、構造体、演算子オーバーロードテンプレート((テンプレートについては実装が間に合わなかったという話を聞きます))などなど。そのためC++の劣化であるように揶揄する人もいますが、こうしたものを捨てて言語仕様を比較的小さくシンプルに抑えた点は評価に値すると思います。しかし、今でもこうした削減された機能を愛する人からはJavaを腐す要素として挙げられてしまうのでした。

Java 1.1 1997年2月19日

Wikipediaからピックアップすると1.1での大きな機能追加は

といったところです。当初よりJavaの内部文字コードUnicodeで文字を表すchar型は16bitで設計されていました。Unicodeは当時それほど普及しておらず、Unicode対応のテキストエディタさえ少なかったと記憶しています。時代を先取りしていると言えますが、大きな誤算はUnicodeが当初16bitのコードポイントに世界のあらゆる文字を格納しようとしていたことで、漢字圏の我々からすると16bit=65,536程度の空間に文字が全部入るわけないだろ!というものだったが故に早々に破綻し、Unicodeは21bitのコードポイントに拡張されることになるのです。これはまた後の話。

なんにせよ、日本語が対応されたのは1.1からで、日本でのJavaの採用が始まったのはこの頃からと言えましょう。

当時のJavaのGUIはAWTというものでしたが、これを用いたGUIの開発は当時は結構行われていたイメージですね。Visual BASIC でGUIを作るプロダクトも結構あったと思います。GUIのためのオブジェクト指向言語としてJavaが使われていたイメージがありますね。JavaBeansもそのための仕様でした。件のsetter/getterの話題に繋がっていくのですが。

JDBCはJavaとデータベースをつなぐインターフェースです。RMIではあるJava VMから別のJava VMにオブジェクトを送って実行する、といったことができます。こうした機能が用意されたことで、ソフトウェアフロントとしてのGUI、裏方の実装のためのネットワーク機能、データベース機能、さらにはソフトウェアを配布するためのJava Appletという布陣でJavaでのソフトウェア開発が加速していた時代といえます。

Microsoft Visual J++ もこの時代ですよ。

Java 1.1以降のバージョンのものは互換性確認のためにOracle Java Archiveからダウンロードすることができ、今でも入手することができます。もちろん、Java7ですら2015年4月にEOL(End of Life,サポート終了)となっているので、通常利用するのはJava8としてください(本稿執筆時点)。

当時のドキュメントを見るのも一興です。現在と比べると標準APIがかなり小さい。なお、当時のjavadocは今とはデザインが大きく異なります。

  • java.applet
  • java.awt
  • java.awt.datatransfer
  • java.awt.event
  • java.awt.image
  • java.beans
  • java.io
  • java.lang
  • java.lang.reflect
  • java.math
  • java.net
  • java.rmi
  • java.rmi.dgc
  • java.rmi.registry
  • java.rmi.server
  • java.security
  • java.security.acl
  • java.security.interfaces
  • java.sql
  • java.text
  • java.util
  • java.util.zip

この時代であれば、全パッケージを舐めて標準APIを学ぶこともそう難しくはありませんでした。この時代から触っている人間は新バージョンが出るたびに増えるAPIを順に学んでいけたのです。しかし、現代にJavaを学ぶ場合、どのバージョンでは何があって……というのをいちいち学ぶ必要はほぼありません。Java5以前は一緒くたでいいと思いますし、一部のAPIで歴史的経緯があってねーというのを知っていればおそらく十分ではないでしょうか。

Java 1.2 1998年12月8日

strictfpキーワード浮動小数点演算をやる人は覚えておきましょう。JavaはパフォーマンスのためにCPUの浮動小数点演算を扱うことが許されており、そのため実行するCPUによって精度が異なることがあるんですね。まあ今時のCPUだと大丈夫だとは思うんですが。

リフレクション機能ではJavaのクラスを抽象的に扱うことができます。設定ファイルに書かれたクラス名のclassロードして実行する……みたいなことができるんですね。フレームワーク的なものを作る場合には多用することになります。

1.2からは新しいGUIのSwingが採用されました。AWTがOSごとのGUIパーツを用いていたためデザインに違いがあったのに対し、Swingでは統一的なルック・アンド・フィールが用いられるようになりました。まぁ今ならJavaFXを使うのが良いと思います。

初期のJavaはやはりVM方式の実行速度の遅さが指摘されていました。実行時の構文解析を伴わないだけインタープリタよりは早いものの、実行バイナリを作るC/C++よりは遅い、そうした評価です。ここではサン・マイクロシステムズのVMにJIT(ジャストインタイムコンパイラ)が乗ったことが挙げられていますが、JIT自体は別の会社が先駆けて開発していたことは記しておきたいと思います。

JITコンパイラは実行時にJavaのバイトコードを環境のネイティブコードコンパイルして動かす技術です。この後、JITコンパイラ、動的再コンパイル技術、世代別ガベージコレクションを備えたHotspotといった様にJavaVMは進化していきます。現代では実行時の最適化が進み、大きなスケールで見た場合、Javaの実行速度はC/C++での実装と比べてそれほど遅れるものではありません。遅くても倍の時間は掛からない程度といったところでしょうか。

あとは特記すべきはコレクションフレームワークです。皆が多用しているであろうjava.util.Listやjava.util.Mapといったライブラリが整備されたのがこの時なのです。それ以前はjava.util.Vectorやjava.util.Hachtableというクラスが可変長配列の機能を一手に担っていました。今ではVectorやHashtableは使うべきではありません。

Microsoft 離反

Java の開発はSun Microsystems が主導していたけども、すべてがSunのものだったというわけでもなく。Javaには多くの会社が出資していてその中のひとつMicrosoftだったわけですね。

Microsoft の Visual J++ では delegate とか独自機能拡張もありましたけど、裁判で問題になったのは J++ でコンパイルしたclassファイルMicrosoftのVMでしか動かないという部分ですね(他社製のVMで動くclassファイルを作ることもできる)。classファイルがどこのVMでも動くの大事だろ、"Write once, run anywhere"だろ、お前何してくれてんの!と喧嘩になったわけです。当時のMicrosoftブラウザまわりでも独自拡張がやりたい放題、標準規格?なにそれ美味しいの?みたいなスタンスをあちこちで見せていたものです。

結局、この事件でMicrosoftのJavaはバージョン1.1相当でストップ。好き勝手にやれないなら独自に言語作るわーとばかりに.NET フレームワークと C# といった方向に舵を取ります。

JavaがPC上でのUI開発の主力になろうとした勢いはここで潰えます。

Java EE

Java SE とは別にこの時代に Java EEリリースされていることは特記しておきたいですね。これ以後、それまでのCGIに取って代わって、JavaはWebサービスの開発のプラットフォームとして多用されるようになります。

2000年あたりからはJavaはGUI開発というよりは、Webサービスの開発が主流という流れになっていきます。インターネットサービスが非常に発達していった時代、背後ではとてつもない量のJavaのプログラムが支えていたわけです。ただまあ、こうした産業利用は一般的ユーザーの目にはあまり入らないわけです。一般人からすればJavaといえばJava Appletみたいなイメージはずっと残っていたでしょうが、実体としてはJavaといえばServletという時代になっていたわけです。

企業で用いられる社内システムにもServletは多く採用されました。

理由はいろいろ挙げれると思うのですが

というのが大きな理由だろうと思います。JSPというテンプレートエンジンを用いてHTMLを整形してWebページを作り出す、というアーキテクチャある意味では便利で簡単でした。

もっともHTMLの表現力に足を引きずられるため、GUIの機能性という点では後退したわけなのですが。それでもメリットが大きいと判断されたのでしょう。というか、まともにGUIを組めるプログラマがほとんどいないから、GUIのシステム開発がなかなか成功しないってのもあったんでしょうけどね。

iアプリ Javaアプリ EZアプリ

2000年あたりというと携帯電話の普及も取り上げなければなりません。現代のスマホガラケーに比べれば非常に機能は貧弱で、まさに携帯「電話」でした。要するに電話とメールぐらいしかできなかったんですね。

そこにdocomoiアプリJフォン(ボーダフォンを経て現ソフトバンク)のJavaアプリ、auのEZアプリという携帯電話上でちょっとしたアプリが動くよ!というのが乗るようになってきたんです。これがJavaを組込み用途にコンパクトにしたJava MEというものが土台となっていて(正確にはiアプリちょっと違う)Servletと並ぶJava言語の大きなもうひとつの領域となっていました。

iアプリは当初は容量が10k byteまでといった制約があり、容量制限が非常に厳しかったのですが、新機種が出るたびに容量は緩和されていきました。

docomoiアプリ含めiモードによって一世を風靡します。こうした土台を作ると、その上で商売をしたい人がたくさんやってきて、勝手にコンテンツを作ってくれる。docomoはそれらから手数料を取るので労せずして大金を稼げるというわけです。賭場の胴元というわけです。

この賭場が、将来にAppleiPhone, GoogleAndroidに荒らされることになります。docomoがなかなかiPhoneを出さなかったのもiモードという自前の賭場を失うことを良しとしなかったためです。金づるを失ったdocomoSamsungと組んで独自の携帯向けOSであるTizenの開発に乗り出します。そんなTizenですが鳴かず飛ばず。噂ではインドあたりではリリースされたとか、なんとか。

RIA時代

話を2001年に戻しましょう。

Microsoft離反でGUIのプラットフォームとしてのJavaというものは存在感を弱めていました。この分野の復権に寄与したのはJava 1.4 (2002年2月6日)で導入されたJava Web Startです。

Java Appletブラウザ埋め込みで動作したのに対し、Java Web Startではブラウザから起動しつつも独立したアプリとして起動するのです。

Webシステムが企業の社内システムに採用された話は先に述べたとおりですが、やはりWebシステムのGUIというのはHTMLに引きずられて貧弱だったんですね。

端的に言えば入力値が数字かどうか?みたいなチェックがなかなか難しい。HTML上でJavaScriptでやるわけなんですが、なかなか気持よく入力できるような感じにはならなかったんですね。

また、Ajaxによるブラウザのページ遷移を伴わない通信というのが出てきたのも2005年ぐらいなので、入力値に対してサーバ問い合わせするようなことはできなかった。当時だと一旦画面遷移させないとできなかったわけです。

こうした事情から、クライアントサイド、要するにPC側でもっとリッチなUIが使いたい!という要望があったわけです。Webシステム使いにくい!という不満の噴出と言ってもいい。そこで出てきたのがRIA (Rich Internet Applications)というわけです。

Javaは1.0時代のAppletからそうですが、ネットワークを介して別のPCにプログラムを送り込み、そこで動作させるという能力を持っていました。それこそまさにRIAに求められる機能性だったわけですね。

RIAの代表とされるのは

あたりです。三つ巴の戦い、どこに軍配が上がるのか!?と注目されましたが、勝利したのはHTML / JavaScriptでした。

Google MAP で注目を浴びたAjax技術、それまでブラウザでは不可能と思われていた高級なGUIをHTML / JavaScriptで実現させました。もうやめて欲しいですよね。せっかく脱ブラウザの流れが来たと思ったのにまたWebシステムに逆戻りですよ。

RIAが失速した理由として考慮して置かなければいけないのはスマートフォンの台頭です。RIAでは端末を選ばずどこでも同じアプリが動かせる点がポイントひとつでしたが、スマートフォンではそうは行かない。"Write once, run anywhere"を破壊したのはスマートフォンだったというわけです。

しかし、先日インストールなしでアプリを実行するAndroid Instant Appsが発表されたりしまして、結局RIAの思想といいますか、要求というのは今でも息づいているのだなと思った次第です。

Java 5 (2004年9月30日)

1.3 / 1.4 では機能追加はあっても言語構文が大きく変わることはありませんでした。大きく変わったのはJava 5です。この時からバージョニングが変わって1.5ではなく5と表記されるようになりました。

Java5の特徴はなんといってもジェネリクス。それまでjava.util.Listにデータを出し入れするのにはキャストが必須だったわけですが、ようやくキャストから開放され型の安全度がぐっと高まりました。その他に以下のような変更があります。

言語としては随分変わっったわけですが、もうかれこれ10年以上前のことですからこれらの機能が「Java5から導入された」という知識は今となってはあまり必要とされません。これらの機能が使えないJava 1.4で開発をする事案が殆ど無いからです。0ではないのが悲しいところではありますが。

その後

Java 6 (2006年12月11日)がリリースされた後、Java 7 (2011年7月28日) が出るまでJavaは停滞してしまいます。その間にSun Microsystemsという会社がなくなってしまったためです。

Sun Microsystems の経営状況が悪化しており、ついに身売りをすることになりました。身売り先はIBMともGoogleとも噂されましたが結局2010年1月27日オラクル吸収合併されました。

Javaの停滞中にはJava VM上で動く非Java言語も台頭してきました。Scalaなどですね。

やや戻って2007年Androidが発表されます。Androidの開発言語にはJavaが採用されていますが、実行環境はJava VMではなく、ライセンス的な事情でJava(TM)は名乗らない微妙な位置関係にあります。

Java 5 以降で大きく言語仕様に手が入るのは Java 8 (2014年3月18日)です。並列処理を行うためのStream APIと、そのために簡易に関数を定義するためのラムダ式が導入された点が大きいですね。日付APIも刷新されました。

このように、Javaは1.1の黄金時代から今に至るまで利用ジャンルを転戦しながら産業の土台となって支えてきた歴史があります。ジャンルの趨勢により浮き沈みもあります。今後についても決して楽観視はできないでしょう。Javaを学ぶことはプログラミングを学ぶステップとしては意義はあると思いますが、Javaを学べばゴールというわけではありません。プログラム言語次世代へと移りつつあります。業界動向には注視していきましょう。

2016-01-15

JAVA言語という表記違和感

好きに表記すればいいと思いつつも見ると内心もやもやしてしまう。

やっぱりJava表記してほしい。Java……かっこいいじゃん!

Javaだけだと馴染みのない人もいると思うので似たような例を挙げる。

× SKYPEアプリSkype

× PHOTOSHOPソフトPhotoshop

× YOUTUBEサービスYouTube

この「JAVA言語」という表記が抱えている問題は何か?

大まかには次の二点だと思っている。

大文字

COBOLLISP、ALGOL、FORTRANPL/IAPLBASIC……

大文字名前は古い言語代名詞だ。

今はFORTRANも新しいFORTRANFortranと名乗っているし、BASICBASIC派生Visual Basicなどと名乗っていたりする。

時代に逆行してJavaJAVA表記してしまうとJavaがあたかも古い言語であるかのような印象を与えることになる。

× JAVA1960年代言語ですか?
○ Java ← 今時の言語っぽい!

言語」という接尾辞

Javaはそれ単体でプログラミング言語Javaを指す。

言語」という接尾辞をつけてしまうと二重敬語のようなまわりくどい印象を与えることになる。

Cのようにググラビリティが低いため止むを得ずC言語表記するという場合もあるが、Javaならそういった問題は無い。

コンピュータ関係で他のJavaと衝突していないか?それは大丈夫だ。

https://ja.wikipedia.org/wiki/%e3%82%b8%e3%83%a3%e3%83%90

本題

今日金曜ロードショー天空の城ラピュタがあるらしい。

Scalaちゃんは今日も「余裕でした(´・_・`)ドヤッ」とツイートするんだろうか。

https://twitter.com/scalachan/status/363317870685462531

2015-02-23

http://anond.hatelabo.jp/20150223114637

ちったぁ自分で調べろや。ろくなプログラマになれんぞ。

IsNumeric Function (Visual Basic)

IsNumeric returns True if the data type of Expression is Boolean, Byte, Decimal, Double, Integer, Long, SByte, Short, Single, UInteger, ULong, or UShort, or an Object that contains one of those numeric types. It also returns True if Expression is a Char or String that can be successfully converted to a number.

ここは普通のことをいっている。 IsNumeric が True を返すのは以下のとき

から問題があるのは Empty のほう。

VBE Glossary (Empty)

Empty

Indicates that no beginning value has been assigned to a Variant variable. An Empty variable is represented as 0 in a numeric context or a zero-length string ("") in a string context.

Empty は context にあわせて以下のように解釈される。

というわけで IsNumeric(Empty) は Empty が数値として解釈されて 0 になるので True を返す。

2014-07-29

部下がくれたアドバイス

前いた会社を辞めた時に、部下がくれたアドバイスを思い出した。

部下は新人ときから、びっくりするほどできるやつだった。

同僚の三倍程度の仕事量をてきぱきとこなし、涼しい顔で毎日定時に帰っていく。上司の俺が何も指示していないときに、社内を歩きまわって、同僚や先輩に仕事を「お願い」していた。

けれども、そいつを悪く言うやつはいなかった。笑ったときえくぼが印象深い奴だった。

俺は会社でパッとしない上司をやっていた。

経験だけはあったが、他にその役につく人間がいないという理由で、ロケット鉛筆のように押し出されてそのポジションに付いた。

かつて新人だった頃は、プログラマーとして四苦八苦しながら、作る喜びを糧にしていたものだった。

だが月日が経って、机の位置が変わった。プロジェクトを指揮するようになった。部下が増えた。いつしか俺はコードを離れ、代わりに人間を扱うようになっていた。

責任が増えると共に、やりがいも増えた。チームをまとめて、目標に向かっていく。自分一人ではできないことを、仲間たちと力を合わせて達成する。砂漠の中にピラミッドを建てるように。

プロジェクトを完遂すると、メンバーがガラリと変わった。力になってくれた仲間たちは、別のチームでその才能を発揮することになる。俺の元には営業がやってきて、新しいプロジェクトの発足を告げる。

程なくして新しいメンバーがやってくる。俺は別なチームとともに、別のピラミッドを建てるのだ。

そんなループを何度か繰り返したある日、プロジェクト終了直後の閑散とした社内を眺めて、缶コーヒー片手にボンヤリしている時に気がついた。

味がしない。缶コーヒージョージアエメラルドマウンテン・ブレンド(つめた〜い)の味がしない。

いやもちろん缶コーヒーなので、本来そんなに旨くない。街の喫茶店はおろか、スターバックス女子高生がカップで飲んでるやつにも及ばない、いわゆる”コーヒー飲料なのだが、初めの頃はうまかったのだ。

入社当時、Visual Basic の教本を片手にキーボードにしがみついていた時に机に並べていたエメラルドマウンテン・ブレンドは、もっとスカッとした味だった。

抜けた空のような味。

何かが違う。そう感じた。

iPodを作った天才スティーブ・ジョブズはかつてこう言った。

私は毎日自分に問いかけてきました。「もし今日人生最後の日だとしたら、今からやろうとしていることをするだろうか」と。「違う」という答えが何日も続くようなら、何かを変えなければならない時期にきているということです。

一週間の後、俺は退路を歩むことを決めた。

退社まで残りひと月と迫って、引き継ぎが一段落したある週末に、俺は例の、できる部下と酒を飲むことになった。

そのときの部下は会社の期待のエースとして注目を集め、人より多くの責任仕事を与えられていた。しかし本人はプレッシャーに怯むことはなく、むしろ水を得た魚のように、やる気に満ちていた。テカッテカだった。

酒の席に誘うと忙しいにもかかわらず、嬉しそうに快諾した。へんなやつだ。

その夜、俺は柄にもなく酔っぱらい、いつのまにか部下に向かってだらだらと仕事上の愚痴をこぼしつづける、情けない中年オヤジになっていた。

聞くと部下も結構酔っていると言ったが、俺は知っていた。こいつは顔は真っ赤になるが、それでいて実態は”ザル”だ。笑顔を崩さず、俺の話に機械的に相槌を打っている。

俺の話が一段落したときに、すべりこむように部下が横槍を入れた。「でもね上司さん。そういうのって上司さんが悪いんですよ。」

失礼ですけど。

顔を上げて確認すると、部下は笑顔の目元に困ったような表情を乗せていた。俺が息を呑むと、覚悟を決めたように、話を続けた。

上司さんは自分の頭で考え過ぎなんです。」

部下の説教

から何まで自分のアタマで考えないと気が済まない、そんなタイプ人間がまれにいます(ご指摘の通り、俺がそうだ)。

確かに、自分のアタマで考えるということは、ものすごく気持ちがいいですよね。なにかすごく『意味のあることをした感覚』を得られます

けれども、そこには隠れたコストリスクがあるんです。

説得するコスト

最高責任者とか芸術家とかでない限り、自分のアタマで考えたことは「誰かに説明して納得してもらう」というフェーズ必要です。

相手が上司さんの上司さんであるなら、例えば説得はこんなふうに行われます

お偉いさんの元を尋ねて、現状の問題分析するとこういう構造になってて、どこがどう問題と考えられるので、このようにやりかたを変えれば、このくらいよいことが起こるでしょう、みたいなのを説明して、話の前提をちゃんと共有しないと理屈が通らないから、考えに至る前提条件とかを事細かに説明して、相手との認識が合わなかったら合うように、考え方の違いに注意しながら調整して、ようやく自分のアタマで考えたこと、を分かってもらえたら次は、それって絶対・100%・間違ってたら責任取るの? とか聞かれます、でもそんなん100%なんて世の中にありえないだろ、と思っても言い出したのは自分だし、時間をかけて分かっていただいた手前もあるし、それら有象無象を踏まえて相手のプライド考慮しつつ、こちらの責任が大きくなりすぎないように、うまく首を縦に振ってもらうように、知略の限りを尽くして言いくるめるんです。

一方で、去年と同じで行きましょう、ならサラッと通ります

競合他社と同じ戦略で行きましょう、偉い人の方針をまるごと継承しましょう、とかでも。

冷静に、比べてみてください。自分のアタマで考えた場合コスト

説明のために、ものすごいコストや苦労をかけてストレスをためこみ、結果自分責任が増しただけ。

限界自覚するリスク

自分のアタマで考えようとして、なんにも結論が導き出せなくなることがあります

どの因子がどう関わってるのか整理しきれない。どこの範囲まで前提として考慮に入れるべきかがわからない。「Aと言う視点なら正しいとも言えるし、Bという視点なら間違いとも言える」みたいな項目ばかり。

なにを考えても「他人が出した別案」に引っ張られる。なんとかごまかしつつ、ちょっと甘いかな、って思いながら考察した結論他人に見せる。でも、アタマの鋭い人はどこでもいるもので。

ピンポイントでその弱いところを突かれちゃったりする。自分でも「俺バカなのかな」と薄々感づいてる点を、改めて他人にも認識させられることになります痛恨の一撃です。大ダメージです。

賢者歴史から学び、愚者経験から学ぶ、と言います

ゼロから考え直すなら、誰だって結論を間違えたり、推論を見失ったりすることがありえるんですけど、『自分のアタマで考えている俺』に酔っていると、そういう基本的なことは、忘れちゃうんです。

根拠のない自信を持ってる人ほどひどい結果になりがちです。

自分天才とまでは言わないけども、周囲の中でまあまあ使える、ほうだし、今は流されてるけど、本気出せば自分で考えて結論出すようなこともできるもんね!」

そんな自信は崩れ去ります

失った自信を取り戻すのには、より多くの時間必要です…。ご年配の方ほど、必要な苦労は過酷ものになるでしょう。

一方で、すでに確立された方法に従うなら、挫折はありません。

その仕事が得意な人、エキスパートに全部お任せする、というのでも。

考えてもみてください。自分のアタマで考えた場合リスク

挫折が無ければ、その間仕事ができた。挫折があるから、周辺分野へ再び手を伸ばすことが、おっくうになった。

天びんの片方を高く見積もりすぎている

例えば、さっきお酒持ってきてくれたの店員さん。カウンターで寂しそうにひとりで飲んでるオジサン。自分のアタマで考えているように見えますか?

自分のアタマで考えてる人って、ものすごく少ないです。

たいていの人たちは、流されています。考えが浅いし、近視眼的です。リスク管理の面から見ても、脆弱です。

でも、その人たちって、不幸ですか?

かなり幸せそうじゃない? 自分はすごいという自信のもとに楽しく過ごし、うまくいかなかったことは運が悪かった、また次があるさ、と片付けてポジティブに生きてる。掘り込んだ原因分析なんてしないで、場当たりに生きてる。若者から人生訓を聞かれたら嬉々として語っちゃう、的な幸せさに溢れてるw

偉そうにw 生意気言うやつだなw とその晩は軽くたしなめて別れたけど、

よくよく思い返すといい話ではあった。なんだか、ずっと温めていた感もあるし。

から後になって感謝メールで伝えた。

俺は今まで、自分のアタマで考えてきた。それを誇りにしていたというほどではないけど、出来る限り自分でやってみる、が俺のモットーだった。

けれども、それで、何が残っただろうか。

すり減ったり、焦ったり、自己嫌悪に陥ったり。紆余曲折を経て、何が残ったのか。

ひょっとすると、俺は自分人生の将来や、手に入れられる幸福や可能性から、目を逸らしていたかっただけなんじゃないか。

実感を求めて効率犠牲にする。それで誰かの足を引っ張る。あるいは、身の程をわきまえて、歯車として、自分に与えられた役割を果たす。その分岐路で立ち尽くしている。アタマで考えても前に進めない。思考停止すれば進める。『結果』を手に入れる。上手く行けば成功できるかもしれない。彼女のように。慣性は惰性だ。だからプライドは捨てる。直感は捨てる。生き方を変える。

(以上。なんかディティール盛り過ぎてる感があるけど、部下の言いたかった、本筋のところは外していない?)

-----------------------------------------------------------------------------------------------------

後書き:

id:uxlayman さんの元エントリ分析エントリです。

俺の考えでは、元となるアイデアが良ければ、読みやすくするためにストーリーを与えて、読んでて途中で躓かないように、注意深く、入念に推敲すれば、ある程度伸びます(俺はこの文章推敲に6時間かけました。ヒマスギシヌ)。

コアとなるアイデアはなんでもいいわけではないようです。というのも、同じようなストーリーで同じような語り口の記事過去に書いたことがあるんですけど、そっちは全然伸びませんでした。

自分のアタマで考えてはいけない。

追記 (7/30 1:35時点):

頂いたコメントより

部下のアドバイスを受け入れられる人は人間として素晴らしい人だと思います

逆に言うと、部下のアドバイスを受け入れられない上司が世の中に、はびこっている、と。 うーん。。

2014-01-21

http://anond.hatelabo.jp/20140121125807

ネットを一切見ないで Visual Studioと マニュアル 参考書だけで 基本的テトリスを作れるかどうか? 8時間以内

とかでいんじゃね?

隔離した部屋で やれば できるやつは簡単にできるし

できない奴は 1日かけてもできないだろ

 

別に ブラウザのみとかVisual Basicのみとかでもいいけど、言語はなんでもいい。 ネットを見ないでテトリスが作れないなら、採用しない方がいい。

ぷよぷよは難しいけど テトリスは簡単に作れる。グラも四角形だけでいけるから簡単

 

あとは出来上がるまでの時間とか作りこみ (移動とか回転とかブロックの色とか、次のブロックとか 対戦まで作るか?とか)で評価を上げていけばいい

大学時代の俺で初めて触るX11の練習として授業中にこっそり作って、(当時今みたいなネットはなかった)最小限のテトリスで2-3時間ぐらいだったはず。

そのレベルで 初級ぐらいだとおもう。 ただ 今はもう年齢が高いからな速く作るのは逆に難しいから 年齢は考慮してほしいな。

2013-12-25

Visual Basic 2010 Expressプロジェクトを発行できません

Visual Basic 2010 Expressプロジェクトを発行すると以下の様なエラーが出ます xxxはユーザー名の置き換えです

プロジェクト新規作成から作った初期状態のプロジェクトを発行しても同じエラーが出ます

エラー 1 プロジェクトビルドできなかったため、発行できません。

警告 2 項目 '.NETFramework,Version=v4.0,Profile=Client' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1' で見つかりませんでした。

警告 3 項目 'Microsoft.Windows.Installer.3.1' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1' で見つかりませんでした。

エラー 4 必要ファイル 'setup.bin' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engine' で見つかりませんでした。 WindowsApplication1

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.binをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineコピーするとエラー4がこのように変わります

エラー 4 ブートストラップビルドするために利用可能なリソースがありません。 WindowsApplication1

Visual Studioを修復したりMicrosoft SDKインストールしたりしましたが、解決しませんでした。

どうしたらよいでしょうか。

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.binをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineコピー

更に

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\jaをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineコピーしたら発行できました

参照URL

http://msdn.microsoft.com/ja-jp/library/ms228158%28v=vs.90%29.aspx

2013-05-14

プログラミング大好き男に「どの言語が好き?」と訊ねられたとき、女はどう答えたらいいの?

あ、まず前提として、

貴女プログラミング大好き男を夢中にさせることが、

はたして貴女幸福にするかどうか、それはまた別問題だけれど。

はいえ、プログラミング大好き男たちは玉石混交ながら、

IT系の超かしこい男なども多く、

多くっつーかIT系でないのにプログラミング大好き男っていうのは超かしこ学生まぁこれは有望株)か研究者系なんか、

あとはまったくかしこくもないクセに頭いいつもりして「Lispやってます(キリッ ハローワールドくらいですが」とか言っちゃうアホしかいないわけで、

したがって、釣り師たる女たちにとっては、

なかなかあなどれない釣り場です。

では、プログラミング大好き男に「どの言語が好き?」と訊ねられたとき

貴女は、どう答えれば理想的でしょう?

まず最初に、その男COBOLのようなタイプレガシーコード

あとはC/C++、そして(TechEdに参加するほどではないけれど)VisualBasicが大好きな、

そんなタイプ場合は、

貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、

「わたしが、仕様書を作ってあげる♪」

これこそまさに必殺の答えです。

そこでプログラミング大好き男が、えへへ、とやにさがったならば、

貴女は、ひそかに、「コピペ量産しやすい技術的ポイントを抑えた仕様書」あたりを

ひそかに練習しておきましょう。これで成功まちがいなしです。

しかし、ここでは、もう少しハイブロウな(?)いわゆるプログラミング好きの男の

落とし方をお伝えしましょう。

この場合貴女は、こう答えましょう、

「わたしは、JVM上のScalaが好き。

型推論もあるしラムダ式クロージャスクリプト言語みたいに書けるの、豊富組み込みのコレクションメソッドはいつも便利だし、

XMLリテラルCaseクラスによるパターンマッチもTraitベースMixi-inも、大好き♪」

もしも貴女がそう答えたならば、

その瞬間、プログラミング大好き男の目はきらりと輝き、

かれの貴女への恋心は、

20%増量になるでしょう。

なぜって、Scalaは、

ちょっぴりお洒落Ruby風味に記述できて、

Maybeモナド差し込んで、

コンパイルは遅いながらも、そこがまた

ちょっぴりメモリを多く積めばいい富豪プログラミングみたいなふんいきをかもしだしていて。

しか関数型言語としての不変変数・不変Listを実装して

質高くふるまっていて、なおかつ、

JVM上で動くくせにJavaが「やるやる」と言ったまま実装してなかったラムダ式と仮想拡張メソッド型推論を実装した功績もあって。

したがってScalaこそは、

本来なんの接点もないまったく縁もゆかりもない別々の世界に生きている、

インタプリタ言語大好きな綺麗系OLと、玉もあれば石も混じっている、そんなプログラミング大好き男たちが、

この世界で唯一(いいえ、JVM系列のJRubyClojure と並んで唯三)遭遇しうる場所です。


では、参考までに、危険な回答を挙げておきましょう。

プログラミング大好き男に「どの言語が好き?」と訊ねられたとき

貴女がこう答えたとしましょう、

MicrosoftVisual Basic for Applicationが好き♪ 週3回は Excelコーディングするの。」

その瞬間、プログラミング大好き男の貴女への恋心は消えます、

なるほどMicrosoftは、世界最大のOS供給メーカー

特にOfficeは平凡ながら、ま、無難にまとめてあるものの、

しかし、「新UIのリボンUI!」「メトロUI対応!」とかなんとか無意味な自慢を吹聴し、

VBAはさらプログラミングについての謬見を撒き散らした罪がありますからプログラミング大好き男にとっては天敵なんです。

ティーガー戦車乗りのオットー・カリウスは「ティーガー乗りなら誰でも片側の履帯がはずれ僚車に牽引されて帰ってきた経験を持つはずだ」 って言ったけど

社内SESIerなら誰でもクソみたいな前任者が書いたクソみたいなExcel-VBAコードを直した経験があるはずなんです。

また、もしも貴女が「PHPが大好き♪ あたしが書いたPHPのWebサイトが、さくらサーバに7件あるよ♪」

と答えたとしても、同様の効果をもたらすでしょう、

なぜって、PHPは、1990年代にはWeb系を目指す人にとっては簡単で要件を満たすWebサイトが簡単に作れる輝きの道だったものの、

しかし2000年代うそうからセキュリティ関係の問題で転落し、

いまや、あの貧弱な言語能力では、Rubyの魅力に遥かに及びません。

(注1)

またもしもたとえあなたプログラミング言語が大好きで、

「わたし、.NET FrameworkのC#が好き、フォームアプリでも書くけど、

最高に好きなのはASP.net♪ SQLServer連携も、ajax control toolkitもすっごくおいしいの。」

と、答えたとしたらどうでしょう

なるほど、貴女の趣味は高く、

しか.NET Frameworkは、C# が cool であるのみならず、

.NET Framework上で動く F# や IronPythonIronRubyマネーJScriptも最高においしいんですけれど、

しかし、貴女の答えを聞いて、プログラミング大好き男はきっとおもうでしょう、

(なんだよ、MS信者な女だな、カネかかりそう)って。

(注2)

貴女が、プログラミングが大好きで、言語の名を挙げるにしても、

たとえば、JavaScript(node.js)ならば安心でしょう、

なぜならば、JavaScriptは、かけだしのプログラミング初心者にもマニアにもともに愛されるめずらしい言語で、

貴女がその名前を挙げても必ずしも、(jQueryがやっとの初心者と思われることはあっても)あなたプログラミング言語おた宣言をしているとは受け取られないでしょう。

しろへぇ。ちゃんとprototypeは使ってる?」と聞かれたら「当たり前じゃない。むしろnode.jsでいいMVCフレームワークが分からないんだけど…」と話を振ってみましょう。

男は嬉々として、30個くらいのnode.jsフレームワークを教えてくれることでしょう。(まぁどれもどれで帯に短し襷に長しなんですが)

あるいはRighno上で動かしたコードをnodeへ移植する話とか、CoffeeScript、甚だしきはClojureScriptを振ってみてもいいかもしれません。

しかし、たとえば、世界が(つーか竹内先生ポール・グレアムが)誇る超絶関数型言語の名作、Common Lispにせよ、

selfと書きまくることと海外で使われてることに定評のあるPythonにせよ、

バージョンアップごとに言語仕様が変わり、かなり素敵なものではあるもののobsolatedな罠にはまりやすRubyにせよ、

まったく読めない$_だらけで頭悪い仕様リセットしてPerl6にする(そしてまた全く読めない)Perlにせよ、

気さくなクジラ飛行机さんがふるまう素敵においしい日本語プログラミング言語ひまわりなでしこにせよ、

基地外トリッキー言語の代表BrainFxck・Glass・Missa・WhiteSpaceにせよ、

そういう言語名前をいきなり挙げるのは、ちょっぴり微妙。

ましてや貴女が、「Haskellが大好き♪ わたし、プロジェクトオイラーの問題もうほとんどHaskellで、解いちゃった♪」

と答えたならば、どうでしょう

これはかなり博打な答え方で、

なるほど、Haskellは、純粋関数型でありつつも副作用のある操作が行える超絶名言語ゆえ、

あなたがそう答えた瞬間、プログラミング大好き男がいきなり超笑顔になって、

へぇ、やっぱりHaskellなら大抵の問題は4行以内くらいで解いちゃった?」とか言いながら

鼻の下がだら~んと伸びちゃう可能性もあるにはありますが、

しかし、逆に、(なんだよ、この女、プログラミングおたくかよ)とおもわれて、どん引きされる可能性もまた大です、

なぜって、必ずしもプログラミング大好き男がプログラミング大好き女を好きになるとは、限らないですから

しかも、この答えには、もうひとつ問題があって、

男たちは、女を導き高みへ引き上げてあげることが大好きゆえ、

もしも貴女が、「Haskellが大好き♪」なんて言ってしまうと、

そこにはもはや、男が貴女圏論モナド教育する余地がまったく残されていません、

したがって貴女のその答えは、

プログラミング大好き男の貴女への夢を潰してしまうことに他なりません。

ま、ざっとそんな感じです、貴女の目にはプログラマーたちはバカでスケベで鈍感に見えるでしょうが

しかし、ああ見せて、プログラマープログラマーで繊細で、おざなりに扱われると傷つきやすく、ローカル変数名前一つにも気を使い、女と自分の将来に夢を持っています、

貴女の答え方ひとつで、プログラマー貴女への夢は大きくふくらみもすれば、

一瞬で、しぼんでしまいもするでしょう。


では、スキットを繰り返しましょう。

「わたしは、JVM上のScalaが好き。

型推論もあるしラムダ式クロージャスクリプト言語みたいに書けるの、豊富組み込みのコレクションメソッドはいつも便利だし、

XMLリテラルCaseクラスによるパターンマッチもTraitベースMixi-inも、大好き♪」

そして、その瞬間、プログラミング大好き男の目がらんらんと輝いたなら、

貴女はこう重ねましょう、

それからね、いま、わたしが使ってみたいWebアーキテクチャは、

Play Framework、素敵なリアルタイム嗜好のアーキテクチャって噂を聞いたから。

あなたのお暇なときがあったら、わたしをPlayへ連れてって♪」

これでもう完璧です。

PlayFrameworkと、Play(遊ぶ・じゃれる)のダブルミーニングでかれの股間も刺激しちゃえます。

そうなったらこっちのもの

デートの日には、ペアプロ用に Happy Hacking Keyboard をばっちり決めて、かわいい下着をつけて(注3)、

github.comの通販で売ってるoctcatのTシャツか、facebookの「いいね!ボタンがムネのところにあるTシャツ、 あるいは初音ミク(ないし彼のお気に入りアニメキャラ。北米ならMyLittlePonyで鉄板なんだけど)のコスプレを着てゆきましょう。

その日からプログラミング大好き男は貴女の虜になるでしょう。

では、釣り師としての貴女の、愛の幸運幸福をお祈りします!

注1:

(と、書いたもののPHPの現状をよく知りません。グローバル変数だらけになるのとか旧ASPみたいなもんなのかなぁ。count($array); とか書くのアホと思うがpythonも同じだった)

(あと、マジで機能とかTwitter連携とか診断メーカー的なのでもPHPで7つも作ってる女子居たら付き合いたい)

注2:

もっとも。objective-Cなんていう言語をやることに比べれば個人で行う程度なら金のかからない手法もなくはないのですが。

注3:

プログラマーにとっての「かわいい下着」と、女性にとっての「かわいい下着」の定義にずれがあるので注意。

半数くらいのプログラマーしましまぱんつが可愛いと思ってる気がするので、妙齢の女性が着用するには抵抗あると思うが、ボーダー柄のコットンショーツ(ただしキャラ絵のは除く)とか、

過度でないていどにフリルがついたものオススメ。また、色は、レッドだとプログラミング大好き男は引いてしまう(だってそれはコンパイルエラーときの色だ)ので、薄ピンクホワイト、薄ブルー、せめて黒(に差し色でピンクとか)あたりに留めたい。

補記:

 元ネタhttp://tabelog.com/tokyo/A1301/A130101/13002457/dtlrvwlst/3464106/

補記2:

  「プログラマー」か「プログラマ」かの問題については、特に意味は無いが前者を採用した。

補記3:

 言うまでも無いけど、ネタです。 

 また、COBOLとVB、C++ではまったくもって難易度が違うことも分かっています。後者になるほど圧倒的に難しい。

2013-03-09

Pythonと他言語比較

2009-03-26

Win XP SP3インストール後 XTRM VB Runtime(X-GUARD)の不具合解消法

ふと思いついてWin XP SP3をインストールした 特に不具合はなし

ただX-GUARDが起動するたび

XTRM VB Runtime.msiを指定してインストールしろだの出てくるので

XTRM VB RuntimeやらX-GUARD入れ直したりしたが駄目で

(ちなみにランタイムファイル名はxrun06.exe)

そこでググったところランタイムバージョンがふるいんじゃね?

Visual Basic 6.0 SP6 ランタイムライブラリを入れたらいんじゃね?

と言われ入れたら解決した

グルのに手間掛かったんでここに記録しとく

とにかくXTRM VB Runtimeの関係のが先に進まない場合

↓の入れれば解決するってこった

Visual Basic 6.0 SP6 ランタイムライブラリ

http://www.vector.co.jp/soft/win95/util/se188840.html

Visual Basic Editorふざけんな

てめーなんでCtrl-Yがリドゥじゃなくて"1行削除"なんだよ!

しかもアンドゥの履歴数少なすぎだろ!

ふざけんな!いっぺん死んでこい!

2008-03-03

http://anond.hatelabo.jp/20080303115006

少しワロタ

でも、俺が考えるにVisual BasicPHP初心者用の言語じゃないぜ。

前者イベントドリブンという枠組みに加え、大量のプロパティを否応無く見せ付けてくる分、ハードルが高い。

PHPHTML, HTTPのあたりの知識の習得を前提にするために、やっぱりハードルが高い。

まずはWindowsバッチファイルからはじめるのも面白いかも。

2007-07-25

プログラムなんて簡単だよ。」

優秀なプログラマであるほど、プログラムの難しさをよく分かっている。

一方、あまり腕前の良くないプログラマや、プログラムを少しばかりかじったことのあるITコンサル程「プログラムなんて簡単だよ。」って思っている。

こういう構造ってなにもプログラマに限ったことではないのだろうけれど、ハードウェアエンジニアよりはそういう風に思われやすいんじゃないかな。プログラマソフトウェアエンジニア)は安く見られやすい。例えばテレビ自動車エアコンを作るのは、具体的に何が難しいとは知らなくても、何となく難しそうだと皆思うだろう。

でもソフトウェアを少しかじったりした後の反応は皆違うんだ。Visual Basicで簡単な数当てゲームを作った後に人が思うことは違うんだ。結局Windowsだって何だって、その数当てゲームの延長線上にあって、そこには比較的簡単に辿り着けそうだと想像させてしまうんだ。しばらくプログラムを続ければその道のりの遠さにはすぐ気付くんだけど、そこまで行かないままにプログラムをしなくなる奴はたくさんいる。でもそういう奴らは業界には残っている。厄介だ。

プログラムの参入障壁が低いことは、一プログラマとしては喜ぶべきことなんだろう。確かにその参入障壁の低さのお陰で、世の中に革新的なサービスが次々と生み出されている。素晴らしいことだ。

だけど誰だって、難しい問題を解いたら褒めてもらいたいよ。ただただ仮説を立てただけの奴とか、結果プレゼンしただけの奴とか、そういう奴が褒められていたら嫌な気持ちになるよ。

プログラマだってにんげんだもの

2007-06-04

[]??Delphihacks??Delphi??Win32API??

Delphi - Wikipedia??Windows開発の決定版 - Delphi(Skype??なでしこ)

タグ「delphi」を含む注目エントリー - はてなブックマーク

Delphiアプリケーションのメモリリーク検出法

Delphiアプリケーションのメモリリーク検出法 (山本隆の開発日誌)

作ろう!コンポーネント Delphi C++Builder

http://www.componentsource.co.jp/features/delphi/

TMS Software | Productivity software building blocks

Components > Effects and Multimedia > Video. Torry's Delphi Pages

Components > Effects and Multimedia > Audio. Torry's Delphi Pages

Components > Effects and Multimedia > Voice. Torry's Delphi Pages

Components > Effects and Multimedia > Direct X. Torry's Delphi Pages

try finally end

CとDelphiの対比表

eXeScope(Windows95/98/Me / ユーティリティ)

Delphi - テクノラティブログ検索

2ch検索: [Delphi]

Delphi-ML〓〓〓〓〓〓〓〓〓〓〓??About Delphi

Delphi Q & A掲示板

Delphi Q & A 〓f〓〓〓〓 〓〓〓〓〓〓O〓〓(HTML〓o〓[〓W〓〓〓〓)

fdelphi.com

Delphi入門

旧 Delphi 入門??Seventh Delphi

Delphiメモ

超ローテクDelphi講座

俺のためのDelphi学習

Delphi はじめの一歩

VB〓〓VC〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓H

Delphi の格言

キーボードからの入力取得

マウスボタンのクリック、マウスの位置情報の取得

ジョイスティックからの入力取得

バッカーへの階段: 入門:キーロガー

テキストファイルを読み書きする

テキストファイルのロードとセーブ

DelphiによるWin32API

Delphi WAVEサウンド音を鳴らす/Tips & Tricks

MIDI、WAVEファイルを再生する

サウンドを読み込んで鳴らす

MIDIを演奏する MCI/midiStream

5分ではじめるDelphi - 第1回 簡単なメディアプレーヤの作成(前編)

MP3プレイヤーを作る>dllによる再生

Controling sound volume from code

Torry's Delphi Pages

lsMicrophone: mxl.dwComponentType :=MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;

MIXERLINE_COMPONENTTYPE_DST_SPEAKERS

MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT

SwissDelphiCenter.ch : ...set the volume for the microphone/ mute it (enhanced)?

Components > Sound Effects > Mixer. Torry's Delphi Pages

uses MMSystems;

//

PlaySound('C:\WINNT\Media\start.wav', 0, SND_FILENAME or SND_ASYNC);


ビットマップを表示しよう

画像ファイルを指定した位置へ表示

俺Delゲーム応用

画面をキャプチャして表示する

めもニャンだむ

Delphi6でプログラミング ビットマップの半透明コピー AlphaDraw

画像処理プログラミング講座

Graphic Effect

カラー画像をモノクロ画像に変換

procedure TForm1.Button1Click(Sender: TObject);

var

bmp1,bmp2 :TBitmap;

begin

bmp1 :=Tbitmap.Create;

bmp2 :=Tbitmap.Create;

try

bmp1.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FINANCE.BMP');

bmp2.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color\FACTORY.BMP');

Form1.Canvas.Draw(10,10,bmp1);

Form1.Image1.Canvas.Draw(10,10,bmp2);

finally

bmp1.Free;

bmp2.Free;

end;

end;


無料版Delphi6でSTGをつくるためのプログラミング講座 Ver.2005 Jan.

Delphiでわずか59KBのオセロを作る方法

めもニャンだむ:BIOS 情報

コンストラクタとデストラクタ

SwissDelphiCenter.ch : ...get the MAC Address?

乱数

DelphiでMD5

もっと楽にGUIとの連携がしたい:Python + Delphi = P4D(Python for Delphi) - ふにゃるん

Delphi WindowsのOSのバージョンを取得する/Tips & Tricks

SourceForge.net: Gecko SDK for Delphi

DelphiでWinSock

SQLite-もげもげ〜

BDS(Delphi/BCB)用SQLiteライブラリ (山本隆の開発日誌)

Application.ProcessMessages

FrontPage - DelphiVIP

SwissDelphiCenter.ch : programming tips

Torry's Delphi Pages

Delphi Tips

Delphi Code Tips

Magic of Delphi4〓z〓[〓〓 〓y〓[〓W

Delphi Win32API/API関数一覧

Delphi〓〓〓Z

クジラ式 Delphi 資料

Delphi〓〓y〓[〓W

サイト移転のお知らせ(Mr.XRAY)

openDelphi.org

KOL and MCKPage

Gen's Delphi Labo.

サイト移転のお知らせ(Mr.XRAY)

ナッキーの「Turbo Delphiはじめて奮戦記」- 第1回 Turbo Delphi のインストール

フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro

フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro

http://torrent.borland.com/turbo_hotfix_rollup.zip

http://torrent.borland.com/prereqs_jp.zip

http://torrent.borland.com/turbodelphi_jp.exe

(1) \dotNETRedist\dotnetfx.exe

(2) \dotNETRedist\langpack.exe

(3) \dotNETRedist\NDP1.1sp1-KB867460-X86.exe

\dotNETSDK\setup.exe

\IE60SP1\ie6setup.exe

\dotNETJSharp\vjredist.exe

\dotNETJSharp\vjredist-このエントリーをはてなブックマークに追加ツイートシェア

2007-05-02

プログラミング言語ヒエラルキーにおける罵倒

http://www.geekpage.jp/blog/?id=2006/12/13

プログラミング言語ヒエラルキーにおいて、上位が下位に対してどう見下してるのかを書いてみた。詳しくない言語も無理して調べながら書いてある。あと、言語に理解の無い人みたいで生々しいかと思って、刺激的かつあまり真っ当でない内容ばっかにしてみたよ!((FORTRAN から Java に「GO TO も実装されてないんですか?」とかそういう、馬鹿にすることを目的とした偏狭で的外れな発言ってことだよ!))((ここにある中では、C# に多重継承が無いことを馬鹿にする C++ プログラマーが真っ当でない指摘のわかりやすい例かな))

みんなが普段どういう不当な見下しをしてるかも教えてね!

Lisp → C

「いつまで経っても言語仕様が貧弱で大変ですね」

アセンブラ → C

「結局アセンブラ翻訳してるだけじゃん」

C → C++

C++ の難解な仕様と戦うぐらいなら C で関数ポインタを使ったオブジェクト指向の方がスマートだね」

STL は糞」

C++C#

中途半端ポインタを隠蔽して何がしたいの?」

「多重継承したくなったらどうするの?」

C → Perl

CPAN 見たって C でコア部分を書いてるライブラリばっかじゃん」

「なんでわざわざ use strict なんて書かなきゃいけないの」

PerlPython

Python って明示的に object継承した場合としなかった場合で挙動が違うって本当なの?」

「インデントブロック(笑)

Python → OO PHP

ライブラリ環境が全然整備されてなくて最悪じゃん。C や C++ で書かれたライブラリをラップしてるだけのはずなのに機能が減りまくってるのも多いし」

OO PHPPHP

ベタ書きしてて楽しい?」

PHPAjax

ウェブブラウザでしか動かないプログラム書いてて楽しい?」

AjaxJavaScript

「簡単な処理をコピペで実装してるだけだね」

JavaScriptVisual Basic

As とか書いてて混乱しない?」

C# があるのにまだ使ってるんだ」

FORTRANCOBOL

「冗長でわかりやすいですね(笑)

「DIVISION の概念って本気で言ってるんですか?」

COBOLAda

「航空宇宙産業専用言語でしょ」

「記述がわかりづらいね」

JavaScriptAda

ペンタゴンで使われてるだけじゃん」

「ガベージコレクタが無い……?」(あるらしいです><

AdaPascal

「昔 Apple で使われてただけじゃん」

「Del…phi…?」

PascalJava

コンパイルも実行も遅いらしいけど何に使うんですか?」

JavaHTMLプログラミング言語であると主張する人々

「処理も記述できないのに何言ってるの」

おまけ

マイクロソフト・ジョークス/プログラミング言語が女性なら

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん