LINUX.ORG.RU

Сообщения nerdogeek

 

Рефакторинг сложных алгоритмов

Форум — Development

Вот есть такая проблема что логика программы очень сложная. Она сложная не потому, что написана плохо. Сложность кода естественным образом отражает сложность предметной области. Какие пути существуют в упрощении такого кода? Присматриваюсь к следующим вариантам: агентам (agent-oriented programming); явной state-machine; попытке разбить всё на компоненты, взамодействующие через передачу сообщений (SOA). На уровне кода всё становится чище (и проще в unit-тестировании), но на уровне семантики всё так же запутывающе сложно. Да и сами подходы имеют свои плюсы и минусы, оверхед. Одна задача решается, но создаются две новые.
Просто интересны истории успеха/неуспеха. Может кто-то писал ПО для авиации какой-нибудь, которое является системой зависящей от сотен параметров _одновременно_? Такие системы еще эволюционируют со временем (когда бизнес требования меняются). Кстати, в Linux kernel логика непростая, особенно в планировщике задач и i/o, но там вроде как революционные изменения происходят не часто.

 

nerdogeek
()

Опрос по некоторым несущественным аспектам бытия

Форум — Talks

Если у Вас чешется под нижней губой, Вы:
1. чешете пальцами
2. чешете зубами
3. чешете материальным предметом (ручка,карандаш,...)
4. терпите
5. наслаждаетесь
6. забиваете/игнорируете

 ,

nerdogeek
()

Психологи считают большинство программистов психически нездоровыми

Форум — Talks

Passive-Aggressive Programmer: история болезни
Там еще про системди есть.
Привет, ЛОР!

 , ,

nerdogeek
()

C++/Java и множественная диспетчеризация

Форум — Development

Как реализуется сабж в плюсах/йаве? Слышал в Lisp с этим всё хорошо.

 , ,

nerdogeek
()

Секрет экстравертов разгадан

Форум — Talks

Я вот подумал что неплохо было бы в будущем иметь возможность переселяться в чужие сознания. Но скорее всего те, кто не пренадлежат к категории интроверов (аутистов, хомо логикусов), заинтересованы в других людях чтобы понять их way of thinking/feeling. Т.е. по сути они это могут делать, минуя избирательное фильтрование на подсознательном уровне. Эмпатия, сочувствие, попытка понять что происходит внутри другого человека, его внутреннее состояние. Как-то надоедает жить королем в своем маленьком мирке, железном бункере, мастурбируя свое чсв и дурача себя на словах (внутренний диалог).
Что бы почитать/посмотреть по теме? Кастанеду, «нинужно», вещества и «все психологи-шарлатаны» не предлагать

nerdogeek
()

Язык программирования F# стремительно набирает популярность

Форум — Talks

Созданный при поддержке Microsoft функциональный язык программирования F# стремительно набирает популярность среди независимых разработчиков. Об этом свидетельствуют данные Tiobe Community Index.

Еще год назад в индексе Tiobe язык программирования F# занимал 69 строчку, тогда как сейчас он поднялся до 12 позиции и на его долю пришлось 1,216% кодов. По прогнозам Tiobe, еще через год F# будет уверенно входить в десятку самых популярных языков программирования.

В документах Microsoft Research говорится, что F# представляет собой объектно-ориентированный язык программирования, «позволяющий программистам при помощи простого кода решать сложные задачи». «Это простой и прогматичный язык программирования, его сила заключается в ориентированных на данные программировании, параллельном I/O-программировании, параллельном ЦПУ-программировании, скриптинге и алгоритмической разработке», - говорят в Microsoft.

Сейчас формальным куратором языка является F# Software Foundation, а также Microsoft Cloud Platform Tools Group. В альтернативном рейтинге Scala, язык F# занимает 42 строчку по популярности.

Tiobe составляет рейтинг на основе поисковых движков Google, Yahoo и Bing, а также открытых хранилищ исходников, таких как GitHub.

