Компания Veracode опубликовала (http://www.marketwired.com/press-release/four-out-five-appli...) результаты исследования (https://info.veracode.com/state-of-software-security-report-...) зависимости числа уязвимостей в коде в зависимости от используемого языка программирования. В рамках исследования был выполнен статический анализ более 200 тысяч приложений, который показал, что наибольшее число связанных с безопасностью ошибок, присутствует в коде проектов на ASP, ColdFusion и PHP. Учитывая то, что на PHP написаны платформы Drupal, Joomla и WordPress, доля которых среди систем управления контентом составляет около 70% и на которых работает четверть крупнейших сайтов в Сети, язык PHP указан как приносящий наибольшие проблемы с безопасностью.В соответствии с опубликованным отчётом, каждые четыре из пяти приложений на PHP, ASP и ColdFusion не проходят как минимум один из демяти тестов OWASP на безопасность. В частности, при тестировании Veracode в 86% всех приложений на PHP выявлена как минимум по одной XSS-уязвимости (Cross-Site Scripting), в 56% проблемы подстановки SQL-запросов, 61% - возможность подстановки кода, 50% - утечки информации, 73% - проблемы с шифрованием, 58% - проблемы с аутентификацией, 67% - выход за пределы дозволенных директорий. В более современных языках, таких как .NET и Java, данные показатели почти в два раза ниже. Что касается тестов OWASP, то все десть тестов прошли только 19% приложений на PHP, для сравнения все тесты прошли 60% программ на C/C++.
Список платформ по числу критических уязвимостей в коде выглядит следующим образом:- Classic ASP - 1686 проблем на мегабайт кода (из них критических 1112)
- ColdFusion - 262 проблем на мегабайт кода (из них критических 227)
- PHP - 184 проблем на мегабайт кода (из них критических 47)
- Java - 51 проблем на мегабайт кода(из них критических 5.2)
- .NET - 32 проблем на мегабайт кода (из них критических 9.7)
- C++ - 26 проблем на мегабайт кода (из них критических 8.8)
- iOS - 23 проблем на мегабайт кода (из них критических 0.9)
- Android - 11 проблем на мегабайт кода (из них критических 0.4)
- JavaScript - 8 проблем на мегабайт кода (из них критических 0.09)<center><a href="https://info.veracode.com/state-of-software-security-report-... src="https://www.opennet.dev/opennews/pics_base/0_1449262313.png&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
URL: http://www.marketwired.com/press-release/four-out-five-appli...
Новость: http://www.opennet.dev/opennews/art.shtml?num=43458
средняя температура по больнице
А разве Жабка не победила? Подождём что скажет Изя.
Всегда считал, что PHP это лазейка для злоумышленников, а по этой статистике оказывается все не так плохо. А сайты на Microsoft ASP и .NET хоть и имеют дырявый код, но вломов практически нет. И почему-то про HTML5 нет ни слова. Кто как хочет, так и делает статистику. Не объективная статистика.
> А сайты на Microsoft ASP и .NET хоть и имеют дырявый код, но вломов практически нет.Эффект неуловимого Джо?
> И почему-то про HTML5 нет ни слова.Может быть, это как-то связано с тем, что HTML это НЕ язык программирования?
> А сайты на Microsoft ASP и .NET хоть и имеют дырявый код, но вломов практически нет.Это связано с тем, что очень мало публично доступных ресурсов на этих технологиях. В основном это всё используется в интранетах за семью NATами и без публичных IP.
Смешали в кучу языки, платформы и операционные системы. Крутое сравнение
Я даже не слышал о языках программирования Android и iOS. :( А вообще да, JS идеален. Кстати, выборка проводилась ведь в великом и ужасном вебе, никаких низменных технологий прикладного программирования не попало в эту великолепную выборку, я надеюсь?
>> AndroidDalvik/ART же (да, это не совсем JAVA, если кто не знал).
>> iOS
Objective-C, не?
У меня есть коллега программист, который по роду службы пишет исключительно на C++ под Андроид. Для него это просто Линукс.
>> iOS
>Objective-C, не?не. разница такая же, как между системным блоком и процессором
А ведь многие домохозяйки называют процессором именно системный блок.
Домохозяйки и монитор "компьютером" считали, мониторы плоскими не стали.
Впрочем их фантазии-таки были воплощены в лице iMac :)
О, вот и поколение соросовских учебников подтянулось. "Процессор" - сокращение от "процессорный блок" (прикинь, раньше он не был "системным"), и порождено оно отнюдь не домохозяйками.
"А ведь многие домохозяйки называют процессором именно системный блок."Всё правильно они называют, со своей т. зрения. Во вселенной домохощяек действительно есть неведомый жителям айтишной "Фселенной", кухонный процессор - а все что зудит и вибрирует как процессор кухни - этот процессор и есть. Тут ньютоновская космология заканчивается и начинается квантовая относительность в виде текстового процессора, запущенного на системнике кухонного, дабы чиркуть пару строк безотрывно от сериала.
Как бы кроме ЯЗЫКА есть еще среда исполнения и/или виртуальная машина. Сам по себе голый язык неинтересен в плане оценки безопасности. Ваш, КО.
Ява-программисты настолько тупы что даже при всех своих проверках диапазонов, мусоросборщиках и прочих костылях пишут в 2 раза больше ахинеи, чем плюсовики, которым приходится следить за бОльшим количеством нюансов.
Всё ясно.
Не ясно только что такое iOS и Android в этой таблице. Предлагаю эти данные игнорировать.
> Не ясно только что такое iOS и Android в этой таблице. Предлагаю эти данные игнорировать.всё просто, там и так данные пользователей п..ся вендором, потому чать ошибок в приложениях отсутствует как класс.
Да ладно. =) Что там за проблемы с безопасностью на Spring или EJB? Все SQL запросы экранированы или вообще на Criteria API. Все проверки это дело коллекций на этапе компиляции, а скорее даже в самой IDE. Работы с null в идеале нет совсем, как и преобразование типов. Если неправильно разграничивают права доступа в веб-приложениях, то это уже просто невнимательность.
Пожалуй ошибки могут быть только в синхронизации (лишняя или её отсутствие), чтении бинарных данных без фиксированного шага и проверки длины массива и подобном. Правда как допустить ошибку используя встроенный фрэймворк для работы с потоками вместо wait/notify не совсем понятно.
Ещё можно отметить узкие места в Generics (шаблоны по Cи-шному), там неоднозначность бывает при перегрузке функций, неоднозначность при перегрузке методом в совместимыми типами параметров. Использование велосипедов вместо встроенных инструментов, которые внутри часто используют native реализации функций на C/C++. Использование более тяжелых операция вместо легких аналогов (в основном при работе со строками или Stream) Конечно можно ещё отметить незакрытие close() потоков/ресурсов, но это слишком простая операция.
Обобщения Явы не имеют ничего общего с шаблонами ЦПП.
Если выкинуть из списка 7-ю и 8-ю строчки, то вполне себе адекватная оценка.
> Если выкинуть из списка 7-ю и 8-ю строчкиЭто то в тексте который состоит всего из 3х строчек? Ну вот так и получаются странные вещи у разработчиков которые считают что за них должны думать gc, ide и т.д.
"из трёх", позорище
Наверное плюсы более многословны чем java (а оценка привязана к размеру кода). Но все равно как-то очень большой разрыв получается.
> Наверное плюсы более многословны чем javaне придумали ещё более многословного фреймворка с традициями разработки на нём кода чем ява.
На ABAP'е программировать не доводилось?
> Ява-программисты настолько тупыЗнаю весьма умных явистов. Но сам язык, как мне кажется, изначально дизайнили более под манагеров и предсказуемые (пусть огромные, пусть толпой) сроки.
При этом по критическим ошибкам плюсы обгоняют.
Так же веселит наезд на java в первой строчке таблицы...
Интересно, как считали "все приложения на PHP". Если каждую Джумлу и каждый ВордПресс на каждом сайте за отдельное приложение - странно, что статистика уязвимостей не уперлась в 99,9999...
> наибольшее число связанных с безопасностью ошибок, присутствует в коде проектов на ASP, ColdFusion и PHP ... PHP указан как приносящий наибольшие проблемы с безопасностью.Вот так новость.
зачем эту рекламную хню сюда тащить?
А руби где?
Хреновый из тебя поэт, если ты не знаешь где...
... и Perl
... и Python
ынтырпрайс не пишет на python - он пишет на пыхыпы.
> А руби где?
> ... и Perl
> ... и PythonЛибо не участвовали в забеге, либо не победили. Даже не знаю, чему больше радоваться (это если принимать данные всерьёз, не имея собственных).
> Либо не участвовали в забеге, либо не победили.It summarizes information about applications written in 11 of the most popular programming languages, including Java, .NET, .iOS, Android, C/C++, JavaScript, PHP, ColdFusion, Ruby and COBOL.
Руби точно есть.
> Руби точно есть.Да, уже позже заметил, но всяко спасибо.
Все на раст!
Ага, и рекламный слоган можно: "Кто не перешёл на раст, тот - ...!" Ну или наоборот: "Кто сидит на раст, тот - ...!" Это уж кому как нравится:)
больше для свифта подходит, не?
Я вот не въехал, на каком основании они делают вывод о причинно-следственной связи? Они тупо посчитали какую-то статистику, исходя из наблюдений, но... Допустим, в C++ меньше приложений имеют проблемы с криптографией -- это потому что C++ программисты лучше владеют криптографическими либами, или потому что C++ программисты реже пользуются криптографией?
Короче "британские учёные постановили..."
> Допустим, в C++ меньше приложений имеют проблемы с криптографией -- это потому что C++ программисты лучше владеют криптографическими либами, или потому что C++ программисты реже пользуются криптографией?это потому, что с/с++ инженеры имеют бОльший профессиональный кругозор и в общем он качественно глубже остальных. "проблема с криптографией" заключается в неправильном дизайне фичи. Была тут недавно новость о вирусе который шифрует диск и следом новость о том как автор налажал - пример как можно правильно впоспользоваться библиотекой и полностью свести на нет использование криптографии в приложении. Хотя, конечно, авторы обзора могли подразумевать что угодно.
> это потому, что с/с++ инженеры имеют ...Да-да, и я о том же. Можно придумать тысячи различных объяснений корреляции. Но такие фантазии чреваты. Если посмотреть на статистику пожаров, можно увидеть в ней прямую корреляцию, связь между количеством пожарных расчётов, тушивших пожар, и ущербом причинённым пожаром. Но попытка заменить связь корреляционную на причинно-следственную грозит тем, что мы придём к выводу, что присутствие пожарных на пожаре увеличивает ущерб. Вот Veracode, судя по использованию глагола affect, делает именно это. А вы втираете мне тут что-то про "профессиональный кругозор".
> Можно придумать тысячи различных объяснений корреляции. Но такие фантазии чреваты.Чревато бывает если объяснение придумано не мной, а какими-то другими людьми.
> ... мы придём к выводу, что присутствие пожарных на пожаре увеличивает ущерб.
Вот я потому и пишу выше, что такое возможно если объяснение придумано не мной.
> Вот Veracode, судя по использованию глагола affect, делает именно это
Они как-то посчитали статистику и показали результаты. Статистика местами спорная, похоже что она не всюду нормирована на контрольную выборку и имеет смещения. Но, тем не менее, это в основном статистика без объяснений почему оно так вышло.
Ты же прекрасно видишь в каком смысле используется глагол affected, он вообще никаким способом не может указывать на наличие причинно-следственной связи. Есть тест, как предикат преминяемый к приложению, и посчитанный процент выборки на котором он зафейлился (affected т.е.). Нужно изрядно упороться чтобы увидеть здесь отсылки к причинно-следственным связям.
Вот что бывает когда выводы и объяснения делаю не я.
> А вы втираете мне тут что-то про "профессиональный кругозор".
Я вам втираю объяснение почерпанное из множества источников разного рода. Все же, например, ожидают что пых будет в заднице по любому параметру связанному с качеством - ну оно так и получилось же. С кругозом примерно такая же фигня, только не настолько всем очевидная.
> Чревато бывает если объяснение придумано не мной, а какими-то другими людьми.То есть, когда вы сами подменяете наблюдаемую корреляцию причинно-следственной связью, то вам это кажется более валидным, нежели когда это делает кто-то другой? Любопытный выверт психики.
> Ты же прекрасно видишь в каком смысле используется глагол affected, он вообще никаким
> способом не может указывать на наличие причинно-следственной связи.В каком интересно? Если им был хотелось передать смысл глагола associate (или connect, link, bound, ...), то было глупо использовать для этого глагол affect, который вообще-то говорит о наличии прямого влияния субъекта предложения на объект, то есть о причинно-следственной связи.
> Я вам втираю объяснение почерпанное из множества источников разного рода.
Втирайте дальше. Но чуточку пониже и нежнее, если вам не сложно.
> То есть, когда вы сами подменяете наблюдаемую корреляцию причинно-следственной связью ... Любопытный выверт психики.Факт нельзя подменить, его можно только дополнить. И вы правильно делаете, что пытаетесь искать разрешение придуманного вами же выверта в психологии, только заходите не с той стороны. Причина, по которой вы упорно хотите видеть здесь какую-то подмену, находится в вас.
> ... глупо использовать для этого глагол affect, который вообще-то говорит о наличии прямого влияния субъекта предложения на объект, то есть о причинно-следственной связи.
Формально применение предиката можно записать как {Pred [m] -> bool}. И таки да, если вдруг оказалось что {Pred[m] -> true}, то в самом деле предикат оказал влияние на объект. Употребление 'affected' здесь более чем корректно и за этим affected не стоит никакого иного глупобого смысла.
А корреляция возникает если, например, два предиката [Pred1, Pred2] применяют к выборке и видят что оба значения имеют тенденцию меняться одновременно. В таких случаях говорят, что Pred1 и Pred2 коррелируют между собой. В статье выше этого нигде нет, никакие корреляции не рассматриваются и не устанавливают никаких причинно-следственных связей.
Весь этот бред 'они делают вывод о причинно-следственной связи' твоя личная шиза, от глупости или действительно от шизы.
> Факт нельзя подменить, его можно только дополнить.Где вы здесь видите факт? Статистика -- это не факт, а результат обработки фактов. Ваши утверждения про C++-программистов -- это тоже результат обработки каких-то там только вам известных фактов. Не надо демонстрировать свой кругозор, путая тёплое с мягким: неубедительно выходит.
> Весь этот бред 'они делают вывод о причинно-следственной связи' твоя личная шиза, от
> глупости или действительно от шизы.О да, детка, давай перейдём на ad hominem, раз уж иначе ничего убедительного сказать не удаётся. Не стесняйся, давай сразу русским матерным, я от него кончаю.
> Формально применение предиката можно записать ...
Вот вы это зачем всё пишите? Чтобы похвастаться своим кругозором, продемонстрировав знакомство с матлогикой и исчислением предикатов? Молодца! Вы отлично помните программу первого курса!
Но я, простите, не считаю эту демонстрацию поводом повторять свои высказывания о том, почему слово affected тут совершенно неуместно. Между прочим столь же неуместно, как и ваши слова про "предикат, влияющий на объект": предикат вообще ни на что не влияет, он существует исключительно в воображении человека. Вы никогда не думали хоть немного расширить свой кругозор за границы C++, с тем чтобы, например, не путать окружающую вас реальность с содержимым вашей головы?
>> Допустим, в C++ меньше приложений имеют проблемы с криптографией -- это потому что C++ программисты лучше владеют криптографическими либами, или потому что C++ программисты реже пользуются криптографией?
> это потому, что с/с++ инженеры имеют бОльший профессиональный кругозорС чего вы это взяли? Это только в рф считается, что уметь чистить зубы ректально это больше знать о чистке зубов.
Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер который таки научился нечто большее чем alert('HelloWorld') ? Что то я не уверен в объективности данных
кстати, из js потихоньку делают приличный язык. Переменные с нормальной видимостью, константы, интерполяция строк, ленивые вычисления, промисы, и т.д.
Почти все, кроме ленивый вычислений можно было делать и на старом яваскрипте, а yield появился скорей больше для того чтобы все таки избавиться от калбеков.
> Почти все, кроме ленивый вычислений можно было делать и на старом яваскрипте,
> а yield появился скорей больше для того чтобы все таки избавиться
> от калбеков.А по моему таки коллбеки очень мощная технология, не даром же она перекочевала еще и в пхп, что в принципе вообще редкость чтобы из жабаскрипта хоть чтото хоть куда то перекочевало.
В мире программирования это еще 50 лет назад называлось лямбдами.Колбеки, бля. Хотя что я хочу от джавоскриптеров...
Угу.
А за пределами лиспа и, до не таких далеких времен, всей изотеричной функциональщины, можно пример?
В С никогда не слышал чтоб указатели на функцию лямбдами звали. А вот как callback-и их используют.
В С++ лямбды завезли не так давно, а не к ночи помянутый MFC на callback-ах таки был.
В Java интерфейсами как callback-ами пользовались, и про лямбды тоже не так давно узнали.
В Python лямды есть. Но чтобы пользовались ими как call-back-ами - не видел. Правда не так много я его видел.Так что callback-и далеко не всегда лямбды. По моему мнению, конечно.
Лямбды это лямбды, а коллбеки это коллбеки, не путайте кислое с пресным
Да, я с вами согласен, жабаскрипт стоял мертвым камнем лет так эдак с десять(снежок на нем рисовали, и прочие свистоперделки), и сейчас действительно его начали развивать, по крайней мере мне последняя редакция ECMA script понравилась, понемногу присматриваюсь, вдруг таки разовьется в полноценный язык, но пока я всеже не готов тратить свое время и остаюсь преверженцем class based объектной ориентированности(С++/Java/PHP) прототипы как то не мое.
> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
> не уверен в объективности данныхЗабавное утверждение учитывая появление HTML5 приложений популярность которых только растёт с каждым днем.
>> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
>> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
>> не уверен в объективности данных
> Забавное утверждение учитывая появление HTML5 приложений популярность которых только
> растёт с каждым днем.Какое отношение имеет HTML5 к джаваскрипту?
> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
> не уверен в объективности данныхFirefoxOS значит это тоже Hello World? Или сервер на node.js?
>> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
>> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
>> не уверен в объективности данных
> FirefoxOS значит это тоже Hello World? Или сервер на node.js?А еще есть Node OS для особо утонченных душевных организаций) Nodejs - очень узкоспециализированная вещь, и лично я ее не считаю конкурентом полноценному веб серверу, это скорее развитие идеи разделения веб приложений на фронт енд и бек енд. Еще могли сюда же добавить монгу, если уж зашла речь о альтернативных к LAMP платформам.
>> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
>> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
>> не уверен в объективности данных
> FirefoxOS значит это тоже Hello World? Или сервер на node.js?И к слову о Firefox OS он реализован на C++ и Java а своистоперделки да(которые если даже выпилить операционка продолжит загружаться) - на жабаскрипте
>>> Реклама джаваскрипта? Из которого рано или поздно все равно уходит любой программер
>>> который таки научился нечто большее чем alert('HelloWorld') ? Что то я
>>> не уверен в объективности данных
>> FirefoxOS значит это тоже Hello World? Или сервер на node.js?
> И к слову о Firefox OS он реализован на C++ и Java
> а своистоперделки да(которые если даже выпилить операционка продолжит загружаться) - на
> жабаскриптеИ нода кстати ноже написана на сиплюсах, другое дело что она поддерживает синтаксис джаваскрипта, но причем тут это я что то с трудом понимаю.
слесаря тоже считают что самая ломающаяся машина - Уралздесь показан рейтинг не безопасности а распространённости
То, что PHP и JS в разных углах, не смутило? Отличная логика!
А что нода уже набрала такую-же распространенность как и php? Что-то я не вижу.
Это здесь причем? Он про популярность языков, а не платформ.
> JavaScript - 8 проблем на мегабайт кода (из них критических 0.09)Объясните мне, что это за попугаи. Пока в целом выглядит как бред робомаркетолога.
Что нажать чтобы скачать raw data?
Ну так на JS UI пилят, какие критические проблемы могут быть с ним?
Я правильно понял, JSP засунул всех в зад?
после того, как они свои замеры поделили на мегабайт кода, результат стал близкий к random()
так что, отвечая на твой вопрос: нет, ты неправильно понял
Отчет почитать, так у PHP самое высокое качество кода. ага.Маркетологи они такие маркетологи.
Проблем не приносит то, что широко не используется. Всё логично.
> JavaScript - 8 проблем на мегабайт кода (из них критических 0.09)Это потому что реальная безопасность всё равно реалищуется на сервере, а не в браузере?
А если бэкенд на node.js например?
Он только только стал популярным, бэкэнд на ноде, да и большой серьезности пока не обрел.
> А если бэкенд на node.js например?Ага, и фронтенд на ассемблере))))
>> JavaScript - 8 проблем на мегабайт кода (из них критических 0.09)
> Это потому что реальная безопасность всё равно реалищуется на сервере, а не
> в браузере?Можно даже сказать что не безопасность а вообще вся логика приложения)
А для PHP режим сторогой типизации рассматривали? Он в 7.0 появился.
И уже появились тонны приложений эту самую в PHP 7.0 строгую типизацию использующие? Или в чём тогда рассматривать?
похапэхе "строгая типизация" - как запорожцу антикрыло. Поганый язык можно вылечить только полной ампутацией из Тырнета.
Эрлангу капец?
А пхп 7й вышел. Он теперь всех поревет!
> Эрлангу капец?
> А пхп 7й вышел. Он теперь всех поревет!нормально Эрлангу )
на днях - следующий майор релиз будет с новым(возможно)компилером :)
он вместе с адой и хаскелем - главный в тройке hardware/software fault-proof/resistant ЯП, подпираемый снизу всеми тремя ветвями паскалей(щитаем модулу-2 за один из них ;)на эпл или смаллталк - Большую 24/7/365 HA-систему писать непросто(или на D или на форте ;)
а на эрланг, если руки(а точнее - голова)привыкнет - можно накатаывать оч. быстро, особенно если готовые наработки/либы есть.
> а на эрланг, если руки(а точнее - голова)привыкнет - можно накатаывать оч.
> быстро, особенно если готовые наработки/либы есть.На ём и делали систему управления кластером для "Ломоносова" (доклады были на highload).
UML должен быть самый безопасный! Нарисовал заказчику диаграмму на доске, а на вопрос "а где же программа" - всегда можно сказать: ну, программа - это же небезопасно! Мы всегда заботимся о безопасности наших клиентов!
> UML должен быть самый безопасный! Нарисовал заказчику диаграмму на доске, а на
> вопрос "а где же программа" - всегда можно сказать: ну, программа
> - это же небезопасно! Мы всегда заботимся о безопасности наших клиентов!не путаем CASE и ЯП, реализующий "выхлоп" оных, посредством приложения рук программистов, после того как софтверные инженеры потрудились.
одно - другому не мешает, впрочем и без друг дружки - плохо работает в разработке ПО.
> .NET - 32 проблем
> C++ - 26Чушь собачья. Во-первых, не .NET, а скорее C#, а во-вторых, сипиписная таймбомба сама по себе проблема в 100 баллов! Цэшарп на порядок уменьшает количество тухляка в коде.
А при программировании пользоваться мозгом не пробовали? Дожились. Выросло поколение, которое не мыслит жизни без сборщика мусора.
Зато потом лет через 5 откапывают дыру в безопасности, которая возникла из-за умелого обращения с указателями.
> Зато потом лет через 5 откапывают дыру в безопасности, которая возникла из-за
> умелого обращения с указателями.Если руки кривы и выходят каракули, то авторучка в этом не виновата. Что, трудно свой аллокатор-заглушку сделать, чтобы он показывал утечку памяти? Чего только люди не придумают, лишь бы не учиться грамотной работе с указателями
>> Зато потом лет через 5 откапывают дыру в безопасности, которая возникла из-за
>> умелого обращения с указателями.
> Если руки кривы и выходят каракули, то авторучка в этом не виновата.
> Что, трудно свой аллокатор-заглушку сделать, чтобы он показывал утечку памяти? Чего
> только люди не придумают, лишь бы не учиться грамотной работе с
> указателямиПотому что ей можно не учиться. И будет работать. И это не косяк неуча, а косяк языка.
> А при программировании пользоваться мозгом не пробовали? Дожились. Выросло поколение,
> которое не мыслит жизни без сборщика мусора.Зачем о нём каждый раз помнить? В чём сакральный смысл?
В более современных языках, таких как .NET и Java, данные показатели почти в два раза ниже.ММММММ
Интересное соотношение - уязвимости на мегабайт кода. На Си например надо гору кода написать чтобы что-то получить тоже самое, что на одном из вышеперечисленных, но ведь это не может автоматически значить, что он безопаснее (там другие критерии надо использовать)
SQL надо было добавить, а то как то не полный обзор.
PS. Buzinga
Android и iOS стали языками программирования ... Даешь для корректности сравнения языки Windows и x86!
It summarizes information about applications written in 11 of the most popular programming languages, including Java, .NET, .iOS, Android, C/C++, JavaScript, PHP, ColdFusion, Ruby and COBOL.COBOL, Карл!
>COBOL, Карл!А вы что, не в курсе, что, если считать количество написанных строк на ЯП в год, COBOL все еще самый популярный ЯП в мире? :)
>>COBOL, Карл!
> А вы что, не в курсе, что, если считать количество написанных строк
> на ЯП в год, COBOL все еще самый популярный ЯП в мире? :)Я конечно слыхал о том, что legacy на COBOL еще весьма живо, но конкретно ваше заявление
вопиет о пруфлинке. Не такой уж даже C, к примеру, лаконичный чтоб не уделать
кобол как бох черепаху количеством быдлокода.
>>>COBOL, Карл!
>> А вы что, не в курсе, что, если считать количество написанных строк
>> на ЯП в год, COBOL все еще самый популярный ЯП в мире? :)
> Я конечно слыхал о том, что legacy на COBOL еще весьма живо,
> но конкретно ваше заявление
> вопиет о пруфлинке. Не такой уж даже C, к примеру, лаконичный
> чтоб не уделать
> кобол как бох черепаху количеством быдлокода.К примеру:
http://www.drdobbs.com/architecture-and-design/is-your-next-...
>>>>COBOL, Карл!
>>> А вы что, не в курсе, что, если считать количество написанных строк
>>> на ЯП в год, COBOL все еще самый популярный ЯП в мире? :)
>> [...] вопиет о пруфлинке. [...]
> К примеру:
> http://www.drdobbs.com/architecture-and-design/is-your-next-...Вы текст читали, или как обычно?
Ну где там _сравнение_? Откуда вообще оценка "Billions of lines of new
Cobol code"? Впечатление что эта козявка - из носу целиком.
>>>>>COBOL, Карл!
>>>> А вы что, не в курсе, что, если считать количество написанных строк
>>>> на ЯП в год, COBOL все еще самый популярный ЯП в мире? :)
>>> [...] вопиет о пруфлинке. [...]
>> К примеру:
>> http://www.drdobbs.com/architecture-and-design/is-your-next-...
> Вы текст читали, или как обычно?Читал, и даже имею представление о том, кто его автор.
> Откуда вообще оценка "Billions of lines of new
> Cobol code"? Впечатление что эта козявка - из носу целиком."Козявка" - из доклада Datamonitor за 2008 г. Если название фирмы ничего не говорит - не мои проблемы.
> "Козявка" - из доклада Datamonitor за 2008 г.На указанной странице (весь опус лень читать) нет ссылок на доклад, увы (кстати, самая
поздняя цитированная дата - 1997). Да мне ж не жалко, просто доказательств (даже в виде
ссылок на какие-то обзоры) так и не увидел.
С каких это пор языки с защитой от переполнения и прочего стали опаснее языков с ручным управлением памяти. Я уже молчу про такие !"языки" как iOS и Android
Подозреваю, что дело тут в пороге вхождения. Кодить на скриптовых и высокоуровневых языках проще, чем на плюсах, вот и кодют тут всякие...Можно, например, взять ассемблер -- "опаснее" языка сложнее найти. Шаг вправо, шаг влево, и кирдык. Но из-за его сложности, на нём пишут меньше "программистов". И тщательнее отлаживают. В результате и качество кода выше.
А если взять всякие PHP/JS/..., где половина кодеров думает "А... ворнинг какой-то. Работает же, и хрен с ним", то чему удивляться?
Чем проще язык, тем больше соблазна побыстрее "запилить" основной code path. А проверять ошибки будем как-нибудь потом, если время останется. Надо же основные фичи реализовать.
Я вам так скажу по личному опыту, приходит проджект манагер и говорит - нужно запилить вот такой вот функционал за 3 часа, и совершенно прогнозируемо что в дальнейшем будут и иньекции и кросс сайт скриптинг но всем как обычно. Я за качество кода в противовес количеству, но это противоречит практике большинства веб студий и вообще веб проектов тк они все построены на человекочасах а никак не на качестве кода. Ты можешь юзать серверные плейсхолдеры + именуемые списки входящих индексов вместо mysql_real_escape_string() и ты получишь 100%ную защиту от инъекций, но после этого скорее всего в вашей фирме отпадут все джуниоры потому как SQL запрос больше не дебажится, и тебя за это просто уволят. Так что дело всеже не в ЯП а в том как его используют.
влияние безалаберности на выбор языка программирования?
> влияние безалаберности на выбор языка программирования?Именно так! Влияние способа заточки ножа на кол-во отрезанных пальцев.
Идиоты, сэр...
дык !
пэхэпы, жабоскрипт, руби. )
на бидоне - благодаря JIT недавнему - в теории можно почти на уровне жабы и .нет ваять Небольшие вещицы :) а вот остальное - пц.
платформы, языки программирования - смешались кони в кучу.
причем включая разные реализации друг дружки(feat level) и версии :)
в целом "высоконадежных" ЯП в списке нету НИ ОДНОГО :)
и если о умеренном примнении C++ с оговорками там где тербуется "надежность" - можно говорить, то за остальное - канделябром по макушке и "пейсателей" и тех кто их нанял и тех кто всем этим бардаком рулит и владеет(аналогично за ущерб(жизням или леньгам)вследствие - отдельно).