Es hora de vertedero


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


All Articles