묻고 답하고
안녕하세요. 질문게시판에 올리기에는 키보드 관련이 아니라 여기에 올립니다. 제가 컴퓨터 프로그래밍 언어를 기초부터 배워보고 싶은데 어떤 책으로 시작해야 할까요? 그리고 언어에도 종류가 많던데 권해주실 언어와 이유를 좀 알고 싶습니다. 기본언어라고 하는 c부터 배워야겠지만 경향을 알고 싶다고 해야할까요?
제가 학부전공을 인사대전공이라 컴퓨터 프로그래밍을 전혀 접해본적이 없다는 걸 염두에 두시고 설명해주시면 감사하겠습니다.^^
제가 학부전공을 인사대전공이라 컴퓨터 프로그래밍을 전혀 접해본적이 없다는 걸 염두에 두시고 설명해주시면 감사하겠습니다.^^
2009.05.08 15:05:32 (*.134.115.179)
전 웹쪽 하는데... 자바가 수요가 더 많은 편인거 같아요.. 근데 asp닷넷 하고 있다는...ㅋㅋ 근데 자바도 배우고있어요...
학원에서 국비과정으로 배웠는데 C,c++ 도 했거든요..
지금 생각해보면... 프로그래밍 방법은 c랑 c++에서 거의다배울수 있는거같고 나머지는 하려고 하는쪽 특징같은거예요..
개인적으로 erp쪽을 추천 -ㅅ-;;
2009.05.08 15:08:07 (*.130.156.120)
자바나 erp의 경우는 그럼... 다른 프로그래밍 언어의 기초없이 시작할 수 있는건가요. 아니면 그건 다 기본이고, 그 후 방향을 말씀하시는건가요? @.@?
2009.05.08 15:08:33 (*.145.136.128)
제가 쓸 줄 아는 프로그래밍 언어는: Fortran 77/90, ratfor, C/C++, Pascal, sh/ksh/bash, awk/python,
PostScript 그 외에 몇 개 더 있는데 생각 안나네요.:p 근데 정작 열심히 쓰는건 제가 하는 업무과 관련된
Fortran 90뿐인듯 합니다.
PostScript 그 외에 몇 개 더 있는데 생각 안나네요.:p 근데 정작 열심히 쓰는건 제가 하는 업무과 관련된
Fortran 90뿐인듯 합니다.
언어마다 제작자의 의도들이 있는데요. C언어의 경우엔 일반적으로 쓰이기 보다는 하드웨어를 다루는
OS나 디바이스 프로그램을 위해 만들었습니다. 해서 컴퓨터를 처음 배우는 분이 C언어로 하겠다는것은
말이 안된다고 생각하는데 한국에서는 워낙 말도 안되는 일이 많아서 인지...
처음 배우는 분께 권하고 싶은 언어는 python입니다. 언어자체의 간결성(초보들은 어려운거 시러하니깐)과
명확성때문에 교육용으로 적합하다고 생각합니다. 물론 실제 업무와 관련해서 프로그래밍이 필요하다면
그때 필요한 언어를 배우면 된다고 생각합니다. 하나를 알고 나면 비슷하기 때문에 배우기 쉽습니다
2009.05.08 15:11:35 (*.188.129.30)
음...저는 컴퓨터공학 전공인데요.
프로그래밍을 시작하려면 역시 C로 시작해야하지 않을까 생각합니다.
요즘에야 객체지향 프로그래밍이 일반적이고 C로 작업하는 분야는 적지만
프로그래밍의 가장 중요하고 기본적인 '포인터'를 알기 위해선 C를 공부해야 한다고 생각합니다.
JAVA나 다른 많은 언어들이 포인터를 사용하지 못합니다.
그럼에도 포인터에 대한 이해가 있어야 좀 더 높은 경지의 프로그래밍이 가능하다고 생각합니다.(저는 아직 한~~~참 낮은 수준이지만..)
프로그래머가 직접적으로 다루지 못할 뿐 어느 언어든지 내부적으로는 포인터로 돌아갑니다. 그리고 그건 가장 기본이지요.
그런고로 일단 절차지향 언어로서 C를 공부하시고 객체지향 언어로 JAVA를 공부하시는게 좋을 것 같습니다.
다만, C 만으로는 포인터에 대한 이해가 잘 안될수도 있습니다.
저는 C를 공부했다가 JAVA를 공부하면서 진정한 포인터에 대한 이해가 생겼죠. ^^;;;
포인터 그거 알고나면 별거 아닙니다. ㅋ
책을 하나 추천한다면 C와 C++은 MaxPlusOne출판사의 '혼자 연구하는 C/C++' 을 권합니다.
www.winapi.co.kr사이트의 운영자님이 저자이십니다.
책의 모든 내용이 사이트에 올려져 있는데 그래도 책으로 보시는것을 권합니다.
JAVA는 워낙 좋은 책들이 많아서...ㅋ
프로그래밍을 시작하려면 역시 C로 시작해야하지 않을까 생각합니다.
요즘에야 객체지향 프로그래밍이 일반적이고 C로 작업하는 분야는 적지만
프로그래밍의 가장 중요하고 기본적인 '포인터'를 알기 위해선 C를 공부해야 한다고 생각합니다.
JAVA나 다른 많은 언어들이 포인터를 사용하지 못합니다.
그럼에도 포인터에 대한 이해가 있어야 좀 더 높은 경지의 프로그래밍이 가능하다고 생각합니다.(저는 아직 한~~~참 낮은 수준이지만..)
프로그래머가 직접적으로 다루지 못할 뿐 어느 언어든지 내부적으로는 포인터로 돌아갑니다. 그리고 그건 가장 기본이지요.
그런고로 일단 절차지향 언어로서 C를 공부하시고 객체지향 언어로 JAVA를 공부하시는게 좋을 것 같습니다.
다만, C 만으로는 포인터에 대한 이해가 잘 안될수도 있습니다.
저는 C를 공부했다가 JAVA를 공부하면서 진정한 포인터에 대한 이해가 생겼죠. ^^;;;
포인터 그거 알고나면 별거 아닙니다. ㅋ
책을 하나 추천한다면 C와 C++은 MaxPlusOne출판사의 '혼자 연구하는 C/C++' 을 권합니다.
www.winapi.co.kr사이트의 운영자님이 저자이십니다.
책의 모든 내용이 사이트에 올려져 있는데 그래도 책으로 보시는것을 권합니다.
JAVA는 워낙 좋은 책들이 많아서...ㅋ
2009.05.08 15:28:41 (*.238.135.240)
개인적인 생각으로는 C를 먼저 배우는것보다는 C++이나 자바, C#등의 객체지향 언어를 먼저 배우는게 낫다고 생각합니다.
C를 먼저 배우고 C++을 하게 되면.. 자칫하면 C언어 스타일대로 C++을 쓰게 되는 경우가 있거든요.
쓰고 있는 툴은 Visual C++인데 코딩해논건 그냥 C언어인 사람을 참 많이 봤습니다. (사실 저도 그랬습니다.)
악기를 다룰 때 초보시절 혼자 제멋대로 연습하면서 잘못 붙인 습관을 나중에 고치려면 엄청 힘든것처럼.. 프로그래밍 언어도 비슷하다고 봐요. 지금 시대에선 객체지향 언어부터 시작하는게 맞다고 봅니다. (웹쪽은 잘 모르겠고 애플리케이션 개발쪽에선 말입니다.)
C언어 자체가 시스템 돌아가는 방식을 이해하는 데에는 큰 도움이 되지만, 시작부터 그것으로 하는 건 그닥이라고 생각합니다.
십여년전에 C를 먼저 배우고 어셈을 배우는게 자연스러웠듯이.. 지금은 C++이나 기타 객체지향(자바 등)을 먼저 배우고 나서 (필요에 따라)C를 배우는게 낫다고 봐요. 필요없으면 C는 안배워도 되는 시대가 되었습니다. 포인터는 C++에서도 충분히 배울 수 있습니다.
아예 취미로 하실 거라면 C++도 빼고 걍 Java나 C#쪽이 더 나을 수도 있습니다. 포인터라는놈을 한번 접하면 완전히 이해하기 전에는 안배우니만 못한것이라..(수많은 버그의 온상이 되지요..) 자칫하면 프로그래밍에 대한 흥미 자체를 잃을 가능성이 있거든요. C나 C++로 시작한다고 포인터를 쉽게 뗄 수 있는 것도 아니고요. 경험이 쌓여야 실제 사용 예가 떠오르면서 자연스럽게 이해가 되는 것이니 포인터만 따로 먼저 배워봤자 의미가 없을겁니다.
2009.05.08 15:55:59 (*.231.146.61)
프로그래밍으로 밥먹고 살고 있습니다만..
직업으로 프로그래밍을 하실꺼라면... 강력히 반대합니다...... 쿨럭;;;;
선문답이라 죄송합니다 (__)
직업으로 프로그래밍을 하실꺼라면... 강력히 반대합니다...... 쿨럭;;;;
선문답이라 죄송합니다 (__)
2009.05.08 15:56:21 (*.124.124.22)
워 많은 개발자 분들이 계시는군요...^ ^
방갑습니다.
저의 생각은 객체지향언어도 좋고 절차지향언어도 좋고 다 좋지만 일단 어느방향의 개발을 하실지 정하시고 난후 다시 질문하시는 것이 좋다고 생각이 됩니다.
본이이 나가야 할 방향을 제시하셔야지 저희가 정해드릴수는 없으니까요...^ ^
퓨리넬// 퓨리넬님 자바에도 포인터가 사용이 됩니다. 다만 프로그래머가 직접 조절하는 C와는 다르게 JVM이라는 놈이 사용을 해주거든요.
2009.05.08 15:58:23 (*.32.12.105)
취미생활 목적이라면
c# , ruby, java, VB 등으로 시작해보시고
진지하게 파볼 생각이라면
c, c++ 로 시작해서 stl, boost 같은 라이브러리를 섭렵하면서 어셈블리에도 손을 대시면서 하드웨어 공부도 병행하시면 될듯 합니다.
c# , ruby, java, VB 등으로 시작해보시고
진지하게 파볼 생각이라면
c, c++ 로 시작해서 stl, boost 같은 라이브러리를 섭렵하면서 어셈블리에도 손을 대시면서 하드웨어 공부도 병행하시면 될듯 합니다.
2009.05.08 16:01:32 (*.32.12.105)
위 플피님 말씀과 같은 글을 여러 커뮤니티에서 접할 수 있습니다.
많은 사람들이 한국서 다른 먹고살 능력이 있는데 관심,흥미의 이유로
개발자로 먹고살려하는 것은 정말 강력 반대라고 말하고 있습니다.
많은 사람들이 한국서 다른 먹고살 능력이 있는데 관심,흥미의 이유로
개발자로 먹고살려하는 것은 정말 강력 반대라고 말하고 있습니다.
2009.05.08 17:06:28 (*.130.96.67)
돈벌라믄 '아밥' 하든가 '코볼','포트란'하든가...
일반 어플 계열이면 C++ or C#하고나서 C하고 JAVA넘어 가세요.. 딱히 C의 필요성을 못느끼면 안해도 되겠음.
바로 JAVA가도 뭐 좋겠네요..
C -> C++는 절대 비추!! 공부해본 사람만이 아는 진실.. 응? ㅡㅡa
권고 사항이라면 프로그래밍 언어에 목메이지 마라..
대신 알고리즘과 패턴, 구조론, 방법론에 더 신경쓰고 고민하고 공부해라입니다..
첫줄에 언급한 녀석들 정도만 아니면 언어는 거의 거기서 거기일 경우가 많습니다. 물론 내부적인 개념의 차이가 좀 있기는 하지만 영어공부 하드시 syntex에 목메이지 말라는겁니다.
어.. 제가 지금 30대 중반인데요.. 이제 슬슬 접을때가 왔다고 느낄때가 많아요.(같이 일하는 어린애들 하는거보면...)
정 하고 싶으시면 정말 열심히 하시구요. 영어공부 꼭 하시고!!!(어느정도 남 도움없이 레퍼런스 보실 정도는 되어야 신기술 도입도 그렇고 뒤쳐지지 않습니다.) 창의적인 아이디어로 좋은 코드 뽑으시길 바랍니다.
제일 추천 하는건 '그런거 왜 할라구래.. 꿈이 아니었다면 다른거 알아봐..' 입니다.
2009.05.08 17:37:14 (*.238.135.240)
솔직히 꿈이었어도 다른거 알아보라는 말씀 드리고 싶어요 취미로 하시려는게 아니라면 ㅎㅎ
일반 사무직도 아닌데 이렇게나 리플이 많이 달린다는것 자체만 봐도 알 수 있는 일이죠.
워낙 종사자가 많다는거. 진입장벽도 높지않고. (건설 토목 금속 전자 이런글에 이렇게 리플 달릴리가 없겠죠?)
2009.05.08 19:09:43 (*.130.156.120)
조언들 감사합니다. ^^ 직업적으로 할 역량과 여력은 없고, 여기 특히 프로그래머분들이 많이 계신 것 같아서 프로그래밍이 어떤 것인지 알고 싶었을 뿐입니다. 다들 많은 노력을 쏟아부으셨기에 조언들도 다양하고 많으리라고 생각합니다. 여러 답변들 감사드립니다 :)
2009.05.08 21:02:14 (*.181.253.38)
다행입니다. 직업은 다른 것으로 하시고 프로그램은 취미로 하십시요.
제가 써본바로는 Client/Server 프로그램이라면 VB가 좋을 듯 합니다.
배워두시면 MS Office에서 매크로 기능을 활용하는대 아주 유용합니다. 킬킬킬...
웹 이라면 PHP 배워보십시요.
걍 편하고 좋습니다.
DB는 MySQL 이 좋고 여력이 된다면 Oracle을 이용해 보시기 바랍니다.
그리고 절대 직업으로는 안됩니다. -.ㅡ++
제가 써본바로는 Client/Server 프로그램이라면 VB가 좋을 듯 합니다.
배워두시면 MS Office에서 매크로 기능을 활용하는대 아주 유용합니다. 킬킬킬...
웹 이라면 PHP 배워보십시요.
걍 편하고 좋습니다.
DB는 MySQL 이 좋고 여력이 된다면 Oracle을 이용해 보시기 바랍니다.
그리고 절대 직업으로는 안됩니다. -.ㅡ++
2009.05.09 01:06:38 (*.161.134.252)
후훗......
먼저, 직업으로 하실려면 저도 반대입니다. -_-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
먼저, 직업으로 하실려면 저도 반대입니다. -_-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2009.05.09 11:47:14 (*.130.96.67)
그런데 말이지요.. 저도 그렇고 다른 분들도 이렇게 극구만류하는게 '경쟁자 하나없애기'가 아니었을까? 하고 혼자 웃었습니다 ^^
2009.05.15 00:34:18 (*.88.160.15)
역시 키보드에 많은 관심을 가지시는 분들 중엔 프로그래머분들이 많군요.
대략 짐작은 했습니다만^^
위에서도 많은 분들께서 좋은 말씀들을 해주셨는데요..
현업에 계신 분들에게는 웹, 임베디드, 개발 등의 분야에 따라 언어를 선택해야한다고 말씀하시지만
공부를 시작하는 학생이나 구직자의 입장에서는 사실상 어려운 문제입니다.
지금 현업에 계시는 분들께서도 일을 시작하신 후에 주력 언어가 된게 아닌가 합니다.
처음 시작하는 언어는 조금은 쉬운게 도움이 되지 않을까 싶습니다.
처음하는 언어인데 재미를 붙여야죠^^
너무 어려운 프로그램부터하면 겁부터납니다.
그리고, 사실 언어들이 어느정도 구문은 비슷합니다.
시중에서 구하기 쉬운 프로그램은 아마도 Visual Studio 제품군, Java 또는 ASP, PHP, JSP 정도일 것 같습니다.
처음 시작하시기에는 C, Visual Basic이 무난하다고 생각됩니다.
많은 분들께서 Visual Basic을 무시하시는데 공부하기에는 상당히 좋은 프로그램입니다.
(간단한 프로그램 만들기에는 그만한게 없죠)
그런 후에 어느정도 감이 잡힌 후에 소위 객체지향이라는 C++, Java 등을 공부하시면 좋을 것 같습니다.
그러다가 Computer Graphic, Flash에 관심이 있으시면
HTML, PHP, JSP 등의 웹 프로그래밍쪽으로 공부해보시는 것도 좋구요.
델파이. 코볼 등의 프로그램은 현업에 가시면 사용하실 수도 있습니다만,
프로그래밍 분야는 평생 공부라는 말이 있습니다.
지금은 FLEX가 많은 인기를 누리고 있지만 또 언젠가는 대체되는 프로그램이 생기겠지요.
대부분 유사해서 쉽게 적응을 하기는 하지만 약간의 노력은 필요하지요.
추가로 한가지 더 말씀을 드리자면..
만약, 취업을 목표로 하시는 것이라면 (일반 SI회사라는 가정 하에)
C 와 Java를 많이 공부해두시는게 좋습니다.
가장 수요가 많은 분야이기도 하구요.
웹쪽 프로그래밍은 개인적으로 비추천.
대략 짐작은 했습니다만^^
위에서도 많은 분들께서 좋은 말씀들을 해주셨는데요..
현업에 계신 분들에게는 웹, 임베디드, 개발 등의 분야에 따라 언어를 선택해야한다고 말씀하시지만
공부를 시작하는 학생이나 구직자의 입장에서는 사실상 어려운 문제입니다.
지금 현업에 계시는 분들께서도 일을 시작하신 후에 주력 언어가 된게 아닌가 합니다.
처음 시작하는 언어는 조금은 쉬운게 도움이 되지 않을까 싶습니다.
처음하는 언어인데 재미를 붙여야죠^^
너무 어려운 프로그램부터하면 겁부터납니다.
그리고, 사실 언어들이 어느정도 구문은 비슷합니다.
시중에서 구하기 쉬운 프로그램은 아마도 Visual Studio 제품군, Java 또는 ASP, PHP, JSP 정도일 것 같습니다.
처음 시작하시기에는 C, Visual Basic이 무난하다고 생각됩니다.
많은 분들께서 Visual Basic을 무시하시는데 공부하기에는 상당히 좋은 프로그램입니다.
(간단한 프로그램 만들기에는 그만한게 없죠)
그런 후에 어느정도 감이 잡힌 후에 소위 객체지향이라는 C++, Java 등을 공부하시면 좋을 것 같습니다.
그러다가 Computer Graphic, Flash에 관심이 있으시면
HTML, PHP, JSP 등의 웹 프로그래밍쪽으로 공부해보시는 것도 좋구요.
델파이. 코볼 등의 프로그램은 현업에 가시면 사용하실 수도 있습니다만,
프로그래밍 분야는 평생 공부라는 말이 있습니다.
지금은 FLEX가 많은 인기를 누리고 있지만 또 언젠가는 대체되는 프로그램이 생기겠지요.
대부분 유사해서 쉽게 적응을 하기는 하지만 약간의 노력은 필요하지요.
추가로 한가지 더 말씀을 드리자면..
만약, 취업을 목표로 하시는 것이라면 (일반 SI회사라는 가정 하에)
C 와 Java를 많이 공부해두시는게 좋습니다.
가장 수요가 많은 분야이기도 하구요.
웹쪽 프로그래밍은 개인적으로 비추천.
작성된지 6개월이 지난 글에는 새 코멘트를 달 수 없습니다.
장비 쪽이면 C 게임쪽이면 C++ .... 그럴리 없겟지만 회사업무용 프로그램 개발 등등이 목표면 델파이/파워빌더 등등이
죶습니다.
객체지향에 관심이 가신다면 당연 자바나 루비 등을 추천해드리구요.^^;