「Pascal」の版間の差分
imported>Fallout New Tokyo |
|||
6行目: | 6行目: | ||
[[プログラミング]]が上達してくる過程において、初級者[[プログラマー]]は簡潔でトリッキーな[[ソースコード]]を好むという病的な症状に陥ることが多々ある。[[キーボード]]の[[タイピング]]量を減らすことが正しい、1行で書く事([[ワンライナー]]とも呼ばれる)が正しいと錯覚するのである。 | [[プログラミング]]が上達してくる過程において、初級者[[プログラマー]]は簡潔でトリッキーな[[ソースコード]]を好むという病的な症状に陥ることが多々ある。[[キーボード]]の[[タイピング]]量を減らすことが正しい、1行で書く事([[ワンライナー]]とも呼ばれる)が正しいと錯覚するのである。 | ||
− | そのような[[ソースコード]]は後々に他人が読んだ場合に読みにくく、また[[デバッグ]]なども困難さを極め、最終的には[[デスマーチ]] | + | そのような[[ソースコード]]は後々に他人が読んだ場合に読みにくく、また[[デバッグ]]なども困難さを極め、最終的には[[デスマーチ]]を加速させることになる。これは[[デスマーチ]]の経験が無い、もしくは経験が少ない低級プログラマーであれば致し方ないことであると言える。 |
− | + | 一方で教科書にトリッキーなコードが登場するのは最悪であり、学生の理解はもとより、教師も説明に困るという理由により作られた[[プログラミング言語]]がPascalであると言われている。 | |
− | なお、この教訓は教育のみならず不特定多数が絡み合う[[職業プログラマー]] | + | なお、この教訓は教育のみならず不特定多数が絡み合う[[職業プログラマー]]の世界においても、他人に引き継ぐ際に重要であるとされ、Pascal以外の[[プログラミング言語]]を用いる場合でも、社内ルールとして「[[コーディング規約]]」などと呼ばれるものを用意することで書き方に制約を加えることでクソコードを抑制しようという試みが行われることあり、Pascalを用いる際にもコーディング規約を用いてさらに制約を強めようという場合もある。また、糞コードの混入を防ぐ目的で、定期的にコーディング内容を確認する[[コードレビュー]]や、さらに一歩踏み込んで[[コーディング]]を行う[[プログラマー]]と、それが他人でも読みやすいかを[[リアルタイム]]で監視する[[プログラマー]]の2名による[[ペアプログラミング]]なる手法も一般化しつつある。 |
− | ちなみにPascalに類似する思想としては[[Python]] | + | ちなみにPascalに類似する思想としては[[Python]]が有名であり、さらにはPascalの思想と[[Python]]の思想を融合させた[[Boo言語]]なるものまである。 |
== Pascalの後続言語 == | == Pascalの後続言語 == |
2014年2月18日 (火) 12:24時点における版
Pascal(読み:ぱすかる)とは、「プログラミングとは何か」という教育のために開発されたプログラミング言語である。
概要
Pascalの特徴を一言で言い表すと「明示的」である。Pascalは教育用に開発されたプログラミング言語であるため省略表記などといった曖昧な表現は一切許されない。
プログラミングが上達してくる過程において、初級者プログラマーは簡潔でトリッキーなソースコードを好むという病的な症状に陥ることが多々ある。キーボードのタイピング量を減らすことが正しい、1行で書く事(ワンライナーとも呼ばれる)が正しいと錯覚するのである。
そのようなソースコードは後々に他人が読んだ場合に読みにくく、またデバッグなども困難さを極め、最終的にはデスマーチを加速させることになる。これはデスマーチの経験が無い、もしくは経験が少ない低級プログラマーであれば致し方ないことであると言える。
一方で教科書にトリッキーなコードが登場するのは最悪であり、学生の理解はもとより、教師も説明に困るという理由により作られたプログラミング言語がPascalであると言われている。
なお、この教訓は教育のみならず不特定多数が絡み合う職業プログラマーの世界においても、他人に引き継ぐ際に重要であるとされ、Pascal以外のプログラミング言語を用いる場合でも、社内ルールとして「コーディング規約」などと呼ばれるものを用意することで書き方に制約を加えることでクソコードを抑制しようという試みが行われることあり、Pascalを用いる際にもコーディング規約を用いてさらに制約を強めようという場合もある。また、糞コードの混入を防ぐ目的で、定期的にコーディング内容を確認するコードレビューや、さらに一歩踏み込んでコーディングを行うプログラマーと、それが他人でも読みやすいかをリアルタイムで監視するプログラマーの2名によるペアプログラミングなる手法も一般化しつつある。
ちなみにPascalに類似する思想としてはPythonが有名であり、さらにはPascalの思想とPythonの思想を融合させたBoo言語なるものまである。
Pascalの後続言語
Pascalはその明示的な言語仕様こそデスマーチに陥った人々を救う銀の弾丸になりえると信じる一部の熱狂的な者たちにより一種の宗教を形成している。かつてはその存在を知る者も少ないいわゆる密教のようなものであったが、その分派であるC#が一転攻勢にでたことにより、現在では広く認知されるに至っている。
歴史
1970年、スイスのチューリッヒ工科大学のニクラウス・ヴィルトが手続き型言語「Pascal」を作る。
馴染みのあるC言語形式の「x = x + y」ではなく、「x := x + y」というPascal形式を使っていため、即座に批判に晒されることになった。この批判はC言語がまだ考案されていないにもかかわらず起きている。
これらの批判をかわすため、後に言語仕様はそのままに、見た目をC言語風に偽装したC#が考案された。
- 1970 - Pascal - 元祖である。
- 1983 - Turbo Pascal 1.0 - Pascalは教育用であり実用的ではないという批判に対する独自拡張である。
- 1989 - Turbo Pascal 5.5 - Smalltalkの影響をうけたObject Pascalの始まりである。
- 1995 - Delphi - GUIでポトペタという革命を起こした。
- 2000 - C# - 最初の版はDelphiのリネーム商法であったが、現在では原型をとどめていない。