コンセプト

当ページのリンクには広告が含まれています。

 こんにちは、皆さん。当サイトにお越しいただき、誠にありがとうございます。

 当サイトを担当しているのは、還暦も過ぎた世間では「お爺さん」の、元プログラマーであり、サンデープログラマーでもあります。大それた事は出来ませんが、プログラムに関して初心者の方を中心に、色々とアドバイス出来たら良いなぁと思います。

 まぁ、プログラミングに関しては、特に「資格」とかは持っていないのですが、プログラミング歴に関しては、役に立たない物を結構作っていますが(笑)、可なり長い歴史を持っています。そうですね、足掛け40年位はあるでしょうか(笑)。

 勿論、40年間プログラマーをしていた分けではなく、他の職業にも就いていたのですが、元プログラマーの時代は主にオフコンでしたね。サンデープログラマーの時は、今もそうですがパソコンです。

 パソコンに関しては、「MS-DOS」~「Windows」まで、ずっと「DOS/V」系だったので、「macOS」や「Linux」に関しては、初心者と何も変わりません。

 ただ、OS環境が変わっても、プログラミング自体は、高級言語になればなる程、「OS間の差」は吸収されるので、共通する部分もかなり沢山あると思います。

 まぁ、職業に携わっている分けでは無いので、最新の物は解説できませんが、プログラミングの基本とかは、解説できると思います。そして、基本とかを理解していると、イザという時に役に立ったりすると思います。

 それでは、当サイトには、どんな「コンテンツ」があるのかを、大まかに見てみましょう。あくまでも、現時点で考えていることなので、将来的に変更することは大いにあります(笑)。

目次

プログラミングにおける環境とは?

  先ずは、環境を整えることが重要です。当サイトでは、プログラミングの理論よりも、実践を行うことによって、徐々に理論も理解して行こうという試みです。

 例えば、運動の世界を例にとれば、分かり易いと思います。「運動理論」を幾ら理解していても、実戦では使えません、というか「体」が対応できません。プログラミングの世界も、それと同じなんです。

 先ずは、基礎的な体力を付けることが重要です。そして、基本的なことが出来るようになるのが重要です。その上で、「理論」というのが重要になってきます。

基礎的な体力を付けるには、どうすれば良いのでしょうか?

 それには、具体的で簡単なことを、繰り返し行うことです。とは言っても、プログラマーになる分けでは無いので、その辺りは適当にしましょう(笑)。

 しかし、その為にも、先ずは環境を作りましょう。実は、この環境と言っても、世の中には「有償/無償」のものが、沢山あります。ですから、スキル(熟練)に応じて、色々と選択する分けですが、当サイトでは、初心者の方を対象にしているので、一切お金が掛からないようにしています。m(_ _)m

 そうですね、お金が掛からない環境は、世の中に沢山あるのですが、有名な所では「C#」と「Java」の環境が、双璧でしょうか?

 お金が掛からない方が、良いという分けでは無いのですが、先ずは無料から始める方が、無難だと思います。そういう意味で、Microsoft 社の「Visual Studio Community」は、お勧めします。勿論、「Java」でも同じなんですが。

  「Visual Studio Community」の場合は、本家本元の環境なので、安心して使えると思います。また、個人で使う場合や、小規模の会社で使う場合や、学生さんが研究開発で使う場合は、無料で使うことが出来ます。

Visual Studio Community では、どんなことが出来るのですか?

 ということなんですが、結論からいうと、努力次第で何でも出来ます。その可能性は、無限大です。個人で使い熟すのは不可能なくらい、何でもあります。

 そうですね、メジャーな言語は、殆どサポートされています。また、「デスクトップ」は勿論のこと、「Web 関係」や「モバイル関係」、「ゲーム関係」や「Office 関係」まであります。

 その中で、当サイトが使用するのは、最も標準的な「.NET デスクトップ開発」だけです。m(_ _)m

 この設定は、後から幾らでも変更出来るので、スキルに応じて追加して行けば、良いと思います。デスクトップ開発だけでも、相当大きな環境なので、SSD(推奨) や HDD の容量を確認して置きましょう。

プログラミングとは何でしょうか?

 コンピューターというのは、「ハードウェア(本体と周辺機器)」と、「ソフトウェア(プログラム)」で、構成されています。それぞれが、独立して作成されています。

 本来は、「ハードウェア」が優先して、それから「ソフトウェア」が追いかける、というのが普通の発想だと思いますが、昨今のコンピューター業界は、「ソフトウェア」の方が優先している感じです。

 そして、「ソフトウェア」を作る過程を、プログラミングと言います。要するに、「プログラム」を作るということです。

 実は、プログラムを作成する言語というのは、非常に沢山あります。それぞれに分野が異なっています。大きく分けると、次のような関係になります。

