ITスペシャリストが語る芸術

-The Kay Notes-
コンピューターシステム開発技術者、サイコパスのKayのブログ

Access

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。
[2016/11/21]滅多にはありませんが、あまりにレベルが低いコメントは公開しません。
[2011/06/08]迷惑コメントが多くあったため、やむなく、コメントを承認後公開することとしました。

ショぼいと言われるものが一番実用的

初期のパソコンは、BASICというプログラミング言語でプログラミングする以外、あまり用途はなかった。
ところが、パソコンでC言語やPascalが使えるようになると、いわゆる「上級者」から、BASIC言語やBASICプログラマーはひどく蔑(さげす)まれるようになった。
まあ、BASIC言語やBASICプログラマーを貶(けな)しておけば、自分は上位者だと自分で思い込むことが出来たからという面も大きかった。
BASICの欠点を真面目に論じる本当の「上級者」もいたが、彼らだって、自分は「超上級者」だと主張したい一面もあった場合が多かった。
だが、BASIC言語の実用性は抜群で、こと普通の人に関する限り、C言語やPascalは趣味の範囲のもので、実用性に乏しかった。

パソコンでは、なぜか「ショぼい」と言われ、蔑まれるものが、普通の人には超実用的なのである。
今、それに当てはまるのがExcelと、それに内蔵されるプログラミング言語のVBAである。
これほど実用的なものは、そうはない。
AccessとVBAは、Excel+VBAとはやや違った実用性があるが、これは普通の人には、やや敷居が高い。
JavaやPython、あるいは、C#やScala、Go言語といったものは、個人で使うのは実用性が無さ過ぎるが、これらは、「(超)大勢の人に使わせるプログラムを作る」ためのものである。

大雑把にだが、こういう言い方が出来る。
自分が使って便利なプログラムを作るのが、Excel+VBA。
チームが使って便利なプログラムを作るのが、Access+VBA。
ただし、この両者の境界はやや広く、自分が使うものをAccess+VBAで作ったり、チーム(かなり大きい場合もある)で使うものをExcel+VBAで作る場合も少なくない。
一方、JavaやC#等で、自分やチームで使うものを作るのは、それがVBAで作れるなら(業務で使うものならほぼ作れる)、あまりに効率が悪い。
そして、製品やユーザーサービスを作るのが、JavaやPython、C#で、最新版として、ScalaやGo、Swiftなどがある。
だから、製品や企業の立場のユーザーサービスを作るプログラマーになりたい場合は、JavaやPHP、Python 、JavaScript、C#、C++、Scala、Go、Swift、Ruby、その他、必要なものを、その都度覚える必要がある。
だが、オフィスで、自分やチームの業務効率を高めるためであれば、Excel+VBAや、Access+VBAに勝るものはない。
最近は、サイボウズのkintonや、ジャストシステムのUnitBaseといったものが、ExcelやAccessより良いものとして売り込まれているが、個人に対しては全くお奨めしない。
それらのユーザーである企業は、ExcelやAccessを使う企業に比べれば、甚だしく少なく、それらを使えるようになっても、活躍出来る場がほぼない。
また、それらが、Excel+VBAやAccess+VBAに勝ることは、まずないと思う。
少なくとも、Excel+VBAやAccess+VBAで出来ないことはないと言った方が当を得ているだろう。つまり、手間もだが、費用のことを考えると、わざわざ別のものを使う必要はない。
ここまで言うと、マイクロソフトの回し者みたいだが、使う者の利益を考えるなら、これへの反論は決して出来ないだろう。
また、ソニーのNNCでディープラーニングが簡単に出来るようになった今、ExcelやAccessは、そのためのデータ前処理の最強のツールになると思う。

ところで、スマホのアプリ開発が面倒過ぎる。
企業がサービスとしてスマホアプリを作るには今の状況で十分だが、個人やチームのためのアプリを、それと同じ方法で作るのは、あまりに大変だ。
簡単にプログラムを作れるBASIC言語があれば良いと思うが、そんなものも出てくるのではないかと思う。
自分やチームのためのアプリを頻繁に作り、更新出来れば、実に便利だからである。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

ITは世界標準を軽んじるな

