- 1
- 2
- 3
- 4
- 5
- 6
<script>
var x = [];
var y = [];
x = [<?php foreach ($chart as $word => $f) echo "'$word', " ?>];
y = [<?php foreach ($chart as $f) echo "$f, " ?>];
</script>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
<script>
var x = [];
var y = [];
x = [<?php foreach ($chart as $word => $f) echo "'$word', " ?>];
y = [<?php foreach ($chart as $f) echo "$f, " ?>];
</script>
JS
Хотя этот вариант тоже с душком.
И да, я надеюсь, что данные отфильтрованы и не содержат кавычек, запятых и прочих разделителей.
у себя помещал!
Что такое "компилируемый" язык? Что мешает иметь интерпретатор языка, у которого уже есть компилятор? Вы таки не видели интерпретатор сишечки? Как жить без ghci?
2. Много ты питонов уже написал?
всё что нужно программисту в новом, 1975м году
Вот это как раз терпимо.
> консистентная
Ага... strncpy и strncat ахуенно согласованы - одна добавляет нолик, вторая - нет. С этими ноликами и n-функциями там вообще шалаш из костылей и изоленты... Ну и всякие strcat'ы возвращают бесполезный указатель на начало вместо няшного указателя на конец. Таймштамп можно сконвертить в локал и утц структуру, а обратно - только из локала...
--а они сами пидарасы что нарушили стандарт
--да? ты это скажешь юзерам, у которых софт упадет?
http://avva.livejournal.com/2323823.html
В роли пидарасов компания Adobe, у которой очередная версия Flash-плеера рухнула.
memmove - копирует память, проверяет пересечение
Только сишкомудак мог такое придумать.
Ты угадай например чем StringBuilder от StringBuffer отличается (это джава)
Что?
https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
Flash Player Download Center • Mac OS X 10.6+ (Intel processor)
• Windows XP, Windows Vista, Windows 7, Windows 8.1, Windows 10
• Windows Server 2008
• Red Hat 5.6+
• Open SUSE 11.3+
• Ubuntu 10.04+
Flash Player 11.2.202.223 ̃• Solaris x86 and Sparc
Flash Player 10.1.102.64 • Mac OS X 10.4+ (Power PC processor)
Flash Player 11.1.102.55 • Windows 2000
Flash Player 10.3.183.90 • Mac OS X 10.5
Flash Player 9 • Mac OS X 10.1-10.3
• Windows 98, Windows ME
• Red Hat 3&4
• Novell SUSE 9.x or 10.1
Flash Player 7 • Mac Classic (9 and earlier)
• Windows 95, Windows NT
• Red Hat Enterprise Linux WS v.3 & Red Hat Linux 9
• Sun Java Desktop System 1.0
Даже для помойного ведра (< 4.4) есть официальный.
>помойного ведра (< 4.4)
Ыыыыы :) Запомню.
Ты тут http://govnokod.ru/20055#comment329122 совсем слился?
Разработчики из Adobe решили, что недокументированное поведение memcpy будет сохраняться во всех версиях glibc, поэтому использовали memcpy вместо memmove. Т. е. использовали UB на всю катушку.
>29 сентября 2010 года. Пользователь "JCHuynh" открывает новый баг на сайте Федоры о том, что 64-битный флэш-плагин от Adobe перестал нормально проигрывать mp3-файлы, выдает все время какой-то треск вместо правильного звука. Adobe предоставляет два плагина для Линукса, но "официальный" 32-битный морально устарел и работает на 64-битных системах куда хуже "неофициального" 64-битного - этот последний как раз и начал барахлить.
Вообще действительно, нахуй менять поведение чтобы получить уникальное в зависимости от платформы/положения звезд? Это же раздолье для УБ.
Разница между официальными версиями и Square в том, что для официальных версий существует поддержка и пока официально не заявлено, что версия больше не поддерживается, для нее будут бекпортить критические патчи. (Поддержка заключается в том, что баги исправляют). Ну и любую поддерживаемую версию можно скачать (т.е. Адоб будет хостить ее по специальному адрессу). Square версий больше нигде не осталось на сколько я могу судить, проект продержался около полугода, после чего его закрыли.
тот же питон
Позволь мне процытироваць:
Combining Python 3 str/bytes with Python 2 unicode/str
So what happens when we somehow combine a Python 3 str/bytes with a Python 2 str/bytes/unicode? Let's think about it.
The future module by Ed Schofield forbids py3bytes + py2unicode, but supports other combinations and upcasts them to their Python 3 version. So, for instance, py3str + py2unicode -> py3str. This is a consequence of the way it tries to make Python 2 string literals work a bit like they're Python 3 unicode literals. There is a big drawback to this approach; a Python 3 bytes is not fully compatible with APIs that expect a Python 2 str, and a library that tried to use this approach would suffer API breakage. See this issue for more information on that.
I think since we have the magical power to change the interpreter, we can do better. We can make real Python 3 string literals exist in Python 2 using __future3__.
I think we need these rules:
py3str + py2unicode -> py3str
py3str + py2str: UnicodeError
py3bytes + py2unicode: TypeError
py3bytes + py2str: TypeError
http://blog.startifact.com/posts/the-call-of-python-28.html
у тебя существует несколько видов строк и совершенно нет никакого знания о том, какой тип строки ожидает функция
развели зоопаркбля
хорошо сделано в жабе и c# где все строки изначально были юникодные
>в апидоке у тебя не будет написано ожидает функция bytes или str (для второго пайтона)
Если это реально имеет значение то будет. Скорее всего. Лично помню баг где было не указано.
>хорошо сделано в жабе и c# где все строки изначально были юникодные
Хорошо, никто не спорит. В питоне байтовые литералы еще хранятся в кодировке файла .py. Поменял кодировку - программа сломалась.
бггг скажи это жабьим проперти файлам
В PHP6 собирались разработать «широкие» строки, символ которых мог без труда вместить больше восьми битов (кажется, хотели перейти на UTF-16, как в Винде, у которой эмодзи и иероглифы занимают по два места), но PHP 6 так и не вышел. А вышедший PHP 7 — это на самом деле PHP 5.7.
substr($stroka, 5, 1) — то же самое (можно вырезать даже несколько символов сразу).
mb_substr($stroka, 5, 1, 'UTF-8') — то же самое, но для многобайтовых кодировок. Причём поддерживается не только UTF-8, но и куча других: UTF-16 и UTF-32 (и с большим индейцем, и с маленьким), японские и китайские аналоги Юникода и прочие извращения:
http://php.net/manual/ru/mbstring.encodings.php
Возможно, некоторые функции PHP, выполняющие системные вызовы (типа файловых функций) пропустят не любую кодировку.
>Возможно, некоторые функции PHP, выполняющие системные вызовы (типа файловых функций) пропустят не любую кодировку.
Но они юникод хоть поддерживают?
Можно указать кодировку по умолчанию в ini-файле или вызовом специальной функции один раз.
> Но они юникод хоть поддерживают?
fopen создаёт файл с именем в локальной кодировке. Создать файл с юникодным именем мне не удалось. Ситуация примерно, как с zip-архивами.
Спасает только то, что в типичном приложении на PHP такая возможность обычно не требуется, если только ты на PHP не пишешь панель управления сервером.
Ааааааааааа :))))))))))))))))))))))))))))) 2016 год )))))))))))
А как же nagios?
PHP под Виндой обламывается. Но есть два костыля:
1. Расширение com_dotnet, через которое можно достучаться до объекта файловой системы.
2. Самопальное расширение, выполняющее эту задачу (последняя ссылка).
В Линуксе же можно надеяться, что строка в UTF-8 проканает.
>Платформозависимые КОСТЫЛИ
Ясно.
Пиздец. Впрочем, язык был узко заточен под веб.
Проблема возникает, если одну директорию сервера используют сразу несколько программ, и они хотят видеть уникодовские имена файлов.
http://pubs.opengroup.org/onlinepubs/007908775/xsh/wchar.h.html
ГПТ же
http://pubs.opengroup.org/onlinepubs/007908775/xsh/wchar.h.html
Вы не встретите в стандартной библиотеке функции htmlentities, правда?
На сях хуево и больно писать сложную логику, а после ЯПов со всякими лямбдами и мапами так и вовсе руки опускаются
слава богу уже ОЧЕНЬ ДАВНО си для этого не используется
а на пхп хуево писать вообще любое приложение
но он, к сожалению, используется
Применение "слябать на коленке сайт-визитку или запилить бложек на готовом движке и все это за 3 копейки или вообще самому можно сделать" никто не отменял.
Поэтому почти в каждой уважающей себя проге или либе есть своя замена кучи штатных функций, свой тип для кодов ошибок, своё логирование и вообще своя атмосфера и свои правила...
З.Ы. Ну зато у нас на сишке не так уныло и однообразно, как у жабистов ;)
им тоже не скучно
На рнр и жс тоже все не так уныло и однообразно. Сделать цикл с паузами - уже развлечение для ума.
Но то, что не связано со строками, вроде бы сделано хорошо.
строковый литерал есть, копировать строку можно, форматировать вообще классно (ну правда, printf же всякие хорошие), что не так?
> копировать строку
Не забыв выделить под неё буфер. Strdup - не стандарт. И не дай бог тебе надо упихать в буфер фиксированной длины без переполнений....
Ну так это в си везде так.
так что не так-то?
>>Не забыв выделить под неё буфер.
ну да, и что? Обычно ты знаешь размер источника, не так-ли?
fgets(), внезапно, принимает.
Половина функций не реентерабельна.
Хотите получить содержимое каталога? В библиотеке C это невозможно, нужны платформо-зависимые функции.
Кстати, поскольку Lua написана на портируемом стандартном C, в стандартной библиотеке Lua тоже нельзя получить содержимое каталога (без вызова сторонних платформо-зависимых программ).
Вы берёте отвёртку и не видите у неё крестовины. Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
Вы опускаете руку в коробку ещё раз - и не находите там больше ничего.
Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома из деревьев, срубленных отвёрткой без крестовины. Вы стучитесь в дверь, из неё появляется пистолет и стреляет вам в ногу, и они орут на вас за то, что вы сломали их дверь.
Вот что не так с C.
Вы берёте отвёртку и не видите у неё крестовины. Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
Вы опускаете руку в коробку ещё раз - и не находите там больше ничего.
Теперь представьте себе миллионы плотников, использующих такой вот набор инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!». И плотники показывают вам, построенные ими дома из деревьев, срубленных отвёрткой без крестовины. Вы стучитесь в дверь, из неё появляется пистолет и стреляет вам в ногу, и они орут на вас за то, что вы сломали их дверь.
Вот что не так с gost.
покормил