Согласно последнему рейтингу, лидирует по популярности по-прежнему язык С, который набирает 17,535%, следом идет Java с 16,406%. Оба языка за год сохранили первые и вторые места соответственно, однако каждый из них потерял примерно по 1%. На третьем месте расположился Objective-C с долей в 12,143%, а далее - С++ с 6,313% и С# c 5,572%. Также в ведущей десятке языков присутствуют языки программирования PHP (3.698%), Visual Basic (2.955%), Python (2.021%), JavaScript (1.899%) и Visual Basic.Net (1.862%).

Источник: http://cybersecurity.ru

 , ,

nerdogeek
()

О роли ИТ в современном обществе [2]

Форум — Talks

Продолжение предыдущей темы. Вот

 

nerdogeek
()

Востребованность Haskell программистов

Форум — Development

Такие дела
На лоре так любят решать многие задачи естественным образом используя ФП языки.
Есть ли среди вас профессиональные Haskell-программисты, которые зарабатывают на жизнь программируя ПО, используя Haskell как основной ЯП.

 ,

nerdogeek
()

Об эмоциональной окраске мышления

Форум — Talks

Стал замечать, что у людей необходимость мыслить приводит к совершенно различной и непредсказуемой реакции. Одни начинают нервничать, другие впадают в легкое возбуждение, у третьих - так вообще агрессия на лицо. Откуда это? Мне кажется это особенности воспитания родителями/школой. Когда необходимость думать обычно возникает как реакция на негативный внешний фактор. И тут на сцену выходит грозный родитель, злой преподаватель, который поставит низкий балл, а то и вооще приведет к отчислению (для студентов).
А ведь все должно быть как-то иначе... У людей длительная умственная деятельность приводит к стрессам, переутомлению и т.д. Потому что возникают где-то в глубинах психи образ неудачи, навлекающего на себя расплату перед обществом, и терзающим ЦНС. Всё это, разумеется, не достойно человека. Это достойно человеко-подобной обезьяны.
Дискасс. И привет, ЛОР!

 ,

nerdogeek
()

Lisp программы внутри C++

Форум — Development

Привет, ЛОР!
Представляю Вашему вниманию библиотеку, позволяющую писать на Lisp-подобном языке прямо в коде программы на C++.
InteLib

 ,

nerdogeek
()

О роли ИТ в современном обществе

Форум — Talks

Неплохая статья. Люблю статьи в которых больше вопросов и фактов, чем выводов. Потому что люди с жесткой позицией обычно весьма недалеки. Хотя все это не об этом.

 

nerdogeek
()

Посоветуйте систему автоматического доказательства теорем

Форум — Development

На логике первого порядка. Только не prolog.

nerdogeek
()

Сортировка списка во время компиляции

Форум — Development

Начал писать на досуге небольшую библиотеку шаблонных контейнеров. Вот ее часть, включая сортировку списка.
Эта замечательная программа определяет два списка, затем сливает их в один и сортирует. Во время компиляции. Ни одной переменной во время исполнения не пострадало.
А способен ли на такое Lisp, Haskell, Agda, Coq, Epigram или Mercury?

 , , ,

nerdogeek
()

Пингвины бегут за бабочкой

Форум — Talks

 ,

nerdogeek
()

Абстрактное, логическое мышление

Форум — Talks

Навеяно цитатой его Самого: «Hаука никак не оперирует образами, коими пользуется человеческое сознание. Hаука строит формальные системы. Которые напрямую сознанием как правило и вовсе не воспринимаются.»
Когда думалка думает в математических/логических терминах по соответствующим законам, в моем сознании возникают какие-то образы-аналогии в такт с чисто формальной цепочкой рассуждений. Может быть это ненужный оверхед для мозга: привязываться к каким-то визуальным (может даже слуховым) образам. Т.е. правильное мышление подковано оперировать формальными системами без привлечения сигнальных систем. Это похоже как «ботан» после ночи зубрежки квантовой физики, которую он вообще не понимает, сдает преподу на экзамене на «отлично». Так правильно?
В противовес высказыванию В. Луговского привожу высказывание А. Эйнштейна: «Воображение важнее, чем знания. Знания ограничены, тогда как воображение охватывает целый мир, стимулируя прогресс, порождая эволюцию.»
Где же истина, господа?

 

