개발세발

[IT잡학사전] DAY 02 본문

인터넷 배움/노마드코더 - IT잡학사전

[IT잡학사전] DAY 02

뉼👩🏻‍💻 2023. 1. 15. 23:48
728x90
반응형
SMALL

 

 

기록 날짜

2023. 01. 15 일요일 

 

오늘 읽은 범위

06. 왜 나만 오류가 자주 생길까? 

07. 파이썬은 왜 이렇게 인기가 많을까?

08. 파이썬이 C 언어보다 느린 이유는?

09. 자바스크립트는 웹 개발에만 쓰는 언어일까?

10. 코틀린은 정말로 자바와 100% 호환될까 ?

 

책에서 기억하고 싶은 내용 

 

오류를 만났을 때 어떻게 할까 

1. 문제가 생겼을 때 나 자신을 문제에서 빼지 말자. 

➡️ 외부요인에서만 이유를 찾지 말고 '코드를 입력한 나 자신 때문이다' 라는 생각도 갖기 

 

2.  오류부터 고치려고 무작정 달려들지 말 것

➡️ 오류를 고치기 전에 오류가 왜 생겼는지를 원인을 파악하기 

 

3. 오류메시지 읽기 

 

 

* 파이썬은  왜 인기가 있을까

1. 영어와 매우 비슷해서 친숙하다 

 

2. 활용범위가 매우 넓다

-인공지능&데이터분야 : 케라스, 텐서플로, 판다스 등

- 웹개발 : 장고, 플라스크 등

- 업무 자동화 분야 : 엑셀, 메일 보내기 등

- 이미지 처리 분야

- 게임 분야

- GUI 분야 등

 

3. 커뮤니티가 크다 

➡️ 언어의 활용범위가 넓어서 그만큼 커뮤니티의 규모도 크다 

 

4. 업무 자동화에 알맞은 언어이다 

: 스크립팅(scripting) : 지루한 반복 작업을 자동화 해줌 

 

 

 

* 세상에서 가장 난해한 프로그래밍 언어

 

1. 브레인퍽(Brainfuck)

: >, <, +, -, ., ,, [, ]로만  프로그래밍을 함

https://www.youtube.com/watch?v=hdHjjBS4cs8 

 

2. ArnoldC

:언어가 아널드 슈워제네거가 영화에서 했던 대사로 이루어짐 

https://lhartikk.github.io/ArnoldC/

 

ArnoldC

ArnoldC A programming language based on the one liners of Arnold Schwarzenegger Try it yourself hello.arnoldc IT'S SHOWTIME TALK TO THE HAND "hello world" YOU HAVE BEEN TERMINATEDjava -jar ArnoldC.jar hello.arnoldc java hello Now with Sublime support Downl

lhartikk.github.io

 

 

3. Shakespeare (셰익스피어)

셰익스피어 희극처럼 프로그램을 작성하도록 되어 있음 

 

4. LOLCODE

: 인터넷 용어로 구성되어 있음 

https://www.tutorialspoint.com/lolcode/index.htm

 

Lolcode Tutorial

LOLCODE is an esoteric programming language inspired by the funny things on the Internet. LOLCODE is designed to test the boundaries of programming language design. This tutorial provides a basic level understanding of the LOLCODE programming language.

www.tutorialspoint.com

 

5. emoji-gramming

: 이모지로 구성되어 있음 

https://esolangs.org/wiki/Emoji-gramming

 

Emoji-gramming - Esolang

Emoji-gramming (proper name 💻) is a simple emoji-based esolang. Variables There are 24 normal variables, each indicated by a specific emoji: ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 🕛 All

esolangs.org

 

 

*그 외 자료

https://www.techworm.net/2016/05/worlds-top-6-craziest-programming-languages.html

 

World's top 6 craziest programming languages

Here’s a look at the top 6 whackiest and crazy programming languages Do you think that programmers do not have fun? Yes…Then, well how would you explain

www.techworm.net

 

 

 

 

- 컴퓨터 언어는 0과 1 인 이진법으로만 이루어져 있음 

 

 

* 인터프리트 언어 (interpreted language) : 해석하다  = 동시 통역

- 인터프리터가 0과 1을 사용해서 프로그래밍 언어를 실시간으로 번역해줌 

ex. 파이썬, 자바스크립트

 

