Источник
На рынке языков программирования появился новый игрок – язык программирования go от компании Google. Если верить официальным заявлениям Google, то go – это универсальный язык, пригодный для любых задач. Google анонсировал язык go в 2009 году, и с тех пор он немного изменился, но цели и задачи у него остались прежние: этот язык предназначен для системного программирования и по своей сути очень похож на С++.
Язык go — это компилируемый и многопоточный язык общего назначения, имеющий много общих черт с языком С++, поэтому для успешного освоения представленного материала необходимы определенные знания в C++.
Данный цикл статей будет посвящен изучению языка go. В первой статье рассматриваются принципы работы и ключевые особенности синтаксиса go, если сравнивать его с C++. В статье также представлены примеры приложений, написанных на этом языке.
В настоящее время поддержка языка go присутствует на платформах Linux, MacOS и FreeBSD. Удивляет отсутствие платформы Windows в этом списке, но работы ведутся, и скоро пользователи Windows смогут также попробовать go. С ходом работ по переносу go на ОС Windows можно ознакомиться на этой странице. На данный момент язык go может создавать исполняемый код для процессоров i386, amd64 и ARM. Кроме компилятора от компании Google, существует еще компилятор gccgo из коллекции GNU.
Read more...
c plus plus, go, Linux, открытые_исходные_тексты, Программирование, разработка, ценный_опыт
Источник
Техника, известная как «Чтение по спирали/по часовой стрелке» (“Clockwise/Spiral Rule”) позволяет любому программисту разобрать любое объявление языка Си.
Следуйте этим простым шагам:
1. Начиная с неизвестного элемента, двигайтесь по спирали/по часовой стрелке; при этом заменяйте следующие элементы соответствующими фразами:
- [X] или [] => массив размера X типа… или массив неопределённого размера типа...
- (type1, type2) => функция, принимающая типы type1, type2 и возвращающая...
- * => указатель на...
2. Двигайтесь по спирали/по часовой стрелке, пока не будут пройдены все элементы.
3. Всегда сначала надо разрешать выражения в скобках!
Read more...
c plus plus, Development, Programming, Программирование, разработка, си, си плюс плюс, учеба
Источник
Предположим, что вам понадобился такой класс, объект которого должен существовать в единственном экземпляре. Кроме того, вы не хотите протаскивать этот объект во все места, где он может понадобиться, а желаете чтобы он был легко доступен из любого места программы. Таким классом может быть менеджер памяти, журнал событий (лог), звуковой менеджер, и так далее. В этих случаях вам поможет паттерн Singleton.
Я приведу простейшую реализацию синглтона, объект которого занимается управлением экрана сотового телефона.
Read more...
c plus plus, code, Development, Pattern, Programming, Singleton, паттерн, Паттерны, Программирование, разработка
Источник
Фабрика, по сути, это виртуальный конструктор. Предположим, у нас есть базовый класс и несколько его наследников. Мы хотим создавать объекты наследников, скрывая их за указателем на базовый класс. Кроме того, мы хотим, чтобы тип наследника определялся в динамике через какой-то параметр. Например, через строковое имя класса, как это сделано в моем примере.
Read more...
c plus plus, Development, Factory, Pattern, Programming, Паттерны, Программирование, разработка, фабрика
Источник
Вступление
Каждый из нас, конечно же, сталкивался с ситуацией, когда меню требуется сгенерировать динамически, непосредственно во время выполнения программы. Это может требоваться по разным причинам, например, из-за наличия нескольких локализаций ресурсов или из-за слишком большого разнообразия вариантов меню.
Read more...
c plus plus, C#, Development, pimpl, Programming, Win32, Программирование, разработка