суббота, 14 февраля 2015 г.

Как программисты ищут квартиры

Советую почитать не только статью, но и комментарии 


На самом деле все происходит не так...

Один мой знакомый попросил меня написать эту статью. В статье пойдет рассказ о его похождениях, которые могут (могли) быть неправильно восприняты администрацией определенных интернет-ресурсов. И те, в свою очередь, могут (могли) пожаловаться на моего знакомого куда следует. Поэтому пишу статью с его слов я. А он уехал. В Гондурас. Насовсем.


Ссылка на статью: http://habrahabr.ru/post/242085/

среда, 12 ноября 2014 г.

Интервью Скотта Мейерса в Яндексе. О настоящем и будущем C++

Скотт Мейерс — один из самых известных и признанных экспертов по C++, автор серии книг «Эффективное использование C++», которые читал почти каждый профессиональный разработчик на C++ и которые оказали заметное влияние на всю экосистему и качество использование языка.

Лично я стал почти его фанатом ещё студентом, когда в начале 2000-х читал статьи Скотта, лежащие в основе его книг (сами книги на тот момент в России ещё не были переведены, а на английские с Амазона у меня, как бедного студента, денег не было).

четверг, 11 сентября 2014 г.

Стиль написания кода на C++

1. Общие замечания.
Ни один адекватный человек не использует все возможности C++ в одной программе. С++ это настолько мощный и гибкий язык, что все его возможности не то что использовать, а просто запомнить невозможно.
Я как-то сопровождал программу, где дикие украинские студенты использовали макросы, шаблоны, статическое и динамическое подключение библиотек, глобальные, внешние и статические переменные без каких либо префиксов, закрытые конструкторы, конфигурацию в константах и в XML-файле одновременно, а еще вперли туда самодельный упрощенный интерпретатор LUA. Это просто ужас.  Примерно 97% кода в той программе можно выбросить и ничего не изменится.

четверг, 27 февраля 2014 г.

Обзор зарплат программистов Java/C++/C#/Delphi

 IT-Доминанта продолжаем публиковать результаты исследования рынка заработных плат в IT индустрии. 
Очередной посвятили:
  • Java программистам
  • С++ программистам
  • C# программист
  • Delphi программистам



Напомню, в предыдущих постах мы уже рассказали о зарплатах «Мобильных» разработчиков, Дизайнеров, Руководителей проектов по разработке ПО, Системных администраторов Windows и даже описали из чего состоит социальный пакет в IT компании. В последней публикации речь шла о зарплатах Web программистов. 

вторник, 25 февраля 2014 г.

Интервью с Бьерном Страуструпом о языке C++

Считанные часы остались до Нового 2014-го года, в котором в числе прочего всем нам был обещан новый стандарт C++14. Однако он будет не большим самостоятельным обновлением, а лишь доработкой C++11, багфиксом, который придаст текущей версии языка завершенный вид. На этом фоне Уильям Вонг (англ.William Wong) от ресурса electronicdesign.com взял интервью у Бьерна Страуструпа (дат. Bjarne Stroustrup), создателя C++. Беседа затронула несколько тем: от истории разработки C++ и особенностей стандарта C++11 до проблемы обучения этому языку программирования.

Некоторые термины и понятия из этого интервью мне раньше встречались исключительно в английском варианте (например, словечко embedded в контексте IT), и мне не всегда удавалось найти общепринятый перевод, в котором я не был бы уверен сам. В этих и других неоднозначных случаях я указывал английский вариант термина в скобках либо вовсе оставлял его непереведенным. 

пятница, 24 января 2014 г.

История языка C++

История создания

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. [4] Когда в конце 1970-х годов Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов), он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения.

среда, 22 января 2014 г.

Тест-головоломка на логическое мышление

Надо с одно берега на другой перевезти папу, двух сыновей, маму, двух дочек, полицейского и вора. 

Причем:
  1. На плоту одновременно могут быть только два человека
  2. Папе не разрешается находиться с дочерьми без присутствия матери.
  3. Маме не разрешается находиться с сыновьями без присутствия отца.
  4. Заключённого нельзя оставлять одного ни с одним из членов семьи.
  5. Управлять плотом могут только полицейский и родители.
Этот тест применяется при приёме на работу специалистов IT в Японии. В среднем людям даётся 15 минут времени… Японский IQ тест

среда, 11 декабря 2013 г.

Парадигмы программирования в C++

