Pull to refresh
-1
0.1
Send message

Ваш язык программирования — отстой

Reading time54 min
Views140K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →

Математика CSS-шлюзов

Reading time18 min
Views55K

CSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.

В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать дальше →

Всем, кто ненавидит тёмную материю

Reading time4 min
Views23K
Когда вы делаете открытие самостоятельно – даже если вы последний человек на Земле, увидевший истину – вы его никогда не забудете.
— Карл Саган

Когда мы рассуждаем о тёмной материи (ТМ) и её альтернативах, мы говорим, ни больше, ни меньше – о задаче объяснения структуры каждого крупного объекта Вселенной. А это каждая из миллиардов галактик, а также их формирование, объединение и группирование.



На самых крупных масштабах – на которых каждый пиксель карты выше представляет целую галактику – ТМ с лёгкостью превосходит всех конкурентов. Ни один из конкурентов ТМ и близко не подходит к её успеху в объяснении крупномасштабных структур Вселенной.

Объясняем бабушке: Как зашифроваться за час

Reading time5 min
Views27K
«Выживают только параноики».
— Энди Гроув

image

Энди Гроув был венгерским беженцем, который сбежал от коммунистов, изучал инженерное дело, и в конечном итоге возглавил революцию компьютеров в качестве генерального директора Intel. Он умер в начале этого года в Силиконовой долине после долгой борьбы с болезнью Паркинсона.

Когда один из самых могущественных людей в мире призывает нас быть параноиком, возможно, нам следует прислушаться.

Вынужден предупредить, что Гроув не единственный влиятельный человек, который призывает к этому. Даже директор ФБР — тот же человек, который недавно заплатил хакерам миллион долларов, чтобы разблокировать iPhone террориста — настоятельно рекомендует всем скрывать свои веб-камеры.

Но вы подчиняетесь закону. Чего вам опасаться? Как гласит девиз программы наблюдения Соединенного Королевства: «если вам нечего скрывать, вам нечего бояться». Ну, законопослушные граждане имеют основания опасаться. У них есть причины защищать свои устройства, файлы и общение с близкими.

«Если кто-то даст мне шесть строк написанных самым честным человеком, я найду то, за что его можно повесить.»
— кардинал Ришелье в 1641.

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

Читать дальше →

7 аркадных игр, которые уже стали классикой, но всё ещё могут чему-то научить

Reading time6 min
Views37K
Contra, Dungeons & Dragons, Double Dragon, Q*Bert — эти классические аркады большинство из нас помнят и любят, ведь на них выросло целое поколение. Но чему они могут научить современного геймдизайнера?

Сегодня в блоге программы «Менеджмент игровых интернет-проектов», в нашей рубрике переводов, мы подготовили и перевели для вас новую статью, в которой автор отвечает на этот вопрос. А также лично у меня эта статья вызывает сладкую ностальгию, которую надеюсь испытаете и вы. Кстати, в конце опрос на любимую из указанных аркад.


Принимаем электронную почту на Node.js

Reading time5 min
Views35K

Электронная почта как и www появилась на заре Интернета, и несмотря на свою архаичность продолжает удерживать позиции одной из главных технологий сети. Тем временем разработчики не слишком-то ее ценят и используют в одностороннем порядке, указывая отправителем noreply. И в первую очередь это связано с трудоемкостью процесса обработки входящей корреспонденции.


Тем временем, хвала комьюнити Node.js, появились пакеты, которые позволяют принимать почту без боли и страданий – это smtp-server и mailparser. Давайте я покажу, как в пару десятков строк кода создать свой почтовый сервер с поддержкой SSL шифрования, фильтрацией спама с помощь spamassassin и прочими радостями.

Читать дальше →

VaR как способ оценки риска. Исторический метод

Reading time7 min
Views43K


В этой статье я хочу познакомить вас с популярным инструментом для оценки финансового риска VaR (ValueAtRisk). При этом я постараюсь использовать минимум экономических, математических и статистических терминов.

