https://www.learncpp.com/cpp-tutorial/introduction-to-cplusplus/
C의 탄생 목적
C ended up being so efficient and flexible that in 1973, Ritchie and Ken Thompson rewrote most of the Unix operating system using C
유연해지고 효율적이게 되었다
대부분의 operating system이 어셈블리로 써져있다.
특정한 cpu에서 작동하는 어셈블리와 달리
C는 portability와 Unix가 많은 다른 종류의 컴퓨터에 쉽게 컴파일되는 것을 가능하게 만들었고
채택을 가속화시켰다
c++은 c의 확장판으로 1979에 시작
c의 기능에 더불어 더 많은 기능이 추가됨 (c에만 있는 것도 있어서 strictly 맞는 말은 아님)
c++의 명성은 주로 oop에 기인했다
object라는 개념이 전통적 프로그래밍 기법과 구분된다
c++11 이라는 major update가 있었고 이때 많은 기능들이 더 추가되었다
The underlying design philosophy of C and C++ can be summed up as “trust the programmer” -- which is both wonderful and dangerous
C와 C++의 근본적인 철학은 '프로그래머를 믿자', 그만큼 wonderful하고 위험한...
Q: What is C++ good at?
c++은 높은 성능과 정확한 메모리 컨트롤에 있어서 뛰어나다
- Video games
- Real-time systems (e.g. for transportation, manufacturing, etc…)
- High-performance financial applications (e.g. high frequency trading)
- Graphical applications and simulations
- Productivity / office applications
- Embedded software
- Audio and video processing
- Artificial intelligence and neural networks
Q: Do I need to know C before I do these tutorials?
그렇지 않다, c++로 시작해도 perfectly fine이다.
오늘날 C는 대부분 used for niche
use cases: code that runs on embedded devices, when you need to interact with other languages that can only interface with C, etc… For most other cases, C++ is recommended.
encouraging : 격려하는, 북돋아 주는
end up : 결국 처하게되다
pronounce : 발음하다
superset : 확대집합
primarily : 주로 (프라이메어리)
adhere : 들러붙다, 부착되다
ex) help ensure all compilers adhere to the same set of standards
underlying : 근본적인, 밑에있는
pitfall : 위험, 곤란
excel : 뛰어나다
niche : 아주 편한 자리, 꼭맞는, 틈새