ラベル ada の投稿を表示しています。 すべての投稿を表示
ラベル ada の投稿を表示しています。 すべての投稿を表示

2012年12月6日木曜日

Ada勉強メモ 3

ADA-言語とプログラミング方法論』p.3「Ada 入門」から読みます。

1.1 背景
  • Adaは米国国防総省(DoD)が、1976年頃から開発を始めた。
  • FORTRANやCOBOLのように特定の用途向けではなく、Adaは汎用言語。
  • Adaは世界最初のプログラマの名前。

1.2 プログラミング言語Ada
  • Adaはコンパイル言語である。
  • オブジェクトプログラム(機械語プログラム)は、通常「プログラムライブラリ」に格納される。
    • プログラムライブラリって、Cで言うところのライブラリと同じかな?
  • プログラムライブラリには、完結したプログラム、副プログラム、パッケージが格納される。
  • Adaの識別子は文字から始まり、文字、アンダースコア、数字の羅列。ただしアンダースコアの連続はダメ
今日はここまで。
Adaの歴史と基本的な約束事が分かりました。
次回はいよいよAdaのプログラムを書いていきます。

2012年11月30日金曜日

Ada勉強メモ 2

Ada 教科書・ウェブページ紹介に載せた教科書

ADA-言語とプログラミング方法論

を読んでいきます。まずは目次から。

本書は4部から構成されています。目次をさらっと眺めます。

第I部 小規模プログラミング
  1. Ada入門
  2. Integerデータ型
  3. Booleanデータ型
  4. 基本的な制御構造
  5. 組織的プログラミング
  6. Characterデータ型
  7. 離散型
  8. さらに制御構造について
  9. Floatデータ型
  10. 配列と文字列
  11. レコード
  12. 副プログラム
第II部 大規模プログラミング
  1. パッケージ
  2. 例外
  3. 入出力
  4. プログラムの設計と構築
第III部 高度なデータ型
  1. アクセス型と動的データ構造
  2. 判別子を持つ型
  3. 数値型
  4. データ型一般について
第IV部 高度なプログラム構造
  1. 演算子宣言と多重定義
  2. 汎用体プログラム単位
  3. タスク
  4. ポータビリティとマシン依存プログラミング
  5. ケーススタディ:大規模情報システムの設計

僕はC言語畑の人ですが、聞いたことがない言葉が幾つかありますね。
  • 組織的プログラミング
  • 離散型
  • レコード
  • 副プログラム
  • アクセス型
  • 判別子
  • 汎用体プログラム単位
ざっと読んでみました。

「組織的プログラミング」の章は、大きなプログラムを作るときに必要になるテスト技法、段階的詳細化について解説していました。
テストにはホワイトボックステスト、ブラックボックステストがあります。
段階的詳細化というのは、解きたい問題を段階的に分割していく手法のことのようです。

「離散型」は、整数型や列挙型など、全順序が定義された離散的な値を扱う型の一般的な名前のようです。離散型ではないものの中には、実数型や構造型などが含まれます。(構造型ってなんだろう)

「レコード」は、C言語でいう構造体のことです。レコードは様々な型の複数の要素を持ちます。

今日の勉強はここまでです。ではまた。

2012年11月18日日曜日

Ada 教科書・ウェブページ紹介

Adaを勉強するにあたり、参考となる教科書やウェブページを紹介します。

ADA-言語とプログラミング方法論
僕が教科書として使おうと思っている書籍です。
分厚くて、かなりたくさんの情報が載っている雰囲気です。
最初のAda規格に対応する古い本ですが、最新規格についての教科書が入手できませんでしたので、この本で勉強していくことにしました。

Ada Programming
WikibooksにあるAdaプログラミングの教科書です。
英語ですが、Ada 2005(現状の最新規格)までの範囲で解説がなされています。

Ada@WCIMH
Adaの勉強メモ的なウェブページです。
AdaからWIN32APIを呼び出すのは面白そうです。

2012年11月5日月曜日

Ada勉強メモ 1

ひょんなことからプログラミング言語 Ada を学ぶことになったので、
これからちょこちょこ勉強メモを書いていこうかと思います。

Adaってすげーんだぜ!

Adaっていうと
  • 古いんじゃないの?
  • もう使ってる人いないんじゃないの?
  • 何に使えるのさ
という意見があるかもしれません。僕もそんなイメージでした(というかAdaをほとんど知らなかった)。

最近ちょっとAdaを勉強したところによれば
  • 古くないよ!2005年にも新規格がISOに承認されたよ!
  • 航空分野なんかで使われているよ!
  • 航空機、航空管制などに使われているみたい。業界にはまったく詳しくないので本当のことは分かりません。
という感じ。いいね!

開発環境

勉強するには開発環境を入れましょう。
Adaはフリーのコンパイラがありますので、無料で勉強できます。
Mac OS Xでしたら、HomebrewにGNATがありますのでそれを入れてください。

$ brew install gnat

こうすると、gnatmakeやgpsなどのプログラムがインストールされます。
  • gnatmake: Adaプログラムのコンパイル過程を制御するプログラムっぽい
  • gps: Ada用の統合開発環境
僕の環境だと、インストール自体はできたのですが /usr/local/bin にリンクが生成されないっぽいのでこんな起動スクリプトを書きました。

#!/bin/sh
export PATH=/usr/local/Cellar/gnat/2012/bin:$PATH
gps

$ gps

で開発環境が起動します(X11アプリ)。

今回はここまで〜