スキルが一向に伸びない人、どんどん伸びる人
あけましておめでとうございます(劇遅)
生きてます。せのです。
お久しぶりです。
やる気が急降下中ですがブログ書きます。
エンジニアのスキルってどうやって伸ばしていくんですかね…
あーでもないこーでもない転職しようやっぱこのままetc...
…こんな思考だから伸びないんですね。スキル
たぶん、伸びる人はこの逆で
・あれがやりたい!
・どうすればいいんだろう?
・とりあえず作ってみよう!
・あれ?上手くいかないぞ?
・あれにやり方が載ってそう!調べよう!
・よし、うまくいった!
・あれ?これはどうやってやるんだろう?
・よし、前はこうやったから次はこうかな?
この繰り返しなんですよね。
まずはやってみる。
かなり抽象的になっちゃいましたが、とりあえず何か作る。
これに尽きるんですよね…結局
写経は本の丸写しじゃ意味ないっぽい
プログラミング学習でしばしば写経が行われますが(僕もよくやります)
あれ、どうやらサンプルコードを頭から書くのではなく
①:骨組み(空関数)
②:コンパイルが通るか(ちゃんと動くか)確認
③:中身の実装
④:②と③を繰り返す。
のが実際にコーディングをしていくときにやるやり方らしいです。
・一気に書けるのはせいぜい2~3行
・どんなものを作りたいか考える(ここが一番大事)
・まず空でもいいので枠組みを作る(プロトタイプ的なもの)
・それから中身を詰めていく(処理の実装)
頭の片隅に置いて、意識しながら作業できるようになりたいと思います。
今までの本には全然そんなこと書かれてなかったな…
これ、おすすめです。C言語を触る人じゃなくても読んで損じゃないです。
(ダイレクトマーケティング感ある)
Paiza
Cランクになりました。
とりあえず生存報告的な。
自分が仕事で使ってる言語じゃなくてJSでランクアップするあたりお察し
ブログ始めました
どうも、初めまして。
瀬野と申します。
プログラマです。多分…
スキルなんて皆無なので、勉強用に初めてみました。コンゴトモヨロシク…
写経してゲームを作りましたのでそれをうpしようと思います。
が、そのままうpすると中身そのままになるんで改変改良してからにします…
代わりに今日のテーマです。
「Hello, world!をC言語で書いてみた。」
レベル低っ!と思った方は回れ右してもいいっす…
まあ、Hello,world!を出力するだけじゃ物足りないですよね?
なのでもう一歩踏み込んで
文の意味とか、その辺をやや細かく見ていこうと思います。
まず、Cを齧った人なら誰でも書いたことがあろうものを書きます。
はい↓
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
とまあ、これでコンパイル通して実行したら
Hello, world!
と出るはずです。
ほんじゃ、1行目から見ていくことにしましょう。
#include <stdio.h>
これは「STDIO.H というファイルの内容をソース プログラムに追加します。」
…とのこと(マイクロソフトのHPに書いてました)
stdio.hはヘッダファイルです。
ヘッダファイルってなんやねん。と思った方…次の記事で書きます。お楽しみに
つまりこういうことです。
「#include <ソースコードに追加するファイル>」
ちなみに「#include "ソースコードに追加するファイル"」なんてのもあるようです。
次にint main()ですが、これは正確には
int main(int argc, char *argv[])にとなります。
(括弧の中身どこ行ったの?という疑問が浮かぶと思いますが、省略できます。)
意味は「main関数はint型を返す。引数としては、argcとargvが有る。」です。
・int型のmain関数
・int型の引数argc(コマンドラインの引数の数)
・char型の引数argv(コマンドラインの引数の実体へのポインタ)
この3人が居るみたいですね。
(引数とかポインタとかについてもおいおい書きたい)
これは
main(){
とも書くことができるようです。
C言語は、大きく分けて2つの世代が有り、第一世代はK&Rの時代、第二世代はANSIの時代です。
※時代を紐解いてみるのも面白そう…今後触れていけたらいいな
んで最後の箇所ですね。中括弧の中身です。
{
printf("Hello, world!\n");
return 0;
}
関係ないですけど、海外では{}が大括弧扱いで、グローバルスタンダードになってるようですね。なんで日本では中括弧と大括弧の扱いが逆になってるのか…
…話を戻しましょう。
括弧の中身を見ていきます。
printf("Hello, world!\n");
printfは「print formatted」の略で、C言語の標準入出力ヘッダー(stdio.h)で宣言されている関数です。先ほどのstdio.hは標準入出力ヘッダーだったんですね。
引数(括弧の中身)で与えられた書式付きの文字列を、環境によって設定された標準出力 (stdout) に出力します。
ここでは"Hello, world!"が文字列として与えられて、stdoutに出力されます。
ちなみに\nは改行です。
return 0; ←こちらも見ていきましょう。
これは「プログラムが正常終了しましたよ」ということを意味する0をmain関数に返しています。
※成功時にゼロを返すのは、C言語の「お約束」らしいです。
初ブログのネタとしてHello,world!を掘り下げてみましたが、簡単そうに見えて実は裏でこんな風になってたのかと改めて感じました。
ネタにできそうな単語もちらほら出てきたので、最後に今後書くテーマになりそうな単語を記事用にまとめておきます。
・ヘッダファイル
・引数
・ポインタ
・参照渡し
・スタック
・ビット演算
・配列
・構造体
明日にでもまたちょっとずつ書いていきます。
ではまた!