보통 프로그래밍 공부 시작할때 c언어를 먼저 배우면 좋다고 합니다.
왜 그럴까요??
80%이상 프로그래밍 언어는 c를 바탕을 작성되었습니다.
이는 다른 프로그래밍언어를 배우고자 할때 더 빠르고, 쉽게 작성할 수 있습니다.

zapiro.tistory.com/entry/C%EC%96%B8%EC%96%B4-%ED%95%A8%EC%88%98function%EC%9D%98-%EA%B8%B0%EC%B4%88
(아래부분에 함수에 대해서 설명하는데 이해도 될듯합니다)
C언어 함수(function)의 기초 (함수의 구성, 정의, 호출)
함수(function)란? - 함수란 영어 function에서 온 말인데 이 뜻은 "기능"을 뜻한다. 즉, 기능을 구현하는 부분을 따로 떼어 구현하는 것으로, 구조화 프로그램의 중요한 개념이라 하겠다. 함수의 기본
zapiro.tistory.com
보통 인터넷을 찾아보면 이렇게만 작성되고 끝입니다. 그렇기에 저는 구체적으로 어떠한 점에서 다른지 말해보려합니다.
우선 저는 객체지향언어와 절차지향언어로 나눠서
설명드리자고합니다.
1. 변수타입(python은 타입 지정을 하지않지만 기반을 두고 있다고 봅니다.),
2. 모듈이해??(객체지향에서 어떻비슷한지?)
3. 그외
1~3로 나눠 설명드리고자합니다.
---------------------------------------여기서는 요약해서 말씀드리고자 합니다.-----------------------------------------------
가 : 언어 공통 // 가 : 예시 // 가: c언어 // 가: java // 가: 꿀팁 // 가: 핵심
《1》 기본 테이터 타입, 활용(응용)데이터 타입이 존재하며 [기본 데이터 타입]에
[숫자: 정수형(int), 실수형(기본적으로 double), 그외]
[활용(응용)데이터 타입]에는
[리스트(배열): 포인터배열(c언어) = 객체배열 (예시:java), 일반적 배열]로 구분됩니다.
[ 제네릭도 도입이되었습니다: c, java등.. (예시: java => 컬렉션&JList<E>&JComboBox<E>, C => void포인터) ]

프로그래밍 언어 여러개 공부할 때 이해돕는 tip
*구체적으로 c언어에서는 구조체가 존재하며 이는 객체지향언어에서의 클래스와 제일 가깝습니다.
(java에서 클래스내 필드라 보면됩니다.)
*구조체 포인터배열은 c언어에서 객체배열에 제일 가깝다볼수있습니다.
《핵심》
기본 테이터 타입, 활용(응용)데이터 타입으로 구성되어있다고 생각하기!!! 기본데이터타입에서 데이터 관리가 필요하다해서 만들어 진게 활용(응용)데이터 타입이다!! 대표적인 예시를 그냥 기억해두고(받아들이고) 시작하면 훨씬 쉽게 공부하실 수 있습니다.
-----------------------------------------------------------------------------------------------------------------------------------
《2》객체지향언어인지 절차지향언어인지에 따라 모듈내 형태구현이 다릅니다.
일반적으로 프로그래머정의 함수(메소드&함수), 라이브러리함수(라이브러리 클래스, 헤더파일내 함수)로 구성!!
예시로 c언어의 함수는 사용자 정의함수와 라이브러리 (즉 헤더파일) 함수들이 있습니다.
java에도 사용자가 클래스를만들어 패키지화
할 수있으며 java기본패키지에서 제공하는
패키지 속 클래스를 가져다 쓸 수 있습니다.
+지원 라이브러리에 따라 해당 언어가 쓰이는 상황 차이가 나게됩니다.

slidesplayer.org/slide/15298356/
제목 CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터. - ppt down
01 프로그래밍 언어의 개요 02 프로그래밍 언어의 실행 과정 03 절차 지향 언어의 프로그래밍 04 객체 지향 언어의 프로그래밍 05 교육용 프로그래밍 언어
slidesplayer.org
자료를 여기서 가져왔으며 프로그래밍 언어 전반적으로 이해하는데도 도움을 줄 수 있을 듯합니다.
《핵심》
프로그래머정의 함수(메소드&함수), 라이브러리함수(라이브러리 클래스, 헤더파일내 함수)로 구성되어있다고 생각하기!! 절차지향언어와 객체지향언어에 따라 차이를 보이는데 객체지향언어는 클래스 여러개 들어있는 패키지로 구성이 되며, 절차지향언어는 함수로 구성되어 있는 파일로 제공됩니다.
-----------------------------------------------------------------------------------------------------------------------------------
《3》그외
• 파일처리
• 그래픽, 문자열
※tip1
파일 입출력은 예외처리를 해주는것이 다른 프로그래밍언어에서 적용하기 편합니다.
ex) c java python 을 예시로들면 모두예외처리를 할수있으며 java같은경우는 예외처리가 필수입니다. 그리고 파일처리는 특히나 예외처리가 중요시되기에 tip1을 쓰는 습관을 들이는것이 매우좋습니다.
※tip2
c언어는 거의 기본이되지만 그래픽부분에서는 해당되지않으며, 문자열처리하기 까다롭습니다.
이러한 부분에서는 c언어를 권장하지않습니다.
다른언어로 프로그래밍 할 것!
-----------------------------------------------------------------------------------------------------------------------------------
이를 바탕으로 저는 프로그래밍을
계속 공부할려면 c언어,
아직 확실하지않거나 가볍게 공부하려면 python
을 추천드립니다.(뒤에올라올 글을 보시면 쉬울듯합니다. )
이글을 읽어주셔서 감사합니다~^^
추가적으로 같이 보면 좋은 자료
m.blog.naver.com/cosmos7256/221847512590
프로그래밍 언어 활용 총정리
00. Java 프로그래밍 기초- Java: 1995년 자바의 아버지라 불리는 제임스 고슬링 과 그의 동료들이 함께 ...
blog.naver.com