- 1
- 2
- 3
- 4
https://www.quora.com/As-a-software-engineer-in-your-opinion-what-are-the-biggest-bottlenecks-and-or-inefficiencies-in-programming-today
The key to overcoming this bottleneck, I believe, is live coding, whereby you can inspect and modify code and data while the program is running. Detect a bug? No problem. Immediately inspect the code and data to determine the cause. Make the appropriate changes. Continue execution. No need to save the code, compile the code and rerun the program from the beginning.
оказывается то, что делали пхпшники начала нулевых, правя по FTP в Notepad++ файлы на живом сервере это т.н. "Live coding", и за этим будущее
gueest8 06.02.2019 14:42 # 0
Rooster 07.02.2019 12:41 # 0
Rooster 07.02.2019 12:46 # 0
PA3yMHblu_nemyx 07.02.2019 12:48 # 0
gueest8 07.02.2019 12:48 # 0
PA3yMHblu_nemyx 07.02.2019 12:50 # 0
PA3yMHblu_nemyx 07.02.2019 12:50 # 0
gueest8 07.02.2019 12:51 # 0
В поздние нулевые люди изобрели JSON и проблема стала нерешаема. Теперь вот сайты от фигурной скобочки распидорашивает
1024-- 07.02.2019 12:58 # 0
PA3yMHblu_nemyx 07.02.2019 13:20 # 0
PA3yMHblu_nemyx 07.02.2019 13:09 # 0
Rooster 07.02.2019 13:12 # 0
http://govnokod.ru/25358#comment457774
вообще не туда приклеился.
PA3yMHblu_nemyx 07.02.2019 13:18 # 0
PA3yMHblu_nemyx 07.02.2019 13:12 # 0
PA3yMHblu_nemyx 07.02.2019 13:18 # 0
PA3yMHblu_nemyx 06.02.2019 15:03 # 0
Rooster 06.02.2019 15:07 # 0
Her 06.02.2019 18:25 # 0
guest8 06.02.2019 18:29 # −999
gost 06.02.2019 18:53 # 0
bootcamp_dropout 06.02.2019 19:00 # 0
http://php.net/manual/en/function.array-key-first.php
PA3yMHblu_nemyx 06.02.2019 19:01 # +1
array_key_last — Получает последний ключ массива
Раньше можно было только получить значение первого или последнего элемента функциями reset и end соответственно. Правда, очевидные названия?
Ну ещё для получения ключа первого элемента можно было использовать такую кобенацию:
С получением ключа последнего элемента (если массив разреженный) было хуже, потому что цикла в обратном направлении нет.
gost 06.02.2019 19:03 # 0
Длинные какие-то названия. То ли дело «begin()» и «end()»! Именно по этому я за «C++».
PA3yMHblu_nemyx 06.02.2019 19:36 # 0
gost 06.02.2019 19:38 # +4
PA3yMHblu_nemyx 06.02.2019 19:56 # +2
https://ideone.com/viiqHn
gost 06.02.2019 19:59 # 0
Rooster 06.02.2019 20:06 # +2
1024-- 06.02.2019 20:32 # +2
3.14159265 07.02.2019 01:24 # +2
Обычно с её помощью -1 приводят к false.
Rooster 07.02.2019 05:36 # 0
PA3yMHblu_nemyx 07.02.2019 11:55 # 0
gueest8 07.02.2019 12:13 # 0
http://govnokod.xyz/_25358/#comment-434913
и вывод классный
Rooster 07.02.2019 12:14 # +1
gueest8 07.02.2019 12:14 # +1
http://govnokod.xyz/_25358/#comment-434913
и вывод классный
Rooster 07.02.2019 12:20 # 0
Какой багор )))
Какой багор )))
А как это получилось?
PA3yMHblu_nemyx 07.02.2019 12:30 # 0
PA3yMHblu_nemyx 07.02.2019 12:34 # 0
guest8 07.02.2019 12:34 # −999
guest8 07.02.2019 12:36 # −999
guest8 07.02.2019 12:39 # −999
guest8 07.02.2019 12:44 # −999
guest8 07.02.2019 13:24 # −999
gueest8 07.02.2019 12:35 # 0
PA3yMHblu_nemyx 07.02.2019 13:21 # 0
PA3yMHblu_nemyx 07.02.2019 12:31 # 0
Rooster 07.02.2019 12:38 # 0
PA3yMHblu_nemyx 07.02.2019 13:19 # 0
Rooster 06.02.2019 19:59 # +4
gost 06.02.2019 20:08 # 0
А есть в «J» бесконечные списки?
Rooster 06.02.2019 20:15 # 0
guest8 06.02.2019 20:49 # −999
guest8 06.07.2020 00:30 # −999
guest8 06.07.2020 00:33 # −999
gost 06.07.2020 00:54 # 0
Именно поэтому я за «itertools.count()».
guest8 06.07.2020 01:04 # −999
gost 06.07.2020 01:07 # 0
UPD:
— Да, как и остальная функциушня в «Питоне», выглядит хуёво.
guest8 06.07.2020 01:24 # −999
guest8 06.07.2020 01:08 # −999
guest8 06.07.2020 01:26 # −999
Rooster 06.02.2019 20:30 # +1
Интересно, (-@*:) сделает джва прохода по массиву или сунет эти операции в один цикл. К сожалению исходники плохо поддаются онализу:( Наверное первый вариант сокращается до i.3
Rooster 06.02.2019 20:32 # 0
Rooster 06.02.2019 21:14 # 0
gueest8 06.02.2019 23:05 # 0
bormand 06.02.2019 23:06 # 0
guest8 06.02.2019 23:09 # −999
Rooster 07.02.2019 05:14 # 0
Rooster 07.02.2019 12:17 # +2
guest8 07.02.2019 12:19 # −999
PA3yMHblu_nemyx 07.02.2019 13:20 # +2
guest8 08.02.2019 17:57 # −999
Steve_Brown 08.02.2019 11:20 # 0
bormand 08.02.2019 12:26 # 0
O4epegHou_nemyx 08.02.2019 14:37 # 0
ЗЫ. в сях есть аналог ' CMOVE> ( перемешает от наибольших адресов к наименьшим )?
bormand 08.02.2019 14:44 # 0
Явно направление задать нельзя. А надо ли?
O4epegHou_nemyx 08.02.2019 16:33 # 0
В S" Forth" ' CMOVE и ' CMOVE> с фиксированным направлением , а ' MOVE сам выбирает направление, никакого UB в этом случае. Именно поэтому я за S" Forth".
> А надо ли?
Ну, может быть заранее известно пересекаются ли буферы и как, например когда сдвигаешь массив.
Kakou-mo_nemyx 08.02.2019 16:40 # 0
В общем, действительно, положение неопределённое.
3.14159265 06.07.2020 11:25 # +2
По этому поводу был забавный срач флешепидоров и libcщников, где-то в году 2013. libc копировало задом наперёд, потому пересекающиеся буфера работали нормально.
Однажды они memcpy оптимизировали, то ли штеуд быстрый rep mov завёз, то ли ещё по каким причинам стало удобнее копировать память вперёд. Но тут во флеш-шшш-шееее сломался звук.
По этому поводу даже Линус отписывался, мол почините, чтобы юзеры не страдали. На что libcшники говорят — нахуй нам это чинить, когда overlapped memcpy это UB?
И это правильно. Пользователи Адобе должны страдать.
nemyx 06.07.2020 11:58 # 0
Тем более, что чинилось это заменой в интерпретаторе «Флеша» вызова memcpy на вызов memmove. Так что библиотеку и вправду трогать не надо было.
guest8 06.07.2020 15:47 # −999
3.14159265 06.07.2020 16:22 # 0
Потому что кернеловцы НЕ ЛОМАЮТ ЮЗЕРСПЕЙС!!!
Mauro, SHUT THE FUCK UP!
It's a bug alright - in the kernel. How long have you been a
maintainer? And you *still* haven't learnt the first rule of kernel
maintenance?
If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs. How hard can this be to
understand?
[...]
> So, on a first glance, this doesn't sound like a regression
Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
garbage and idiocy from a kernel maintainer again. Seriously.
[...]
WE DO NOT BREAK USERSPACE!
guest8 06.07.2020 16:25 # −999
Kakou-mo_nemyx 08.02.2019 16:47 # 0
В случае MMIO или ещё каких-нибудь побочных эффектов направление может оказаться важным.
guest8 08.02.2019 17:56 # −999
bormand 08.02.2019 18:51 # 0
В MMIO области вообще страшно без volatile писать. А аргумент memcpy() не volatile.
З.Ы. На stm32f4 прикольно сделана mmio зона для usb. Она несколько килобайт, но оффсет внутри неё ни на что не влияет - твои данные тупо падают в очередь на отправку.
guest8 06.07.2020 15:47 # −999
bormand 06.07.2020 17:42 # 0
А насчёт зашкваривания памяти адресного пространства там и повеселее фишки есть. Например область адресного пространства, в которой ты видишь все биты оперативки как dword'ы.
guest8 06.07.2020 17:45 # −999
bormand 06.07.2020 18:31 # 0
Да, в других очередях (uart, spi) там надо в один регистр сувать по очереди.
> удобнее делать AND
Ну да, просто у ARM'ов нету операций над памятью в отличие от интела. Там только LD да ST к памяти обращаются. Поэтому такой костыль немного тактов экономит. Ну и неосиляторам битовой магии чуть легче живётся.
Rooster 07.02.2019 12:57 # 0
PA3yMHblu_nemyx 07.02.2019 13:19 # 0
guest8 07.02.2019 13:45 # −999
PA3yMHblu_nemyx 07.02.2019 13:46 # 0