nerdogeek
()

diff: memory exhausted

Форум — General

Пытаюсь сравнить 2 текстовых файла ~5 Гб. Почти одинаковых. Итог:

> diff output.txt _output.txt 
diff: memory exhausted
Памяти 2 гига. Хотя если бы было больше памяти, сами файлы пропорционально были больше. Чем теперь диффить?

 

nerdogeek
()

Ассоциативная память

Форум — Development

Если известна функция распределения вероятностей по ключам, где вероятностью является частота использования ключа (вставка, поиск, удаление и т.д.), то какая структура данных/подход лучше для этого подойдет?
К примеру, известно что 10 ключей из миллиона будут использоваться в 90% случаев. Ясно что можно использоваться два дерева, одно для десяти наиболее вероятных ключей, другое - для остальных.

 

nerdogeek
()

Интеллектуальные экспертные системы

Форум — Talks

Огромный багаж знаний накоплен человечеством. Все эти знания неявно закодированы в книгах, статьях и прочих текстовых и графических представлениях. И самое главное в носителях - людях. В большей или меньшей степени носители имеют адекватные и объективные знания о различных предметных областях.
Может ли программирование в будущем перейти в форму разработки объектов, представляющих знания с четкой и формализованной семантической структурой? Тогда программы будут трактоваться как обработчики знаний. Возможно сами программы будут представлены в той же форме, что и сами знания.
К примеру, знания представлены в виде семантической сети. Программа тоже представлена в виде семантической сети.
Тогда появляется возможность некоторый определенный алгоритм представить в виде фрагмента семантической сети, которым смогут воспользоваться другие разработчики, при условии что язык представления знаний (семантическая сеть) унифицирован. Тогда отпадет необходимость в велосипедостроении в какой-то степени. Появиться возможность интегрировать знания, создавая все более интеллектуальные, мощные и гибкие системы как для работы со знаниями, так и для обычных вычислительных задач.

 

nerdogeek
()

Facebook все (почти)

Форум — Talks

Специалисты из Принстонского университета в США, применив методы эпидемиологического анализа к сервису Facebook, пришли к выводу, что соцсеть находится на «грани распада». К 2017 году она может потерять 80% своих пользователей, пишет RT.

Gо расчётам экспертов, распространение Facebook в последние годы напоминает некое абстрактное заболевание, «эпидемия» которого постепенно сходит на нет. Подробности исследования не сообщаются, однако, они сообщили, что в прогнозе угасания Facebook использована та же модель, с помощью которой ранее была точно рассчитана гибель некогда популярнейшей соцсети MySpace.

Недавно в СМИ были опубликованы данные, согласно которым с 2011 года Facebook покинули около 3 млн подростков. За последние три года доля пользователей в возрасте от 13 до 17 лет сократилась на 25,3%.

В конце 2013 года сообщалось, что всего через каких-то полвека Facebook рискует превратиться в интернет-кладбище. К 2065 году число мертвых в ней превысит количество живых. Пока в Facebook есть некоторое небольшое количество аккаунтов умерших людей. Но если здравоохранение не сделает никаких судьбоносных рывков, ко второй половине XXI века в социальных сетях число покойных и живых пользователей выровняется. А к 2100 году социальные сети могут окончательно превратиться в виртуальные кладбища.

Источник

 

nerdogeek
()

Глобальные переменные, синглтоны и прочее зло

Форум — Development

SUBJ
Как ограничить доступ к глобальному состоянию, разрешив только определенным классам чтение/модификацию (типа friend class в c++) определенного состояния? Использовать менеджер глобального состояния?
К примеру, есть 10 глобальных переменных и 20 классов, которые обращаются к некоторым из них.
Ясно, что отказавшись от глобальных переменных, придется передавать их через пол-кода, причем в этом коде потом кто-то по ошибке возьмет, да и модифицирует переменную. В итоге будет тот еще спагетти-код.

nerdogeek
()

RSS подписка на новые темы