C 언어의 쓰임새에 대하여

익명 사용자의 이미지

안녕하세요

저는 php 경력 한 2년쯤.되는 허접입니다.

저는 대구에 사는 우물안에 개구리라 할까요...

다름이 아니오라

씨언어에 대하여..몇가지 굼금한점이 있어서..

질문합니다.

주위에서..씨언어를 배워야 된다고 말씀을 하시는데...

그러기에 아..배워야 되구나..생각을 하고 있습니다.

막상..책을 들면..잼이 없어..포기를 많이 했죠..ㅋㅋㅋ

요즘은 php asp jsp 같은 웹프로그램이..대구에서는 취업이

그나마 되는 편이거든요...

씨를 배우면..어떻게..활용이 되는지...

너무..포괄적이고...광범위해서....흐흐흐...

일단..현시점에..쓰임새가 있어야..하는데..

씨언어를 겅부하시어..취업 하시는 분..혹...창업 하시는분...

아니면..진정..언어를 사랑하시는분...

많은 충고 부탁 드립니다..

감사합니다.

익명 사용자의 이미지

안녕하세요...

일단 C의 쓰임새부텀 얘기를 하자면...
일단은 대부분의 OS가 C언어도 되어 있습니다.
Assembly나 C++ 사용하는 부분도 있겠지만...
메인 작업은 C로 되어 있습니다.
그리고 대부분의 상용 프로그램은 C기반입니다.

그리고 현재 나와있는 대부분의 언어들이 C기반입니다.
C에서 문법을 떠오거나 비스무리하게 구성이 되어 있습니다.
C++에서의 CLASS부분도 structure 에서 메소드만 넣어 다시 구성한겁니다.

그리고 C언어는 Assembly을 제외한 현존하는 언어 중에서 가장
performance가 뛰어난 언어입니다.

이러한 이유로해서 C를 공부하게 되면은 다른 프로그램의 구성이 한 눈에
알 수가 있습니다(물론 이 단계까지 올라가는데는 시간이 좀 걸리겠지만).
그리고 자신이 원하는데로 수정도 가능합니다.
그리고 다른 언어를 배움에 있어서 C를 알고 있으면 문법적인 부분은 대부
분 1주안에 끝납니다.
그리고 아주 최적(여기서의 최적은 속도 측면만 얘기하죠. 아니면은 또 누
가 딴지를 거니깐...-_-a)의 프로그램을 만들고자 하는데 이 C만한 놈이
없습니다.

이 정도 이유만 봐도 C언어를 해야하는 이유가 명확하지 않은지?
모든 언어의 근원이 되는 C언어를 모르고서 프로그램을 하면은 Coder로 전
락하기 쉽지 않을까하는 생각이...

그리고 처음 C언어를 접하시는 분이라면 아주 쉬운 책으로 시작을 하세
요...
한 1주일 정도 기간을 잡고 그 안에 끝낼 수 있는...
어떤 일을 하던 잘하던 어떻던...
시작을 했으면 끝을 맺는게 아주 중요합니다.
그러니 쉬운책을 그냥 시간 날때마다... 심심할때 짬짬이...
시간을 내서 끝까지 읽어 보세요...
괜히 처음부터 어려운 책으로 시작을 하고서 중간에 끝을 낸다면은...
그 사람은 영원히 선무당으로 남을 뿐입니다.
이런 사람들이 취직을 하면서 C를 해봤다고 하면서 경력을 얘기 하는데...
쫌... 저도 면접을 보면서 사람을 보면은 확실히 자신의 언어를 가지고 있
는 사람을 좋아하지 이런 부류는 좀... 솔직한 말로 뽑은 담날 바로
Fired 됩니다.
보통의 초보자들이 포인터부분에서 많이들 포기를 하는데...
처음들어서 다 이해하면은 그 사람은 천재입니다.
이건 책 여러권 보고...
몇 년이 지나야 감이 옵니다... 일반적으로...
그전에는 포인터 프로그램이 아니라 단순 코딩으로 눈 속임을...
그러니 모르면 모르는데로 그냥 읽고 넘어가세요...
이게 중요하죠...
그런 후 끝까지 다 읽었으면 좀 더 업된 책을 선택해서 보세요...
그러면은 앞에서 쉬운책으로 했던 내용이 머리에 그려질겁니다.
그 당시에는 몰랐던 내용들도 쉽게 이해가는 경우가 허다합니다.

말이 좀 길어 졌는데...
C언어 아주 중요하니... 열심히 하시길...^^

"첫 술에 배부르랴"

