Клуб "Өнім". Изобретательство, DIY и IT, регистрация и продажа интеллектуальной собственности: 2013

Acer DA241HL UM.FD0EE.006 :: COMP2YOU

Acer DA241HL UM.FD0EE.006 :: COMP2YOU
Производитель не поскупился на дисплей. В Acer DA241HL установлен 24-дюймовый экран с разрешением Full HD (1920x1080). Где вы еще найдете такой огромный планшет? Под дисплеем расположена горизонтальная сетка динамиков и пять аппаратных клавиш для включения устройства настройки дисплея и регулировки громкости звука. Разумеется, сам дисплей сенсорный. Вместе с этим компьютер можно использовать в режиме обычного моноблока, то есть подключить к нему внешнюю клавиатуру и мышку.
В отличие от внешнего облика и дисплея внутренняя техническая начинка уже не производить столь сильного впечатления. Производитель выбрал чип NVIDIA Tegra 3 T33. Четыре ядра ARM Cortex-A9 работают на частоте 1,6 ГГц. Это не самое новое решение, тем более уже вовсю выпускается NVIDIA Tegra 4. Тем не менее, производительности данного решения будет достаточно для повседневных задач и даже большинства трехмерных игр. «Камень» дополнен одним гигабайтом оперативной памяти стандарта DDR3.

IDC: любительское программирование на подъёме

IDC: любительское программирование на подъёме

*** Мобильный разработчик ***

*** Мобильный разработчик ***
Обучение разработке под Android начинается с освоения языка программирования Java. После прохождения первого месяца обучения вы сможете:
  • Начать мыслить в терминах Объектно-Ориентированного Программирования
  • Компилировать и запускать Java-приложения
  • Уметь отлаживать Java-программы
  • Познакомитесь со средами разработки Eclipse, Idea
  • Разработаете приложение-игру "Морской бой"
  • С нуля написание программы "Сетевой чат"
  • Написание программы "simple Web-server"
  • На 8ом уроке проработаете технические вопросы с собеседований на должность младшего java-разработчика
  • Проработаете логические задачки, которые задают на собеседованиях в IT компаниях
На следующем этапе Вы познакомитесь с особенностями верстки и разработки приложений на мобильной платформе Android. Получите полный набор знаний, навыков и инструментов для профессиональной разработки Android-приложений. Вы научитесь проектировать сложные многопоточные приложения, а также узнаете об особенностях публикации на Android Market и способах заработка на собственных приложениях.

Фонд Развития Интернет-Инициатив (ФРИИ)

Фонд Развития Интернет-Инициатив (ФРИИ)

Mail.Ru для бизнеса. Бесплатная корпоративная почта )

Mail.Ru для бизнеса

Набор во ФРИИ теперь открыт постоянно | Новости Стартапов, IT новости Интернет технологий и бизнеса

Набор во ФРИИ теперь открыт постоянно | Новости Стартапов, IT новости Интернет технологий и бизнеса

Конкурс Google "Цифровое поколение, вперёд!"

App Inventor — Википедия

App Inventor — Википедия

Алиса (ПО) — Википедия

Алиса (ПО) — Википедия

Информационные технологии — Википедия

Информационные технологии — Википедия

Фонд свободного программного обеспечения — Википедия

Фонд свободного программного обеспечения — Википедия

Категория:Свободный контент — Википедия

Категория:Свободный контент — Википедия

Категория:Дистанционное образование — Википедия

Категория:Дистанционное образование — Википедия

Электронное обучение — Википедия

Электронное обучение — Википедия

JBuilder — Википедия

JBuilder — Википедия

Xcode — Википедия

Xcode — Википедия

Xcode Downloads and Resources - Apple Developer

Xcode Downloads and Resources - Apple Developer: Xcode 5

Сайт образовательной организации | Управление образования УМР

Сайт образовательной организации | Управление образования УМР

Social media marketing

Social media marketing (SMM) — процесс привлечения трафика или внимания к бренду или продукту через социальные платформы.[1][2] Это комплекс мероприятий по использованию социальных медиа в качестве каналов для продвижения компаний и решения других бизнес-задач.
Основной упор в SMM делается на создании контента, который люди будут распространять через социальные сети самостоятельно, уже без участия организатора. Считается, что сообщения, передаваемые по социальным сетям, вызывают больше доверия у потенциальных потребителей услуги. Это связывается с рекомендательной схемой распространения в социальных медиа за счёт социальных связей, лежащих в основе взаимодействия.
Продвижение в социальных сетях позволяет точечно воздействовать на целевую аудиторию, выбирать площадки, где эта аудитория в большей степени представлена, и наиболее подходящие способы коммуникации с ней, при этом в наименьшей степени затрагивая незаинтересованных в этой рекламе людей.
Маркетинг в социальных сетях включает в себя множество методов работы. Самые популярные из них — это построение сообществ бренда (создание представительств компании в социальных медиа), работа с блогосферой, репутационный менеджмент, персональный брендинг и нестандартное SMM-продвижение.
Не стоит путать SMM с социальным маркетингом.
В русскоязычном интернете работа SMM-специалистов происходит на довольно ограниченных платформах:
SMM-продвижение — процесс очень динамичный, поэтому нужно постоянно следить за меняющимися интересами аудитории и появлением новых трендов.
Принято считать, что при продвижении бренда, одного SMM недостаточно, наиболее эффективно совмещать его с SEO.
Важно отметить, что SMM применяется не только на товарах и услугах. Активно используют SMM-технологию Средства массовой информации. Они создают свои аккаунты в социальных сетях, размещают свой контент и тем самым собирают подписчиков (читателей своего продукта). Специалистами было определенны некоторые основные ошибки в применении SMM для СМИ:
  1. Размещение избыточного количества постов
  2. Отсутствие взаимодействия в комментариях (обсуждениях) с подписчиками
  3. Элемент нумерованного списка
  4. Неэтичное поведение администраторов на негативные комментарии подписчиков
  5. Удаление таких комментариев
  6. Несоблюдение принципов и законов
  7. Использование одного типа контента
