Prost! 🍻
Oriel Jutty :hhHHHAAAH:
- 0 Posts
- 30 Comments
C) It’s an obvious joke.
s/diplomated/graduate/
s/branche/industry (sector)/
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Why make it complicated?2·19 days agoIsn’t that how B worked?
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Why make it complicated?5·20 days agoSimilarly, Perl lets you say
my $ret = do { if (...) { ... } else { ... }};
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Why make it complicated?1·20 days agoTo be fair, the C example could be detangled a lot by introducing a typedef:
typedef int Callback_t(int, int);Callback_t *(*fp)(Callback_t *, int);
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Why make it complicated?2·20 days agoBoth of those declarations look weird to me. In Haskell it would be:
a :: Stringbob :: (String, Int, Double) -> [String]bob (a, b, c) = ...
… except that makes
bob
a function taking a tuple and it’s much more idiomatic to curry it instead:bob :: String -> Int -> Double -> [String]bob a b c = ...-- syntactic sugar for:-- bob = \a -> \b -> \c -> ...
The
[
syntax also has a prefix form ][] T
, so[
could also be written ][] String
.OCaml makes the opposite choice. In OCaml, a list of strings would be written
string list
, and a set of lists of strings would bestring list set
, a list of lists of integersint list list
, etc.
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Why make it complicated?191·21 days agoBecause
let x: y
is syntactically unambiguous, but you need to know thaty
names a type in order to correctly parsey x
. (Or at least that’s the case in C wherea(b)
may be a variable declaration or a function call depending on what typedefs are in scope.)
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•The meaning of `this`0·1 month agoinclude Hebrew in their language, because I guess they were feeling kabbalistic
… or because the developers were Israeli: https://en.wikipedia.org/wiki/Zend/_(company)#History
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Python needs an actual default function4·1 month agoDo you know the difference between a script and a program?
A script is what you give the actors; a program is what you give the audience.
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Python needs an actual default function1·1 month agoI don’t understand the complaint. What exactly is the issue?
I’ll update my mems when Microsoft decides to implement C99. (Hey, it’s only been a quarter of a century …)
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Does this exist anywhere outside of C++?3·3 months agoYeah, just don’t make any mistakes and you’ll be fine. Come on guys, how hard can it be?
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Does this exist anywhere outside of C++?16·3 months agoThe 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
.
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•Does this exist anywhere outside of C++?363·3 months agostd::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called
\n
, not endl.
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•How it started vs. How it's going0·4 months agoMy CGI script is a SaaS.
Oriel Jutty :hhHHHAAAH:@infosec.exchangeto Programmer Humor@lemmy.ml•How it started vs. How it's going0·4 months agofor (int i = INT_MIN; ; i++) { ... if (i == INT_MAX) break;}
@racketlauncher831 As far as the C compiler is concerned, there is literally no difference between those two notations. If you declare a function parameter as an array (of T), the C compiler automatically strips the size information (if any) and changes the type to pointer (to T).
(And if we’re talking humans, then
char *args[]
does not mean “follow this address to find a list of characters” because that’s the syntax for “array of pointers”, not “pointer to array”.)
@affiliate Hey, you didn’t even mention that
char *args[]
actually meanschar **args
in a parameter list.
@devilish666 C++ (non-stupid):
#include <stdio.h>
int main() {
puts(“Hello, world!”);
}