오류에 대응하는 방법 세 가지
문제가 생겼을 때 나 자신을 문제에서 빼지 마라.
코드가 작동하지 않은 이유는 나 때문이다라고 생각하며 시야를 넓히자.
오류부터 고치려고 무작정 달려들지 말 것
오류 발생 원인부터 파악하고 해결방법을 찾자.
오류 메세지를 읽자 ❗❗❗
이 부분 진짜 공감한다. 코딩 입문일 때 오류 메시지를 제대로 읽지 않고, 삽질했던 시간이 많다.
오류 메시지만 잘 읽어도 오류의 절반은 금방 해결할 수 있는 것 같다.
프로그래밍 초보자가 하기 쉬운 실수
1. 공부만 한다. 공부만!
2. 준비만 한다. 준비만!
그냥 배운 걸 활용해 쉬운 것부터 무작정 만들어보자!
이유1: 파이썬은 영어와 매우 닮았기에 친숙하다.
이유2: 활용 법위가 넓다.
이유3: 어마어마하게 큰 커뮤니티가 존재한다.
이유4: 업무 자동화(scripting)에 찰떡이다.
인터프리트 언어는 중간에 동시 통역사 역할을 해주는 인터프리터가 0과 1을 사용해서 프로그래밍 언어를 실시간으로 번역해준다. 예시로는 JS와 python이 있다.
컴파일 언어는 번역가가 양쪽의 말을 전부 듣고 한꺼번에 번역해준다. 예시로 C언어가 있다.
파이썬은 컴퓨터에게 실시간으로 0과 1로 이뤄진 문장을 통역해주기 때문에, 작업해야 하는 횟수가 코드 양에 비례하여 증가한다.
C언어는 완성된 코드를 한꺼번에 묶어서 통번역하므로 작업 횟수가 한정적이고, 속도가 더 빠르다.
50억개 이상의 사이트가 자바스크립트를 사용한다.
자바스크립트로 할 수 있는 것들은 다음과 같다.
하이브리드 앱, 크로스 플랫폼 앱
한 번에 개발로 아이폰, 안든로이드폰 모두 사용할 수 있는 앱을 만들 수 있다.
하이브리드 앱은 아이오닉(Ionic)을, 크로스 플랫폼 앱은 리액트 네이티브(React Native)라는 도구를 해야 한다.
윈도우, 맥, 리눅스를 위한 데스크톱 소프트웨어
일렉트론(Electron)은 HTML, CSS, JS를 가져다 컴파일해서 윈도우, 맥, 리눅스에 설치할 수 있는 소프트웨어를 만들어 주는 도구다.
VScode, slack, skype, gitHub, Atom도 전부 일렉트론(electron)으로 만든 것이다.
3.게임
phaser.js, impact.js라는 도구를 사용하여 게임도 만들 수 있다.
자바로 개발한 시승템에 코틀린 코드로 유지 보수가 가능하는 것
호환이란 자바 코드에서 코틀린 코드를 부를 수도 있고, 반대로 코틀린 코드에서 자바 코드를 부를 수도 있어야 한다는 것이다.
코드 전체를 받아서 한 번에 기계어로 해석하는 것
코드를 실시간으로 기계어로 해석하는 것
컴필레이션 기반 코드가 인터프리테이션 기반 코드보다 빠르다.
하지만 컴필레이션은 플랫폼에 의존하기에, 코드가 실행될때 플랫폼이 달라지면 개발자가 컴파일 과정을 한 번씩 실행해줘야한다.
반대로 인터프리테이션은 인터프리터가 실시간 번역을 아라서 해주므로 새로 컴파일할 필요가 없다.
자바는 개발자가 코드를 작성하면 컴파일을 하여 자바 바이트 코드를 만들고, 이 코드는 각각의 운영체제에서 실행될 때 자바 가상 머신(JVM)이 해석해서 각각의 기계어로 번역해준다.
코틀린을 자바 바이트 코드로 컴파일하기만 하면 되기에, 코틀린은 자바와 100% 호환이 가능하다.
코틀린은 null에서 안전한(null safety) 언어다.
자바에서는 널을 허용하기에 프로그램 실행 도중 널때문에 오류가 발생할 수 있지만,
코틀린은 코드 실행 전에 널이 있으면 미리 개발자에게 알려준다.
코틀린은 코루틴을 지원한다.
코루틴(coroutine) 문법은 많은 일을 한 번에 실행할 수 있게 한다.
파이썬, 자바스크립트가 내가 생각했던 것보다 더 많은 분야에 쓰일 수 있다는 게 너무 신기했다.
자바스크립트로 게임도 만들 수 있다니? 전부터 재밌는 게임을 만들어보고 싶었는데, 이번에 버킷리스트에 추가해야겠다. 웹개발 때문에 코딩 공부를 시작했지만, 잘만하면 웹개발 말고도 내가 하고 싶은 것들에 다양하게 접목이 가능해서 너무 배우길 잘했다는 생각이 든다.
shakespeare 언어를 개발한 개발자는 진짜 대단한 것 같다. 코딩을 문학과 접목시키다니 천재인가? 본인의 흥미와 관심사를 프로그래밍 언어로 표현하는 것 너무 멋있다.
나도 프로그래밍에 더 재미를 붙이고 몰입하는 시간을 늘려야 겠다는 생각이 든다.
💙오늘도 포기하지 않고 책을 읽고 TIL을 기록하는 나와 다른 챌린저들에게 많은 응원을 보내본다!