項 目OS等の分野アプリケーション等
の分野
WEB等の分野
分 野 Windows 等のOS
周辺機器のドライバー等
言語等の総合環境
Office 等の総合環境
大規模なゲーム等
グラフィックス関係
データーベース関係
それに関連するシステム
一般的なアプリ等
Office 等の使用環境
一般的なゲーム等
ブラウザを使用する環境
ホームページ等
CMS環境
総合WEB環境
サーバー環境
主な言語ASM、C、C++、
MFC、WPF、C#、Java
C、C++、MFC、
C#、VB、WPF、
Java、Python、
Office 言語、
COBOL、FORTRAN
HTML、CSS、
PHP、Python、CGI、JavaScript、TypeScript、
スクリプト言語
難しさ 非常に難しい
非常に広い知識が必要
大勢で作ります
プロの領域です
ピンからキリまで
アプリの知識が必要
個人から大勢まで
初心者でも出来ます
ピンからキリまで
何を表現するのか
個人から大勢まで
初心者でも出来ます
当サイト扱いませんC#HTML、CSS

どんな事が出来るのでしょうか?

 ハッキリ言って、分かりません。遣ろうと思えば何でも出来ますし、特に必要でなければ必要もありません(笑)。そうですね、初心者の方にとっては、何も出来ないよりは、少しは出来る方が良いかな?、という感じでしょうか。

 私も、それで良いと思います。例えば、コンピューターですから、「計算」ですよね。電卓では出来ない複雑なことを、コンピューターは出来る分けです。

 しかし、初心者の方が、一からプログラムを組むというのは敷居が高いので、「Office スイート」とかの総合環境が人気な分けです。実用的でもあります。

 というのは、「C#」で「Office 相当」の事をしようとすれば、天文学的に出来ません(笑)。ですから、「Office 環境」は「Office 環境」なんです。私も、持っています(笑)。

 ということで、頑張りましょう。

当サイトで扱う範囲を確認して置きましょう。

 そうですね、基本的には「C#」が、メインになります。同じような言語としては、「VB」もあります。この両者は殆ど似ているので、何方か一方が出来ると、他方も理解出来るようになります。

 「.NET Framework」を使用する言語は、殆ど似ています。また、マネージド言語なので、初心者の方でも安心して使うことができます。

 それ以外には、「HTML」と「CSS」とかも、まだまだ駆け出しではありますが、記事を書いてみたいと思います。まぁ今時は、一番面白い(興味がある)、言語かも知れません。

 そして基本的には、個人で扱うものなので、「帯に短し、襷に長し」的なアプリケーションを作りながら、色々と解説して見たいと思います。

 それと、プログラミングが出来るからと言って、自分で作ったものを日常で使うということは、実は余りありません(笑)。しかし、別の何かをする時や、職業で必要になる時があるので、その時に役に立つと思います。

 また、 無料の環境が、「ベスト」という分けではありません。飽くまでも、スタートラインとしての環境です。会社が大きく成れば、当然無料ではなくなります(笑)。それと、未来永劫、無料になるとは限りません(汗)。

 まぁしかし、私のポリシーは、何時も「Take it easy.」です。水の流れのように。

C# とはどんな言語でしょうか?

 初心者の方にとっては、「C#」と聞いても、何のことか分からないと思います。もしかすると、「C♭」とかも有るのかな?と思うでしょうが、ありません(笑)。

 実は、プログラム言語には、「高級言語」と「低級言語」というのがあります。「高級言語」の代表格は、「一般的なBASIC」です。低級言語の代表格が、「ASM(アセンブラ) と C(シー)」です。

 プログラムの難しさは、「低級言語」になればなる程、難しくなります。しかし、高速に動作するようになります。逆に、「高級言語」になればなる程、簡単にはなりますが動作が遅くなります。

 「難しさ」と「動作速度」は、反比例(トレードオフ)の関係にあると言っても、過言ではありません。そして「C#」は色んな意味で、丁度「高級言語」と、「低級言語」の中間にある言語です。

 そうですね、「C#」が発表される前のプログラマーからすると、「夢のような言語」だったんです。理想的とも言える言語で、「簡単であるのに高速で動作する」というように。

 私はそれまでに、「ASM、C、BASIC」は、一通り経験していたのですが、主に使っていたのは「BASIC」の方だったので、直ぐに「C#」に傾倒しました。m(_ _)m

C# の良さは何でしょうか?

 まぁ良い所を数えると切りが無いのですが、一言でいうと「マネージド言語」だということでしょうか。日本語でいうと、「管理された言語」でしょうか?

 説明すると、本来プログラマーには、実態としてのプログラム以外にも、気を付けなければ行けない事柄というのがあります。そしてその事柄は、結構「OS」とかにも、影響する場合があります。

 マネージド言語は、その事柄を「C#」が自動的に行ってくれるので、プログラマーは何も気にせず、「アプリケーション開発」に専念できる分けです。

 ガベージコレクションとか、何気ない事なんですが、結構重要なんです(笑)。後は、型の安全性とかですね。

