ネットワークエンジニアをしている身ですが、欲が余って、C言語の基礎マスタ編の研修へ行ってきました。
しかも、3日間!
ここぞとばかりに、会社の制度を利用しております。
と、言ってもこれからのネットワークエンジニアは、ネットワークはもちろんのこと、サーバ、そしてプログラミングも必要な時期に入ってきます。
例えば、SDNは「OpenFlowコントローラ」などプログラミング言語が必要となってきます。
将来的には、上記の3つの技術ができて当たり前の時代になってくると踏んでいるわけです。(勝手に思い込んでいる)
んでも、持っていてマイナスなことは無いし、こんな研修が受けれるのなら受けちゃおうってことで、やってきました東京!
20代の若き日にがむしゃらに働いて今までの技術を学んだ東京!
この年になってまだ勉強で東京!っつうことで、研修のまとめを数回にわたりメモっていきます。
C言語を制すればすべてのプログラミングを理解できる!?
それではプログラミング言語を覚えようって思った時に、一体どの言語を勉強すればいいのかわからんっすよねぇ。
自分もその部類です。
んで、いろんな方にどの言語を勉強すればいいのかって聞いたら、とりあえずシェルスクリプトかければいいんじゃないとか、Perlとか、最近ではRubyとかいろいろ。
その中で、ある方が言ってたのは「C言語を覚えれば他の言語もだいたいわかりますよ」ってな事だった。
そうなのか!っていう、よくわからん気持ちでC言語を始めようって思って買ったのが、この本。
「Cの絵本」です。
プログラム初心者のおっさんでもなんとか分かる内容です。
まぁ、絵があるからわかりやすい。
しかし、仕事が夜遅くまであり忙しいこともあり、なかなかページが進まない。。。という、クソみたいな言い訳を自分の中だけで考え、今回のこの3日間のプログラミングの研修に望むわけです。
初日の研修はこの本である程度勉強してたおかげか、なんとか研修についていけました。。。
何事も基本っていいよね。
今回の研修内容はズバリ「基礎」!
何事も基礎は大事ですし、基礎的な知識があることは何事においても強いわけです。
それに今回の学習目標は、
- C言語の基本的な構文の理解。
- C言語による簡単なプログラミングの作成
- みんなが嫌いなポインタを設定
ってな感じで、これができればだいたい行けそう??な感じだし、それに対象者も初めてプログラミングする人や、何と言っても今後『C++言語』や『Java言語』を利用し、基礎から学びたい人が対象です。
自分も今後はサイトでいろんなツールを作成してみたいので、かなり嬉しい研修です。
しかし。。。
やっぱ、やってみると結構大変。
世の中そんな甘くは無かったっす。
基礎って言ってもガンガン飛ばします!
初日だけでも、いきなり関数までやっちまいやがります。
始めはC言語の基礎知識から始まり、制御文⇨関数と一気に学習します。
最後は複数のソースファイルに分けて実行するわけですからもう大変っす。
ホント、ついていくのがやっと。講師の先生に手伝ってもらいながらもなんとかやれました。。。
ほんでもって、まずは簡単なプログラムを作るまでのメモです。
プログラムが実行されるまでの流れ
なんで、プログラミング言語があるのかって言うと、コンピュータに日本語で命令を書いたってコンピュータが読み取れるわけがないんです。
コンピュータが理解できるのは「機械言語」と呼ばれるもので「0」と「1」で書かれた文字列の集まりしか理解できません。
まぁ、機械語で書けばコンピュータは実行してくれるんですけど。
覚えれるわけがねぇ。
そんなことで人間にわかりやすい言語でコンピュータへの命令をかける言語が作り出されたわけです。
それが、今回研修で受けている『C言語』などのプログラミング言語です。
C言語のプログラムの作成順序
C言語では以下のようにプログラムを作成していきます。
- ソースファイルの作成(拡張子を「.c」としたファイル)
- コンパイル
- リンク
※「コンパイル」と「リンク」をセットで『ビルド』と言います。 - 実行
#include <stdio.h> /*入出力のファイルを読み込む*/ int main(void) /*メイン関数(関数は命令の集まり)*/ { printf("C言語でプログラムを出力\n"); /*命令文はセミコロンを必ずつける!*/ return 0; /*プログラムエラーか判断する(0は正常終了)*/ }
出力結果
C言語でプログラムを出力
と、こんな感じで簡単なプログラムを作成しました。
とりあえずここまで。
次回に続きます。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す