С++ — язык программирования общего назначения с уклоном в сторону системного программирования, который:
  • лучше, чем С,
  • поддерживает абстракцию данных,
  • поддерживает объектно-ориентированное программирование,
  • поддерживает обобщенное программирование.
Детальное понимание средств языка — даже всех средств языка — не может компенсировать отсутствия общего представления о языке и основных методах его использования.

вторник, 3 декабря 2013 г.

Видеоуроки по Borland C++ Builder 6. Создание медиаплеера

Урок 1. Выбор используемых компонентов
Урок 2. Настройка визуальных компонентов
Урок 3. Задание свойств компонентов
Урок 4. Создание изображения в ImageEditor
Урок 5. Редактирование ресурсов приложения
Урок 6. Настройка компонента типа Image
Урок 7. Использование переменных флагов
Урок 8. Функция открытия файла
Урок 9. Запуск и проверка программы

суббота, 30 ноября 2013 г.

Видеоуроки по Borland C++ Builder 6. Создание проводника

Урок 1. Выбор используемых компонентов
Урок 2. Настройка визуальных компонентов
Урок 3. Настройка связей компонентов
Урок 4. Создание функций обработки событий
Урок 5. Настройка контекстного меню
Урок 6. Запуск и проверка программы

среда, 27 ноября 2013 г.

Видеоуроки по Borland C++ Builder 6. Создание текстового редактора

Урок 1. Выбор используемых компонентов
Урок 2. Размещение визуальных компонентов
Урок 3. Настройка свойств компонентов
Урок 4. Настройка главного меню
Урок 5. Задание типов файлов
Урок 6. Настройка команд контекстного меню
Урок 7. Настройка обработчика событий
Урок 8. Создание функций обработки событий
Урок 9. Запуск и проверка программы

воскресенье, 24 ноября 2013 г.

Видеоуроки по Borland C++ Builder 6. Визуальные компоненты

Урок 1. Инспектор объектов. Закладка Properties
Урок 2. Инспектор объектов. Закладка Events
Урок 3. Создание главного меню приложения
Урок 4. Создание полей ввода/вывода текста
Урок 5. Создание элементов многострочного ввода
Урок 6. Создание кнопок
Урок 7. Создание CheckBox и RadioButton
Урок 8. Создание списков, выпадающих списков
Урок 9. Работа с графическими изображениями
Урок 10. Работа с мультимедийными файлами

пятница, 22 ноября 2013 г.

Видеоуроки по Borland C++ Builder 6. Закладки компонентов

Урок 1. Компоненты Standart
Урок 2. Компоненты Additional
Урок 3. Компоненты Win32
Урок 4. Компоненты System
Урок 5. Компоненты Data Access, Data Control
Урок 6. Компоненты InternetExpress, Internet
Урок 7. Компоненты Dialogs
Урок 8. Компоненты Samples
Урок 9. Компоненты Office2k

вторник, 19 ноября 2013 г.

Видеоуроки по Borland C++ Builder 6. Знакомство с интерфейсом

Урок 1. Обзор элементов
Урок 2. Главное меню
Урок 3. Быстрые кнопки
Урок 4. Палитра компонентов
Урок 5. Дизайнер форм
Урок 6. Редактор кода
Урок 7. Инспектор объектов
Урок 8. Работа с файлами проекта
Урок 9. Контекстное меню
Урок 10. Настройка печати

пятница, 8 ноября 2013 г.

Об объектном подходе к программированию

Существует разные подходы к программированию. Любому из них присущ свой собственный способ абстрагирования сущностей, с которыми он работает.
Так, процедурно-ориентированный подход оперирует абстракцией алгоритма. Язык С – типичный процедурный язык, хотя на нем возможно писать программы, напоминающие по стилю объектно-ориентированные.
Логико-ориентированный имеет в виду цели, выражаемые на языке логических предикатов (язык Prolog).
Наконец, объектно-ориентированное программирование абстрагирует классы и объекты (язык С++). В чем же состоит его суть?

вторник, 15 октября 2013 г.

Выражения в C++

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

пятница, 11 октября 2013 г.

Переменные в С++


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

среда, 9 октября 2013 г.

Операции инкремента и декремента, отношений, остаток от деления и логические операции

Операции увеличения и уменьшения на 1 (++ и —)

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

понедельник, 7 октября 2013 г.

Несколько замечаний о вводе/выводе в C++

В языке С++ нет встроенных средств ввода/вывода — он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используется два способа: функции, унаследованные из языка С, и объекты С++.

пятница, 4 октября 2013 г.

Операции языка C++

Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Большинство стандартных операций может быть переопределено (перегружено).