Существуют две стратегии в рамках SMM:
  • Скрытая
Скрытый маркетинг
  • Открытая
Использование логотипа и других фирменных знаков

Примечания

  1. What is Social Media Marketing. Search Engine Land. Проверено 11 января 2012. Архивировано из первоисточника 28 октября 2012.
  2. Trattner, C., Kappe, F.: Social Stream Marketing on Facebook: A Case Study. International Journal of Social and Humanistic Computing (IJSHC), 2012.

Литература

1. Дамир Халилов "Маркетинг в социальных сетях".
2. Константин Максимюк "Новый интернет для бизнеса"
3. Чарлин, Джош "Взрывная Web_Волна. Как добиться успеха в мире, преображенном интернет-технологиями"

См. также

Подача заявок на интеллектуальную собственность в Роспатент


Юридическая фирма "Ай Пи Про" создана для оказания услуг российским и иностранным физическим и юридическим лицам и индивидуальным предпринимателям.

Мы оказываем полный спектр услуг, связанных с защитой любых объектов интеллектуальной собственности. Услуги нашей фирмы включают в себя все услуги патентного бюро.

Наша фирма постоянно расширяет комплекс предлагаемых ею услуг, включая правовую защиту (охрану) интеллектуальной собственности, оценку интеллектуальной собственности, консалтинг в области интеллектуальной собственности (ИС), судебно-арбитражную защиту интересов владельцев ИС, защиту товарного знака, авторских прав, работу на международном рынке по оказанию услуг Российским и иностранным клиентам, международному патентованию, международной регистрации товарных знаков и т.д.

Специалисты нашей фирмы проводят бесплатные юридические консультации.

Фирма поддерживает устойчивые деловые связи с Патентным ведомством России, Евразийской патентной организацией, юридическими фирмами, российскими и евразийскими патентными поверенными, а также патентными поверенными США, Канады, Европы, стран Балтии, СНГ, Китая и других стран.

Комплекс патентно-правовых услуг, оказываемых фирмой "Ай Пи Про", рассчитан на обеспечение полного спектра услуг от подготовки заявки и получения охранного документа на объект Интеллектуальной Собственности, до правового сопровождения любого объекта интеллектуальной собственности. Возможны следующие формы работы с клиентом:

  • разовые консультации;
  • выполнение работ патентно-правового характера;
  • абонентское обслуживание, включающее решение всех патентно-правовых вопросов, возникающих в деятельности клиента.

Квалификация и профессиональный опыт наших сотрудников делают сотрудничество фирмы с клиентом долгосрочным и на выгодных для него условиях. Фирма гарантирует полную конфиденциальность информации клиентов.

Специалисты нашей фирмы проводят бесплатные консультации по правовой охране и защите товарных знаков.

Регистрация товарных знаков

Изобретения, Полезные модели, Промышленные образцы в России и за рубежом

Депонирование и регистрация всех объектов авторского права.


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

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

Мифы о патентовании

  • Патент — для крупных компаний. Малому предприятию он не нужен.

Большинство малых предприятий строятся вокруг одной разработки. В то время как крупные компании имеют целую совокупность разработок, которые они активно защищают, формируя свой патентный портфель. Причем разработка стратегий управления данным патентным портфелем дело не простое и считается целым искусством. А что будет, если конкуренты станут производить схожую с вашей продукцию, которая не защищена? Если речь идет о большом предприятии, вы понесете убытки, но, скорей всего, останетесь «на плаву», ведь у вас есть «тыл» в виде других разработок. А если речь идет о малом предприятии, то вы, скорее всего потеряете значительную долю рынка и, возможно, даже разоритесь, если не предпримите каких-либо дополнительных шагов по совершенствованию продукции. Ведь патент защищает Вашу продукцию не только от прямого копирования, но и копирования в случае, если конкурент дополнит вашу разработку.
Пример из моей практики: изобретатель детского манежа, который можно использовать в путешествиях, успел получить патент на свою разработку раньше крупной корпорации, в итоге заключил с ними договор о поставках и увеличил годовую прибыль своего предприятия на несколько порядков. Если бы патент не был получен во время, крупная корпорация могла бы выпускать такой манеж своими силами.

  • В защите нуждаются только принципиально новые технологии.