_ 信

추신_시중에 좋은 책이 나와 있으니 책소개는 하지않겠습니다.

익명 사용자의 이미지


무작정 배워야 된다는 소리만 듣고 배운다는건.....

아마도 그리 좋은결과가 나오지 않을듯합니다.

님이 php 나 asp 로 구현했던것을 씨로 구현하려면 10배의 시간과 노력은

투자해야 할겁니다. 또한 그리 화려하지도 않을겁니다.

저도 10년전에 처음 접했을때 속으로 바로 이거다 하는 함성을 질럿죠..

하지만 분명한건.. 어설프게 하실려면.. 시작도 하지 않은게 좋을겁니다.

홈페이지 만들려고 씨언어를 택한다는건 어리석죠..

최소한 차세대 php 자체를 만들겠다 하는 정도의 목표가 생기시면..

아니면 한국형 DB + SQL 을 만들 목표 라던가..ㅡㅡ;;;

그때 씨언어를 선택해 보십시요.. 원하시는걸 선택하게 될겁니다.

그렇지 않다면.. 프로그래머계의 하이에나처럼 짜집기로 전락할수 있습니

다.

익명 사용자의 이미지

C란 놈이 범용성(어느 OS에나 다 있고), 최적화, 저수준레벨부터 고수준
레벨까지 커버할수 있는 훌륭한 언어인건 사실입니다만. 저수준레벨의 프
로그램을 할일이 없는 경우엔(혹은 하드웨어에 직접 관련된 일), 요즈음
은 굳이 필요하진 않는거 같군요.

위 답변쓰신 분하곤 제 의견이 좀 다릅니다만, 만약 OOP 계열 프로그램이
나 웹 프로그램을 짜는 업에 종사하실 거면, 차라리 C를 안하심이 나을수
도 있읍니다. C에서 가지고 있는 선입견때문에 OOP로 접근하기가 오히려
어렵게 된다고 생각되네요. (개인적으로 "C/C++ 프로그래밍 능숙" - 이
런 이력서를 보게 되면 C도 잘하고 C++도 잘한다는 생각은 들지 않더군
요.)

Job Market만으로 따져도, 하드웨어를 직접 제어하지 않고,OS쪽으로 근접
한 일을 하지 않을 분(웹 관련 일을 하신다니)이라면, C는 좋은 선택을
아니라는 생각이 듭니다. 차라리 그쪽 경력을 살려서 JAVA같은 걸 하심
이... 위 답변처럼 사실 왠만한 언어는 문법은 거의 비슷합니다. C가 모
든 언어의 기본인지 아닌지는 모르겠지만, Basic만 하셨어도 JAVA 문법
을 배우는건 문제가 아닐겁니다.(문법만!) 그리고 요즘 취업구조가 어떤
지는 모르겠지만, C 프로그래머 마켓은 그렇게 크지 않을거 같은데요?

하지만, 코드 한줄한줄을 섬세히 짠다던가 하는 재미론 C가 역시! 인듯.
시간있으시면 배우시는 데에는 추천 한표입니다. 다만 숙성도(걸리는 시
간)는 좀 늦을겁니다.

익명 사용자의 이미지

음...

제가 적은 글은 처음 프로그램을 배움에 있어서 C를 처음부터 배우면은 다
른 언어로의 접근이 용이하기 때문에 적은글입니다.
물론 C로 배운 사람이 나중에 C++나 JAVA프로그래밍을 할 경우에도 마치 C
를 하듯이 프로그래밍을 하는 사람이 아주 허다합니다.
그러나 이것은 잘못된 프로그램 습관때문이 아닌가 하는 생각이 드네요...
C를 처음에 배웠어도...
OOP 쪽으로 가기를 원한다면...
UML과 Design쪽 서적을 함께 보는 것이 당연합니다.
그리고 OOP 프로그램을 처음 접하시는 분들도 바로 이 언어로 시작을 하실
게 아니라 OO 과련 서적을 먼저 읽으신 후에야 OOP가 가능할것 같네요...

그리고 언제나 하는 말이지만...

처음에 배움이 아니고 필드에 뛰는 분이라면...
아무리 강조해도 지나치지 않는 말...
작업에 맞는 언어를 선택하는게 프로그램 하는 능력에 맞게 아주 중요한
역할이라 할수가 있겠습니다...

_ 信

추신_요즘에 저도 OOP 쪽에 부쩍 관심이 많아 이에 관련한 책들을 사놓긴
했는데...
볼 시간이 잘 나진 않네요...^^

댓글 달기

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