|
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
Язык программирования Go от Goooooogle11.11.2009, 14:30. Показов 18253. Ответов 44
Спросив любого программиста, работающего с несколькими языками программирования, о преимуществах того или иного языка, можно услышать длинную лекцию о том, чем плохи какие-то конкретные языки и что лично он изменил бы в их работе. Одним не по душе синтаксис, другие имеют претензии к скорости работы кода, третьим не нравятся отладчики и компиляторы.
Отчасти именно поэтому многие крупные разработчики программного обеспечения уже лет 15 как озаботились проблемой создания собственных языков программирования. Подключив в этой проблеме свои финансовые и человеческие ресурсы, компании взялись за это дело засучив рукава. В результате этих усилий были в свое время созданы Java, Perl, языки семейства .Net и другие. Тем не менее все эти разработки объединяет одно - они никак не могут отойти от наследства основополагающих языков программирования С и C++. Отчасти сделать это удалось языкам вроде Haskell или Erlang, однако в силу других причин эти языки пребывают ныне в забвении. Сегодня свою лепту в дело создания языков программирования вложила и Google, анонсировавшая новый язык программирования Go. Новая разработка, как заверяют в Google, должна быть удобна для современных авторов программного обеспечения. При первом же просмотре кодов, написанных на Go, можно понять, что от наследия С++ избавиться не удалось и Google, тем не менее, Go имеет несколько занятных новшеств и изюминок, отличающих его от других языков. Как рассказали в Google, Go имеет новую систему типов и переменных, быструю компиляцию, хорошую производительность, а также встроенные средства, облегчающие написание кодов. Язык был в разработке внутри компании около двух лет. Вначале им занималась инициативная группа программистов, позже эти работы были выделены в свое направление. Сейчас язык и его спецификации опубликованы под лицензией BSD, допускающей свободное использование, а также создание на базе Go новых дочерних языков более узкой специализации. По словам Роберта Пайка, инженера Google, нынешняя реализация Go уже достаточно зрелая, хотя экосистема проектов и людей вокруг Go только создается. Пока для данного языка нет своей среды разработки, да и комплект библиотек для него невелик, тем не менее готовые образцы кодов уже есть. Пайк уверен, что зрелости Go уже достаточно для создания важных приложений, с которыми работают многие пользователи. Сейчас с Go поставляются два типа компилаторов - 6g и 8g для 64-битных платформ и общей архитектуры x86 соответственно. Оба компилятора, как заверяют в Google, работают очень быстро. Есть альтернативный компилятор Gccgo, базирующийся на знакомой всем пользователям Linux системе компиляторов GNU GCC. Последний компилятор не так быстр, но он может создавать более эффективный код. Все компиляторы полагаются полностью на собственный код. Создаваемый код не является управляемым, то есть для его работы не нужна виртуальная машина. По словам Пайка, получаемый после компиляции байт-код совершенно автономен. Внешне код Go представляет собой занятный симбиоз старого-доброго C++ и нового языка Python, используемого в интернете. В наследство от С новый язык получил систему типов и объектно-ориентированную концепцию программирования с возможностью наследования. Программисты сами могут определять типы и создавать методы для управления ими. Еще одной изюминкой языка является параллелизм. Go изначально поддерживает конкурентные потоки, более того Google здесь добавила механизм каналов, в каждом из которых может выполняться свой поток внутри программы. Сайт проекта http://golang.org/ взято с cybersecurity.ru
8
|
|
| 11.11.2009, 14:30 | |
|
Ответы с готовыми решениями:
44
Язык программирования Яр Язык программирования РС/Б Новый язык программирования |
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 31.03.2017, 21:24 | |
|
Занимательная переводная хабростатья Что я изменил бы в Go.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
||||||||||||||||||||||||||||||||
| 01.04.2017, 00:06 | ||||||||||||||||||||||||||||||||
|
По пунктам:
Go — стабильный язык с относительно большим количеством сторонних библиотек и примеров «real-world»-применения, а что с Rust'ом? Даже авторы (Mozilla) до сих пор не используют его полноценно (Servo всё ещё в стадии разработки).
Про обработку ошибок тоже, в целом согласен, но
По поводу дженериков авторы Go давно написали ответ в FAQ. Мне самому при использовании Go иногда их не хватало, и я понимаю всю их пользу, особенно для библиотечного кода, но я никогда не занимался разработкой и реализацией ЯП и компиляторов, поэтому судить авторов Go за их решение в данном случае не стал бы. Кроме того, нередко злоупотребление дженериками приводит просто к адовому коду. =)
1) в части случаев вместо кортежа лучше всё-таки создать отдельный тип структуры с «говорящими» именами полей; 2) иногда можно использовать анонимные структуры, хотя это менее удобно.
Довольно странная придирка. Я бы ещё понял, если бы он написал, что неплохо бы, чтобы range был хотя бы встроенным типом, как chan, и его можно было бы создавать и возвращать как результат работы процедуры, например. В общем, был бы first-class citizen.
([]Stringer) и (Show a => [a]) — это сильно разные вещи.
2
|
||||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 11.10.2018
Сообщений: 2
|
|
| 11.10.2018, 19:15 | |
|
вот по чему вы должны учиться Go Programming language
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||||||||||||||
| 11.10.2018, 22:32 | |||||||||||||||
И как из этого следует утверждение «Golang is quite fast»?
![]()
2) Таких языков полно и в Go далеко не самая строгая типизация, рекомендую ознакомиться с зависимыми типами, например по http://www.cse.chalmers.se/~bengt/papers/hlcs.pdf
geekyvicky, если ты написал эту статью, то лучше удали её, не позорься. Если не ты, то никогда больше не пости ссылку на неё. Если ты просто бот, то убей своего хозяина.
1
|
|||||||||||||||
| 11.10.2018, 22:32 | |
|
Помогаю со студенческими работами здесь
45
Символьный язык программирования Язык программирования Pike Язык программирования GRASS Что за язык программирования? Icon язык программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|