Даже несущественные изменения известного технического решения могут стать источником прибыли. Более того, если изменения будут значительные скопировать их, скорее всего, будет трудно: во-первых, необходимо, как минимум разбираться в данной области техники, вникнуть в суть проблемы, провести исследования объекта копирования, а во-вторых, стоить производство по новой технологии в любом случае сложнее, чем модернизировать текущее. Напротив, небольшое изменение в текущей технологии производства или модернизации продукции копируется с относительно малыми затратами. В то же время прибыли от небольших доработок могут быть колоссальными.
Защита технических решений, не являющихся принципиально новыми, как правило достаточно проста, ведь в России на устройство можно получить патент на полезную модель (согласно статье 1351 ГК РФ в качестве полезной модели охраняется техническое решение, относящееся к устройству. Полезной модели предоставляется правовая охрана, если она является новой и промышленно применимой).
Из практики: 4 года назад компания N придумала конструкцию, позволяющую защищать добываемую из скважины воду от загрязнения. Конструкция пользовалась большой популярностью у потребителей. Около года назад конкуренты данной компании были замечены в использовании аналогичной конструкции. К сожалению, было признано, что разработанная конструкция уже стала широко известна, и запатентовать ее не удалось. Этот печальный опыт напоминает нам о пользе раннего патентования, иногда даже на стадии идеи.

  • Компьютерную программу нельзя запатентовать.

Программа для ЭВМ является объектом авторского права и на нее не может быть получен патент, лишь только свидетельство, которое лишний раз является доказательством вашего права авторства и даты создания программы. Однако может быть защищен, к примеру, алгоритм, используемый в программе в виде способа. В таком случае вы можете получить патент на изобретение.

  • В нашей стране патент — это пустая бумажка.

Пожалуй, самый распространенный миф. Широко известны американские и европейские патентные войны, но в последние годы и в нашей стране увеличивается количество исков, касающихся вопросов интеллектуальной собственности. Как правило, в случае наличия качественно оформленного патента, суд остается на стороне правообладателя. В этом году начал свою работу суд по интеллектуальным правам, первое дело в который поступило 3 июля. На сегодняшний день суд по интеллектуальным правам рассматривает 719 дел. Максимальная сумма российского иска по патентному спору составила 1 843 746 000 рублей, спор относился к изобретению «Способ производства яичной лапши быстрой варки». Патентообладатель победил.

  • Патентование — это долго и сложно.

К сожалению, по нашему законодательству это не так уж и быстро. К примеру, срок получения патента на изобретения в среднем составляет 1,5 года, на полезную модель -4-6 месяцев, свидетельство на программу для ЭВМ- 3 месяца, а еще и не учитывая Почту России. Однако, например, сравнивая с США, где срок получения патента на изобретение составляет от 1,5 до 3 лет, все не так уж и плохо. Что касается сложности: самостоятельное составление заявки- задача не из простых. Особенно, если патент не «пойдет в стол», а будет реально использоваться.
Первым этапом в написании заявки является написание сущности решения. В данном случае, кроме того, что необходимо придерживаться определенных формальных правил, стоит использовать общепринятые термины, описывать логично, а главное на перспективу. Необходимо предугадать любые развития и модернизации объекта в рамках решаемой им технической задачи и описать все необходимые признаки в формуле, закрепляя объем правовой охраны. Далее в остальных разделах описания также есть свои подводные камни. Но это уже тема отдельной статьи.
Всегда остается вариант обратиться за помощью к специалисту в области патентования, в задачи которого входит не столько оформление самой заявки и сопутствующих документов, сколько составить заявку таким образом, что бы она действительно защищала права. При том хороший специалист сможет вместе с вами додумать все варианты развития идеи и описать её так, что бы будущие модернизации еще до их появления уже являлись защищенными от копирования. Это именно то, чему учатся не один год.

  • Патентование – это дорого.

Действительно, стоимость услуги патентования не из дешевых. Оформление патента на изобретение при помощи специалиста составляет в среднем 50-80 тыс. руб. по России. Также в статью затрат на патентование войдут государственные пошлины, в среднем составляющие 4-7 тыс. рублей и зависящие от вида заявляемого объекта интеллектуальной собственности (изобретения, полезной модели или др.).