よく、ジャストシステムからUnitBase、サイボウズからkintoneの宣伝メールが来る。
ExcelやAccessはもう古いから、これで業務システムを作りましょうといった感じだ。
だが、心苦しいが、皆様のために言っておく。
ジャストシステムやサイボウズ程度では、世界標準になどなれない。
つまり、いつ消えても、何の不思議もない。
私なら、そんなものは決して使わない。
価格も高いし、そもそも、ExcelやAccessより良いとは思わない。

パソコンは、初め、BASIC言語でプログラミングするものだった。
しかし、実用になったのは、表計算ソフトが出来てからだ。
大昔のことは知らないが、マイクロソフトがマルチプランを普及させてから、パソコンは実務の道具になった。
ロータス社もロータス1-2-3を開発し、このロータス1-2-3はマルチプランより優れていたので、ロータス社は世界一のパソコンソフト会社になった。
しかし、マイクロソフトがExcelで抜き返してからは独走状態となった。ロータスは消滅した。
いくつか、別の表計算ソフトも出て来たが、結局、どれも駄目で、Excelの1人勝ちが今も続いている。

表計算ソフトより高度なデータ処理を行うデータベースソフトは、アシュトンテイトのdBASEから始まった。
これがあまりに良いので、いろいろな会社が安価なクローン製品を出し、マイクロソフトがその中の1つFoxBaseを持っていたFox社を買い取り、マイクロソフトはFoxProを発表した。
しかし、マイクロソフトはAccessを独自に開発し、これを普及させた。
FoxProは素晴らしい製品だったが、マイクロソフトはこれを切った。
昔は、Accessのライバルとして、ボーランドParadoxやロータスアプローチが出て来たが、Accessに太刀打ちできず、あっさり消えた。
データベースソフトとしては、マジックソフトウェアのMAGICが成功しており、本格的な業務システムの開発にはよく使われたが、価格が極めて高く、それに、MS-DOSの時代は素晴らしかったが、今は、それほどには使われていないと思う。
ファイルメーカー社のファイルメーカーも良いと聞き、少し使ってみたが、複雑なことをするにはAccessには敵わないと思うし、価格がやや高く、ライセンス体系が複雑で、私は早々に手を引いた。

GoogleがWebベースの表計算ソフトも無償提供しているが、使い勝手が悪い。
結局、ExcelやAccessを使うのが賢明としか言えない。
そうこうしているうちに、AI(人工知能)、そして、その中でもディープラーニングの時代になり、面白いことになった。
以前、ビッグデータが流行った・・・などと言ったら「今でも流行ってるわい!」「むしろ、これからだ!」と怒られるかもしれない。
しかし、私のような、普通の人がビッグデータに関わることはない。
そして、ディープラーニングのおかげで、ビッグデータのような馬鹿でかいデータを使わなくても、高度な推論が出来るようになった。
もちろん、ビッグデータでなくては駄目なものも絶対にあるが、逆に、ビッグデータでは出来ないが、ディープラーニングなら出来ること、あるいは、ビッグデータでは難しいが、ディープラーニングなら簡単なことが沢山ある。
そして、ディープラーニングで大切なことは、データをディープラーニングに入れるための前処理なのだ。
これには、AccessやExcelが最高なのである。
特に、マイクロソフトSQL Serverに溜め込んだデータをAccessやExcelで抽出し、ディープラーニングにかけられるよう加工する腕前が、非常に重要になる。
私は、その腕を磨いてきたことを本当に有り難いと思っている。
そして、その腕を磨くには、普段、業務や開発で、真面目にAccessやExcelを使うしかない。

もし、マイクロソフトが裏切ってAccessやExcel、あるいは、それらで使うVBA言語をやめたら、オープンソフトであるLibreOfficeのBaseを使おうと思う。
ただ、AccessやExcelの普及状態を考えると、後10年や20年は消えるとは思えない。
それは、「パソコンより良いものが出てパソコンがなくなる」と言うのと同じだ。
もちろん、タブレットPCやスマートフォンは、決してパソコンの替りにはなれない。
VBAがVB.NETやC#に変わる可能性はあるかもしれず、それならそれで良いが、その必要性は全くない。

