私はソフトウェア会社では働いていません。私は、プログラミングについて何でも知っている社内の数少ない人の1人です。私は、オフィスで使用される他のプログラムをパブリックAPIを介して自動化することに多くの時間を費やし、いくつかのスタンドアロンアプリケーションも作成しました。私がオフィスで使用していると思われるすべてのアプリケーションには何らかの形の.NET APIがあるように見えるため、私はほぼ完全にC#.NETで作業しています。
「プログラミングの方法」と、どこから始めたらよいかについて、ここで何人かが質問してきました。自動化したいほとんどすべてのプログラムが.NET APIを持っているので、.NET言語を学ぶ方がはるかに理にかなっていると思います。
しかし、私は.NETとは何かを説明する方法と、プログラミングについて何も知らない人に.NETを理解する必要がある理由を理解しようとしています。 .NET言語と見なされる言語は多数あるため、これは実際には言語ではありません。さらに、「。NET」と「.NETフレームワーク」は、Microsoftが提供するライブラリに関するものであるため、「。NET」と「.NETフレームワーク」には違いがあると思います。
プログラミング-基本的にコンピュータに何をすべきか、そしてどのようにすべきかを伝えます。
ソースファイル-これは、プログラミング言語で記述されたドキュメントで、コンピュータに何をしたいかを伝えます。
プログラミング言語-これは(通常)英語と数学の混合に似た言語です。これは、コンパイラーが理解するのに十分単純かつ厳密です。
コンパイラ-これは、あなたが理解できるプログラミング言語をコンピュータが理解できる言語に翻訳し、あなたはそれをComputereseと呼ぶことができます。
ライブラリ-作成したプログラムで使用できるComputereseに既に翻訳されている便利なコードのコレクション。
。NETプラットフォーム-生産性に重点を置いたプログラムを作成するためのツール、言語、ライブラリの大規模なコレクション。
もちろん、それだけではありません。 ILとJITのコンパイルまたはガベージコレクションについて説明することもできますが、これらの詳細はプログラマー以外にはあまり関係ありません。
彼らに "C#"と伝え、彼らがフォロースルーすれば、それを理解するでしょう。それを真空で説明しても意味がありません。
[または「Java」と言って、助けを求められないようにしてください!]
それはあなたがプログラムを書けるプログラムであり、今のところそれについて心配する必要がないプログラムであることを彼らに教えてください。次に、現時点で最も重要なプログラミングの原則から始めます。
.NETは、.NETプログラミング言語で使用できるフレームワークです。これを使用して、WinForm(非WPF)デスクトップアプリ、WPFデスクトップアプリ、Silverlight、ASP.NET、モバイルを作成できます。したがって、.NETの一部(デスクトップアプリの作成など)を学習することで、プログラマーはWebアプリなどの他の物を書く方法をかなり簡単に学ぶことができます。
私はJava開発者であり、Java言語ですが、IMHO、Visual Studioおよび.NETの機能(例:Visual StudioのGUI)についても同様のことが言えます)エディターとウィザード、およびデータバインディング)により、.NETでの開発が少し速く簡単になります。
常に、人が理解できるものに関連付けます。彼らがプログラミングを理解していない場合:
.NETは、既成のものを集めたものです。だからそのような:
そのマイクロソフトのセクシーな新技術であることを伝えます。また、さまざまな言語の開発者がすべて手を取り合って非常にセクシーなコードを作成できるようになります。 auto-magicallyがPC、XBOX、Windows Phoneなどで機能することを伝えます。また、ウェブサイトだけでなく、ゲームから退屈なビジネスアプリケーションまで何でも作成できることも伝えます。
短くしてください:
- その大きなふわふわ雲:)
- そのマイクロソフトテック
- PC、XBOX、Windows Phoneで実行
- それは多くの異なる言語を「理解する」
- ゲーム、ビジネスアプリケーション、ウェブサイトを作成できます
プログラマーではない人々は、「フレームワーク」、「ASP.NET」、「Silverlight」などの特別なコンピューター用語を非常に恐れています。だから、簡単に言葉で説明しましょう:
.NETは、ビジネスアプリケーション、Webサイト、ゲーム、マルチメディアの作成に最適な最新のプログラミング技術です。
これは、この会社内でのあなたにとっての機会のようです。
あなたはプログラミングに詳しい人として知られるようになり、アドバイス/入力のために人々があなたのところにやって来るので、この会社では一般にプログラミングのビジネスニーズがあるようです。
これがあなたの役割の一部になることを立証できるかもしれない権威のある立場にいる誰かと話すことをお勧めします-例えばあなたはソフトウェア開発の努力を率いて、それに応じて認められます。
これが可能であれば、プログラミングとは何か、これらのOfficeアプリをプログラミングする理由などについてのチョークアンドトークセッションで教育的なボールのローリングを開始し、これを行うときにC#を導入することができます。これがうまくいけば、おそらくすぐにバージョン管理に進み、フレームワークとnUnit(または同様の)を活用したいと思うでしょう。
利用できる機会がない場合でも、平均的なケースを目指して同じ情報を多数の人々に広めることができ、その後の相互支援を行うことができるので、チョークアンドトークセッションは依然として良い選択肢です。
私はあなたが正しい道を進んでいると思います、特定の言語のプログラムをMSILに変換する.Netコンパイラがあり、それから私たちの生活をより簡単にするクラス/コードライブラリであるコードライブラリがあります。彼らがコードライブラリとは何かを理解していない場合、彼らにそれを理解させるために何ができるかわかりません。質問で行ったのと同じように、C#の選択をガイドできます。