Как получить патент бесплатно?
Если необходимо получить качественный патент на юридическое лицо, либо ИП можно воспользоваться помощью нашего государства. Существуют различные фонды поддержки предпринимательства, в некоторых из них существует услуга по бесплатному патентованию. И оно действительно бесплатное для будущего патентообладателя, включая услуги специалистов, так что нужно пользоваться пока не «прикрыли лавочку». Примерами организаций, в которые можно обратиться за услугами бесплатного патентования является фонд Сколково, Свердловский областной фонд поддержки предпринимательства. Такие организации выдают гранты на развитие бизнеса, а также оплачивают услуги патентования разработок фирмам-партнерам, зарекомендовавшим себя на рынке консалтинговых услуг в области интеллектуальной собственности. В случае если Вы обращаетесь за бесплатным патентованием в фонд Сколкова, обязательным условием является, чтобы вы были его резидентом. Свердловский областной фонд поддержки предпринимательства осуществляет поддержка в бесплатном патентовании любых юридических лиц или ИП, зарегистрированных на территории Свердловской области. Возможно и вашем регионе так же откроется подобный фонд, например ОАО «РВК» (Российская венчурная компания») также планирует отрыть фонд патентования в течении 2014 года. Честно говоря, до написания этой статьи я был уверен, что фондов много больше и хотел привести длинный список. Но, то ли они не очень спешат предоставлять информацию о том, чем занимаются (возможно забирают себе остатки гос. денег), то ли я просто плохо искал. Если кто-то знает о таком фонде в своем регионе — с удовольствием добавлю сюда к списку фондов.
Бесплатно запатентовать вам также могут помочь отделы интеллектуальной собственности при университетах. И плату, вероятнее всего возьмут не деньгами, а долей в бизнесе и совместным правообладанием. Что иногда дороже, чем просто один раз заплатить за услуги. Зато, они это делают с большой охотой, поскольку получают плюшки за количество запатентованных разработок.
Если все-таки вам не удалось найти мецената необходимо тщательно подойти к вопросу поиска фирмы, оказывающей услуги в области патентования. Вот несколько рекомендаций.

  • Скупой платит дважды

Первое правило любого бизнеса ˗ если хотите получить результат, вложитесь. Так, что в принципе не стоит жалеть потратить в 2˗3 раза больше, заказав официальной зарегистрированной фирме, а не частному лицу.
Дело в том, что не качественно оформленный патент «всплывет» намного позже — когда дело дойдет до разбирательств, а там «пить боржоми» будет уже поздно. Вдруг окажется, что понятная для вас формулировка может быть интерпретирована совсем не в вашу пользу. В фирмах, оказывающих услуги в области патентования, чаще всего существует некая система контроля качества работы менее опытных специалистов более опытными.
Некоторым «знаком качества» является звание «патентный поверенный» (патентным поверенным является специалист в области интеллектуальной собственности со стажем более 4-х лет, большим опытом и сдавший достаточно сложный экзамен в Роспатенте).

  • Репутация не все

В процессе подбора фирмы-исполнителя услуг не стоит руководствоваться только репутацией фирмы. На сегодняшний день рынок услуг в области интеллектуальной собственности только развивается и набирает обороты. В отсутствие должной конкуренции, некоторые крупные фирмы, уже завоевавшие репутацию могут не всегда должным образом относится к вашему заказу. Нужно понимать, что специфика это отрасли в том, что «брак» не видно на глаз.
Из личного опыта скажу, что некоторые разочарованные клиенты одной крупной компании, работающей на территории всей России, в последствии пользуются услугами менее известных компаний, но которые относятся к своим клиентам как к «дару». Это не значит, что крупные предприятия в принципе плохо работают и некачественно выполняют свою работу, просто кому как повезет.

  • Патентные поверенные наше все!

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

  • Оцените работу

Первоначально советую заключить договор на проведение только патентного поиска и экспертизы технического решения на возможность правовой охраны. По результатам работы у вас уже, скорей всего сложится какое-то представление о предприятии и о его сотрудниках, как о специалистах. Некоторые критерии, которые необходимо оценить:
 1. Наличие отчетности перед заказчиком по результатам поиска;
 2. Проведение патентного поиска не только в РФ, но и других странах, если речь идет о патенте на изобретение или промышленный образец.
 3. Срок выполнения патентного поиска - в среднем он не должен превышать двух рабочих недель. Иначе вас просто динамят.
 4. Качество поиска. Потребуйте от исполнителя тексты отобранных патентов, изучите их и оцените качество подбора материала, соответствует ли он тематики вашего решения, правда ли подобранная информация описывает объекты, близкие по сущности к вашему решению. Тут схалтурить достаточно просто.
 5. Расслабьтесь и получайте удовольствие
Когда вы точно выбрали фирму и заключили с ней договор на услуги подготовки заявочной документации советую вам приготовится к долгой и кропотливой работе. Не ждите, что патентовед напишет полностью заявку без вашей помощи, к сожалению, он не может залезть к вам в голову, чтобы понять в чем ваша разработка. Будьте готовы к ответам на вопросы днем и ночью. Патентование –это совместный труд специалиста в области интеллектуальной собственности и изобретателя. По-другому никак.
Надеюсь, прочитав данную статью, вы получили полезную информацию и используете ее на благо вашему бизнесу.
https://habrahabr.ru/post/288410/