そんな訳で、まずはVBAで高給取りになり、そして、本当にディープラーニングを使えるようになって超高級取りを目指すと良い。
ディープラーニングは、ソニーのNNCを使えば誰でも出来る。難しいのは、やはり、データ前処理である。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

ディープラーニングで重要なのはVBAだという理由

電気や電話が普及し始めた頃には、「わが社はそんなもの使わない」と言う経営者が多かった。
ワープロがオフィスに導入され出した時も、「わが社は心の込もった手書きでやる。ワープロなんぞ邪道」と言う人が沢山いた。
パソコンや電子メールが出てきた時には、部長さんや課長さんが「俺はそんなもん絶対使わんぞ。流行に踊らされる軽薄馬鹿ではないからな!」と・・・言った覚えのある人も、まだ元気かなあ(笑)。
そして、今度はAI(人工知能)である。
WIRED誌創刊者で世界の頭脳ケヴィン・ケリーは「今やっていることにAIを付ければいいだけだが、それをしないと必ず滅ぶ」と警告する。

ところが、書店に行くと、Python(パイソン)でディープラーニングをやろうって本がやたら多い。
ディープラーニングとは、複数層のニューラルネットワークを使う機械学習だ。
機械学習とは、AIがデータを読み込んで学習し、データの中に隠された法則性を見つけ出すことだ。
ニューラルネットワークとは、人間の脳をソフトウェアで模擬(シミュレート)したものだ。
Pythonは比較的新しい優れたプログラミング言語で、数学ライブラリが充実している等の理由で機械学習プログラミング(ディープラーニングプログラミング)に向いている。
2006年にディープラーニングが出来てから、AIは完全に実用になり、いまや社会のあらゆる場所に入り込んでいることに気付かない人もまだ多い。

だが、Pythonでディープラーニングをやろうとしたら、ほとんどの人は、そのPythonで挫折する。
プログラミングが得意な私だって、そんなの面倒で嫌だ(笑)。
最近私は、ソニーが無償提供している、恐るべきディープラーニング実践ソフトであるNNC(Neural Network Console)を使い、いろいろなデータでディープラーニングを行い、驚くべき結果を得た。
プログラミングなんて全くせず、活性化関数とか損失関数と呼ばれるものをコロコロ付け替え、ニューラルネットワークのデザインや層の数をコロコロ変えたり、それらをNNCに自動でやらせているが、これをPythonでプログラムしていたら、まだ1つの成果も出せていなかっただろう。
正直、活性化関数や損失関数の意味も知らなかったが、まずは使ってみれば良い。
そうしたら、後でそれらの関数の意味を調べれば、興味深いのでよく解るのである。
ところが、最初に、それらの関数の数学的な意味を解説されたら、シンドくて仕方がないと思うのだが・・・

ところで、では、ディープラーニングをやるのに何が一番大切かというと、ExcelやAccessだと解った。
それらが得意で、ディープラーニング用のデータを簡単に作成・加工出来れば、鬼に金棒どころの話ではない。
いかにディープラーニングが凄くても、使えるデータがなければ何も出来ないのだ。
ExcelやAccessでVBAのプログラミングが出来れば、最適なデータをすぐに作ることが出来る。
また、普段、ExcelやAccessを使い、データの扱いに慣れておけば、すぐにNNCでディープラーニングをやれるのではないかと思う。
逆に言えば、普段、ExcelやAccessでデータをいろいろに使い、データというものについてよく解っている者でなければディープラーニングがやれるとは思えない。
まず、VBAに熟達していれば、業務効率を数倍、数十倍、数百倍以上に上げられる。
そして、NNCを使えば、即座にディープラーニングがやれる。
ディープラーニング自体は別に難しいことではなく、単純な操作だ。
だが、それを、いきなりPythonでやろうなんて、私には無茶、無謀に思えるのだ。
ディープラーニングで使うデータをPythonで加工しようなんて本も見た。
だが、その加工前のデータは、Excelみたいなもので作っているはずなのだ。
そして、Pythonでそんな加工をするプログラムを見ていたら、もううんざりした。そんなの、ExcelやAccessで一発で出来るし、ことデータの現実的な扱いに関してはVBAが圧倒的に上で簡単なのだ。
そして、PythonはVBAより簡単なので、VBAが出来れば、必要な時にはPythonもすぐに使えるようになるだろう。
まずはVBAで高い給料を取りながら、NNCを使って、ディープラーニングで時代の最先端になろう。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

