Google, Microsoft и Mozilla на этой неделе синхронно выпустили экспериментальные билды браузеров с поддержкой WebAssembly (wasm) — эффективного низкоуровневого языка программирования, выполняющегося в браузере с производительностью гораздо выше, чем у самых современных и скоростных компиляторов JavaScript.
Разработчик из Mozilla Люк Вагнер рассказал на Mozilla Hacks о преимуществах WebAssembly, а также сообщил о портировании на WebAssembly научно-фантастического шутера Angry Bots. Демка запускается в браузерах с поддержкой WebAssembly — это последние версии Chrome Canary, Firefox Nightly и Microsoft Edge. Скоро к ним присоединится Safari на WebKit.
Читать дальше →
2013-11-23 15:22:57
Давным-давно для WebMoney (и не только) был популярен крайне простой способ получить чужие финансы: ...
+ развернуть текстсохранённая копия
Давным-давно для WebMoney (и не только) был популярен крайне простой способ получить чужие финансы: подменить содержимое буфера обмена Windows, если в нём находится номер кошелька на свой номер. С введением множества степеней защит данный метод перестали использовать, да и эффективность была под вопросом, не говоря уже о необходимости заставить пользователя запустить стороннее ПО, которое будет […]
2013-05-03 11:06:30
... и программирование на ассемблере с известных нам ... и драйвера на ассемблере. Книга будет очень ...
+ развернуть текстсохранённая копия
Эта книга рассказывает о двух основных режимах работы процессора, которые обязан знать каждый профессионал программирования. Тут будет описываться работа и программирование на ассемблере с известных нам операционных системах. Тут нам расскажут, как создавать различные приложения и драйвера на ассемблере. Книга будет очень полезна для студентов высших учебных заведений, а также для преподавателей, которые хотят качественно изложить данный материал ученикам. Для программистов и новичком эта книга также будет очень полезна, ведь она поможет уже на первых этапах создавать новые проекты и программы.
2013-02-17 23:42:00
... языку машинных инструкций (ассемблеру). Можно быть ... , или Лингвистический ассемблер" trackback:ping=" ...
+ развернуть текстсохранённая копия
Зачем вам искусственный язык?
Про эсперанто слышали многие. Не все понимают, зачем это, не всем он нужен, но имя на слуху.
О других плановых (искусственных, созданных для общения) языках люди знают ещё меньше. Наверняка, мелькали слова воляпюк, идо, интерлингва. Это зачастую воспринимается как чудачество, как игра. В сознании многих эсперанто столь же нужно, как язык квэнья, известный поклонникам «Властелина Колец».
Ответ на вопрос, зачем это, прост: затем, что не всегда есть возможность выучить все естественные языки, на которых говорят собеседники. Да, стать полиглотом не очень сложно, что бы вы ни думали. Но как быть, если собралась компания людей, без единого известного всем языка? Общаться на языке жестов?
После того, как человек понимает, для чего нужны плановые языки, вознкиает следующий логичный вопрос: зачем их так много? Казалось бы, знаешь эсперанто — и всё, к чему огород городить? Но не всё так просто в этом мире и, упреждаю дискуссию, которая уже имела место у меня в ЖЖ, поясню на собственном примере различия двух типов искусственных (плановых) языков.
A posteriori
Каюсь, не могу вспомнить имён учителей кружка эсперанто. После многочисленных переездов где-то лежит свидетельство об окончании курса. Помню имя самого колоритного преподавателя, который и заинтересовал меня языком по-настоящему: Адольф Иванович. Если кто вспомнит, когда он и его коллеги работали в НГУ, буду очень признателен.
В случае с эсперанто процесс вхождения был стремительным. Основной курс календарно длился долго, реально же, физического времени, отнял едва ли двенадцать часов. Достаточно, чтобы освоить простую грамматику языка и минимальный словарный запас. Плюс основы истории, как и для чего всё это было.
После этого был «конвент», поездка в несколько дней на собрание эсперантистов, где общались практически только на нём. Метод погружения оказался эффективным: к концу первого дня я начал понимать практически всё, что говорят, к концу второго обрёл и дар речи. Так что говорю как эксперт: если у вас есть неделя свободного времени, мозг в должной мере свободен и бодр, недели вам хватит, чтобы начать вначале понимать, а потом и общаться, и думать.
Вся прелесть апстериорного (построенного на базе уже существующих естественных языков) именно в том, что навыки формируются не в вакууме. Чем-то знакомые корни, привычные понятия лица, числа и времени, многие другие интуитивно понятные элементы. И — никаких исключений. Более того, служебные части речи (приставки, инфиксы) сам являются полноценными корнями, что только подогрело интерес к языку.
Подвиг Заменхофа в том, что он дал простые, неизменные правила и умело подобрал основные языковые элементы так, чтобы они были максимально близки и понятны тем, кому не чужды индоевропейские языки.
A priori
Языки априорные строятся с нуля. По определению, изучать их сложнее, поскольку нет ощущения, что всё это где-то видел, где-то слышал, где-то читал.
В случае с ложбаном человек, привыкший к традиционным элементам естественных языков, в первую очередь испытывает глубокое недоумение, поскольку структура совершенно иная. Где вы, местоимения, времена и склонения? Не сразу приходишь к понимаю, что ложбан ближе к логике высказываний, к языку программирования, если хотите. Моя первая попытка освоить язык «в лоб» привела к ощущению, что меня разыграли. Ну разве ж это язык?!
Вторую попытку осознанно изучать ложбан я предпринял, когда во время работы над книгами потребовался искусственный (плановый, т.е. изначально созданный для общения, для использования) язык, который не опирался бы ни на какую историческую культуру, и был бы вместе с тем максимально удобен для передачи мыслей.
Таким оказался ложбан.
A fortiori
Известны бесконечные баталии сторонников разных языков программирования. Кудесники C++ снисходительно поглядывают в сторону приверженцев Паскаля; мудрецы Lisp презрительно смотрят на всё, что родственно C; толкователи Perl с улыбкой смотрят на рьяных последователей Python. И все как один традиционно презирают PHP, которому это не помешало стать одним из самых популярных в современном Web-программировании.
Однако если посмотреть, к чему всё сводится, то всё сводится к языку машинных инструкций (ассемблеру). Можно быть ненавистником инструкции "e;GO TO"e;, но в ассемблере от неё никуда не деться. Можно считать себя превыше всех, поскольку в любимом языке есть динамическая типизация и лямбда, но в ассемблере, сами понимаете, этим и не пахнет. Там всё просто: возьми вон то, сравни вон с тем, положи вон туда.
Ложбан, пусть эта аналогия и не вполне точна, это вариант языка ассемблера для естественных языков. Язык-посредник, который может передать самые причудливые варианты отношений между объектами, взаимосвязи и оттенки отношения, не принимая сторону ни одного из естественных языков.
Именно поэтому попытка выучить его теми же способами, по аналогии, приведёт к мысли, что вас разыгрывают. Нет смысла искать здесь лица, наклонения, падежи и всё прочее и возмущаться тому, что всего этого нет.
В своё время я принялся изучать программирование для IBM PC с языка ассемблера. И когда пришло понимание, как устроены компиляторы, и что всё в итоге преобразуется в один и тот же низший уровень машинных инструкций, я понял, что все баталии «что лучше» лишены смысла.
Ложбан не лучше или хуже. В ряде случаев он точнее. Представьте себе естественный язык, в котором нет категории времени, или в котором отдельные числительные для разных типов объектов. Общаться на апостериорных языках с представителями такой культуры будет непросто. В случае «ассемблера» это позволит быстрее добиться понимания, вот и всё.
Сама постановка вопроса, «какой язык лучше», лишена всякого смысла. Что эффективнее, вот правильный вопрос. Аналогия с языками программирования: если мне нужно быстро найти и заменить строку затейливой непостоянной конструкции в миллионе файлов, я могу написать программу на C++, скомпилировать её и запустить для каждого из файлов. А могу набрать ровно одну строку, запускающую интерпретатор Perl с простой инструкцией поиска и замены. Я могу написать компилятор языка на Whitespace или Brainfuck, но на С это будет много быстрее и эффективнее. И так далее.
И лишь в одном своём возможном заблуждении я буду упорствовать: ни один плановый язык пока не обрёл и вряд ли обретёт то языковое богатство, которым обладают естественные языки. Просто по определению: чтобы такое стало возможным, язык должен долгое время быть родным (его нужно знать и на нём нужно думать с рождения), и на нём должен быть создан солидный корпус непереводной литературы.
Sapienti sat.
Адрес уведомления об обратной ссылке для этой записи:
http://boyandin.name/trackback/605
"Не беру!" Сковорода как орудие знакомства в Китае ...как Тузик грелку Крошка .ru Картотека На передовой День святого Валентина по-китайски Переломов Л.С. Конфуций и конфуцианство с древности по настоящее время Николай Усов: надо знакомить молодёжь с профессионалами Год программиста
2012-05-28 12:09:00
Книга "Ассемблер. Тонкости, хитрости и ... программы на языке Ассемблер. С ее помощью ...
+ развернуть текстсохранённая копия
Книга "Ассемблер. Тонкости, хитрости и секреты программирования" предназначена для тех, кто хочет научиться писать программы на языке Ассемблер. С ее помощью можно легко усвоить, каким образом реализуются команды, какие существуют способы адресации, как осуществляется управление данными.