카테고리 없음

2011년7월18일_JAVA를 배우기 전에 언어와 H/W에 관한 이야기

배에고파아요오 2011. 7. 19. 08:57

 

이 때까지 배운 것들,
1. C – Array, funtion, malloc
2. TCP/IP – linux
3. cp, mv명령 제작(?)
4. UART – serial (ATmega)

이 보다 더 많이 배웠으나 잘 기억이 안 난다. ㅎㅎ

● 옛날 컴퓨터는 천공카드를 사용해 프로그래밍 –> 실행
   그러나 Tape에 프로그램을 넣어 실행하다가,
   FDD와 HDD에 넣어 실행함.

● 선풍기의 약풍, 중풍, 강풍, 정지의 4가지 상태를 출력하려면 스위치 4개로 충분.
    약풍스위치는 저항을 크게하고, 강풍은 저항을 작게함. 정지는 전력공급차단.

● 하드웨어발전은 점점 가속화되나 그에 따른 프로그램에 대한 기술은 크게 좋아지지 않는다.
    32biCPU가 나오면서 부터 S/W가 크게 발전했다.
    586부터 window가 나와 OS가 크게 발전 486이 가장 인기있었음.

● 이벤트드리븐(?) : 이벤트가 발생하면 해당 코드시작

● 전산처리하는 학과가 88년도에 많이 만들어짐.
    전자 H/W
    전자 계측
    전산처리 DB
   과거엔 상기의 3분야의 인력 중 H/W쪽의 인력이 대우받았고 소프트웨어인력은 많이 필요하지 않았다.

● 그에 비해 window95는 S/W인력이 많이 필요
   모든 유저에 맞추기 위해 많은 시간, 노력이 필요하고 기초기술이 필요했다. 노하우(?)

● Internet이 보급되며 많은 중소기업이 생겼으나 망했다.
   그 이유는 기초기술이 없었기 때문이다.  -> web –> Component –> OOP기반 –> JAVA

● 반도체 – 회로 – S/W를 F/W라고 하고 전화기는 할 일이 많아 F/W만 가지고 불가능하다.
   그래서 운영체제가 필요한데 wince는 로열티를 받아 x,
                                     linux - luvian은 한창 뜨다가 망함.  (GUI QT가 지저분하다.)
                                     안드로이드는?

● JAVA는 기존기술이 쌓여 있는 상태에서 짜는 거라 개발기간이 짧고,
   C언어는 처음부터 시작하니 채팅프로그램을 짜는데 1년정도 걸릴 수 있다.

● S/W는 쉽게 바뀌는게 아니다.

● H/W는 모듈화, 부품화되어 있어 각 모듈의 성능이 향상되면 자동차 전체의 성능이 향상되나,
    S/W는 일부 모듈의 성능이 향상된다고 결합하면 다른 문제가 발생한다.
               (Ripple effect(?))

● OOP는 생산량증가

● S/W는 신기술이 좋아도 리스크가 있다.
   그것은 기존에 있는 것을 버려야 한다는 것이다. 버려야 새로운 것을 얻을 수 있다.
   지금은 OOP를 모르면 협업이 불가능하니 꼭 배워야 함.

● 결론: JAVA는 C언어와는 전혀 다른 언어라는 것을 알고 배우자!

● C언어는 #ifndef문을 사용해 하드웨어에 맞춘다.
    코드가 누더기가 되어 보기 흉하다. 그리고 모듈에 문제가 발생시 전체적인 동작에 영향을 크게 준다.

image

image 

SE는 개인용이고,
EE는 기업용,
ME는 잘 쓰지 않음.



● JAVA는 JVM(자바가상머신), 자바API 플랫폼 위에서 동작한다.
   JVM만 잘 알면 어떤 H/W, 어떤 운영체제 위에서도 잘 동작함.

● 미들웨어는 S/W이나 H/W역활을 한다.
    예를 들어 그래픽카드가 없을 때도 CPU의 자원을 사용해 있는 것처럼 할 수 있다.

● 자바API: 자바라이브러리를 배울 것임