truth-kidding-you

ブログをどこで書くかさ迷っていまここ

普通のプログラマーに求めたいこと


お国事情が違うのであれですけど。
日本でプロプログラマーにはまず出会わない。

プロの対極にいるのが作業者

人数比
プロ>>作業者

当然と言えばそうですけど。ネットで技術系サイトを見てるのは大抵、プロ寄りの意識の方なので、あまり参考には…


作業者意識が強い方、プログラミングで生計を立てている方は、少なくとも言語仕様を理解しプログラムを書けるという一点だけは死守してほしいと思う。

次に、仕様をコードに変換できること。詳細設計と呼ばれる工程にあたるところができると望ましい。
おそらく大変困難な工程作業に感じると思われるが、生まれつきの才能か、地道な訓練経験が必要でしょう。

C++ foreach

VisualStudioではforeachが使える

C#VBから移行した技術者向けに用意していたのかと思いきや、msdnでははっきりと非推奨の記載が。
理由はわかりませんが、標準に従おうということなのかもしれません。

代わりに使うのは
「範囲ベースのfor」

for(auto v : container)

こっちのが見た目も快適ですね。

そして、標準ライブラリは

std::for_each

紛らわしい。けど、こちらは範囲を指定できるのでより有用

C++ ポケットリファレンス

C++ ポケットリファレンス


C#学んでみよう-パイザ・ラーニング 準備編-

プログラムの動きは概ね次のようになります。

  1. 入力
  2. 処理
  3. 出力

 

入力データを受け取る方法、出力する方法を覚えないといけません。パイザ・ラーニングでは、標準入力/出力を使用するというので、まず、それを学びました。

 

各問題とも「提出いただいたコードの実行(標準入力による値の取得、計算処理)→標準出力→正誤の判定」という流れになります。

 

標準入力

サンプルコードを見てみましょう。

http://paiza.jp/guide/samplecode.html

var line1 = System.Console.ReadLine().Trim();

 なるほど、4行読み込もうと思えばこうもできるということですね。

var line1 = System.Console.ReadLine().Trim();

var line2 = System.Console.ReadLine().Trim();

var line3 = System.Console.ReadLine().Trim();

var line4 = System.Console.ReadLine().Trim();

MSDNで確認しておきましょう。

Console クラス (System)

コンソール アプリケーションの標準入力ストリーム、標準出力ストリーム、および標準エラー ストリームを表します。

Console.ReadLine メソッド (System)

標準入力ストリームから次の 1 行分の文字を読み取ります。 

戻り値はSystem.Stringのようです。サンプルコードでは数字列から数値への変換をしているのはこのためですね。

 

Stringもヘルプで確認しておきましょう。

String クラス (System)

素敵なメソッドがたくさんあります。文字列操作のメソッドが充実しているのは素晴らしいですね。

 

標準出力

サンプルコードを見てみましょう。くどいところは省略しています。

System.Console.WriteLine("hello = {0} , world = {1}",  hoge, fuga );

// 結果

// hello = hoge, world = fuga

 

System.Console.WriteLineで出力できるようですので、もう一度System.Consoleのヘルプを確認してみます。

Console.WriteLine メソッド (String) (System)

WriteLine メソッド
WriteLine メソッド (Boolean)
WriteLine メソッド (Char)
WriteLine メソッド (Char[])
WriteLine メソッド (Decimal)
WriteLine メソッド (Double)
WriteLine メソッド (Int32)
WriteLine メソッド (Int64)

:(途中略)
WriteLine メソッド (String)

:(以下略)

WriteLineが様々な形式のオブジェクトを引数にとれますね。

 

...("hello = {0} , world = {1}", hoge, huga);

 

再びサンプルから{0}や{1}は何でしょう、WindowsDOSコマンドやVBAで見覚えがあります。

 

複合書式設定(MSDN)

複合書式指定機能をサポートするメソッドには、次のようなものがあります。

  •   String.Format 。書式設定された結果文字列を返します。

 

次のように出力用に文字列を整形している、と理解してよさそうです。

 

string outLine = string.Format("hello = {0} , world = {1}",  hoge, fuga );

System.Console.WriteLine(outLine );

 

 入力データの加工

入力されたデータは処理に適した形に変換する必要があります。数字列を数値に変換したり、文字列を単語のリストにしたり。ラーニングのお題をみながらこれは学んでいくことにします。

 

 

C#学んでみよう-きっかけ編-

C++?今はC#の時代だよ!

ソフト作るならC#だよ。
 
プログラマの定年35歳ということで、とっくに定年退職していますが、老後の嗜みとして何か言語を学んでみたいと日頃思っていました。ブログを綴るかたわらでC#の学習記録をつけてみます。
 
開発環境
当面はネットで色々学べるということで開発環境は構築せず、オンラインプログラム環境を利用することにします。最初に使用するサイトはPaizaです。
 
Paiza
 
Paizaは転職系のサイトですが、学習用のお題があるのでそれを利用して学んで見ようと思います。プログラマとして転職できるレベルにないですし、そのつもりもないので(そもそも定年しているし!)「スキルチェック」はしません。