
Nunca pensé que esto me pasaría, pero parece que me quemé. Y yo soy tonto. Sí, este es otro artículo sobre el agotamiento.
Estaba mirando mi lector RSS el otro día y noté que bajo la etiqueta "C ++" tengo unos trescientos artículos no leídos. No he leído un solo artículo sobre las ventajas del verano pasado, y soy increíble . No he escrito una sola línea de código significativo sobre las ventajas en los últimos tres meses, ya que el departamento donde trabajé fue despedido, y estoy super . Me permití querer no volver a escribir nunca más sobre los profesionales, y obtuve alas .
Solo se volvió aterrador, porque durante mucho tiempo ha sido parte de mi autoidentificación. Escribí sobre las ventajas de alrededor de 17, son casi dos tercios de mi vida, y de alguna manera es muy tonto tirarlo todo. Todo mi seigneering es el cultivo de tomate, la parte más importante de mi experiencia: está allí, en el ataque al rastrillo plus. ¿Quién soy sin mi disfraz?
, , . , .
. , ( - ). , ACE ( - ACE?) - . , chm' ( - ) 11-. — . — , , , - RSDN, . , , , . — .
, .
.
. , , , . 17 , , , , . ? UB ? ? ? , khim , , , ( ) , .
. , , — data science, , , — . . . , , ( ), . , . , , — .
, , — .
POD memcmp
? .
, char*
, ? .
unique_ptr
, , , ? .
trivially copyable/constructible/etc types, , ? .
, , , ? .
. . . , .
? ? ! « » ( laba1.cpp
) , gcc -O3 -march=native
( ? ?). , 2-5%, . ? 2-3 . , , .
memcpy
— , . C++20. C++20 , , , .
, - , , , , , , , . C++ , , . , , - C++03.
— , . . , , .
, , . 20 , uniform initialization syntax, 21 , uniform, C++20 uniform . , - initializer list? - , , …
— , , , , . uniform initialization syntax, std::vector<int> foo(n, val)
, , , n
val
. , , , , .
, , - , , . . , , . 10 - , . , , .
.
- NeoCode C++20.
requires C1<T::type> || C2<T::type>
, requires (C1<T::type> || C2<T::type>)
— ? , . (╯°□°)╯︵ ┻━┻ - , gcc-10 vim. : UB, , . : «The workaround vim uses to avoid these failures is to disable buffer overflow checks from being emitted by using -D_FORTIFY_SOURCE=1 define». vim, . --, .
- ESR ( - ) , C .
- , .
- . , , - .
- PVS Studio , ,
memcpy
/memset
, . , ? - , ,
memset
. . , , ( , , !). , , « memset
)))». , , , , memset
, ( ?). , , .
CVE - , - , - , -… , , .
, .
, . .
, , , , - - , , . « , UB» — , , . . . . , . , . . , ?
. . , . , , , , . , UB. . , - , .
, - — - , constexpr
. , , - « , ».
, . , .cpp
- 5-7 ? 5 ? ? , . 5-10 ? 32 64 , 8 ? kloc, ? , .
. , , , , , . ? . ? . ? -. Reproducible builds? --. , , , - . , , , - , .
, . , , , ( !), , .
.
, .
? . . . ? , , . , , , , with flying colors. , . , , , , .
. , , - , , , , , , « », « ». , - - - - . — , - , , - : « 0xd34df00d? boost…»
, . (, ).
-, . ? ? ? - - - . ? ? 17 8-10 . - ( ).
, ?
, , — . , , - , . - , , , . , - .
, , , . . - , , - . C++, C++. , , — proof-of-concept-, , - cppreference - C++20.
En realidad, al principio pensé en llamar a este artículo "Me convertí en un dinosaurio", pero el problema es diferente. Esas personas, parecen estar bastante felices en su C ++ 03 o C99, o donde cristalizaron allí, pero tampoco estoy feliz allí. El problema es que, resulta, mi experiencia, mis habilidades, todo esto, este es el momento de los vertederos. Y si es hora de vertedero, ¿es hora de mí?
Y sí, de ninguna manera quiero decir que los profesionales apestan. En absoluto, las ventajas son hermosas, fui yo quien estaba cansada y terminada. El problema no está en ti, el problema está en mí.