メイン

プログラミング アーカイブ

2005年05月02日

ハッピープログラミングのススメ

結局のところ、技術というよりは、コミュニケーション能力が問われるわけです。

仕事とは?

* 技術を習得し、その技術を利用して、お客様に便利なサービスを提供していく。
   これがわれわれの仕事です。
* 技術を追求していくことも勿論大切なのですが、技術だけで仕事ができるわけではありません。
* 何のための開発や制作であるかを忘れてはいけません。
* お客様は、人間であることを忘れてはいけません。
* お客様が困っていることは何でしょう。と自分に問いかけてみよう。
* お客様が怒っていることは何でしょう。と自分に問いかけてみよう。
* お客様が喜ぶことは何でしょう。と自分に問いかけてみよう。
* お客様の声に耳を傾け、じっくりと考えていきましょう。
* 自分がやれる、やれない。というレベルで考えるのではなく、
会社として、どのようにすればできるのか、まずは考えていきましょう。

iPLUSONEのハッピープログラミングのススメ

* プログラミングは知的でわくわくする楽しいことである。
* しかし、そこへたどり着くにはなかなか難しい時代である。
o コンピュータへの要求が多様化しているということが一番大きい。
o 特に初心者は、何からやっていいのか。
o そうはいっても、やれる人はどんどん進んで、やれない人は甘えているだけというのが大きい
o できる人、できない人という括りは、結局は、やる人、やらない人というだけのことだ。
o とはいっても、精神論だけでは解決策が見出せないので
o ソフトウエア開発を事業とするものとしては、なんらかの方針を示す必要がある
o 何でもかんでも、個人任せな会社にはしたくない。
* 初心者が、エンジニアになるために、どういったアプローチがよいか。
* その中で、何が問題になるのだろうか。

* 理論ばかり立派でアウトプットがでないのでは困る。
* 理論と実践のバランスが大切である。
* とにかく実践せよ。実践すると何らかの結果が出る。
* ネットでだれかやったことを鵜呑みにしてはいけない。実際に試して、どうなるか。確認すること。
* 「・・らしい」では、話が先に進まない。
* 「・・だった」。だから、次にどうする。という最終判断までもとう。

* 最初は誰もわからない
* 最初は、知らないことばかりだ。
* 何かを習得しようとすれば新しい言葉の嵐で、それらを調べていくうちに、何を覚えようとしていたのかがわからなくなる。こんな経験はないだろうか?
* 全部を一気に習得することは難しい
* 個々の小さく噛み砕いて、理解できる範囲を狭めていくことが重要
* とにかく、コツコツと蓄積していくしかない。
* 最初からあれこれ聞いていては、煙たがられるだろう。 などと、気を使うことはない。
* ビギナーの特権である。最初から聞きまくれ。
* ただし、すべてを聞くのではなく、聞くポイントを考えてみよう。
* 自分が試せば済むことは、自分でやること。
* 何を聞いたらいいのかわからない。と困っているなら、それを相談すればよい。

2006年08月30日

オブジェクト指向言語におけるクラスと継承 EC-CUBEのクラス構成


いわゆるオブジェクト指向言語とよばれるクラス機能をもったプログラミング言語は、
単にクラスを定義するだけではなく、
生産効率を考えた、拡張性が準備されている。

例えば、継承という機能のおかげで、
将来、どんな拡張が行われるかがまだ未定だが、
拡張を行う場合には、このクラスを拡張してね。
というような構成にしておくことで
既存機能には一切影響を与えずに、拡張することも可能になる。

これは、EC-CUBEについてもいえることである。

クラスのすべてに対して、継承したExクラスが用意されている。
実体(インスタンス)を生成しているのは、このExクラスなわけだが
このExクラスを拡張することで、機能追加ができるようになっている。

ec_class.gif

例えば、商品詳細のページで表示している商品詳細のクラスは、LC_page_detailクラス
このクラスを親クラスとして、LC_page_detail_Exクラスを派生していて、
detail.phpでは、このLC_page_detail_Exクラスのインスタンスを生成している。

2008年02月10日

手続き型プログラミング言語とオブジェクト指向言語

C, Pascal,FORTRAN, COBOLなどは手続き型プログラミング言語とよばれる。
一方、C++,Java,Object Pascalなどクラスをもちオブジェクト指向に対応した言語はオブジェクト指向言語とよばれる。
PHPなどは、当初はクラス非対応であったが、PHP4の終わりからサポートされPHP5で完全に対応した。

Javaは、すべてクラスとしたことで非常にわかりやすいが、ネイティブデータ型も残した。
さらに、Rubyは全部オブジェクトとなり完全なるオブジェクト指向言語。

あとから出てくる言語は、すでにある言語の良いところを受けついで、
問題点を解決していくので、
今後も、新しい言語はでてくるでしょう。

違った視点からだと、コンパイルするのかインタプリタなのか。
スクリプトはインタプリタ。
コンパイルといっても、ネイティブな実行ファイルを生成する場合と、
中間コードを生成するだけにとどめるVBやJavaなどもあります。

サブルーチン,プロシジャー,関数

プログラミング言語によって、処理を記述する単位は、
サブルーチン,プロシジャー,関数などいろいろあるが
それぞれどんな違いがあるのかを整理しておこう

一般的に、サブルーチンやプロシジャーは処理だけを行い、結果を返さない。
関数は結果を返す。

言語により呼び方が異なる。

Cは、すべて関数。値を返さない関数はvoid型関数になる。
Pascalは、procedure(プロシジャー)と function(関数)とあり
procedureは、値を返さない。関数は値を返す。
Visual BasicはSub(サブルーチン)と Function(関数)。
サブルーチンは値を返さない。ファンクションは値を返す。
Perlは、sub(サブルーチン)だけど、関数としても機能する。
PHPは、function(すべて関数)。

Cの値を返さない関数
void function(int val)
{
/* void関数はreturnがない */
}

Cの値を返す関数
int sum(int v1, int v2)
{
return v1 + v2;
}

2008年02月12日

UNIXを学んでいれば大抵次の項目について学ぶであろう。
そして、そられを通してC言語との関わりを知ることになる。

ログイン、シェル、ファイルとディレクトリ、標準入出力、
プログラムとプロセス、C言語、システムコールとライブラリ関数


Cで書いたプログラムはmain関数から処理がはじまる。
main関数は誰が起動しているのか?
それはスタートアップルーチンという
リンク時に結合される処理がmain関数をコールする。
その際に、プログラム起動時のパラメータと環境変数を引数で
渡すのである。

About プログラミング

ブログ「iPLUSONE Photo Blog」のカテゴリ「プログラミング」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはフォトです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34