Сортировка является одной из базовых операций при обработке данных, которая используется в самом широком спектре задач. В данной статье будет рассмотрена сеть обменной сортировки со слиянием Бэтчера для параллельной сортировки массива произвольного размера.
Рубрика «C» - 78
Сеть обменной сортировки со слиянием Бэтчера
2016-02-16 в 8:12, admin, рубрики: C, Алгоритмы, паралельная сортировка, параллельное программирование, Программирование, Сеть сортировки, сортировка Бэтчера, метки: паралельная сортировка, Сеть сортировки, сортировка БэтчераMyHTML — HTML парсер на «голом» Си с поддержкой POSIX Threads
2016-02-11 в 8:51, admin, рубрики: C, html, open source, parser, thread
Всем привет!
Как можно было догадаться из заголовка речь пойдет о парсинге HTML (далее хтмл).
Критика статьи «Как писать на С в 2016 году»
2016-02-10 в 11:04, admin, рубрики: C, codeguide, howtocode, Inoventica Services, Блог компании Inoventica Services, кодегайд, критика, обсуждение, Программирование
От переводчика:
Данная публикация является третьей и последней статьей цикла, стихийно возникшего после публикации перевода статьи "How to C in 2016" в блоге Inoventica Services. Тут критикуются некоторые изложенные в оригинале тезисы и окончательно формируется законченная "картина" мнений о поднимаемых автором первой публикации вопросах и методах написания кода на С. Со второй публикацией можно ознакомиться здесь.
Мэтт (на сайте которого не указана фамилия автора, по крайней мере, насколько мне известно) опубликовал статью «Программирование на С в 2016 году», которая позже появилась на Reddit и Hacker News, именно на последнем ресурсе я ее и обнаружил.
Да, можно бесконечно "обсуждать" программирование на С, но есть аспекты, с которыми я явно несогласен. Эта критическая статья написана с позиций конструктивной дискуссии. Вполне возможно, что в отдельных случаях прав Мэтт, а заблуждаюсь я.
Я не цитирую всю публикацию Мэтта. В частности, решил опустил некоторые пункты, с которыми согласен. Начнем.
Шизоидный язык программирования самообучающихся алгоритмов «Автор»
2016-02-09 в 15:42, admin, рубрики: C, c++, Автор, ИИ, основы, язык программирования, метки: АвторЯ хочу поведать миру принципиально новый язык программирования, аналогов которому нет во всём мире.
В своё время я был, одержим идеей искусственного интеллекта. Когда я стал программистом, я понял, что всё не так просто, и можно сказать даже гораздо сложнее, чем казалось. Я не переставал работать над программами и осваивал все известные нынче языки программирования. Я пытался переложить на машину как можно больше собственных мыслительных процессов, и оказалось, что они занимали большие объемы кода и сами умели очень мало. Я пытался заставить программы учится, делать выводи, и использовать их в дальнейшем. Но все языки программирования имеют одинаковый недостаток – они не могут рассматривать алгоритмы, как данные. Программы не могут учиться, по тому, что они не имеют доступа к самим себе.
Читать полностью »
Кортежи в языках программирования. Часть 1
2016-02-09 в 10:54, admin, рубрики: C, c++, D, Go, Rust, swift, tuples, кортежи, Программирование, языки программирования, метки: tuples, кортежи Сейчас во многих языках программирования существует такая конструкция, как кортежи (tuples). Где-то кортежи в той или иной мере встроены в язык, иногда — опять же в той или иной мере — реализуются средствами библиотек. C++, C#, D, Python, Ruby, Go, Rust, Swift (а также Erlang, F#, Groovy, Haskell, Lisp, OCaml и многие другие)…
Что же такое кортеж? В Википедии дается достаточно точное определение: кортеж — упорядоченный набор фиксированной длины. Определение хоть и точное, но для нас пока бесполезное, и вот почему: задумывается ли большинство программистов, зачем понадобилась эта сущность? В программировании существует множество структур данных, как фиксированной, так и переменной длины; они позволяют хранить различные значения — как однитипные, так и разных типов. Всевозможные массивы, ассоциативные массивы, списки, структуры… зачем еще и кортежи? А в языках со слабой типизацией — и тем более, разница между кортежами и списками/векторами совсем размытая… ну нельзя добавлять в кортеж элементы, ну и что с того? Это может ввести в некоторое заблуждение. Поэтому стоит копнуть глубже и разобраться, зачем же на самом деле нужны кортежи, чем они отличаются от других языковых конструкций, и как сформировать идеальный синтаксис и семантику кортежей в идеальном (или близком к идеальному) языке программирования.
В первой части мы рассмотрим кортежи и кортежеподобные конструкции в распространенных и не очень языках программирования. Во второй части я попытаюсь обобщить и расширить и предложить наиболее универсальный синтаксис и семантику кортежей.
Читать полностью »
Undefined behavior ближе, чем вы думаете
2016-02-05 в 11:06, admin, рубрики: 64-бита, 64bit, C, c++, pvs-studio, undefined behavior, x64, Блог компании PVS-Studio, неопределённое поведение, Си, метки: undefined behavior, неопределённое поведениеМногие считают, что неопределённое поведение программы возникает из-за грубых ошибок (например, запись за границы массива) или на неадекватных конструкциях (например, i = i++ + ++i). Поэтому для многих является неожиданностью, когда неопределенное поведение вдруг проявляет себя во вполне привычном и ничем не настораживающем коде. Рассмотрим один из таких примеров. Программируя на C/C++ никогда нельзя терять бдительность. Ад ближе чем кажется.
Обзор и сравнительное тестирование ПЭВМ «Эльбрус 401‑PC». Часть четвёртая — бенчмарки
2016-02-03 в 13:03, admin, рубрики: 7-zip, benchmark, C, CoreMark, E2K, fio, gcc, intel atom, Intel Core i7, iperf, java, LCC, Linpack, linux, mplayer, openssl, Pgbench, postgresql, R500, SciMark, sparc, SPECjvm, UnixBench, Железо, МСВС, МЦСТ, Софт, ЭльбрусЗаключительная часть статьи посвящена сравнению производительности нового российского компьютера с зарубежными конкурентами и собственными предшественниками.
Осторожно: много букв и картинок!
Обзор и сравнительное тестирование ПЭВМ «Эльбрус 401‑PC». Часть третья — средства разработки
2016-02-03 в 13:00, admin, рубрики: C, c++, E2K, ELBRUS, fortran, gcc, gdb, java, LCC, VLIW, Железо, защищённое исполнение программ, МЦСТ, Программирование, Софт, ЭльбрусПродолжаем обзор нового отечественного компьютера. После краткого знакомства с особенностями архитектуры «Эльбрус», рассмотрим предлагаемые нам средства разработки программного обеспечения.
man!( C => D )
2016-01-31 в 9:32, admin, рубрики: C, clang, D, dlang, Программирование, системное программированиеКаждый С-программист с опытом накапливает привычный багаж техник и идиом. Зачастую бывает сложно понять, как сделать то же самое в новом языке. Так вот, вашему вниманию предлагается коллекция распространенных паттернов на C и их эквивалентов на D. Если вы собираетесь перевести свою программу с C на D или ещё сомневаетесь стоит ли это делать, то эта статья для вас.