Главные идеи VaR были разработаны и применены в банке JP Morgan в 80-х. Широкое применение VaR получил в 1993 когда был одобрен Группой тридцати(G-30) как часть “лучших практик” для работы с деривативами(производными финансовыми инструментами). А позже стала одним из показателей риска банка по системе Базель II (набор международных рекомендации по банковскому регулированию). Идею используемую в VaR можно отследить до ранних работ лауреата нобелевской премии по экономике Гарии Марковица в 1952.
Читать дальше →

Прокси-сервер с помощью Tor. Основа для многопоточного парсинга

Reading time5 min
Views60K
Всем привет! На днях прилетела интересная задача: «Найти бесплатные прокси-сервера». Взявшись за нее, решил обойти все сайты свободных проксей и понял — дохлые… ну или с высоким пингом.

После нескольких часов безуспешных поисков, было принято решение использовать свои ресурсы!

Итак, что в итоге должно получиться:

1. VM Ubuntu/Debian 2 CPU, 2GB RAM, 8GB HDD (ну тоесть совсем не требовательная)
2. PRIVOXY для проксирования запросов (Можно взять nginx, varnish — я взял Privoxy)
3. TOR сервер
Читать дальше →

Делаем очередную .io-игру

Reading time10 min
Views40K


Так называемые .io-игры — это браузерные massively multiplayer action-игры, в которых множество людей борются с излишками свободного времени. Massively multiplayer — это значит, что игра представляет собой многопользовательскую массовку из большого количества (сотен+) игроков, играющих в общей локации. Существует мнение, что все началось с игры Agar.io (клетки в чашке Петри). Другими успешными примерами можно назвать Slither.io (змейки) и Diep.io (танчики). Если верить статистике, то каждый день в эти игры играют миллионы игроков. Сегодня существуют десятки различных .io-игр, большинство из которых можно найти, загуглив по запросу «io games list».


Я расскажу о том, как мы делали нашу .io-игру Oceanar.io — игру про рыбок и прочих морских жителей, постараюсь при этом сосредоточиться на вопросах общего технического устройства всей системы, и дам несколько скромных советов.


Читать дальше →

Почему «мотивирующие» статьи не работают, не сработают и как устроена мотивация на самом деле

Reading time3 min
Views51K
Многие любят читать мотивирующие статьи типа «30 способов заставить себя работать». Да и писать многие любят. Но что многие не любят — так это писать о том, что советы, изложенные в этих статьях, у них не сработали. То есть советы-то разумные. И применить их часто пытаются. Но есть одна проблема — стоит начать их применять, как возникает огромное внутреннее сопротивление. Настолько огромное, что применить советы не получается. Так в чем же дело?

Ответ, на самом деле, является сколь простым, столь и ошеломляющим — причина в том, что мы сами не знаем, чего хотим.

Читать дальше →

Лень двигатель прогресса. Генератор задач. Часть 2

Reading time12 min
Views9.5K
Иногда помогаю проводить математический анализ у первых курсов и нужно им подбирать задачи, на которых можно набить руку. Да, можно брать задачи из книги. Но что, если не находишь нужных по уровню задач в книгах, которые есть под рукой?

О том, как сделать свой генератор простых задач на нахождение пределов/производных/интегралов и пойдёт речь после ката.


Читать дальше →

50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

Reading time44 min
Views237K


Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Читать дальше →

Панда среди пингвинов. x86_64 микрокомпьютер LattePanda

Reading time6 min
Views37K
Добрый день, дорогие читатели сайта Geektimes! Волею судеб так случилось, что мне в руки попала очень интересная плата — LattePanda.


Что в ней интересного?


Как минимум то, что это x86_64, Windows, совмещенный с Arduino набор (прямо на одной плате) и выходы на массу сенсоров. Чрезвычайно необычное сочетание для современного засилья ARM SoC/Linux/GPIO решений, которые в итоге похожи на клубок проводов, если собрать на них тот же комплект.

Если Windows для вас — дом родной, то вот он, настоящий самородок в мире микрокомпьютеров. Я постараюсь написать то, что мне показалось интересным в этой платформе.

Читать дальше →

Теория решения изобретательских задач на пальцах