Российский стартап разработал сайт для быстрой подачи заявок в Роспатент. Компания планирует наладить взаимодействие и с патентными ведомствами других стран. Однако эксперты сомневаются, что новый сервис повысит эффективность российского рынка интеллектуальной собственности. - РБК daily

Российский стартап разработал сайт для быстрой подачи заявок в Роспатент. Компания планирует наладить взаимодействие и с патентными ведомствами других стран. Однако эксперты сомневаются, что новый сервис повысит эффективность российского рынка интеллектуальной собственности. - РБК daily

e-Legion — разработка мобильных приложений, веб-сервисов и корпоративных систем

e-Legion — разработка мобильных приложений, веб-сервисов и корпоративных систем

Цифровое поколение Google

Цифровое поколение Google

MedStart - Главная страница

MedStart - Главная страница

Новости Microsoft для стартапов

Новости Microsoft для стартапов

ОБЛАКО@mail.ru


С Облаком все ваши фотографии, документы и любые другие файлы будут всегда под рукой и не пропадут, если сломается жесткий диск на компьютере или потеряется мобильный телефон.

Автоматическая настройка доменов - 2domains.

Автоматическая настройка доменов - 2domains.

2whois.ru - сервис WHOIS, проверка доменов, проверка работы сайта.

2whois.ru - сервис WHOIS, проверка доменов, проверка работы сайта.

Евросеть + Яндекс.Деньги = бесплатная доставка — Акции интернет-магазина

Евросеть + Яндекс.Деньги = бесплатная доставка — Акции интернет-магазина

Online Surveys - Create Survey™

Online Surveys - Create Survey™

Apps4All Hackathon - Registration

Apps4All Hackathon - Registration

Imagine Cup

Imagine Cup
Мы хотим пригласить тебя принять участие в международном технологическом конкурсе Imagine Cup и в этом году. Хотим напомнить, что конкурс ИДЕЙ для будущих проектов проходит
до 31 декабря, и для участия в нем тебе достаточно зарегистрировать свою идею проекта здесь.
Если у тебя нет команды для реализации идеи, то ты сможешь найти единомышленников тут.
В феврале пройдет онлайн Хакатон, и если ты еще не знаешь как реализовать свой проект – мы поможем тебе. А еще твоя идея сможет вдохновить других!
 Самое важное - авторы лучших идей получат ценные призы: современный ноутбук Samsung или телефон Nokia. Мы так же приготовили поощрительные призы – промо-коды на бесплатное использование облачного хранилища SkyDrive на 20 ГБ. Идеи принимаются  здесь , до 31го декабря!
 Мы предлагаем тебе попробовать силы в онлайн конкурсах на основном ресурсе Международного конкурса www.imaginecup.com. Если ты готов бросить вызов лучшим студентам со всего мира и  выиграть денежные призы в размере 1000-5000 $ (US), то обязательно обрати внимание на онлайн-конкурсы Imagine Cup. Информацию о них ты сможешь найти здесь.  
 И самое главное – участвуй в основных Программных конкурсах Imagine Cup, зарегистрируй свою команду на глобальном сайте, и побеждай! Лучшие команды встретятся на международном финале в Сиэтле, в штаб-квартире Microsoft в июле 2014 года, а победители получат приз в размере 50000$! Мы ждем яркие проекты из вашего Университета!

Компиляторы помогают

Компилятор

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Компиля́тор — программа или техническое средство, выполняющее компиляцию.[1][2][3]
Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).[2][3][4] Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).[5]
Компилировать — проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.[3]

Виды компиляторов[2]

  • Векторизующий. Транслирует исходный код в машинный код компьютеров, оснащённых векторным процессором.
  • Гибкий. Сконструирован по модульному принципу, управляется таблицами и запрограммирован на языке высокого уровня или реализован с помощью компилятора компиляторов.
  • Диалоговый. См.: диалоговый транслятор.
  • Инкрементальный. Повторно транслирует фрагменты программы и дополнения к ней без перекомпиляции всей программы.
  • Интерпретирующий (пошаговый). Последовательно выполняет независимую компиляцию каждого отдельного оператора (команды) исходной программы.
  • Компилятор компиляторов. Транслятор, воспринимающий формальное описание языка программирования и генерирующий компилятор для этого языка.
  • Отладочный. Устраняет отдельные виды синтаксических ошибок.
  • Резидентный. Постоянно находится в оперативной памяти и доступен для повторного использования многими задачами.
  • Самокомпилируемый. Написан на том же языке, с которого осуществляется трансляция.
  • Универсальный. Основан на формальном описании синтаксиса и семантики входного языка. Составными частями такого компилятора являются: ядро, синтаксический и семантический загрузчики.

Виды компиляции[2]

  • Пакетная. Компиляция нескольких исходных модулей в одном пункте задания.
  • Построчная. То же, что и интерпретация.
  • Условная. Компиляция, при которой транслируемый текст зависит от условий, заданных в исходной программе директивами компилятора. Так, в зависимости от значения некоторой константы, можно включать или выключать трансляцию части текста программы.

Структура компилятора

