石川県の金沢高校卒業。1971年、電電北陸から中日ドラゴンズにドラフト6位で入団したが、なかなか芽が出ず、1974年に一軍初登板を果たす。初勝利を挙げるのはプロ6年目の1976年になってからだった。かつて中日に所属し2017年に現役を引退した堂上剛裕は長男。現在中日に所属する堂上直倫は次男である。なお息子の兄弟が同じチームに所属することについては、ポジションで競合する可能性が高く（入団当時剛裕は内野手だった）、同時に試合に出場できる事が少なくなることなどから、「親心としては本当は別々のチームでプレイして欲しかった」とも語っている。オーソドックスな右オーバースローで現役時代は主に中継ぎ、時には先発として活躍。1978年には54試合に登板しエース級の相次ぐ故障もあって途中からは先発ローテーションを死守、9勝したが18敗を喫している。それでもこの年はオールスターに出場し同僚の木俣達彦と同第3戦でもバッテリー組んだ。1982年には主に中継ぎで1点台の防御率を記録しリーグ優勝に大きく貢献した。同年の西武との日本シリーズでも中継ぎとして4試合に登板する。投手でありながら、打撃の能力も高く、投手として完投した上に4打数4安打といった活躍をした事もあり、何度か代打にも起用され結果も残している。また、プロ通算で4本の本塁打を記録している。二人の息子はその打撃センスを受け継いだといえる。現役時代のコーチ、監督である近藤貞雄によれば、チーム内の“怒られ役”でもあったということである。1985年に現役を引退。球団職員となり、2003年5月に中日球団寮である「昇竜館」の館長を前任の村田広光の死去で後を引き継いだ。中日スポーツでは週1回若手の活躍をレポートする「堂上照　昇竜館日記」を連載していた。また2007年から館長を退団する2008年までスターキャット・ケーブルネットワーク制作の2軍戦中継の試合解説を不定期で担当していた。2008年シーズン終了をもって豊田誠佑に寮長職を譲って退団。
ラスターグラフィックスエディタ（ペイントソフト）はよくベクターグラフィックスエディタ（ドローソフト）と対比され、両者の能力は互いに補い合うものである。ベクターグラフィックスエディタはグラフィックデザイン、レイアウト、タイポグラフィ、ロゴタイプ、鋭角的な芸術的イラストレーション（カートゥーン、クリップアート、複雑な幾何学模様など）、テクニカルイラストレーション、ダイアグラム、フローチャートなどにより適している。ラスターグラフィックスエディタはリタッチ、写真加工、写真のようにリアルなイラストレーション、コラージュ、そしてペンタブレットを用いた手描きのイラストレーションにより適している。今日の多くのイラストレーターはPainterやPhotoshopを用いてありとあらゆるイラストレーションをこなす。PhotoshopやPaint Shop Pro、GIMPなどのラスターグラフィックスエディタの最近のバージョンはベクタ系の機能（編集可能なパスのような）もサポートしており、またCorelDRAWやAdobe Illustratorのようなベクターグラフィックスエディタも徐々にラスタ系のソフトウェアにしかなかった機能（ぼかしなど）やアプローチを取り入れるようになってきている。
ドローツールを備えたソフトウェアは必ずしもドローソフトとは限らない。例えばワープロソフトであるPagesはドロー機能を持っており、簡易ドローソフトとしても利用できる。DTPソフトの代表格であるQuarkXPressはバージョン4以降、簡単なページ修飾を目的としたドローツールを追加した。また、一度限りのチラシやパンフレット程度であれば、専門のソフトウェアを使用するよりドローソフトで作成した方が簡単な場合もある。一方、ドローソフトはダイアグラムの編集にも応用されることが多いが、Microsoft VisioやOmniGraffle、Diaなどの強力なダイアグラム機能を搭載したソフトに比べると自動描画機能が劣る。また、Microsoft Wordなどのワープロソフトはダイアグラムの作成に供するためにドローツールを持たせることが多い。Microsoft PowerPointやMicrosoft ExcelのドローツールはWordに比較し安定しているためドローソフトの代替として多用されている。CADソフトはドローソフトと互いに影響を与えながら、WYSIWYGによるドローツールを強化してきている。3DCGソフトウェアもまた2Dのドローソフトの延長線上にある。ドローソフト自体の普及率は決して高いとはいえないが、ドローツールの機能は数多くのコンピュータユーザーに浸透していると言える。
プログラムにおける文（ぶん、statement）とは、コンピュータプログラミング言語によるプログラムを構成するもののひとつで、一般に手続きを表すものである。文の種類（意味）は、だいたいの類似はあるが、詳細はそれぞれのプログラミング言語によって異なる。文の構文もそれぞれのプログラミング言語によって異なる。初期のFORTRANやCOBOLのように1行に1つの文を書く言語、C言語や多くのスクリプト言語のように文終端記号(セミコロンなど)で終端する言語、Pascalのように文と文との間の区切り記号で区切る言語などがある（終端記号と区切り記号の違いは、並びの最後のあとに記号が入るか入らないかである（厳密にはここで論じているのは文ではなく複文の構文である。またC言語についての説明は間違っており、例えばif文それ自体などにはセミコロンは現れない（セミコロンのみの「空文」、「do-while文」、そして式の後にセミコロンを付けた「式文」、などがC言語において「セミコロンが最後に付いている文」である。宣言などの後にもセミコロンが付く（が、C言語では宣言は文とは違う「宣言というもの」である）））。1行1文の言語にあっては、行末または行頭に、言語で指定された記号を付けることで、行が継続しているものとして（継続行）、複数行にわたって文を記述することができるものもある。類似する言葉として式がある。式は、必ずしも手続きを表さず、文とは異なり値を持つ（多くの手続き型言語では式にも手続きがともない、副作用という。特にC言語は代入が式である。また逆に言語によっては文も値を持つものもある）。大まかに言えば、一つ以上の式や関数呼び出しで作られる、手続き構造の単位が文である、と考えてほぼ差し支えない。if文のように分岐構造を表すもの、代入文のように変数の更新を表すものなどが代表例である。構造化プログラミング以降の言語では、複数の文からブロック（「複文」とも言う）を構成できるのが一般的である。if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語のような、<if文> = IF <条件式> <文> [ELSE <文>]<文> = <if文>|<while文>|<代入文>|...etc...|<複文><複文> = { <文> ; <文> ; <文> ; ... }という規則のもので（というような文法だと多くのプログラマが信じているようだが、実際には全く違っている（前述。あるいは規格票を参照））、dangling else問題（通常は困るものではない。en:Dangling elseも参照）の存在が知られている。もうひとつの流儀は、古くはPerl、近年ではGoがこのようになっているが、<if文> = IF <条件式> <複文> [ELSE <複文>]のように、任意の文を直接書くことができないようにしたものである。dangling else対策のひとつでもある。