Reading time4 min
Views126K
Представьте, перед вами встала проблема, как улучшить какую-то вещь, или как что-то заставить работать. Как придумать что-то новое? Для этого и была придумана Теория решения изобретательских задач. В данном топике я на пальцах попробую рассказать, о чем это


Читать дальше →

Настройка UEFI-загрузчика. Самое краткое руководство в мире

Reading time6 min
Views585K

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →

Minoca OS: новая свободная операционная система

Reading time3 min
Views70K


Двое отважных разработчиков Ивэн Грин и Крис Стивенс решились на смелый шаг. Они написали с нуля совершенно новую операционную систему Minoca OS и опубликовали её исходный код под свободной лицензией GNU GPL v3.

Это 625 000 строк отлично документированного кода, преимущественно на языке программирования Си, частично на C++ и Ассемблере. Ядро ОС для x86 имеет размер около 750 КБ. С драйверами, сетевым стеком и видеобуфером свежезагруженная система использует 5−7 МБ оперативной памяти.
Читать дальше →

Голодные игры: всегда ли честность – лучшая политика для животных?

Reading time5 min
Views10K
У павлинов в результате эволюции появился сложный хвост для привлечения самок. Для изучения роли честности и обмана в общении животных учёные применяют теорию игр.



Представьте, что вы – неопытный павлин, оказавшийся слабым в результате плохой наследственности или питания. Вы надеетесь привлечь самку, которую интересует только длина вашего хвоста. Отращивание длинного хвоста увеличило бы вашу сексуальную привлекательность, но эта обуза может помешать вам убежать от хищника, которого избежал бы более здоровый самец (а если вас съедят, ваши шансы на спаривание кардинально уменьшатся).
Читать дальше →

Mercedes-Benz испускает краткий импульс розового шума 80 дБ перед неизбежной аварией

Reading time3 min
Views40K

Громкий розовый шум вызывает кратковременную потерю слуха. Она защищает водителя и пассажиров от оглушения при выстреле подушек безопасности и грохоте аварии

В автомобилях Mercedes-Benz реализованы десятки разных систем безопасности, в которых используются практически все сенсоры автомобиля. Основная задача — активировать преднатяжители ремней безопасности как можно раньше, до срабатывания подушек безопасности. Акселерометры умеют распознавать переворот. Задействуется радар дистроника. Генератор выдаёт до 18 вольт и больше, чтобы очень быстро опустить окна при перевороте. Сочетание высокой скорости, резкого торможения и сработавших датчиков парктроника расценивается как ДТП. Если машина внезапно меняет траекторию во время заноса, это расценивается как авария (подушки безопасности хорошо распознают только лобовые столкновения). В зависимости от веса и роста человека и вектора столкновения автомобиль может даже активировать преднатяжители без активации подушек безопасности. В общем, когда инженеры Mercedes-Benz говорят о новых мерах безопасности в автомобилях, это действительно интересно. Что ещё придумали эти ребята?
Читать дальше →

6 альтернатив MacBook

Reading time4 min
Views74K
image

После презентации Apple появилось множество разочарованных комментариев: «только USB-C», устаревший процессор, отсутствие сенсорного экрана, и дикий ценник. Посмотрим, какие альтернативы предлагает рынок на новых процессорах Intel.
Читать дальше →

Zcash: первая по-настоящему анонимная криптовалюта

Reading time5 min
Views46K

Официальный клиент Zcash работает только под Linux

28 октября 2016 года исполнительный директор компании Zcach Зуко Уилкокс (Zooko Wilcox-O’Hearn) провёл официальную «криптографическую церемонию» запуска новой криптовалюты Zcash — первой в мире криптовалюты, основанной на интерактивном криптографическом протоколе zero-knowledge proof (доказательство с нулевым разглашением). Принцип действия такого протокола предполагает, что одна из взаимодействующих сторон способна убедиться в достоверности математического утверждения, не имея при этом никакой другой информации от второй стороны. По сути, Zcash является первой по-настоящему анонимной валютой. Техническое описание протокола вполне могло бы стать темой кандидатской диссертации по криптографии.
Читать дальше →

Information

Rating
4,298-th
Registered
Activity