Процесс компиляции состоит из следующих этапов:
  1. Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем.
  2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.
  3. Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) — например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
  4. Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла. Оптимизация может быть на разных уровнях и этапах — например, над промежуточным кодом или над конечным машинным кодом.
  5. Генерация кода. Из промежуточного представления порождается код на целевом языке.
В конкретных реализациях компиляторов эти этапы могут быть разделены или, наоборот, совмещены в том или ином виде.

Генерация кода

Генерация машинного кода

Большинство компиляторов переводит программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен процессором. Как правило, этот код также ориентирован на исполнение в среде конкретной операционной системы, поскольку использует предоставляемые ею возможности (системные вызовы, библиотеки функций). Архитектура (набор программно-аппаратных средств), для которой производится компиляция, называется целевой машиной.
Результат компиляции — исполнимый модуль — обладает максимальной возможной производительностью, однако привязан к определённой операционной системе и процессору (и не будет работать на других).
Для каждой целевой машины (IBM, Apple, Sun и т. д.) и каждой операционной системы или семейства операционных систем, работающих на целевой машине, требуется написание своего компилятора. Существуют также так называемые кросс-компиляторы, позволяющие на одной машине и в среде одной ОС генерировать код, предназначенный для выполнения на другой целевой машине и/или в среде другой ОС. Кроме того, компиляторы могут оптимизировать код под разные модели из одного семейства процессоров (путём поддержки специфичных для этих моделей особенностей или расширений наборов инструкций). Например, код, скомпилированный под процессоры семейства Pentium, может учитывать особенности распараллеливания инструкций и использовать их специфичные расширения — MMX, SSE и т. п.
Некоторые компиляторы переводят программу с языка высокого уровня не прямо в машинный код, а на язык ассемблера (примером может служить PureBasic, транслирующий бейсик-код в ассемблер FASM). Это делается для упрощения части компилятора, отвечающей за кодогенерацию, и повышения его переносимости (задача окончательной генерации кода и привязки его к требуемой целевой платформе перекладывается на ассемблер), либо для возможности контроля и исправления результата компиляции программистом.

Генерация байт-кода

Результатом работы компилятора может быть программа на специально созданном низкоуровневом языке, подлежащем интерпретации виртуальной машиной. Такой язык называется псевдокодом или байт-кодом. Как правило, он не является машинным кодом какого-либо компьютера и программы на нём могут исполняться на различных архитектурах, где имеется соответствующая виртуальная машина, но в некоторых случаях создаются аппаратные платформы, напрямую поддерживающие псевдокод какого-либо языка. Например, псевдокод языка Java называется байт-кодом Java и выполняется в Java Virtual Machine, для его прямого исполнения была создана спецификация процессора picoJava. Для платформы .NET Framework псевдокод называется Common Intermediate Language (CIL), а среда исполнения — Common Language Runtime (CLR).
Некоторые реализации интерпретируемых языков высокого уровня (например, Perl) используют байт-код для оптимизации исполнения: затратные этапы синтаксического анализа и преобразование текста программы в байт-код выполняются один раз при загрузке, затем соответствующий код может многократно использоваться без промежуточных этапов.

Динамическая компиляция

Из-за необходимости интерпретации байт-код выполняется значительно медленнее машинного кода сравнимой функциональности, однако он более переносим (не зависит от операционной системы и модели процессора). Чтобы ускорить выполнение байт-кода, используется динамическая компиляция, когда виртуальная машина транслирует псевдокод в машинный код непосредственно перед его первым исполнением (и при повторных обращениях к коду исполняется уже скомпилированный вариант).
CIL-код также компилируется в код целевой машины JIT-компилятором, а библиотеки .NET Framework компилируются заранее.

Декомпиляция

Существуют программы, которые решают обратную задачу — перевод программы с низкоуровневого языка на высокоуровневый. Этот процесс называют декомпиляцией, а такие программы — декомпиляторами. Но поскольку компиляция — это процесс с потерями, точно восстановить исходный код, скажем, на C++, в общем случае невозможно. Более эффективно декомпилируются программы в байт-кодах — например, существует довольно надёжный декомпилятор для Flash. Разновидностью декомпилирования является дизассемблирование машинного кода в код на языке ассемблера, который почти всегда выполняется успешно (при этом сложность может представлять самомодифицирующийся код или код, в котором собственно код и данные не разделены). Связано это с тем, что между кодами машинных команд и командами ассемблера имеется практически взаимно-однозначное соответствие.

Раздельная компиляция

