몇 년 동안 나는 "낮은 수준의"언어로 간주되는 것을 파는 것을 고려해 왔습니다. 나에게 이것은 C와 어셈블리를 의미합니다. 그러나 나는 아직 이것을 할 시간이 없었으며, 그 어느 때도 필요하지 않았습니다.
이제는 필연적 인 필요성이 보이지 않기 때문에 주제를 연구하거나 계획을 영원히 중단 할 특정 시점을 예약해야 할 것 같습니다.
내 위치
지난 4 년 동안 나는 변화 할 수있는 "웹 기술"에 중점을 두 었으며, 변화가 거의없는 응용 프로그램 개발자입니다.
응용 프로그램 개발에서 유용성이 가장 중요하다고 생각합니다. 사용자가 "소비"할 애플리케이션을 작성합니다. 이러한 응용 프로그램이 유용할수록 더 많은 가치를 창출 할 수 있습니다.
유용성을 높이기 위해 다음과 같은 것이 가능하다고 생각합니다.
- 우수한 디자인 : 신중한 사용자 인터페이스를 통해 액세스 할 수있는 신중한 기능.
- 정확성 : 최상의 디자인은 올바르게 구현되지 않으면 아무 가치가 없습니다.
- 유연성 : 애플리케이션 A는 지속적으로 발전해야하므로 사용자는 A가 구현할 수있는 새로운 기능이있는 다른 애플리케이션 B로 전환 할 필요가 없습니다. 동일한 문제를 해결하는 응용 프로그램은 기능이 아니라 철학적으로 달라야합니다.
- 성능 : 성능은 좋은 사용자 경험에 기여합니다. 응용 프로그램은 이상적으로 항상 응답 성이 뛰어나고 빈도에 따라 작업을 상당히 빠르게 수행합니다. 사용자가 눈에 띄는 지점을 넘어서는 성능 최적화의 가치는 의심의 여지가 있습니다.
저수준 프로그래밍은 성능을 제외하고는 저에게 도움이되지 않을 것이라고 생각합니다. 그러나 성능을 위해 저수준 언어로 전체 앱을 작성하는 것은 나에게 조기 최적화입니다.
내 질문
저수준 프로그래밍은 무엇을 가르쳐 줄 수 있습니까, 다른 언어는 저를 가르쳐주지 않습니까? 응용 프로그램 개발에 거의 사용되지 않는 무언가가 없거나 기술입니까? C와 어셈블리의 가치에 대해서는 의문의 여지가 없습니다. 나는 일상 생활에서 그 세계의 모든 복잡한 부분이 추상화되어 저를 위해 관리되고 있다는 점이 매우 기쁩니다 (주로 C / C ++로 작성된 레이어와 어셈블리 자체). 나는 단지 어떤 개념도 보지 못했고, 그것은 나에게 새로운 것일 수도 있고, 내 머리를 채우는 데 필요한 세부 사항 만. 그게 뭐에요?
내 결론
답변을 주신 모든 분들께 감사드립니다. 나는 아무도 나를 놀라게하지 말라고 말해야하지만, 적어도 지금은 내가 관심을 가질 때까지이 관심 영역을 떨어 뜨릴 것이라고 확신한다.
이해하기 위해 요즘 프로세서에서 오늘날의 CPU에 사용되는 어셈블리를 작성하는 것은 필연적으로 복잡 할뿐만 아니라 C 대응보다 런타임 성능이 저하 될 위험이 있습니다. OOE로 인해 수작업으로 최적화하는 것은 거의 불가능하지만 컴파일러가 자동으로 수행 할 수있는 모든 종류의 최적화를 얻지는 못합니다. 또한 코드는 사용 가능한 명령의 작은 하위 집합을 사용하기 때문에 이식 가능하거나 최적화되었지만 하나의 아키텍처에서만 작동합니다.
C를 작성하는 것은 과거처럼 더 이상 필요하지 않습니다. C로 응용 프로그램을 작성하려면 테스트되고 확립 된 라이브러리와 프레임 워크를 많이 사용하면 문자열 복사 루틴, 정렬 알고리즘 및 대학에서 운동으로 사용되는 다른 종류의 물건을 구현할 필요가 없습니다. 내 코드는 형식 안전 비용으로 더 빠르게 실행됩니다. 나는 정상적인 앱 개발 과정에서 바퀴를 재발견하거나 코어 덤프를보고 디버그하려고하지 않습니다 .D
현재 현재 언어와 통역사를 실험하고 있으므로 게시하고 싶은 것이 있다면, C ++이 트릭을 수행 할 수도 있지만 작업 개념을 C로 포팅했습니다.
다시 한 번, 답변과 통찰력을 주신 모든 분들께 감사드립니다.