「Pascal」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''Pascal'''(読み:ぱすかる)とは、「プログラミングとは何か」という教育のために開発されたプログラミング言語で...」)
 
 
(他の1人の利用者による、間の2版が非表示)
6行目: 6行目:
 
[[プログラミング]]が上達してくる過程において、初級者[[プログラマー]]は簡潔でトリッキーな[[ソースコード]]を好むという病的な症状に陥ることが多々ある。[[キーボード]]の[[タイピング]]量を減らすことが正しい、1行で書く事([[ワンライナー]]とも呼ばれる)が正しいと錯覚するのである。
 
[[プログラミング]]が上達してくる過程において、初級者[[プログラマー]]は簡潔でトリッキーな[[ソースコード]]を好むという病的な症状に陥ることが多々ある。[[キーボード]]の[[タイピング]]量を減らすことが正しい、1行で書く事([[ワンライナー]]とも呼ばれる)が正しいと錯覚するのである。
  
そのような[[ソースコード]]は後々に他人が読んだ場合に読みにくく、また[[デバッグ]]なども困難さを極め、最終的には[[デスマーチ]]を加速させることになる。これはデスマーチの経験が無い、もしくは経験が少ない低級プログラマーであれば致し方ないことであると言える。
+
そのような[[ソースコード]]は後々に他人が読んだ場合に読みにくく、また[[デバッグ]]なども困難さを極め、最終的には[[デスマーチ]]を加速させることになる。これは[[デスマーチ]]の経験が無い、もしくは経験が少ない低級プログラマーであれば致し方ないことであると言える。
  
一方で教科書にトリッキーなコードが登場するのは最悪であり、学生の理解はもとより、教師も説明に困るという理由により作られたプログラミング言語がPascalであると言われている。
+
一方で教科書にトリッキーなコードが登場するのは最悪であり、学生の理解はもとより、教師も説明に困るという理由により作られた[[プログラミング言語]]がPascalであると言われている。
  
なお、この教訓は教育のみならず不特定多数が絡み合う[[職業プログラマー]]の世界においても、他人に引き継ぐ際に重要であるとされ、Pascal以外のプログラミング言語を用いる場合でも、社内ルールとして「[[コーディング規約]]」などと呼ばれるものを用意することで書き方に制約を加えることでクソコードを抑制しようという試みが行われることもある。またPascalを用いる際にもコーディング規約を用いてさらに制約を強めようという場合もある。
+
なお、この教訓は教育のみならず不特定多数が絡み合う[[職業プログラマー]]の世界においても、他人に引き継ぐ際に重要であるとされ、Pascal以外の[[プログラミング言語]]を用いる場合でも、社内ルールとして「[[コーディング規約]]」などと呼ばれるものを用意することで書き方に制約を加えることでクソコードを抑制しようという試みが行われることあり、Pascalを用いる際にもコーディング規約を用いてさらに制約を強めようという場合もある。また、糞コードの混入を防ぐ目的で、定期的にコーディング内容を確認する[[コードレビュー]]や、さらに一歩踏み込んで[[コーディング]]を行う[[プログラマー]]と、それが他人でも読みやすいかを[[リアルタイム]]で監視する[[プログラマー]]の2名による[[ペアプログラミング]]なる手法も一般化しつつある。
  
ちなみにPascalに類似する思想としては[[Python]]が有名であり、さらにはPascalの思想とPythonの思想を融合させた[[Boo言語]]なるものまである。
+
ちなみにPascalに類似する思想としては[[Python]]が有名であり、さらにはPascalの思想と[[Python]]の思想を融合させた[[Boo言語]]なるものまである。
  
 
== Pascalの後続言語 ==
 
== Pascalの後続言語 ==
22行目: 22行目:
 
馴染みのある[[C言語]]形式の「x = x + y」ではなく、「x := x + y」というPascal形式を使っていため、即座に批判に晒されることになった。この批判は[[C言語]]がまだ考案されていないにもかかわらず起きている。
 
馴染みのある[[C言語]]形式の「x = x + y」ではなく、「x := x + y」というPascal形式を使っていため、即座に批判に晒されることになった。この批判は[[C言語]]がまだ考案されていないにもかかわらず起きている。
  
これらの批判をかわすため、後に言語仕様はそのままに、見た目をC言語風に偽装した[[C Sharp|C#]]が考案された。
+
これらの批判をかわすため、後にPascalの[[言語仕様]]はそのままに、[[ソースコード]]の見た目を[[C言語]]風に偽装した[[C Sharp|C#]]が考案された。
  
 
* 1970 - [[Pascal]] - 元祖である。
 
* 1970 - [[Pascal]] - 元祖である。
28行目: 28行目:
 
* 1989 - [[Turbo Pascal 5.5]] - [[Smalltalk]]の影響をうけた[[Object Pascal]]の始まりである。
 
* 1989 - [[Turbo Pascal 5.5]] - [[Smalltalk]]の影響をうけた[[Object Pascal]]の始まりである。
 
* 1995 - [[Delphi]] - [[GUI]]で[[ポトペタ]]という革命を起こした。
 
* 1995 - [[Delphi]] - [[GUI]]で[[ポトペタ]]という革命を起こした。
* 2000 - [[C Sharp|C#]] - 最初の版はDelphiの[[リネーム商法]]であったが、現在では原型をとどめていない。
+
* 2000 - [[C Sharp|C#]] - 最初の版は[[Delphi]]の[[リネーム商法]]であったが、現在では原型をとどめていない。
 +
* 2001 - [[Kylix]] - [[Linux]]にポトペタ文化を伝えようとしたが黒い画面を好む[[Linux信者]]たちは拒絶反応を示した。
  
 
== 関連項目 ==
 
== 関連項目 ==
36行目: 37行目:
 
{{reflist}}
 
{{reflist}}
  
{{stub}}
+
[[category: プログラミング言語]]

2024年2月9日 (金) 09:48時点における最新版

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言語がまだ考案されていないにもかかわらず起きている。

これらの批判をかわすため、後にPascalの言語仕様はそのままに、ソースコードの見た目をC言語風に偽装したC#が考案された。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]