IT 5분 잡학사전 #1

Noah·2023년 1월 18일
0

개발 도서

목록 보기
1/9
post-thumbnail

TIL 날짜 및 읽은 범위

  • 2023.01.14
  • Ep.1(개발자에 대한 오해 5가지!) ~ Ep.5(C, C++, C#은 이름처럼 비슷할까?)

에피소드 1 : 개발자에 대한 오해 5가지

오해 1 : 개발은 누구나 쉽게 배우고, 할 수 있다?

직업은 무엇보다 자신의 흥미, 적성과 잘 맞아야 하지

논리적으로 생각하기를 좋아하고 문제 해결을 즐기는 성향이 필요해

프로그래밍을 하는 과정 자체는 괴롭거든! 하지만 이런 모든 과정을 참고 만들어낸 결과물에서 느끼는 성취감이 엄청나!!

“결과물을 보고 느꼈던 그 성취감을 잊지말자.”

오해 2 : 개발을 잘하려면 암기를 잘해야 한다 ?

프로그래밍은 이해하는 과정이 암기력보다 훨씬 중요하지

문제에 어떻게 접근해서 어떻게 해결할 것인지가 더 중요해

그들은 구글링의 천재야!

기억해! 좋은 개발자는 암기력이 아니라 개발과정을 잘 이해할 수 있어야 한다는 것!

“모든 답은 구글링 속에 있다”

오해 3 : 개발자는 천재 또는 해커?

이 세상에는 보통 실력을 가진 개발자가 훨씬 많아. 이런 사람들이 세상을 만들지. 주어진 역할을 성실하게 수행하는 사람들이 더 멋진 개발자인거지

자신의 수준을 낮게 평가하지 않기를 바랄게

“너무 무서워하지말자. 생각보다 운일수도”

오해 4 : 개발자는 타고난 재능이 필요하다?

나는 끈기와 근면 성실함이 재능을 이길 수 있다고 생각해

코드와 싸울 때 재능만으로는 결코 이길 수 없어

이걸 기억한다면 앞으로 여러분은 분명 다른 사람보다 더 능력 있는 개발자로 성장할 수 있을거야

“즐기자. 하고 싶은 개발을 공부를 할 수 있는 이 시간을 즐기자. 나의 꿈에 더 가까이 다가가기 위해서”

오해 5 : 개발자는 수학을 잘해야 한다 ?

인공지능이나 게임 개발 분야와 같은 곳에서는 수학 능력이 필요해. 여기서 말하고 싶은 건 수학 능력이 필수 조건이 아니라는 거야

그렇다고 해서 수학을 완전히 무시해도 된다는 건 아니야. 어느 순간에 제약이 될 수도 있거든

물리 엔진이나 머신러닝 모델, 자율주행, 주식 트레이닝 자동화 도구 개발 등의 분야에 관심이 있다면 수학을 잘해야 돼

난 수학을 잘 못 해. 하지만 괜찮아. 왜냐고 ? 난 자율 주행에 시스템 같은 것에는 관심이 없거든! 그래도 내가 만들 수 있는 건 무궁무진하고, 또 필요하면 공부하면 되니까 괜찮아!

“수포자인데 …. 희망이 보인다 다행이다”

개발에서는 재능이 아니라 포기하지 않음이 더 중요하다는 것!


에피소드 2 : 어떤 언어부터 공부해야 할까 ?

핵심! 프로그래밍으로 하고 싶은것 !

프로그래밍으로 무엇을 하고 싶은 가 ?

프로그래밍 언어는 목적에 맞게 공부해야 해

가전 제품에 이식되는 프로그램을 만들고 싶다면 ? C 언어

C 언어는 제한된 상황에서 최대 성능을 내기 위해 만들어졌어

‘기계가 소통하는 방식이 매우 가까운 언어’

가전 기기에서는 프로그램을 실행하는 부품의 성능이 컴퓨터 만큼 좋지는 않아

냉장고는 음식을 차갑게 유지하는 것이 더 중요하니까 프로그램 실행하는 부품의 성능보다 냉각 부품의 성능이 더 좋아야 해

시스템 유지, 보수, 안드로이드 앱 개발을 하고 싶다면 ? 자바

주로 정부나 은행, 기업에서 많이 사용하지

자바는 역사가 아주 긴 언어여서 오래된 프로그램을 보수하는 데 더 많이 쓰이거든

안드로이드 개발자가 되고 싶다면 자바를 공부해야 겠지

요즘 이쪽 진영에서는 자바와 코틀린을 모두 사용해

코틀린은 프로그램을 실행하기 전에 자바로 완전히 변환되는 특징이 있어서 자바를 알면 코틀린도 빠르게 배울 수 있어

웹개발, 인공지능 개발 등 범용성이 매우 넓고 초보자에게 강추! 파이썬

파이썬은 머신러닝도 할 수 있고 데이터 과학 분야에서 사용할 수도 있어

웹 스크래핑, 웹 사이트 만들기, 서버 만들기, 유용한 애플리케이션 만들기 등등 엄청 나게 많아

파이썬은 코드가 아름다워

public class Main {
	public static void main(String[] args) {
		System.out.printIn("안녕");
	}
}
print("안녕")

웹 개발을 하고 싶다면 ? 자바스크립트

자바스크립트는 HTML, CSS 까지 합쳐서 생각하는 것이 좋아

웹 프로그래머를 목표로 한다면 무조건 HCJ 를 배워야 해

자바스크립트는 동적인 웹 사이트를 만들 수 있게 해주거든

심지어 서버 쪽의 코드, 백엔드 영역도 개발할 수 있어

“내가 작성한 코드가 화면에 즉각적으로 보이며, 시각적인 부분까지 만들 수 있는 매력에 프론트의 길을 선택했다. 프론트엔드 개발자에게는 뗄 수 없는 자바스크립트”


에피소드 3 : 새 언어를 쉽게 배우는 노하우 ?

개발자가 새 프로그래밍 언어를 배우는 것이 중요한 이유

그 언어의 문법 뿐만 아니라 코드 구조와 철학을 자연스럽게 알게 되었는데, 자바스크립트를 배울 때 알았던 방식보다 더 좋다고 느꼈어

그래서 자바스크립트로 코드를 짤 때 적용해 봤더니 실력이 쑥쑥 성장하는 느낌이 나더라고

새로운 프로그래밍 언어를 공부하면 그 언어에 담긴 철학, 코드 구조, 개념, 패턴 등을 배우는데, 그 내용이 정말 중요하다는 거야

만약 그런 것들을 여러분의 주력 언어를 사용할 때 녹여 낼 수 있다면 아마 개발자로서 능력이 어마어마하게 발전할 거라고 장담해

새 프로그래밍 언어를 쉽고 빠르게 공부하는 방법

방법 1. 공식 문서 살펴보기

프로그래밍 언어의 공식 문서를 살펴 보는 거야

공식 문서레는 그 언어를 만든 사람의 철학부터 시작해서 누가 이 언어를 새야하는지, 올바르게 사용한 예, 관련 커뮤니티 등 모든 자료가 있어

공식 문서부터 확인하는게 좋아. 문법부터 확인하는 것이 아니라!

방법 2. 문법 확인하기

문법을 보고, 입력하고, 이해하고, 기억하려고 노력하는 거지

방법 3. 다른 언어와 비슷한 특징 집중해서 보기

만약 기존에 잘 알던 언어가 있다면 이 방법이 유용할 거야

내가 알고 있는 언어와 새 언어가 얼마나 비슷한지 집중해서 살펴보는 거야

우리 뇌는 이미 아는 것과 연관을 지어 공부하는 것을 좋아하거든

방법 4. 새 언어로 코딩 시도하기

그건 바로 지금 배운 새 언어로 직접 코딩하는 거야!

최대한 빨리 코딩을 시작해야 한다는 거야

원래 알고 있던 언어 지식을 바탕으로 함수나 변수를 선언하는 등 특정 패턴을 새 언어로 작정해 보는 거지

방법 5. 튜토리얼 시작하기

튜토리얼은 그냥 코드를 복사 & 붙여넣기 하는 느낌이 많이 나서 마지막에 하는 편이야

그리고 수동적으로 따라 하지 않고 오픈 소스 프로젝트를 가져와서 해당 튜토리얼을 참고삼아 해체하고 다시 만들기를 해

프로젝트의 한 마당을 제거하거나 다른 부분을 해체하면서 무슨 일이 일어나는지 살펴보고 다시 조립하는거지

방법 6. 나만의 프로젝트 만들기

챗봇을 만든 경험이 전혀 없는데 새 언어로 챗복을 만들겠다고 거창한 목표를 세우는 것인데, 이건 아주 잘못 된 방법이야

너무 어려운 과제를 스스로에게 안겨 주면 언어를 익히는 과정이 재미없을 거야

이미 만들어 봤던 주제의 프로젝트를 새 언어로 만들어 봐

“수동적인 개발 자세를 바꿔야 한다”


에피소드 4 : 언어 이름은 왜 그렇게 지었을까 ?

자바는 왜 자바일까 ?

이 언어를 개발하던 사람들이 좋아하던 커피 종류가 자바라서 그랬다고 하네

자바 커피는 인도네시아의 섬 자바에서 생성된 원두로 만들어서 이 이름이 붙었어

그래서 자바 언어에는 커피잔 로고가 있는 거야!

코틀린은 왜 코틀린일까 ?

코틀린도 자바처럼 러시아의 섬인 코틀린을 따서 프로그래밍 언어 이름으로 사용 했대

자바스크립트는 왜 자바스크립트일까 ?

그때 자바가 엄청나게 유행했거든. 그래서 자바의 이름을 활용해서 라이브스크립트를 널리 알리려는 의도로 자바스크립트로 이름을 바꾼거야

자바스크립트는 자바랑 아무 상관이 없어

C 언어는 왜 C 언어일까 ?

C 언어는 당시 가장 유명했던 프로그래밍 언어인 B 언어의 이름 따라 지었어

실제로 C 언어는 이름만 따라 한 것이 아니라 여러 기능 면에서도 B 언어의 영향을 많이 받았어

그 뒤로 C ++ 언어가 나타났어

C ++ 가 C 에서 조금 더 발전한 언어라는 의미로 이렇게 이름을 지어 준 거야

C ++ 언어 다음에 C# 언어가 등장해

#은 음악에서 반올림을 뜻하는 샤프(Sharp)의 기호 잖아?

근데 #은 + 기호 4개를 붙인 모양이기도 해

루비는 왜 루비일까 ?

루비는 일본 개발자가 만든 프로그래밍 언어인데, 특히 펄(Perl) 언어의 영향을 많이 받았어

실제 Perl의 발음이 진주를 뜻하는 pearl 과 비슷해서 루비라고 지은거야

파이썬은 왜 파이썬 일까 ?

그냥 코미디 쇼의 이름을 따서 지었다고 해

쇼의 이름은 <몬티 파이썬> 인데, 뒤에 있는 파이썬을 가져다 쓴 거지

그런데 파이썬은 비단뱀이라는 의미도 있어서 비단뱀 2마리를 로고에 사용했어

고는 왜 고일까?

고(Go)는 단순히 구글이 만든 언어라서 이런 이름이 붙었다고 해

Google 에서 앞의 두 글자만 따면 Go 이거든

‘고’를 검색하면 귀여운 동물 마스코트가 보이는데 그 이름이 코퍼(GOPHER)야

코퍼는 원래 두더지를 뜻하거든? 그래서 고 로고에 두더지 이미지를 사용한 거야

러스트는 왜 러스트일까 ?

러스트는 ‘녹슨다’, ‘식물의 녹병’을 뜻하지? 러스트는 녹병이라는 곰팡이 이름을 따서 만들었따고 해

러스트의 창시자가 그런 녀석들을 좋아하는 마니아였다고 하더라고


에피소드 5 : C, C++, C# 은 이름처럼 비슷할까 ?

컴퓨터의 자원을 효율적으로 쓰는 C언어

C 언어가 처음 등장했을 때 컴퓨터는 어땠을까? 지금처럼 빠르지 않았지

C 언어를 개발할 때에는 자원을 효율적으로 쓰면서도 최대 성능을 내는 프로그램을 만들 수 있어야 한다는 것을 최우선으로 했어

C 언어는 메모리 자원을 정밀하게 조절할 수 있어야 했지

쉽게 말해 C 언어는 자원이 열악한 상황에서 사용하기 좋은 언어야

화성 탐사선에 쓰인 C 언어 ?

화성 탐사선은 프로그램 실행에 필요한 메모리나 프로세서의 성능보다 엔진, 이동 부품, 우주 비행사 지낼 공간 등 여러 장치가 더 중요했거든

그래서 될 수 있는 한 메모리를 적게 사용하면서도 최대 효율을 내는 프로그램을 만들기 위해 C 언어를 사용한거야

C와 비슷한 C++ 언어

C++ 언어를 만들 때 C 언어를 포함했기 때문이야

지금은 두 언어가 공존하고 있지. 두 언어의 가장 큰 차이점은 ‘객체 지향인지 아닌지’ 야

객체 지향은 절차 지향, 함수형 프로그래밍과 함께 프로그래밍 언어를 바라보는 관점 또는 사용하는 방식이야

마이크로소프트에서 만든 C# 언어

C# 은 자바와 비슷한 언어야

C# 언어는 개발자가 개발한 게 아니고 기업(마이크로소프트)에서 필요해 만들었다는 거야

C, C++, C# 언어 정리하기

C 언어는 세 언어 가운데 가장 오래되었고, 메모리 자원을 효율적으로 사용하면서도 실행 속도가 빠르다

C++ 은 C를 포함하는 언어로, 절차 지향이면서도 객체 지향이다. 실행 속도는 C 언어와 비슷하다

C# 은 마이크로소프트에서 만든 언어로, 다양한 분야에서 사용할 수 있다. 실행 속도는 세 언어 가운데 가장 느리다

profile
프론트엔드가 꿈인 코린이

0개의 댓글