'프로그래밍언어론' 전공과목을 배우는 이유는 뭘까요?

개성만점의 이미지

안녕하세요.

올초부터 C언어를 독학하고(그당시엔 비전공자) 2학기때 방통대 컴퓨터과학과에 편입한 27살 늦깎이 대학생입니다.

제가 '프로그래밍언어론' 전공과목을 수강하고있는데요, 제가 아직 공부를 얕게 해서 그런지 이 과목이 어떻게

쓰여지는지 실감이 잘 안나서 그런데.. 이 과목을 배우는 이유를 조금더 실용적인 측면에서 설명해주실 수 있으

신가요? 물론 전공교과목 첫장에 이 과목을 배워야하는 이유로

1.프로그래밍언어를 더 잘이해하기위해
2.프로그래밍 언어를 선택할 수 있는 능력을 증대
3.새로운 프로그래밍언어를 배우기 쉽게 해준다.
4.새로운 프로그래밍언어를 설계하기 쉽게 해준다.
5.현재 사용하고있는 언어를 쉽게 이해하게 해준다.

등등의 이유가 있긴 있습니다만 이제 학부를 시작하는 저에겐 넓은의미로만 다가오고 실제적으로 크게 와닿지

는 않습니다..

아직 개강한지 얼마 안되어 제가 덜 배워서 그런걸 수도 있는데 '파스트리,구문도표..' 이런 내용들이 실제 코

딩을 할때 어떻게 적용되는지 잘 모르겠습니다. 앞으로 공부를 꾸준히 하면서 스스로 알아가게 되겠지만 조금

더 와닿을만한 설명을 해주실 수 있으신가요?

.의 이미지

이름 그대로입니다. "프로그래밍 언어" 가 어떤 구조인지를 배웁니다.
당연히 어셈블리 레벨과는 큰 관련은 없고 그 이상의 고급 언어 레벨을 얘기합니다.

그 언어가 어떻게 컴파일이 되는지에 초점을 맞춘 부분이 많으므로
언어를 사용해서 그냥 일반 프로그램을 만드는 입장에서는 직접적인 도움은 별로 안됩니다.
간접적으로는 당연히 도움 된다고 억지로 말을 할 수야 있겠지만
사실 그렇게 치면 컴퓨터 관련 모든 과목 다 간접적으로는 도움이 되므로 별 의미 없습니다.

한마디로 말해서 지금 가령 gcc 같은 컴파일러를 사용해서 c 프로그래밍을 하신다면
아예 그 gcc 같은 컴파일러를 만드는 데에 도움이 되는 과목입니다.
물론 이것도 약간 애매한게, 컴파일러는 사실 보통 학교에서 컴파일러론 이라는 과목을
따로 둡니다. 물론 언어론을 선수강해야 하는 과목이고 둘 다 관련이 있긴 하나
엄밀히 말하면 언어론은 언어 그 자체에 대한 학문이므로 컴파일러보다 더 포괄적인 의미입니다.

(앞에 프로그래밍 이라는 말이 붙어서 그렇지 언어론은 알다시피 촘스키의 이론도
일부 나오듯이 컴파일러같은 것은 응용할 수 있는 부분 중 하나에 불과합니다.)

쓸데없이 길었는데, 결론만 말하면 그냥 보통의 일반적인 프로그래머에게는 별로
중요하지 않다고 봐도 무방한 과목입니다. 국내의 모든 현업 프로그래머한테
언어론 내용 물어봐서 아직 제대로 기억하고 아는 사람이 0.1% 도 안될 것이 확실합니다.

세벌의 이미지

수학은 왜 배우나요? 라는 질문과 비슷할 듯 합니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.