<whitequark>
on one hand, it's a really great little library, which even autogenerates man pages for you instead the usual pitiful --help text
<whitequark>
on the other hand, I literally had much easier time implementing a compiler than interfacing with this goddamn option parsing library
<whitequark>
what drugs exactly do you need to be on to make an interface *that* esoteric?
<wpwrak>
use getopt(3)
<wpwrak>
?
<whitequark>
well, I'm not writing it in C ;) there's builtin Arg, which is kind of like getopt
<whitequark>
it also sucks, which is the reason I was looking for something better
<wpwrak>
(not using C) ah well, master of your own doom ;-)
<whitequark>
meh, C needs to die already. I will certainly contribute to its demise in any ways I can
<whitequark>
first and foremost by not writing more code in it...
<whitequark>
when Rust releases their 1.0, there will finally be an answer to everyone out there who wants to program embedded, kernels and other weird things with something sane (and also for those with terminal OCD and a burning need to micromanage resources, which is way wider)
<whitequark>
Rust is pretty cool. it's memory-safe, but has an escape hatch which allows you to do any dirty tricks you want
<wpwrak>
as long as they copied the only good feature of C++ ... namely that you can just write ordinary C, and ignore fad and fashion :)
<whitequark>
the memory management is a combination of ownership (essentially, malloc+free, except the compiler makes sure you don't leak memory, use-after-free, use unallocated memory, have race conditions and a few more things) and strong/weak reference counting for cyclic data structures like graphs
<whitequark>
C++ isn't backwards-compatible with C
<whitequark>
also, if something is a fad, then C is. it was never designed or had any real thought put in it, it just... caught on
<whitequark>
certainly like a fashion. and we all see what happens when engineering is driven by cargo cult
<wpwrak>
(compatible) well, almost, if you avoid the new keywords
<whitequark>
oh, there's *plenty* of quirks
<whitequark>
off the top of my head: VLAs of C99, initializers
<wpwrak>
i guess anything new that happens in C will eventually find its way into C++. just like C picked up a few items from C++
<whitequark>
nope, the committee already decided that it won't happen
<wpwrak>
i see a gnu extension coming ;-)
<whitequark>
ew
<whitequark>
"gnu extension" is the politically correct name for "portability nightmare"
<wpwrak>
naw. it's just a little bit more work for the implementers of other compilers. well, not all the gnu extensions make it to the others but quite a few gnu things do/did.
<wpwrak>
also anyone who wants bragging rights for being able to compile the linux kernel better makes sure his compiler it sufficiently gnu-ish
<whitequark>
the linux kernel can't be compiled by anything except gcc at the moment
<whitequark>
not even clang (yet)
<wpwrak>
i think intel can compile it
<wpwrak>
clang ought to be very close
<whitequark>
quite a bit of that is due to some of the more insane gnu extensions, e.g. register pinning or constexpr evaluation
<whitequark>
(which are only present in gcc because gcc is a ball of incoherent spaghetti)
<whitequark>
clang *is* very close, but not there
<whitequark>
icc can compile it without source modifications? a bit hard to believe
<wpwrak>
i think they did it at last once. but i don't know if it was vanilla or with some minor editing
<whitequark>
with some minor editing (and certain loss of efficiency, I presume) you can compile it with a bunch of compilers, yes
<Luke-Jr>
whitequark: C++11 adds the C99 features
<whitequark>
Luke-Jr: but not VLAs, afaik
mth has quit [Ping timeout: 258 seconds]
mth has joined #qi-hardware
pcercuei has joined #qi-hardware
unclouded has quit [Ping timeout: 252 seconds]
unclouded has joined #qi-hardware
Luke-Jr has quit [Remote host closed the connection]
Luke-Jr has joined #qi-hardware
rz2k has joined #qi-hardware
Jay7 has quit [Ping timeout: 245 seconds]
Jay7 has joined #qi-hardware
<viric>
whitequark: ext4 on mtdblock wasn't a bad idea
<viric>
whitequark: the rockchip people implemented a FTL inside the mtd device driver. So the mtd sees logic addresses
<larsc>
crazy stuff
<viric>
right
<viric>
kernel boots...
<viric>
finally I'm making progress, having a serial port connected.
lindi-_ has quit [Read error: Connection reset by peer]
xiangfu has quit [Remote host closed the connection]
dos1 has joined #qi-hardware
jekhor has joined #qi-hardware
Luke-Jr has quit [Excess Flood]
Luke-Jr has joined #qi-hardware
jekhor has quit [Ping timeout: 240 seconds]
viric has quit [Ping timeout: 240 seconds]
rozzin has left #qi-hardware [#qi-hardware]
rozzin has joined #qi-hardware
rozzin has left #qi-hardware [#qi-hardware]
porchao has quit [Read error: Connection reset by peer]
<wpwrak>
"geil" means "horny", but is commonly used in slang for "great", "cool"
<whitequark>
yes, I got it eventually, but that made for some very confusing moments
<whitequark>
"what *is* it with wpwrak and hashtables?!"
<wpwrak>
"Streuwerttabelle" is what you use if it's vitally important that nobody understands what you're explaining. e.g., if you file a patent in .de, that's when such words will be very useful.
nicksydney has quit [Remote host closed the connection]
nicksydney has joined #qi-hardware
<whitequark>
"Streuspeicherverfahren" for hashing is pretty cool
<whitequark>
you could conceivably implement algorithms by naming them
freespace has quit [Ping timeout: 265 seconds]
<wpwrak>
definitely. since nobody would understand their purpose anyway, you could do whatever you want