前置 後置 インクリメント演算子
ビット演算子のメモ
初心者の壁、「オブジェクト指向」
紙と鉛筆
私は現在、メモ帳や手帳を持っていない。
記録しておくことはデバイスかクラウド上に、テキストや画像で保管。
資格試験を勉強する時でさえ、紙に文字を書くことはもう無い。
例えば...文字はEvernote、図はkeynote、数はexcel(or numbers)
といった具合で把握する。
そんなデジタルなスタイルだったが
抽象的概念は、簡単な図などを紙に書くほうが
手軽で分かりやすい。(私にとって、はっと気付いた衝撃の事実...)
======
@プログラミングで気づいた事
# 思考は、タイピングより紙に書くほうが早くて分かりやすい
# 抽象的なことを理解するには、抽象的でも形にしたほうがいい
@思考を阻害するアクション
# cordingのルール(bracketやsemicolonの位置を考える等)
# tabや改行でコードの整形(単なる作業に頭を使ってしまう...)
@ラフに書いて俯瞰するには
# 四角(箱)や矢印などの図形を描く
# 文字はif thenやfor toなど、英語で表記(あとで理解しやすい)
# フローチャートのような、格式張った書き方は不要
======
特に複数の変数に数字を入れ替えていく作業などが理解しやすい。
(Euclid's algorithmの理解に役立った)
累乗(べき乗)に関してのメモ
# 「^」 この記号
# circumflex
# 合わせて覚えておくのは、superscript
# 英語で意味を調べると下記
Raises a number to the power of another number.
(raiseとpowerがキーワード)
======
c, swift
// pow(x,y) => raise x to the power of y
// cはmath.h が必要、swiftはCocoaで大丈夫
javaScript, python, perl, ruby
// x**y
// 直感的に、すぐ計算できるのが良い
// pythonSyntax3.7.2には「powers」とシンプルに表記
https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
初心者なのに複数の言語を学ぶ理由
# 単純に興味本位から。
# 違う角度から見ると分かりやすい気がする
# 誰もが違う言語を初級者へ薦めるので、それぞれ試したい
各言語を選んだ私なりの理由は下記。
# C ;
// 根本的な仕組みが理解できる
# javaScript ;
// インターネットの時代的に必要らしい
# swift;
// iOSアプリを作れる
# go(golang)
// googleが作ったから分かりやすそう
# VBA;
// excelで色々できる
「ハッカーになろう」のEric S. Raymondによると
Python, Java, C/C++, Perl, LISPを学ぶのを推奨しており
私の脳がいつまでエンドルフィンを分泌し続けられるのか...
以下、一行コメント
# python;
// シンプルで初心者向きだが、appleやgoogleも採用していた
# java;
// コードが冗長に見えるが構造体の根本を理解しやすそう
# C++;
//cを理解する手段の一つとして学びたい
# perl;
// 作法を知っておく方がいいらしい(だからこれは最後かな)
# LISP;
// SICPを読み解くのに必要
最終的に、下記に絞っていくだろうと予測。
C, java, python, javaScript, swift, VBA
以上、まだモチベーションの高い初心者なりの所見。
FizzBuzzで腕試し
プログラミングを勉強し始めて約2ヶ月。
for, while, if, arrayを理解したところで
下記を参考にfizzbuzzに挑戦。
https://www.youtube.com/watch?v=QPZ0pIK_wsc
動画で役に立ったのは
# 式を分解しながら小さい単位で実行するところ。
# 1から100までをざっと表記する
# fizzbuzz(i%15==0)だけ表記する
ここまで紐解いてないと初心者には分からない...
以下、何種類かの言語で試してみた。
swiftはXcode、goはgolang.org、それ以外は下記で実行
https://www.tutorialspoint.com/codingground.htm
c;
// まずはc言語で理解
JavaScript;
// ifで&&を囲むのに2重になる...に辿り着くまでハマった
// console.logが使えず、document.writeを使用
swift;
// for文で(for i in〜)の記述に戸惑いを感じた
// (int = i; i < number; i++)のほうが分かりやすい。
VBA;
// 他の言語と違い、メモ書きをそのまま記述した印象
// bracketsもsemicolonも無いのに不安を感じる
go(golang);
// 公式サイト(golang.org)の説明が分かりやすくとっつきやすい
// for内のround bracketsが無いのがVBAっぽさ、メモ書き感がある
以上、実際にコードを書くのは時間かかるが楽しい。
読むだけで理解したつもり...が実は出来てない事も実感できた。