オブジェクト指向の言語

 オブジェクト指向というのは、広義の意味があるので、一言でいうのは難しいのですが、「C#」に当てはめて具体的な事柄でいうと、「継承」、「カプセル化」、「多能性」という機能が、使えることです。

 これらの機能は、「class(クラス)」という概念に基づいて、使用することが出来ます。この「class」というのは、初心者の方には分からないと思いますが、実は「C#」は殆ど全て、「class」から出来ています。

 昔の「BASIC」等とは、全く異なるプログラミング方法になりますが、非常に画期的な方法で、一度習得すると後には戻れません(笑)。一言でいうと、「名前を持った管理単位」ということです。

 例えば、「Form クラス」とか、「TextBox クラス」とか、「Label クラス」とか、「List クラス」とか、非常に沢山のクラスがあります。また、自分でクラスを作ることも出来ます。ですから、無限大にクラスがあると言っても、過言ではありません。

 それらの「class(クラス)」を組み合わせて、一つのアプリケーションを作成します。

イベント機能が使える言語

 イベント機能というのは、コンピュータに対する何らかの「事柄」に対して、処理を書くことが出来ることです。

 つまり、その「事柄」に対してアプリケーションに、その都度「通知」が来るので、そのタイミングで処理を書くことができます。

 「C#」の場合は、使いきれない程のイベントが、ディフォルトで設定されているので、非常に便利です。また、自分でイベントを、追加することも出来ます。

 まぁ一応、大きな項目はこんな所なんですが、「並列処理」も比較的簡単に、出来るようになっています。

HTML、CSS が面白いですね。

  私の基本的な範囲は、昔から「デスクトップ開発」だったので、「WEB 環境」には余り興味が無かったのです。というより、マークアップ言語(<cmd>)が、結構敷居が高いと思っていたので、黙認していたのです(勿体ない)。

 ところが、「ホームページ」や「ブログ」をしようと思うと、「HTML」と「CSS」は、必須な分けです。それから、勉強を始めたのですが、その高性能な表現に驚きましたね。ここまで進化してるとは。m(_ _)m

 最初は、何が何だか全く分かりませんでした。一番分からなかったのは、意外にも「<div>」だったんです。基本中の基本なんですが。

 それが分かると、後は、「C#」と共感するところもあるので、何とか今日に至っています。しかし、分かれば分かる程、面白いですね。しかし、まだまだ分からないことは多いです。

日常の諸行無常。

 プログラミングの事だけでは、記事数も余り書けないので、「日常の色んな事」や「両親のメモリー」等を、短編小説風に纏めてみたいと思います。

 実録にすると、人にお見せすることが出来ないので(笑)。

 まぁしかし、本当に昔の人は、我々より大人ですよね。昔の映画とかを見ると、凄いですよ。心が洗われますね。映画ですから、明治維新以降なんですが。

 そういう意味では、江戸時代は、もっと凄かったと思います。更に、鎌倉時代や平安時代まで遡ると、もぅロマンですね(笑)。

 私の場合、そういう映画(書籍ではなく)は、好きなんです。書籍の多くは「古文」なので、理解できません。m(_ _)m

 ということで、何か記事にできるような事があれば、書いてみたいと思います。

道州制は、日本の未来。

 私は、そう思うのですが、まぁ30年位後の話でしょうか(笑)。別に、私自身も急いでる分けでもないし、明日からとかになると、社会も対応出来ないので。

 何故、「道州制」かというと、やはり地方のインフラですよね。それと今時は、地方でも東京と何も変わらないので、態々東京に行く必要もないと思うのです。

 その辺りを、経済や政治を知らない「理科系で、素人の視点」で、綴ってみようかなと思います。

 東京一極というのは、歴史の事は分からないのですが、「徳川幕府」からですよね? それまでは、関西が日本の中心だったと思います。というより、「道州制」だったと思います(笑)。

 ですから、未だに「徳川幕府」の影響は大きいと思います。

 しかし、どうでしょうか? インターネットという環境を見れば分かりますが、一局に集中してないですよね。蜘蛛の巣のように、拠点がありません。それなのに、無限に発展していると思います。

 これが、「道州制」だと思います。 頑張りましょう。

画像ギャラリー

 文章だけというのは、余程文才がないとやはり疲れると思うので、画像等を入れて「ブレークスルー」を、楽しんで貰いたいと思います。

 写真には、人それぞれメモリーがあると思うので、私は私なりの「コメント」を付けて見たいと思います。まぁ一方的な事になるので、ご容赦願います。

 尚、写真の多くは、「ホームページ・ビルダー22 ビジネスプレミアム」に付属しているものを、使わせて貰っています。

目次