- 코드가 많을수록 인터프리터가 작업해야 하는 횟수가 늘어남 

 

* 컴파일 언어 (compiled language): 편집하다  = 도서 번역 

- 모든 내용을 작성 후 한 번에 프로그래밍 언어로 번역 

ex. C언어

- 컴필레이션 (compliation)은 플랫폼에 의존함 

: 코드가 실행될 환경(플랫폼)이 달라지면 컴필레이션은 그때마다 개발자가 컴파일 과정을 한번씩 실행해줘야 함 

➡️ 운영체제마다 각각 서로 다른 기계어를 사용하기 때문에 

↔️ 인터프리테이션은 인터프리터가 실시간 번역을 해줘서 새로 컴파일을 실행해 줄 필요가 없음

 

 

 

* 자바스크립트

: 현재 세상에서 가장 유명한 프로그래밍 언어 

- 하이브리드 앱, 크로스 플랫폼  앱을 만들 수 있음  ➡️ 한 번의 개발로 아이폰, 안드로이드폰 양쪽 모두에서 사용할 수 있는 애플리케이션 

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

 

* 일렉트론 electron 

: html, css, js를 가져다 컴파일해서 윈도우, 맥, 리눅스에 설치할 수 있는 소프트웨어를 만들어주는 도구 

ex. Visual studio code, Slack, Skype, GitHub, Atom 

 

* phaser,js, impact,js

: 자바스크립트로 게임만들기 

 

* three.js

: 3D개발

 

* tensorflow.js

: 브라우저에서 머신러닝. 인공지능을 만들 수 있음 

 

 

* 코틀린 kotlin

: 인텔리제이 IntelliJ를 만든 젯브레인즈 JetBrains에서 만듦

- 코틀린과 자바는 100% 호환이 되므로, 자바로 개발한 시스템에 코틀린을 사용할 수 있음 

- 2012년 오픈소스로 발표되었고 2017년 구글이 안드로이드 앱 개발에 사용하면 좋을 언어로 코틀린을 추천하면서 엄청난 인기를 끌게 됨

 

- 코틀린을 자바 바이트 코드로 컴파일만 하면 되기 때문에 자바와 100% 호환됨 

 

자바 코드 컴파일 자바 바이트 코드 ➡️ 자바 가상머신 ➡️ 윈도우용 기계어
➡️ ➡️ 리눅스용 기계어
➡️ 맥 OS용 기계어 

 

 

* 왜 굳이 코틀린을 쓰는가?

1. 코틀린은 Null에서 안전한 언어 (null safety)

: 코드를 실행하기 전 Null이 있을 것 같으면 미리 개발자에게 알려줌 

➡️ null을 허용하긴 하지만 자바와 달리 null 발생 가능성을 미리 검사하는 언어임

 

2. 코루틴(coroutine)을 지원함 

: 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴

➡️ 파이썬, C#, Go, Javascript 등 여러 언어에서 지원하고 있는 개념 (Javascript의 async await)

 

 

 


 

어렴풋이만 알고 있던 인터프리터 언어와 컴파일 언어를 정리할 수 있어서 좋았다. 그리고 코틀린도 알고는 있었지만 세부적인 사항에 대한 지식은 부족했는데 이번 기회를 통해 정리할 수 있었다. 

 

https://jhkang-tech.tistory.com/136

 

인터프리터 언어와 컴파일 언어의 차이

안녕하세요 강정호입니다. 오늘은 인터프리터 언어와 컴파일 언어의 차이에 대해서 알아보겠습니다. 인터프리터언어인터프리터 언어는 원시코드(프로그래머가 작성한 소스코드)를 기계어로

jhkang-tech.tistory.com

 

전에 자바를 공부했던 것들이 여러모로 도움이 많이 되고 있다. 기회가 된다면 꼭 다시 자바공부를 해야지 

 

 

728x90
반응형

'인터넷 배움 > 노마드코더 - IT잡학사전' 카테고리의 다른 글

[IT잡학사전] DAY 05  (0) 2023.01.18
[IT잡학사전] DAY 04  (0) 2023.01.18
[IT잡학사전] DAY 03  (0) 2023.01.15
[IT잡학사전] DAY 01  (0) 2023.01.14
IT 5분 잡학사전 (책인증)  (1) 2023.01.14