수업방향 및 내용 추가를 연휴기간에 많은고민을 했습니다.
1 단계 고민은 자비스크립트, 를 할거냐, 파이썬을 할거냐 요거놓고 고민했습니다.
2 단계 고민은 펌웨어 기술을 놓고 고민 했습니다. (AVR, STM Cortex M3/M4, ESP32, ESP8266, Arduino.)
3 단계 는 여러분의 수준을 놓고 고민 했고 과연 딸아올수 있을까... 쉽게 이해할 수 있을까... 할 수 있을까...
4 단계 는 학습 할 내용 대비 주어진 시간을 놓고 학습내용 하고 난이도 조절, 진도를 놓고 고민 했습니다.
5. 이 모든걸 해경할 수 있는 솔루션을 놓고 고민 했습니다...
상기 고민이 가능하게 돤 계기는 이제 여러분들이 C언어를 어느정도 할 수 있다는 겁니다. 그리고 교과목도 이 분야로 교체되고 해서..
이제 한단계 더 업그레이드 할때가 되었다고 판단이 되어 베이스에는 C언어를 깔고, 중간 레벨로 펌웨어 기반 마이크로프로세서를,
그 이에는 리눅스 나 RTOS 기반 마이크로프로세서 나 라즈베리파이, 최상위레벨로 파이썬이 나 자바스크립트 를 해줄려고
수업 내용 커리큘럼 변경을 놓고 고민 했습니다.
그래서 내린 결론은 이 모든걸 포한하여 다 사용할 수 있는 플래폼을 선택했습니다. 바로 Processing 솔루션 입니다.
사실 그간 제가 했으나 최근 3년간은 저도 안했고 별 볼일 없는 언어로 취부했습니다.
근데 연휴기간 살펴보니 비약적인 발전을 이루워 많은 분야에서 다양하게 사용되고 있음을 확인했고 활발하게 연구되고 사용되고,
새로운 기능들이 추가되고 안정화 되고 해서 인기있는 프로그램 언어중에 하나임을 확인하고 요걸로 하겠다고 결론을 내렸습니다.
저 또한 놀라웠고 processing 을 해본 저로서는 다행이라고 생각 했습니다.
물론 단독으로의 사용은 좀 부족한 면이 없지않아 있는게 사실이나 차후 보완될걸로 사료되며, 지속적인 버전업이 이루어지고 있고, 더 중요한건 쉽고 빠르게 짧은시간안에 원하는기능을 구현해 본다는건 매우 경쟁력 있습니다. 단독사용시 부족한점은 기존 언어들과 호환이 되므로 기존언어와 혼합하여 프로그램 하면 100% 보강할 수 있고 오히려 막강한 프로그램언어 이고 솔루션이 된다는 겁니다.
특히 하드웨어 제어 임베디드 분야에서 두각을 나타내고 있습니다.
아듀이노를 프로그램 할수 있고, 특히 라즈베리파이를 직접 제어하고 프로그램 할 수 있습니다. 그것도 웹상에서도 가능하고 데스크탑 APP도 가능하다는 겁니다. 여기에 GUI 까지요..
processing 싸이트에 라즈베리파이 관련해서 별도의 게시판이 학습공간이 마련되어 있을정도 입니다.
여기에 안드로이드 프로그램, PC프로그램, 웹프로그램이 가능하고, Windows는 기본이고 리눅스 에서도 돌아가고 멕 컴퓨터에서도 동작한다는 겁니다. IOS에서도 동작하고요...여기에 파이썬 까지도 지원합니다. 그리고 여기에 웹프로그램인 자바스크립트, Html5, Css3 등도 프로그램 가능하고 JABA 문법이나 함수, LIB등이 다 동작 합니다.
즉 하나를 배워 전 솔루션에 다 사용가능 합니다.
1. PC프로그램
자바스크립트, 파이썬, 자바, HTML5, CSS3, NodeJS, 프로트앤드 + 서버프로그램 가능 이걸 한방에 끝낼수 있고,
쉬우면서도 진입장벽이 낮아 쉬게 초보자들도 할 수있는 프로그램 솔루션을 찾아 봤고 연휴기간 많은 생각을 했습니다.
결론은 Processing 기반 프로그램 입니다.
이 솔루션으로 이 플레폼으로 상기에서 논의된 모든 프로그램이 가능 합니다.
물론 단독으로는 부족한 면이 없지않아 있습니다.
그래서 기존 프로그램과 상호 보완으로 하면 막강 합니다. 즉 PC 앱 프로그램은 기존 자바 랭기지 와 Processing을 연동하는 겁니다.
특히 GUI 부분은 자바가 세련되고 화려하면 깔끔 합니다. 그래서 PC 앱 APP 포그램은 자바 + Processing 을 연동하여 프로그램을 짜
는 방법을 선택 해습니다.
그러면 여러분들은 요거 이젠 C언어를 넘어서 자바까지 해야하나.. 요렇게 걱정하실 수 있습니다 만...
주로 처리는 핵심은 Processing 으로하고 필요시 필요한 기능만 자바로 프로그램 하는겁니다.
다행이 processing 은 자바의 모든 문법, 함수, LIB등을 다 사용하고 동작가능 합니다.
좀더 구체적으로 이야기 하면 Processing 은 자바 언어 입니다. 즉 미니자바 컴파일러라고나 할까요...
구문은 C와 비숫하고 자바의 어려운부분은 감춰져 있으나 컴파일 하고나면 자바언어로 번역이 되어 실행 됩니다.
즉 자바 가상머신에서 실행된 거죠..... (객체관련 OOP 개념등은 숨기고..)
우리도 PC 앱 APP 프로그램을 할 겁니다.
2. 웹 프로그램 입니다.
요좀 대세 입니다.
Processing 은 2가지 지원합니다. 예전에 활발했던 Processing.js 와 P5.JS 가 있습니다.
지금은 주로 P5.JS로 통합되어 있고 이쪽을 주로 지원하고 있습니다.
둘다 어느걸 하더라도 하등 문제될게 없습니다.
가급적이면 P5.JS를 추천드립니다. P5.JS는 분명하게 자바스크립트 프레임워크로 자바스크립트 라이브러리 라고 명시되어 있습니다.
그래서 웹 프로그램은 P5.JS (Processing.js) + 자바스크립트 + HTML5 + CSS3 요렇게 프로그램하시면 되겠습니다.
우리는 주로 웹 프로그램을 할 겁니다.
3. 파이썬 프로그램 입니다.
Processing은 파이썬도 지원 합니다.
이 부분은 저도 안 해봐서 정확하지는 않지만 제 느낌은 기본 파이썬 + 파이썬 Processing를 사용하면 되는걸로 알고 있습니다.
4. 스마트 폰 앱 프로그램
이 부분도 Processing 에서는 가능 합니다. 안드로이드 SDK 와 Processing 으로 프로그램 가능 합니다.
요런식으로 보완하면 아무런 문제가 될거 같지 않습니다.
자비스크립트 나 파이썬, C언어는 어자피 기본으로 해야 되고 여기에 Processing 솔루션을 덧데어 Processing 솔루션 프레임워크 안에서
개발환경만 구축하여 프로그램 하면 됩니다. 그러면 기존 언어 + Processing 라이브러리 와 함수들을 다 사용 할 수 있다는 겁니다.
요게 우리의 강점이 될수도 있을 겁니다...
그리고 펌웨어는 기존처럼 일단 취업에 꼭 필요한 AVR 하고 Cortex M3/M4 마이크로프로세서 와 라즈베리파이 를 하겠습니다.
아듀이노는 덤으로 하는거고요...
저와 같이 해 봅시다....
첫댓글 연휴 기간에도 저희들을 위하여 많은 고민을 하시는군요.
감사드립니다.
Processing.js, P5.js....
처음 접해보는 언어입니다.
배울 의욕이 팍 팍 생기는군요.
열심히 해 보겠습니다.
화이팅!!!