metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-02 11:34 am

Поттеринг наш кумир

http://lists.freedesktop.org/archives/systemd-devel/2013-March/010062.html
"We had the option of either merging glibc into systemd, or write a new C library. Of course, we are pretty good at
rewriting existing programs (we are simply faster doing that, since we don’t have to read so much code), so we opted for the latter."
"Нахер мне читать ваш рукожопый код, если я сам с нуля быстрее и лучше напишу".

В приличном количестве случаев такой подход хорошо работает. В существующем коде легаси живет с доисторических времен, когда из инструментов разве что каменные молотки были, соответственно сейчас продолжать использовать всякое по принципу "только бы не обвинили в изобретении велосипедов" - редкостный маразм.

PS: Впрочем, это первоапрельская шутка, что сути не меняет :)

[identity profile] eternal-leave.livejournal.com 2013-04-02 09:38 am (UTC)(link)
Собранный под шестеркой бинарник с зависимостями только от либц под девятой запустится?

[identity profile] http://users.livejournal.com/_slw/ 2013-04-02 09:53 am (UTC)(link)
ну почти. надо только строчку в libmap.conf прописать, для отмапливания libc.so.6 на libc.so.7.
для семерки этого уже не требуется.

uname -a
FreeBSD test 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Sat Mar 30 20:25:42 UTC 2013     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

# cat /etc/libmap32.conf
libc.so.6 libc.so.7
~slw/stty -a
speed 38400 baud; 76 rows; 159 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
        -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff -ixany -imaxbel -ignbrk
        brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -oxtabs -onocr -onlret
cflags: cread cs8 parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
        -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = ;
        eol2 = ; erase = ^H; erase2 = ^H; intr = ^C; kill = ^U;
        lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
        status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;

# file ~slw/stty
/home/slw/stty: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 6.4, stripped


не только версии разные, но и архитектуры (i386/amd64)
UPD: ах, да, компиляторы тоже разные -- gcc и clang
Edited 2013-04-02 11:19 (UTC)