Excel VBAで有用な人材に

正直、私は、普段は書籍はAmazonで買うし、大半は電子書籍のKindle版で読むが、その便利さから離れるのは無理である。
だから、書店は大変だなあと思うが、書店は楽しいので、最近は、昼休みに、他の人が昼食を食べる代わりに書店で本を見ている。
それに、書店に行くと、今の流行が実感出来ることも多いのである。
それで、コンピューターの本の場所に行くと、Excel VBAの新しい本が多いことに気付くし、見てみると、良い本が多いことが分かる。
これは、いよいよ、誰もが、自分の仕事に自主的にコンピューターを適用する、あるいは、すべき時代になったということと思う。
Excel VBAを使えば、仕事を大いに効率化出来るし、「3日がかりの仕事を3分で」とか「人件費を数分の1に」というのも、必ずしも大袈裟ではない。
つまり、Excel VBAを高度に使いこなせれば、非常に有用な人材である。

大雑把に言えば、ExcelとVBAの場合、自分の仕事を効率化するのに役立ち、AccessとVBAなら、部署単位(小さな会社なら会社全体)の仕事を効率化出来る。
言ってみれば、Excel VBAは機動性の高い光線銃で、Access VBAは両腕で使うプラズマ砲のイメージだ。
もっとも、使いようによっては、光線銃で敵の基地を陥落させることが出来るように、Excelでシステムを構築することも出来る。
ただ、やはり大きなシステムになると、Access VBAの方が便利な点が多い。
特に、AccessとSQL Serverを組み合わせれば、そこそこの規模までの会社なら基幹システムでも十分に作れてしまう。
ところで私は、割と大きな会社の、Accessと、SQL Serverの高価なCPUライセンス版で作られた、かなりのデータ量のシステムを、別のサーバーコンピューターに構築し直す際、無償のSQL ServerであるSQL Server Expressを使ったら、あっさり出来てしまったことがある。重い処理をすればパフォーマンスに差があるのだろうが、普段は全く分からないほどだ。
だから、ExcelでVBAをマスターすれば、すんなりと、Accessに進んで大きなシステムを構築出来るようになれる可能性がある(その場合は、大規模データベースの扱い方や考え方を習得する必要がある)。

ExcelやAccessに代わる新しいツールという謳い文句を掲げるものは多い。
だが、多いということは、選択が大変だということだ。
ただでさえ、導入数がExcelやAccessと比べて極端に少ないのに、その中でパイを奪い合ってるものを、私なら、あまり使おうという気にならない。
それでも、安ければ考えるが、それらは皆、高額だし、1人月額いくらで使うという、とてもではないが、ゾっとするライセンス体系のものも多い。
Excdelなら1~2万円、Accessなら2~3万円程度で買って永遠に自分のものに出来、バージョンアップでも根本的には変わらないので、10年位は使えるだろう。そういえば、私も2013年頃はAccess2003を本当に使っていた。当時は、Access2007から若干変わったインターフェースが気に入らなかったことが原因だが、少し慣れてしまえば、別に違うというほどではなかったが。
機能でも、それらの新興ツールは、ExcelやAccessに優る部分もあるだろうが、その分、総合的には機動性がなかったり、不便だったりすると思う。

いつも言っているが、特に、自分は普通のサラリーマンだと思い、何か特技を持ちたいと思うなら、Excel VBAを始めることをお奨めする。
このAI時代、ビッグデータ時代、仮想通貨時代、モバイル時代であるが、VBAをやれば、そういったものも理解し易くなる。
Excel VBAの第一人者、大村あつしさんは、ビジネス小説の形で、AIと仮想通貨の本を書かれているが、ベストセラー1位を独占しているほどである。








↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

Excelに優るものはやっぱりない

