개발자 99% 커뮤니티에서 수다 떨어요!
📌오늘 TIL 3줄 요약
오류를 만났을 때 외부 요인만 탓하지 말고 발전하기 위해 오류 발생의 이유를 이해하자.
인터프리트 언어는 실시간으로 번역해주고 컴파일 언어는 통째로 번역해서 전달해준다.
자바 바이트 코드로 컴파일하고 각각의 기계어로는 자바 가상 머신이 번역해주는 자바 언어의 특징 덕분에 코틀린은 자바와 100% 호환이 가능한 것이다.
📆TIL (Today I Learned) 날짜
2023.10.08
📖오늘 읽은 범위
ep06. 왜 나만 오류가 자주 생길까?
ep07. 파이썬은 왜 이렇게 인기가 많을까?
ep08. 파이썬이 C 언어보다 느린 이유는?
ep09. 자바스크립트는 웹 개발에만 쓰는 언어일까?
ep10. 코틀린은 정말로 자바와 100% 호환될까?
📑책에서 기억하고 싶은 내용을 써보세요.
(ep06)
오류를 만났을 때 대응하는 방법 3가지
: 1) 문제가 생겼을 때 나 자신을 문제에서 빼지 말 것/외부 요인만 탓하면 발전할 수 없다.
(코드가 작동하지 않는 이유는 "코드를 입력한 나 자신 때문이다"라고 생각하기)
2) 오류부터 고치려고 무작정 달려들지 말 것/고치기 전에 오류가 왜 생겼는지 이해하기
3) 오류 메시지를 읽을 것/오류 메시지에는 대부분 오류에 대한 정보가 친절하게 적혀 있다.
(ep07)
파이썬의 인기가 많아지는 이유
: 1) 파이썬은 영어와 매우 비슷해서 친숙하다.
2) 파이썬은 활용 범위가 매우 넓다.
3) 파이썬의 커뮤니티가 어마어마하게 크다.
4) 파이썬이 업무 자동화에 완전 찰떡 언어이다.(scripting: 지루한 반복 작업을 자동화)
(ep08)
프로그래밍 언어를 번역하는 2가지 방법
: 컴퓨터 언어는 0과 1 즉, 이진법으로만 이루어지기 때문에
프로그래밍 언어를 번역해 주는 과정이 필요하다.
1) 인터프리트 언어(interpreted language)/직역: "해석하다."/대표 언어: Python, JS
⇒ 인터프리터가 중간에서 동시 통역사 역할을 해준다.
(프로그래밍 언어를 0, 1로 실시간으로 번역해 준다.)
+ 인터프리트 언어는 오류를 제때 알기 힘들다.
2) 컴파일 언어(compiled language)/직역: "편집하다."/대표 언어: C
⇒ 원고를 읽고 통째로 번역한 다음 전달해 주는 느낌이다.
인터프리트 언어와 컴파일 언어의 차이는 실시간 여부에 달려 있다.
(ep09)
자바스크립트의 여러가지 활용법
: 현재 세상에서 가장 유명한 프로그래밍 언어는 자바스크립트이다.
(어마무시하게 많은 웹 사이트가 대부분 자바스크립트를 사용하기 때문)
1) 하이브리드 앱, 크로스 플랫폼 앱을 만들 수 있다.
하이브리드 앱, 크로스 플랫폼 앱: 한 번의 개발로 아이폰, 안드로이드 폰에서 사용할 수 있다.
여러 환경에서 사용할 수 있다는 특징은 같지만 만드는 방식이 다르다.(Ionic/React Native)
2) 윈도우, 맥, 리눅스를 위한 데스크톱 소프트웨어를 만들 수 있다.
(자바스크립트 + 일렉트론) 두 기술을 합쳐서 만든 도구들: VSCode, Slack, Skype, Atom
일렉트론: HTML, CSS, JS를 가져다 컴파일해서 윈도우, 맥, 리눅스에 설치할 수 있는
소프트웨어를 만들어 주는 도구이다.
3) 게임을 만들 수 있다.
phaser.js, impact.js라는 도구를 사용 (물리 엔진이 이미 포함되어 있다.)
4) 3D, 가상 현실, 증강 현실 개발도 할 수 있다.
3D는 three.js라는 도구 사용/증강 현실은 A-Frame과 AR.js 사용
5) 머신러닝도 할 수 있다.
tensorflow.js라는 도구를 사용
(ep10)
코틀린이 자바와 100% 호환될 수 있는 이유
: 자바로 개발한 시스템에 코틀린을 사용해보고 싶다면 바로 가능하다.(100% 호환되기 때문)
100% 호환 ⇒ 자바 코드 ↔ 코틀린 코드 서로 간에 코드를 부를 수 있다.
가능한 이유 ⇒ 자바 가상 머신 때문.
(자바 코드 –컴파일→ 자바 바이트 코드 –자바 가상 머신→ (윈도우, 리눅스, 맥) 기계어로 번역)
(이런 특징 덕분에 코틀린을 자바 바이트 코드로 컴파일하기만 하면 되기 때문에 가능한 것이다.)
코틀린을 굳이 써야 하는 이유는 크게 2가지 장점 때문이다.
: 1) 코틀린은 null safety 언어이다. (null에서 안전하다.)
2) 코틀린은 코루틴을 지원하는 언어이다.
(코루틴coroutine이라는 문법은 많은 일을 한 번에 실행할 수 있게 해준다.)
(+IT 쿠키 상식)
세상에서 가장 난해한 프로그래밍 언어
: 1) 브레인퍽(Brainfuck)/사람의 두뇌 한계를 시험할 정도로 난이도가 높다.
(달랑 8개의 문자 (>, <, +, -, ., ,, [, ])로만 프로그래밍 함)
2) 아널드시(ArnoldC)/영화배우 아널드 슈워제네거가 영화에서 했던 대사로 이루어져 있다.
3) 셰익스피어(Shakespeare)/셰익스피어 희극처럼 프로그램을 작성하도록 되어 있다.
(사용할 수 있는 변수 이름: 로미오, 줄리엣, 오필리아, 햄릿)
4) 롤코드(LOLCODE)/인터넷 용어로 구성되어 있다.
(PLZ: please, AWSUM: awesome, THX: thanks, 0 NOES: oh no를 의미한다.)
5) 이모지그래밍(emoji-gramming)/이모지로 구성되어 있다.
💡오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
요즘 가장 관심있는 언어가 자바스크립트인데 자바스크립트가 많은 분야에서 활용 가능하다는 것은 알고 있었지만 이렇게 좀 더 확실히 알고나니까 확 실감이 됐다. 덕분에 관심이 더 커졌다.
코틀린에 대해 아무것도 모르고 있었는데 장점들을 알고 나니까 언어에 대한 궁금증이 생겼다.
오늘 에피소드들은 조금 어려운 개념도 있었지만 그렇기 때문에 더 값진 독서 시간이 된 거 같다. 세상에서 가장 난해한 프로그래밍 언어 파트는 책을 읽는 중에 소소한 재미를 줘서 좋았다. 나는 브레인퍽과 롤코드를 해보고 싶다.
❓궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
😊오늘 읽은 다른사람의 TIL
sss003366님의 TIL (https://nomadcoders.co/community/thread/7281)