Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 11 дек 2017, 08:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.
Автор Сообщение
 Заголовок сообщения: Инструменты Go
Непрочитанное сообщениеДобавлено: 24 ноя 2014, 21:29 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
У нас уже есть тема про Go ... но это в разделе "Список форумов ‹ Софт для Linux ‹ Инструменты программирования" - это больше про то где взять, как установить...
Там же есть ссылка на достаточно обстоятельный (но не завершённый пока) конспект (117 стр.), который составился по результатам этих экспериментов.

Но мне даже удивительно стало, что у нас как-то не сложилось темы про Go в разделе "Программирование" - куда уж больше обсуждать в программировании, чем о новом языке Go:
Цитата:
Go – один из самых удивительных языков, появившихся в последние 15 лет, и первый, нацеленный на программистов и компьютеры XXI века.

(c) Марк Саммерфильд

2 дня назад, 22.11.2014, в Харькове проходила очередная конференция профессиональных разработчиков программного обеспечения. Это так называемые IT Weekend, проводимые чередуясь в разных городах Украины компанией SoftServe (крупнейший разработчик, имеющий в своём составе до 3000 персонала).
Изображение
Из 4-х часовых докладов один был отдан беглому (а как может быть иначе за 60 мин.?) введению в язык Go и его перспективам использования в новых корпоративных проектах. Фотоотчёт (в 117 снимков) о прохождении конференции организаторы выложили для публичного доступа, и его можно разглядывать здесь.

Этот доклад по Go делал, как несложно догадаться ;-) , ваш покорный слуга...
И вот с конспекта этого доклада и архива из 3-х простейших приложений я и начну эту тему в "Программирование"...


Вложения:
Doclad.Go_03.odt [97.78 КБ]
Скачиваний: 490
examples.Go.tgz [3.89 КБ]
Скачиваний: 489
Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 25 ноя 2014, 00:00 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Olej писал(а):
Цитата:
Go – один из самых удивительных языков, появившихся в последние 15 лет, и первый, нацеленный на программистов и компьютеры XXI века.

(c) Марк Саммерфильд


Удивляет при детальном знакомстве то, что:

1. Go вполне ориентирован на малые, или даже embedded конфигурации, на выполнение практически под любой операционной системой: Linux, Windows, MacOS, Plan 9, ...

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

3. И одновременно с тем, сугубо компилирующий язык, прямой наследник C/C++ - как эффективное средство WEB-программирования, за счёт преодоления огромного ограничения C (да и C++) - обработки символьных данных.

Вот такая вот получается ... всеядность ;-)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 25 ноя 2014, 00:17 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Olej писал(а):
2. С другой стороны - на работу приложений в самых больших аппаратных конфигурациях, когда требуется получить максимально возможную производительность, и эффективно задействовать работу многих процессоров (ядер) в SMP.


Здесь вспоминают, что и в C есть POSIX потоки pthread_t на все случаи жизни, и в C++ есть класс thread:: ... правда всего лишь как надстройка над pthread_t, и в Windows API есть, мол, threads ...

А тут вот как раз, совсем недавно (сон в руку? ;-) ) на Intel Developer Zone, а в полном виде на Хабрахабр появляется статья "Потоки — это Goto параллельного программирования", с очень внятной иллюстрацией:
Изображение
Цитата:
25 апреля в 08:50
Сразу раскрою мысль, вынесенную в заголовок. Использование потоков (также именуемых нити, треды, англ. threads) и средств прямой манипуляции ими (создание, уничтожение, синхронизация) для написания параллельных приложений оказывает столь же пагубное влияние на сложность алгоритмов, качество кода и скорость его отладки, какое вносило использование оператора Goto в последовательных программах.

Автор Григорий Речистов ... как я понимаю кто-то из сотрудников Intel и из молодых преподавателей МФТИ:
Цитата:
На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86?


Я как просто ожидал какой-то подобной публикации ... когда писал для себя ещё заметки "Параллелизм, конкурентность, многопроцессорность в Linux".


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 08 май 2015, 10:08 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Olej писал(а):
3. И одновременно с тем, сугубо компилирующий язык, прямой наследник C/C++ - как эффективное средство WEB-программирования, за счёт преодоления огромного ограничения C (да и C++) - обработки символьных данных.


А по поводу WEB-программирования - вот достаточно свежий перевод ... необычной для меня публикация в 2-х частях:
Веб приложение с Beego
Цитата:
Опубликовано: Артем | 12 Jul, 2014.

Beego. Часть 2
Цитата:
Опубликовано: Артем | 10 Aug, 2014.


И ещё очень впечатляющие бэнчмарки для многих и многих разнообразных WEB-фреймворков и для разных классов разбора запросов, среди них и Go, и на очень приличных позициях!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 02 июн 2015, 19:18 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Интересная статья: Свой memcached. Часть 1.

Интересна несколькими местами:
- TCP/IP сервер ...
- кеширование запросов...
- распределённые вычисления.

Многие фрагменты кода могут быть заимствованы как отправная точка своих собственных приложений.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 27 сен 2015, 11:29 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Начинаем любить Go
Цитата:
14 сентября в 18:31
Если что, это вольный перевод статьи из блога Jeremy Mikkola.

Цитата:
Эта статья о том, как некоторое время спустя я распробовал и таки полюбил язык Go (аки golang).
...


Приятная статья.
Как обычно, на Хабрахабр обсуждение превратилось в срач ... так что комментарии можно пропустить :lol:


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 28 сен 2015, 12:09 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Почему Go обречён на успех


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 29 сен 2015, 09:22 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Главная фишка Go - та лёгкость, с которой на нём описываются параллельные ветки вычислений.
Причём ветки, разнесенные на разные процессоры.
Чего совершенно не умеют (в принципе не могут), скажем Python, Ruby etc.
И что так тяжело делается в низкоуровневой технике pthread_t на C, C++, Java, ...

Но тут есть одна фишка :-o : по разным местам Интернет идут обсуждения и догадки ;-) - как в Go это реализуется? какими механизмами?
Есть мнения, что Go-рутины - это даже не pthread_t ядра, а некоторые более лёгкие механизмы юзерспейс... Но другие публикации тут же подвергают это сомнениям, потому как по ps при выполнении программ Go видно достаточно много потоков...

Мне как-то кажется, что связано это с тем, что механизмы реализации эти они ещё меняются, зависят от реализации и версии (Go), а обсуждения относятся к разным версиям ... похоже.
Ведь Go вышел в свет только в 2009 году!

Но вот очень интересные публикации в тему:

The Go scheduler
Цитата:
30 June 2013


Scalable Go Scheduler Design Doc - это вообще описание от автора этого механизма:
Цитата:
Dmitry Vyukov
dvyukov@google.com
May 2, 2012


Scheduling Multithreaded Computations by Work Stealing


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 29 сен 2015, 21:54 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Olej писал(а):
The Go scheduler
Цитата:
30 June 2013



Очень вольный перевод этой публикации.


Вложения:
The_Go_scheduler.ru.odt [130.47 КБ]
Скачиваний: 414
Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Go
Непрочитанное сообщениеДобавлено: 05 окт 2015, 00:51 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10248
Откуда: Харьков
Olej писал(а):
Очень вольный перевод этой публикации.

Тот же перевод, но с исправленной, приведенной в соответствие с установившейся, русскоязычной терминологией.


Вложения:
The_Go_scheduler_2.ru.odt [130.22 КБ]
Скачиваний: 470
Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.604s | 19 Queries | GZIP : On ]