会社の業務アプリを誰でも簡単に作れますというソフトウェアの宣伝メールが毎日のように来る。
それらの決まり文句は、「Excelはもう古い」、「Excelのスキルをこのソフトウェアで活かそう」といったものだ。
どんな会社からかというと、かつて一世を風靡したようなシステム会社だが、やや(あるいはかなり)落ち目になっているようなところが多く、このソフトで復活、あるいは、巻き返しでも計りたいのだろう。
そして、それらのソフトを使うには、月額、かなりの金額がかかるものがほとんどと思う。
だが、安価で、ずっと使えるExcelの方が、ずっと有益だ。
もちろん、誰でもExcelを使って業務を効率化出来る訳ではないし、生半可なスキルでExcelを使うと、かえって害をもたらす場合も確かにある。
しかし、Excelをちゃんと使えないなら、何を使おうが同じことだ。
ならば、お金を無駄にしないExcelを使った方が絶対に良い。

それらの「新しい」ソフトウェアを売る会社は、あたかも、Excelが全ての会社に害を与えているかのようなことを言うが、ちゃんと使えば、Excelほど良いものはないし、多くの会社が、Excelを、それなりにちゃんと役立てている。
確かに、Excelでものすごく業務効率を向上させている会社も少ないが、それが出来る者なら、SEやプログラマーで通用する。
だから、特に特技はないが、有用な人材になりたければ、Excelに内蔵されているプログラミング言語のVBA(Basic言語の一種で、Visual Basicとほぼ同じ)を高度にマスターすれば良い。
未来永劫Excelがなくならないとは言わないが、後10年や20年で無くなるものではない。
それに、Excelと同等の機能のソフトを含む無償のオフィススイート(主には、マイクロソフトオフィスの互換ソフト)である、OpenOfficeやLibreOfficeもある。
ただ、今はまだ、Excelや、それを含むマイクロソフトオフィスを使った方が良いだろう。

ところで、業務で使うデータ量が、昔と比べ、比較にならないほど大きくなり、Excelもそれに伴って性能向上しているが、いよいよ、同じマイクロソフトオフィスのプロフェッショナル版に含まれているAccessを使った方が良くなってきた。
Accessも、もう古いと言う者が多いが、高度な業務効率化のために、これほど良いものは、相変わらず存在しない。
特に、SQL Serverというデータベースシステムと連携すれば、巨大なデータも扱える。
無償のSQL ServerのSQL Server Expressでも、そこそこの規模の基幹システムで十分使える場合が多いのである。
Accessに唯一対抗出来るものとして、アップルの子会社のファイルメーカー社のFileMakerがあり、これは非常に良いソフトなのだが、バージョンアップの度に仕様が変わり過ぎるし、独特なところが多いソフトである。個性が強いのは、アップル譲りの感もあるが、私はアップル系は全く駄目で、iPhoneやiPadも全く使う気がしない。まあ、これは単に好みの問題で、どちら(アップル対マイクロソフト、アップル対グーグル)が良いというのではないとしておきたい。

私は、システムエンジニアやシステムコンサルタントとして、数多くの企業を見て、社員が、ExcelやAccessに通じていれば、そして、いくらかの人がVBAを自在に使えれば、さぞ、仕事が楽で生産性が上がるようになると思うことがよくある・・・と言うより、ほとんど全ての会社がそうなのだ。
それが出来ない会社で、最初にお話した高いソフトを導入しても、全く無駄とは言わないが、元が取れることもないだろうと思う。
また、正直言って、職業プログラマーでもない者が、スマートフォンアプリやWebアプリを作るための勉強をして、良い思いをすることは、まずない。
それらを仕事でやっている者も、あまり幸せな人はいないくらいだ。
稀に、普通のOLがiPhoneアプリのヒット作を作ったなんて話もあるが、それは特例中の特例、超たまたまであり、実際にそれを作ったOLさんも、その後は全然良い思いなんかしていない。
ついでに言っておくと、スマートフォンアプリを売ることで儲けることは、ほとんど全く出来ない仕組みになっている。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
プロフィール
名前:Kay(ケイ)
・ソフトウェア開発技術者
・サイコパス
・初音ミクさんを愛す


当ブログは第1期ライブドア奨学生ブログです。
最新コメント
記事検索
ブログバナー&Mail


メールはこちらへ
PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
人気ブログランキングへ
↑↑これと
↓↓下の3つのいずれかをクリックして応援をお願いします!
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 哲学・思想ブログ 思想へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ
QRコード
QRコード

  
   このエントリーをはてなブックマークに追加
  

タグクラウド
  • ライブドアブログ