[질문] ADA 언어는 어떤가요?

익명 사용자의 이미지

그간은 오로지 C였습니다.. 무엇이든지 C로.. 가끔씩 C++ ^^;;
ADA는 어떤가요? 70년대 미국방성은 프로젝트 관련해서 약 3000가지의 변
종 언어들을 썼었다네요.. 당연히 문제가 많았겠죠.. ^^;;
그래서, ADA 개발에 착수를 하는데.... concurrent개념이 나중에 쓰레드
로 확장되고, ADA의 패키지 개념이 컴포넌트로 발전되고, 프로그래머가 직
접 약간의 예외처리 코드까지 프로그래밍 할 수 있게 설계되었다는데...
상당히 선구자적인 역할을 한 언어 같네요.. 현재 ADA로 할 수 있는 일은
어느 정도 인가요? 라이브러리 거의 없나요? 라이브러리가 별로 없다면
좀 치명타 인데...
언어 자체론 상당히 우수하다고 하는데.. 아시는 분.... 함 배워볼까 고민
중.. ^^;;

익명 사용자의 이미지

음 일단 현실(?;실존주의적?)적으로는 사장된 언어입니다...

ADA는 객체지향의 기본개념(?;이것역시...)으로나 쓰일뿐 현재는 글쎄
요...

C++혹은 자바의 계통도를 보시면 아시겠지만...

상당한 선조(?)격입니다...

개념은 좋았으나...

저도 단지 공부만 해본 입장에서 하는 말이지만...

별로 권하고(아니 절대 권하고) 싶지 않은 언어입니다...

기본개념에 충실할뿐 부대여건(?)혹은 상황에 적합하지 못하죠...

C++/JAVA/C#이 조금은(?;어느정도?) 발전된 언어가 아닐까 생각합니다.

본업(本業)에 임하실거라면 접은시죠...

익명 사용자의 이미지

말 덧붙입니다. 사장된 언어라는건 잘못된 평가입니다.

인터넷과 모바일의 활설화로 자바, C++, C#이 많은 프로그래머들에게서
각광을 받는것은 사실입니다만, 현실 세계에서 다른 언어들도 사용되고
있다는것을 알아주셨으면 합니다.

ada는 그의 탄생이유와 더불어, 현재 각종 비행기의 제어에 쓰이고
있습니다. 제가 확실히 기종은 기억나지 않지만, 보잉사의 최신 기종에
ada95가 제어기능을 맡고 있습니다. 재미있게도 정확한 계산이나 한시의
오차도 허용치 않는 분야에서 ada95는 그의 성능을 발휘하고 있습니다.

개인적인 견해 차이입니다만, 실제로 눈에 보이고 그런쪽이라면 ada95는
많은 충족을 시켜주지 못할 것입니다만, 언어를 배운다는 측면에서는
C와 같은 널리 알려진 절차지향 프로그램 언어보다는 ada가 훨씬 나을지도
모르겠습니다.

아다님의 ada가 객체지향의 기본개념으로 쓰인다는 의견에는 이의를 표하
는 바입니다. ada95는 ada83에 객체지향의 의미를 더한것입니다. 자바나
C++와 같은 언어에 그다지 영향을 많이 끼친것은 아닌걸로 압니다.

또한 ada의 장점은 프로그래머가 프로그램을 짜면서 생길 수 있는 실수들
을 최대한 문법적으로 줄였는걸로 유명합니다. 최대한 오류를 줄이기 위해
서죠.. ^^

즐거운 언어공부되시길 빕니다.

아다 wrote..
음 일단 현실(?;실존주의적?)적으로는 사장된 언어입니다...

ADA는 객체지향의 기본개념(?;이것역시...)으로나 쓰일뿐 현재는 글쎄
요...

C++혹은 자바의 계통도를 보시면 아시겠지만...

상당한 선조(?)격입니다...

개념은 좋았으나...

저도 단지 공부만 해본 입장에서 하는 말이지만...

별로 권하고(아니 절대 권하고) 싶지 않은 언어입니다...

기본개념에 충실할뿐 부대여건(?)혹은 상황에 적합하지 못하죠...

C++/JAVA/C#이 조금은(?;어느정도?) 발전된 언어가 아닐까 생각합니다.

본업(本業)에 임하실거라면 접은시죠...

익명 사용자의 이미지

흠.... ADA 초창기 설계의 목적이 임베디드 시스템을 위한 것이였습니
다.. 국방성 프로젝트인 만큼 각종 무기에 들어가는 시스템을 위한 언어였
는데... 보잉사의 비행기 제어에 쓰인다니.. 아직도 그러한 목적에서는 쓰
이나 보군요... ^^;;
재밌을 것 같기도 하군요... ^^;;

익명 사용자의 이미지

Ada는 사장된 언어가 아닙니다.
사장된 언어라고 쉽게 말하시는 분들의 대부분은 어디서 흘러가는,
말을듣고 그렇게 이야기들 하죠.
물론 주류언어(C, C++, Java)에는 미치지 못하지만 제가 알기로는 사용자
가 조금씩 들어가는 추세라고 뉴스그룹에서 읽은 적이 있읍니다
빠른속도(C++ 수준)에다 깔끔한 코드를 원하신다면
충분히 이용해볼만한 가치가 있읍니다.
인라인어셈블러를 이용할수도 있고 C라이브러리를 Ada에서 호출할수도 있
읍니다. 뿐만아니라 jgnat를 이용하시면 자바의 바이트코드도 생성이
가능합니다.
그리고 Ada로 짜여진 AdaOS에 관련된 몇몇프로젝트가 진행중인걸로
알고 있읍니다.

ftp//cs.nyu.edu/pub/gnat/3.14p/ 에서 gnat컴파일러를 다운로드 받으실
수 있읍니다. 윈도우 사용자(win95, win98, win2000, winNT)라면 winnt디
렉토리에서 gnat-3.14p-nt.exe를
다운로드 받으셔서 설치할수 있읍니다.
GUI에 관심이 있으시다면 gtkada, claw등을 이용하시면 됩니다.

아래는 간단한 예입니다.

__
-- File Hello.adb
__

with Ada.Text_IO;
use Ada.Text_IO;

procedure Hello
is
begin
Put("Hello, Ada!");
New_Line;
end Hello;

gnat를 설치하셨다면 간단히 gnatmake Hello
아니면 수동으로 컴파일과 링커를 실행시켜도 됩니다.
관심이 있으시다면 아래의 튜토리얼을 강력히 추천합니다.
http//www.swcp.com/~dodrill/controlled/a95doc/ada95tutor.html
짧은 소스코드를 중심으로 모든것을 설명하기 때문에,
영어에 자신이 없으신 분들이라도 C, C++에 약간의 경험이 있으시다면
쉽게 공부하실수 있읍니다.
www.adapower.com 이나 www.adaic.com등등의 사이트에서 유용한 소스코
드 , Ada에 관련된 정보를 얻으실수 있읍니다.

익명 사용자의 이미지

Ada가 사용되는 곳을 보려면 http//www.adaic.com/atwork/index.html,
http//www.seas.gwu.edu/~mfeldman/ada-project-summary.html
각종 비행제어, 무기체계, 지하철제어시스템에 Ada가 사용되는곳의
정보를 얻어실수 있읍니다.
여담이지만 얼마전에 유럽우주센터의 아리안로켓의 발사실패이유가
조그만한 Ada코드의 실수때문에 로켓노즐의 제어가 제대로 이루어지지못해
서 일어났다고 하던데, 역시 만능의 언어는 없는가 보군요...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.