こんにちは、堀井です。
丸1ヶ月半の時間をかけて(本職から見れば)ゆっくり勉強していたC言語ですが、ようやく先週の金曜日で一区切りを迎えました。
この後は丸1ヶ月間オブジェクト指向と言うものを学び、残りの半月はアプリ開発に充てることになります。
なので私の通っている職業訓練校では
6月上旬〜7月中旬:C言語
7月中旬〜8月中旬:オブジェクト指向
8月中旬〜8月下旬:アプリ開発
と言う流れになっています。
実際ここまでやってきての感想ですが、プログラミングが未経験でもアプリ開発ができるようになると言うのは間違いないです。
もちろん授業に付いていけずに退校される方も中にはいらっしゃいますが(現時点で17人→14人)、技術を身に付けたいが勉強方法がわからないと言う方に職業訓練校はお勧めできます。
何と言っても雇用保険に半年以上入っていた方は失業手当をもらいながら、つまり少ないとはいえ収入が保証されながらの勉強となるので精神衛生上非常に快適な環境下に居られると言うのは非常に大きいと思っています。
それでは今日の本題です。
「オブジェクト指向ってなんだろうかさっぱり分からないけれど、とりあえず来月からSwiftを触るので少し勉強してみようか・・・」と言う考えで予習を始めてみました。
さわりだけやった感想としては今まで触っていたC言語とは全然違うな、と言う当たり前のものです。
例えば整数型の定数aを3で初期化する式を書こうと思っただけで
C言語 → const int a = 3;
Swift → let a: Int = 3
Excel VBA → Const a as Integer = 3
となります。
今まで習ってきた書き方を勢いよく捨てなければ書けません。
もう少しコードを書いてみます。
今度は1000円の品物に消費税1.08%を掛けた合計値段をコンソールに出力する処理です。比較するためにわざと無駄なことをしますが、計算処理は別途用意した関数にぶん投げます。
【C言語】
#include <stdio.h>
int calc(int price, double TAX); //プロトタイプ宣言が可能
int main(void){
int nedan = 1000;
const double tax = 1.08;
int shiharai;
shiharai = calc(nedan, tax);
printf("支払金額 = %d円", shiharai);
return 0;
}
int calc(int price, double TAX){
int harai = (int)((double)price * TAX); //キャストしなくても良い
return harai;
}
と言う感じになります。
なおcalc関数内の処理ですが、「int harai = price * TAX;」としても同じ動作をします。
【Swift】
import Foundation
func calc(price: Int, TAX: Double) -> Int { //プロトタイプ宣言が不可
let harai: Int = Int(Double(price) * TAX)
return harai
}
var nedan: Int = 1000
let tax: Double = 1.08
var shiharai: Intshiharai = calc(price: nedan, TAX: tax)
print("支払金額 = \(shiharai)円")
と言った具合になりました。
なおcalc関数内の処理ですが、Int型とDouble型での計算ができないため、上記のようにキャストするかas演算子を使わなければならないそうです。
変数や定数の宣言も計算方法も出力結果も全て同じですが、こうも書き方が変わると混乱してしまうのはやむなしですね。早めに予習しておいて本当に良かったと思います。
強いて同じだと言えるのはコメントの書き方と代入演算子くらいじゃないでしょうか・・・。
さてそんな感じでこの3連休の2日目が過ぎていきます。
進みが比較的ゆっくりとはいえ振り落とされず、なんとか付いていけるよう引き続き頑張ります。
それではまた次回。