[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: do-it.jpg (54 KB, 1024x992)
54 KB JPG
https://www.youtube.com/watch?v=U46fJ2bJ-co everybody watched compukter history interview of Ken. now ive got this recommendation. opinion'tards your exit
>>
> q: how do you get employed?
> a: you just talk to some people
>>
>>108861379
epicsause
boomer holocaust cant come soon enough
>>
File: so-what.png (1.62 MB, 1408x768)
1.62 MB PNG
> if it worked - it was the best
> if it did work - so wat
>>
>>108861437
*didnt work

--
i think im starting to undestand why c++ became popular.. the author is very charismatic
>>
> c VS c++ wars never happened
> Dennis Ritchie said c++ is a c successor

wat
>>
>>108861251
Wait...
>>
>>108861619
There:
The interview provides a deep dive into the origins and evolution of C++, focusing heavily on its design philosophy rather than marketing or jokes.

Here is a distillation of the most valuable information regarding the C++ language and its evolution:

1. Origin and Core Problem Solved
The Need: The creator, Bjarne Stroustrup, needed a language that could handle two conflicting requirements: low-level hardware access (like C) and high-level abstraction (like object-oriented concepts from Simula). Existing languages could only do one or the other.
The Solution: C++ was created by merging the class concept of Simula into C, allowing it to run much faster and be suitable for systems programming while retaining low-level control.
2. Key Design Principles & Evolution
Negative Overhead Abstraction: A core principle is the ability to achieve abstraction without incurring significant performance penalties.
Type System Strength: The type system was intentionally made stronger than C's. This was done because weak typing is a major source of runtime errors and endless debugging, which the creator wanted to move away from by shifting work to compile-time design.
Generic Programming & Overloading: The language evolved to generalize concepts like overloading so that rules could apply consistently across both built-in and user-defined types, which is essential for generic programming (e.g., templates).
Focus on Classes over "Object Orientation": The creator emphasizes that the initial focus was type-oriented and class-oriented, following Simula's model of defining classes and hierarchies, rather than being purely "object-oriented" in the traditional sense.

1/2
>>
>>108861619
He wanted to maintain mathematical notation (like 2+z) for arithmetic operations without relying on dot notation (two.something).
C Compatibility: Maintaining compatibility with C was a deliberate implementation choice to leverage existing tool support and culture, even if it meant accepting some of C's historical limitations.
3. Technical Deep Dives & Modern Concepts
Pointers vs. Safety: The discussion touches on the evolution from "fat pointers" (a concept proposed by Dennis Ritchie for better memory safety) to modern constructs like std::span, which provides controlled, safe views into contiguous memory blocks.
Static vs. Dynamic Typing: C++ is fundamentally a statically typed language because it allows errors to be caught at compile time. This is crucial for performance-critical applications (like embedded systems) and for providing the guarantees necessary for reliable software (e.g., in flight control or telecommunications).
Bootstrapping: The initial implementation involved "bootstrapping"—writing a subset of C++ using an older version of itself (or C) to build the compiler, which was then used to compile the next, more advanced version.
4. Philosophical Takeaways on Design
Problem First, Language Second: The most valuable advice given is that one must identify a specific problem first before trying to design a language. General-purpose languages are complex because they try to solve too many problems; specialized (domain-specific) languages are better when the problem is narrow.
The Cost of History: C++'s complexity is partly due to its history—it grew iteratively by fixing problems encountered in earlier versions, leading to some "leftover things" that complicate modern use.
In summary, C++ was engineered as a high-performance bridge between low-level hardware control and high-level abstraction, prioritizing compile-time safety and reuse of existing systems while evolving its type system to support powerful generic programming constructs
2/2
>>
> C function semantics (defs/decls) came out of early C++ drafts of mine

wat

--
i recently found out that // comment came to C from C++, but those..
>>
i dont get, where are all those shills?

> No. Rust is not standardized by ISO; its language definition is governed by the Rust project/foundation and the reference implementation (rustc). There are community efforts toward an independent specification, but Rust has no ISO (or ECMA) standard.

have you heard what C++ author said about marketing VS standardization?



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.