I like the original.
If you had let me write the C++ code, I could have literally destroyed your dataset in a couple of seconds.
C) It's an obvious joke.
Because let x: y
is syntactically unambiguous, but you need to know that y
names a type in order to correctly parse y x
. (Or at least that's the case in C where a(b)
may be a variable declaration or a function call depending on what typedefs are in scope.)
POV: You open vim for the first time.
The same is true of std::endl. std::endl is simply defined as << '\n' << std::flush
; nothing more, nothing less. In all cases where endl gives you a "properly translated" newline, so does \n
.
std::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called \n
, not endl.
Strictly speaking, it should be
Unsafe block syntax in C++
{ ...}
This is false. Lisp uses parentheses where other languages use
()
,[]
,{}
or nothing at all. For example, in C I can writeint i = 0
, but the equivalent Lisp code involves three pairs of parentheses. Or take something likea[i] = f(i + 1) / 2 + p
. The equivalent Lisp code is something like(setf (aref a i) (+ (/ (f (+ i 1)) 2) p))
, and you can't tell me that's not a lot of parentheses.