русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Язык Go

Go - компилируемый, многопоточный язык. Данный язык программирования был разработан Google как часть проекта по разработке операционной системы Inferno. В настоящее время поддержка языка осуществляется только для операционных систем Linux, Mac OS X, в разработке находится порт под Windows (Уже в официальном репозитории).

Описание

Синтаксис Go очень похож на синтаксис С: блоки кода в фигурных скобках; общая структура управления выполнением программы включает for, switch и if. В отличие от C, точка с запятой в конце строки не является обязательным; декларация переменных происходит по-другому; преобразования типов строгое; новые инструкции go и select были введены для поддержки параллельного программирования. Новые встроенные типы включают хеш-таблицы, строки Unicode, slices-массивы, и каналы для передачи данных между потоками.

Go спроектирован для быстрого компилирования, даже на устаревшем оборудовании. Этот язык поддерживает уборку мусора. Четкая, параллельно-ориентированная структура Go (каналы альтернативны каналам ввода данных) одолжена с Tony Hoare 's CSP. В отличии от предыдущих параллельно-ориентированных языков программирования, таким как occam или Limbo, Go не предоставляет какой-либо встроенной поддержки предупреждений безопасности или проверки параллельности. На сегодняшний день Go не имеет никакой встроенной поддержки шаблонов, но это может быть добавлено в будущем.

Из функций, доступных в C + + или Java, Go не включает в себя подражание типов, обобщенное (шаблонное) программирование, утверждение (АССЕРТ), переопределения методов, арифметические операции над указателями. Авторы Go подчеркивают открытость шаблонному программированию, явно выступают против accept и арифметических операций над указателями, в то время склонны разрешить наследование типов для большего удобства языка. Первоначально язык не включал обработку исключений, но в марте 2010 был реализован механизм, который известен как panic / recover для обработки ошибок и исключений, для избежания проблем с исключениями, с которыми столкнулись авторы.

Видимость функций, за пределами файла, где они определены, определяется неявно по капитализации их идентификаторов, в отличие от C + +, где используется ключевое слово public.

Реализация

В настоящее время существует два компиляторя Go. Первый 6g/8g/5g (компиляция для AMD64, x86, и ARM соответственно) и подручные средства известны как 'gc', основанные на предыдущей работе Кена Томпсона над Plan 9's C toolchain. А также gccgo, фронтенд для GCC, написан на C + +.

Оба компилятора работают на Unix-подобных системах, порт для Microsoft Windows, для gc, были добавлены в основной пакет, большинство стандартных библиотек также уже работают под Windows.

Также существует 'tiny', среда выполнения, позволяющая программам на Go работать на голом железе .

Конфуз с именем

В день официального релиза Go, Francis McCabe, разработчик языка программирования Go!, попросил Google сменить название языка для предотвращения конфликта с именем его языка программирования. Несмотря на то, что McCabe не имеет торговой марки на название, некоторые из комментаторов призвали Google, в ответ на запрос McCabe, изменить название. Этот вопрос был закрыт 12 октября 2010 по статусу Unfortunate (неудачный), разработчик из Google прокомментировал закрытие так Существует много компьютерных продуктов и сервисов с наименованием Go. За 11 месяцев с нашего релиза, было минимальное количество случаев со спутыванием этих двух языков .

Параллельность

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

Популярность

Go вошел в TIOBE Programming Community Index на 15 место в свой первый год, сдвинув устоявшиеся языки, такие как Pascal. На 1 октября 2010, она занимает 20-ю строчку индекса.

Просмотров: 3126

Оглавление: Компьютерная графика и информация в компьютерной сфере


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.