[ IT 5분 잡학사전 2주 챌린지 3일차 ]

 

 

*오류를 고치기 전에 오류가 왜 생겼는지를 알아야 할것.

초보가 절대 안 하는 것이 하나 있는데 - 오류메세지 읽기.

 

실수 1. 공부만 하고 실제로 무언가 만들어 보지 않는것.
실수 2. 항상 프로그래밍을 할 준비를 더 해야 한다고 생각함.

뭐든지 간에 만들기 시작하면 일단 완성된 결과물이 눈앞에 나타난다.
자신의 성과를 측정하고 싶다면 일단 뭐든지 좋으니 만들어보자(:

 

*세상에서 가장 난해한 프로그래밍 언어 (ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 여기서 위로받음)

 

Brainfuck
-> 사용하는 사람의 두뇌 한계를 시험할 정도로 난도가 높다.
-> 너무 미니멀리즘하기에.

ArnoldC
Shakespeare
LOLCODE
emoji-gramming

 

 

 

 

*2가지 방법으로 번역되는 프로그래밍 언어.

 

1. 인터프리트 언어(interpreted language)
: 0과 1을 사용해서 프로그래밍 언어를 실시간으로 번역.
ex. 파이썬

2. 컴파일 언어(compiled language)
: 번역가가 원고를 읽고 통째로 번역한 다음, 우리에게 전달해주는 느낌.
ex. C언어

차이 : 실시간 여부에 달려있다.

즉, 파이썬은 컴퓨터에게 실시간으로 0과 1로 이뤄진 문장을 주절주절 실시간으로 통역해주는 반면, C언어는 완성된 코드를 한꺼번에 묶어서 통번역하므로 작업횟수가 한정되어 있으므로 C언어가 중간과정이 매우 단순하고 더 빠른 것.

 

 

 

*JS로 만든 50억개가 넘는 웹 사이트

 

: 웹 뿐만 아니라 할 수 있는게 무궁무진함.
: 하이브리드 앱, 크로스 플랫폼 앱 만들 수 있음.


하이브리드 앱 -> 아이오닉(Ionic)
크로스 플랫폼 앱 -> 리액트 네이티브(React Native) 

그런데 아이오닉과 리액트 네이티브 모두 자바스크립트를 사용한다는것(:

고로 JS를 알고 있으면 하이브리드 앱, 크로스 플랫폼 앱 모두 개발가능하다❤︎


: 일렉트론(Electron) 활용해서 데스크톱 소프트웨어 제작도 가능

*일렉트론 : HTML, CSS, JS를 가져다 컴파일해서 윈도우, 맥, 리눅스에 설치할 수 있는 소프트웨어를 만들어주는 도구.

일렉트론으로 만들어진 도구 ex. VSC, Slack, Skype, GitHub, Atom


: 게임제작 가능

phaser.js, imact.js 도구사용하면 게임도 만들 수 있다는 것…!
(게임을 만들려면 특히 물리 엔진이 필요한데 이들이 이미 phaser.jsImpact.js안에 들어있다.)

node.js 나 socket.io와 같은 자바스크립트에 기반한 네트워크 관련 도구를 섞어 멀티플레이 게임도 제작 가능하다.


: 3d, 가상현실, 증강현실 개발도 제작 가능

브라우저에서 실행할 수 있는 3d게임(ex. Heraclos), 인터랙티브 웹사이트(A-FrameAR.js를 활용해서 카메라와 각종센서 활용한 웹사이트 etc)

가장 큰 장점은 별도 설치없이 그냥 브라우저에서 실행할 수 있다는 것!


: 머신러닝 가능

tensorflow.js 도구 활용해 인공지능 제작.

 

 

 

 

 

*자바와 100% 호환되는 코틀린.

 

: 코틀린은 젯브레인즈(JetBrains - IntelliJ라는 IDE를 개발하는 체코회사)라는 곳에서 만들어짐.
IDE (Integrated Development Environment) : 통합 개발 환경 ex. 비주얼 스튜디오/이클립스 등)

: 자바 가상 머신이 있기에 자바코드에서 코틀린을 부를 수 있고 반대로 코틀린 코드에서 자바 코드를 부를 수 있다. 자바는 컴필레이션 코드/인터프리테이션 코드 모두 사용함..! 자바 코드는 ‘자바 바이트 코드’로 변형(컴파일해서 얻는 결과물)된 다음, 다시 윈도우/리눅스/맥OS에서 실행될 때  자바 가상 머신이 해석해서 기계어로 번역하기 때문이다. 이런 자바의 특징 덕에 코틀린이 자바와 100%호환될 수 있는것(: 코틀린을 자바 바이트 코드로 컴파일만 하면 끝!(실행에 쓰이는 건 자바 바이트 코드이기에)

여기다시한번 짚고 넘어가기 > ****컴필레이션 방식으로 동작하는 코드가 인터프리테이션 방식으로 동작하는 코드보다 빠르다.

: 코틀린의 장점
null에서 안전함 + 코투린(coroutine)을 지원하는 언어이기에 코루틴을 활용하면 한 번에 많은 일을 할 수 있다. 코루틴 활용뿐 아니라 안드로이드 앱을 개발 / 자바스크립트로 컴파일해서 리액트나 노드제이에스에 활용 / 데이터과학 등 다양한 목적을 수행하는데 쓰임 가능🤍

 

 

 

 

 

 

 

 

*소감

 

> I love JS❤︎ 자바스크립트는 웹 사이트 외에도 디자인, 미디어, 예술 분야에서도 활용될 수 있어서 참 고마운 아이다.

 

> 심지어 애플리케이션, 데스크톱 소프트웨어, 게임, 3d, 가상현실(VR), 증강현실(AR) 등을 자바스크립트로 무궁무진하게 만들 수 있다는 점이 내가 추구하는 인생의 가치와도 유사해서 더 정이 가게 되는 언어인것 같다..(:

 

> tbh, 어려운 것도  덤(:

 

> 그나저나 난해한 언어보고 위로받는 나란인간은 대체 왜죠..? ㅋㅋㅋ 

반응형