Раздельная компиляция (англ. separate compilation) — трансляция частей программы по отдельности с последующим объединением их компоновщиком в единый загрузочный модуль.[2]
Исторически особенностью компилятора, отражённой в его названии (англ. compile — собирать вместе, составлять), являлось то, что он производил как трансляцию, так и компоновку, при этом компилятор мог порождать сразу абсолютный код. Однако позже, с ростом сложности и размера программ (и увеличением времени, затрачиваемого на перекомпиляцию), возникла необходимость разделять программы на части и выделять библиотеки, которые можно компилировать независимо друг от друга. При трансляции каждой части программы компилятор порождает объектный модуль, содержащий дополнительную информацию, которая потом, при компоновке частей в исполнимый модуль, используется для связывания и разрешения ссылок между частями.
Появление раздельной компиляции и выделение компоновки как отдельной стадии произошло значительно позже создания компиляторов. В связи с этим вместо термина «компилятор» иногда используют термин «транслятор» как его синоним: либо в старой литературе, либо когда хотят подчеркнуть его способность переводить программу в машинный код (и наоборот, используют термин «компилятор» для подчёркивания способности собирать из многих файлов один).

Интересные факты

На заре развития компьютеров первые компиляторы (трансляторы) называли «программирующими программами»[6] (так как в тот момент программой считался только машинный код, а «программирующая программа» была способна из человеческого текста сделать машинный код, то есть запрограммировать ЭВМ).

См. также

Примечания

  1. ГОСТ 19781-83 // Вычислительная техника. Терминология: Справочное пособие. Выпуск 1 / Рецензент канд. техн. наук Ю. П. Селиванов. — М.: Издательство стандартов, 1989. — 168 с. — 55 000 экз. — ISBN 5-7050-0155-X; см. также ГОСТ 19781-90
  2. Перейти к: 1 2 3 4 5 Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика, 1991. — 543 с. — 50 000 экз. — ISBN 5-279-00367-0
  3. Перейти к: 1 2 3 СТ ИСО 2382/7-77 // Вычислительная техника. Терминология. Указ. соч.
  4. Борковский А. Б. Англо-русский словарь по программированию и информатике (с толкованиями). — М.: Русский язык, 1990. — 335 с. — 50 050 (доп,) экз. — ISBN 5-200-01169-3
  5. Толковый словарь по вычислительным системам = Dictionary of Computing / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского. — М.: Машиностроение, 1990. — 560 с. — 70 000 (доп,) экз. — ISBN 5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания)
  6. Н. А. Криницкий, Г. А. Миронов, Г. Д. Фролов. Программирование / Под ред. М. Р. Шура-Бура. — М.: Государственное издательство физико-математической литературы, 1963.

Литература

  • Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы: принципы, технологии и инструментарий = Compilers: Principles, Techniques, and Tools. — 2-е изд. — М.: Вильямс, 2010. — 1184 с. — ISBN 978-5-8459-1349-4
  • Робин Хантер. Основные концепции компиляторов = The Essence of Compilers. — М.: Вильямс, 2002. — 256 с. — ISBN 0-13-727835-7
  • Хантер Р. Проектирование и конструирование компиляторов / Пер. с англ. С. М. Круговой. — М.: Финансы и статистика, 1984. — 232 с.
  • Д. Креншоу. Давайте создадим компилятор!
  • Серебряков В. А., Галочкин М. П. Основы конструирования компиляторов.

Ликвидация - Москва - ENTER.ru

Ликвидация - Москва - ENTER.ru

Планы Office 365 для образовательных учреждений - Office.com

Планы Office 365 для образовательных учреждений - Office.com
Office 365
для учебных заведений A2


Цена указана без учета налога.
Учащиеся:
БЕСПЛАТНО
Преподаватели и другие сотрудники:
БЕСПЛАТНО

Shareaholic — Share buttons, related content, website analytics

Shareaholic — Share buttons, related content, website analytics

DistroWatch.com: Put the fun back into computing. Use Linux, BSD.

DistroWatch.com: Put the fun back into computing. Use Linux, BSD.

Сравнение дистрибутивов Linux — Википедия

Сравнение дистрибутивов Linux — Википедия

Это у конкурентов цены в 3 раза выше)))


PuppyRus LiveUSB |  NetLife

PuppyRus LiveUSB |  NetLife

Puppy Linux — Википедия

Puppy Linux — Википедия
Puppy Linux (англ. puppy [’pʌpɪ] — «щенок») — дистрибутив операционной системы GNU/Linux, разработанный Барри Каулером, профессором на пенсии из Австралии. Его целью было создать дистрибутив, похожий в использовании на Windows, который бы включал все необходимые приложения, но при этом имел достаточно малый размер (от 70 мегабайт) и скромные системные требования (процессор Pentium I, оперативная память — 32 мегабайта), чтобы полностью загружаться в оперативную память (при наличии таковой размером 64 мегабайт и более) и работать даже на старых ПК. Puppy работает практически на любом оборудовании, лёгок в освоении и использовании, а также легко настраивается под личные нужды конкретного пользователя.

Как записать Kaspersky Rescue Disk 10 на USB-носитель и загрузить с него компьютер?

Как записать Kaspersky Rescue Disk 10 на USB-носитель и загрузить с него компьютер?

Как скачать Kaspersky Rescue Disk 10?

Как скачать Kaspersky Rescue Disk 10?

CDBurnerXP: Загрузки

CDBurnerXP: Загрузки

Ubuntu Studio — Википедия. Экономия в сотни тысяч рупий)

