[-] [email protected] 8 points 4 days ago

@devilish666 C++ (non-stupid):

#include <stdio.h>
int main() {
puts("Hello, world!");
}

[-] [email protected] 2 points 6 days ago
[-] [email protected] 16 points 6 days ago

C) It's an obvious joke.

[-] [email protected] 8 points 6 days ago

s/diplomated/graduate/
s/branche/industry (sector)/

[-] [email protected] 18 points 3 weeks ago

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.)

[-] [email protected] 16 points 1 month ago* (last edited 1 month ago)

POV: You open vim for the first time.

Screenshot of vim start screen. The instruction to exit vim is highlighted in red. It reads: VIM - Vi IMproved version 9.1.697 by Bram Moolenaar et al. Modified by team+vim@tracker.debian.org Vim is open source and freely distributable Help poor children in Uganda! type :help iccf for information type :q to exit type :help or  for on-line help type :help version9 for version info

[-] [email protected] 16 points 3 months ago

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.

[-] [email protected] 33 points 3 months ago

std::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called \n, not endl.

[-] [email protected] 11 points 4 months ago

Arguably, I never fully learned Bash syntax, but it also is just a stupid if-statement. There shouldn’t be that much complexity in it.

There isn't. The syntax is

if COMMANDthenCOMMAND(s)...elseCOMMAND(s)...fi

I believe, if you write the then onto the next line, then you don’t need the semicolon.

Yes, but that's true of all commands.

foo; bar; baz

is the same as

foobarbaz

All the ] and -z stuff has nothing to do with if. In your example, the command you're running is literally called [. You're passing it three arguments: -z, "$var", and ]. The ] argument is technically pointless but included for aesthetic reasons to match the opening ] (if you wanted to, you could also write test -z "$var" because [ is just another name for the test command).

Since you can logically negate the exit status of every command (technically, every pipeline) by prefixing a !, you could also write this as:

if ! test "$var"; then ...

The default mode of test (if given one argument) is to check whether it is non-empty.

Now, if you don't want to deal with the vagaries of the test command and do a "native" string check, that would be:

case "$var" in  "") echo "empty";;  *) echo "not empty";;esac
[-] [email protected] 70 points 4 months ago

Strictly speaking, it should be

Unsafe block syntax in C++

{  ...}
[-] [email protected] 15 points 2 years ago

@hstde @Spore Even better, the alphabetical index of function names was generated in English first and then translated, meaning the documentation looks like a scrambled mess in any other language because it is alphabetized according to what the English equivalent would be. #excel

view more: next ›

barubary

0 post score
0 comment score
joined 2 years ago