Ubuntu Studio — Википедия
В состав Ubuntu Studio входят следующие программы:

Аудио

  • Ardour — мощный редактор аудиозаписи и сведения
  • Audacity — свободный многоплатформенный редактор звуковых файлов, ориентированный на работу с несколькими дорожками.
  • Hydrogen — драм машина
  • JACK— звуковой сервер-демон, позволяющий с низкой задержкой соединять между собой так называемые «джэкифицированные» приложения
  • JAMin — инструмент мастеринга
  • LilyPond — свободный нотный редактор
  • Mixxx — программа для миксования музыки
  • MusE — MIDI/Audio синтезатор, использующий JACK и ALSA
  • Rosegarden — свободный MIDI-секвенсор, нотный редактор для Linux, использующий ALSA, JACK и KDE, программа для создания и редактирования музыки наподобие Apple Logic Pro, Cakewalk Sonar и Steinberg Cubase.
  • TiMidity++ — программный midi-синтезатор
  • Wired

Видео

  • CinePaint — программа для раскраски и ретуширования видео-кадров с использованием менеджера кадров и «слоёв луковицы».
  • PiTiVi — нелинейный редактор видео, базирующийся на фреймворке GStreamer
  • Kino — нелинейный редактор Digital Video (DV)
  • Stopmotion — программа для покадрового создания видео
  • VLC media player — свободный(free software) проигрыватель

Графика

  • Agave — приложение для GNOME, которое создает цветовую схему из одного начального цвета
  • Blender — пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр.
  • Enblend — инструмент для склейки изображений.
  • FontForge — редактор шрифтов
  • The GIMP — растровый графический редактор
  • Inkscape — векторный графический редактор
  • Scribus — приложение для визуальной вёрстки документов,
  • Synfig — программа для создания двумерной векторной анимации

Microsoft вернет полноценную кнопку «Пуск» в новой Windows 8.2 (19): Яндекс.Новости

Microsoft вернет полноценную кнопку «Пуск» в новой Windows 8.2 (19): Яндекс.Новости

Программирование

 API Challenge
Программи́рование — процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций (программ) на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывают алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Иначе это называется «программная инженерия» («инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.
Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент — транслятор.
В настоящее время активно используются интегрированные среды разработки, включающие в свой состав также редактор для ввода и редактирования текстов программ, отладчики для поиска и устранения ошибок, трансляторы с различных языков программирования, компоновщики для сборки программы из нескольких модулей и другие служебные модули.
Текстовый редактор среды программирования может иметь специфичную функциональность, такую как индексация имен, отображение документации, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирования текста создаваемой программы, который называют исходным кодом. Язык программирования определяет синтаксис и изначальную семантику исходного кода. Компилятор преобразует текст программы в машинный код, непосредственно исполняемый электронными компонентами компьютера. Интерпретатор создаёт виртуальную машину для выполнения программы, которая полностью или частично берёт на себя функции исполнения программ.

Стадии программирования

Программирование в широком смысле можно разбить на несколько стадий:

История

Коммутационная панель суммирующей машины IBM 402
Антикитерский механизм из Древней Греции был калькулятором, использовавшим шестерни различных размеров и конфигурации, обусловливавших его работу,[1] по отслеживанию метонова цикла, до сих пор использующегося в лунно-солнечных календарях.[2] Аль-Джазари построил программируемый автомат-гуманоид в 1206 году. Одна система, задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь, управляли ударными инструментами.
Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.
Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочь великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах. Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

Языки программирования

Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Различные языки программирования поддерживают различные стили программирования (парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы выбрать язык программирования, наиболее полно подходящий для решения поставленной задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором — виртуальной машиной. Но это справедливо только для языков высокого уровня. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ. (По этой причине трансляторы с языков ассемблера — ассемблера — получаются алгоритмически простейшими трансляторами.)
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для .NET Framework.
Скриншот фрагмента кода на языке Java в текстовом редакторе vim, демонстрирующий подсветку синтаксиса, поддержку Unicode, фолдинг

См. также

Примечания

  1. Ancient Greek Computer’s Inner Workings Deciphered. National Geographic News. November 29, 2006.
  2. Freeth, Tony; Jones, Alexander; Steele, John M.; Bitsakis, Yanis (July 31, 2008). «Calendars with Olympiad display and eclipse prediction on the Antikythera Mechanism». Nature 454 (7204): 614–617. DOI:10.1038/nature07130. PMID 18668103.

Литература

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — 275 с.
  • Бьярне Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. — М.: Вильямс, 2011. — С. 1248. — ISBN 978-5-8459-1705-8
  • Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming. — М.: Вильямс, 2011. — С. 272. — ISBN 978-5-8459-1708-9
  • Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с. — ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.)
  • Иан Соммервилл. Инженерия программного обеспечения / Пер. с англ. — 6-е издание. — М.: Вильямс, 2002. — 624 с.
  • Иан Грэхем. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. — 3-е изд. — М.: Вильямс, 2004. — 880 с.

Ссылки