Задать вопрос
  • Можете посоветовать книгу по C++?

    Gromobanan777
    @Gromobanan777
    Self-employed professional
    C++ Primer, Fourth Edition.
    Stanley B. Lippman, Josée Lajoie, Barbara E. Moo.
    ISBN: 5-8459-1121-4 (0-201-72148-1).

    Практика, практика, практика.
    Ответ написан
    1 комментарий
  • Как понять принципы ООП?

    @Calc
    Гради Буч.
    Объектно-ориентированный анализ и проектирование
    Ответ написан
    Комментировать
  • Где найти интересные задачи по с++ разного уровня?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    http://acmp.ru/
    Еще в школе мне очень понравилось решать такую задачу:
    Дана строка длины L (30 < L < 1000), представляющая собой предложение на русском языке, зашифрованное шифром цезаря с неизвестным сдвигом K (0 < K < 33). Выведите исходное предложение.
    Например:
    input.txt "Цхчёкхюфвр юлтхилс - дщх щхщ, сщх клтжлщ йжкхшщп зло ъкхихтгшщипё."
    output.txt "Порядочный человек - это тот, кто делает гадости без удовольствия."
    Ответ написан
    2 комментария
  • Какая сфера программирования перспективнее: web или десктоп?

    @dmitryprogrammer
    Я думаю что хороший разработчик в обеих сферах без работы не останется. Обоим сферам есть куда расти, тут уж к чему больше душа лежит.

    Я в вебе где-то с 2010-го, за это время развилось много чего и еще большее остается впереди. К примеру, такие плюшки как webgl, three.js, html5 набирает больше оборотов. У desktop, уверен ситуация состоит аналогичным образом.
    Ответ написан
    Комментировать
  • Есть ли рускоязычная среда програмирования?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я не думаю что вам будет понятнее такой код:
    класс ПростойКласс {
        приватно:
            свойство строка названиеПеременной
        публично конструктор (строка названиеПеременной) {
             контекст.названиеПеременной = названиеПеременной;
        }
        // ...
    }
    
    ПростойКласс[] массивКлассов = создать ПростойКласс[10];
    пока (беззнаковое целое итератор = 0; итератор < 10; итератор++) {
        массивКлассов[итератор] = создать ПростойКласс("строка передаваемая в конструктор);
    }


    Вообще все эти понятия типа "функция может возвращать значение" (точнее наоборот, она обычно возвращает значение но может и не возвращать) родом из математики, и там никто не ноет что "почему все называют эти все штуки буквами греческого алфовита". Никто не кричит "почему синус принято обозначать sin а не син" и т.д.

    Тут так же. Знание самого языка не поможет вам понять смысла конструкций типа for.
    Ответ написан
    3 комментария
  • Photoshop.Как изучать?

    sofcom
    @sofcom
    DevOps & IT Produce & Digital marketing
    Зачем фотошоп? Если уж учить с ноля, то сразу GIMP - progimp.ru
    Ответ написан
    4 комментария
  • Где найти напарника, что бы учиться кодить?

    @DancingOnWater
    Я бы помог, но ночью я сплю.
    Ответ написан
    Комментировать
  • Зачем в современных проектах все еще используются макросы?

    bogolt
    @bogolt
    Макросы нужны там где нужно во время компиляции программы генерировать код. Функции или даже шаблоны для этого не подходят.
    Например вы хотите логгер, который бы писал в каком файле, и на какой строке произошла ошибка, вы пишите код

    cout << __FILE__ << __LINE__ << "error message";

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

    Итак теперь вы тяжело вздохнув, и закрыв портретик Страуструпа шторкой ( чтобы не видел как вы предаетесь адскому макросостроению ) пишите макрос
    #define LOG(x) std::cout << __FILE__ << __LINE__ << x << std::endl;


    Теперь где угодно можно писать
    LOG("this is error number " << errno);
    и все будет работать как и было запланировано.

    Еще из полезных свойств макросов - улучшать чужой плохой код. Если у вас есть много переменных, или переменных имена у которых почти совпадают с именами функций и вам нужно сделать этот код умнее, вы пользуетесь макросами, склеиваете строки через ## или преобразовываете переменную в строку через #
    Это довольно мощные инструменты ( пусть до лисповских максросов им далеко ) которые реально позволяют улучшить код и/или избежать кучу повторений одного и того же блока кода.
    Ответ написан
    Комментировать
  • Зачем в современных проектах все еще используются макросы?

    @malerix
    "Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Lisp". Так что макросы нужны.
    Попробуйте "заинлайнить" вот это:
    #define FOO_MAGIC protected: foo someMagicFunction(){...} foo Bar;
    // далее - мешанина из \ template typedef typename { } <> () FOO_MAGIC_1
    // и прочих радостей поддержки чужого кода

    Более известный пример
    В бусте тоже есть полезные макросы, особенно в сочетании с другой чёрной магией
    Ответ написан
    2 комментария
  • Не могу найти ошибку в коде?

    EvgenijDv
    @EvgenijDv
    C/C++ programmer
    typedef unsigned int un;
    Работает. А если бы вы попытались самостоятельно стать препроцессором и подставили бы свои макросы, то увидели бы что в итоге получается unsigned int; a = 1, b = 2;
    Просто уберите ; в конце макроса и будет вам щастье.
    Ответ написан
    Комментировать
  • Высшее очное образование в IT, возможность его получения, необходимость при поступлении на работу, для собственного дела?

    barmaley_exe
    @barmaley_exe
    По моему скромному мнению
    1. Неясно, что считается нормальным. Правда наполовину: алгоритмам, сетям, дискретке и прочим основам научат, но классного веб-девелопера не сделают.
    2. Смотря какую работу: фуллтайм в офисе действительно не совместить, а фриланс или 20 часов на старших курсах — вполне.
    3. Очень растяжимо.
    4. Правда. Этот пункт действительно непросто объяснить сташему поколению — видимо, они вне института ни разу не учились.

    Можно ли достаточно зарабатывать (от 100 тыс./руб.) не имея диплома?
    Законом не запрещено :-) Всё зависит от Вас: можно открыть своё дело, можно ворочить большие заказы с проверенными людьми на фрилансе, можно накопить много лет опыта, стать крутым чуваком и получать эти самые 100к, работая "на дядю". Разумеется, во всех этих случаях надо приложить немало усилий.

    Насколько велики шансы успеха в случае полного ухода в себя и свой проект?
    Какого успеха? Нахождения инвестора и попадания в золотой поток? Я бы сказал, что ничтожно малы, если это Ваш первый проект.

    Есть ли ВУЗы, которые дадут достойные знания по профессии разработчика?
    Если ориентируетесь на веб, то в РФ я таких не знаю. Если хотите достойных знаний на пересечении Computer Science, Software Engineering и прикладной математики, то СПбАУ, МФТИ, ВШЭ, ИТМО, СПбГУ, МГУ. Академический университет в этом году впервые принимает на бакалавриат, так что там возможны некоторые флуктуации, но, тем не менее, люди там серьёзные и настроены они соответствующе. В МФТИ есть базовая кафедра, а в ВШЭ теперь целый факультет Яндекса (у этих ребят вообще много всяких образовательных программ, обязательно посмотрите). Ну и ИТМО, СПбГУ и МГУ рекомендуются по-умолчанию :-)
    Ещё могу сказать про УрФУ: там есть классная IT-движуха (CTF, например), контакты с индустрией. А за счёт провинциальности (все вышеобозначенные вузы находятся в Москве и Питере) поступление на бюджет должно быть проще.

    Обязательно ли поступать в профильный ВУЗ или достаточно лишь факультета, а университет не важен?
    Для чего обязательно? Ничего не важно кроме полученных знаний. Даже диплом MIT'а при пустой голове ничем Вам не поможет.

    Резюмируя:
    — Если отсрочка не нужна (т.е. армия не грозит) и хочется заниматься вебом, то при современном уровне развития интернета 4 года можно потратить с большей пользой. Любые знания этого мира у вас под рукой в паре поисковых запросов — зачем ждать занятий, если начать получать знания можно уже сейчас? В то же время, к самообразованию в этом случае надо подойти ответственно: самомотивация не так проста как кажется, "учебный план" следует обсудить с более опытными коллегами, английский — must have. В идеале нужен ментор, который будет наставлять на путь истинный и отвечать на вопросы, но если такого нет, то его можно сделать путём "краудсорсинга" (Я верю, что StackExchange со всеми его разделами являет собой пример системы, способной ответить на практически любой вопрос, ответ на который человечеству известен)
    — Если хочется заниматься "наукоёмкими" задачами (Google Self-Driving car, детектирование лиц друзей на фотографиях в фейсбуке, построение отказоустойчивых систем), то без хорошего образования никуда и никак. Разумеется, поступить в хороший вуз и учиться там мало: нужно ещё и самообразованием активно заниматься.
    Ответ написан
    Комментировать
  • Какие посоветуете ссылки на видео уроки по с++?

    @RPG
    Люди забрасывают видеоуровки по простой причине - уже полтора столетия, как были изобретены книги. Для самообучения сложно придумать что-то лучше. Видеоряд имеет массу недостатков - сложно искать, мало информации, много воды, это долго и нудно.

    Поэтому не мучайте себя.
    Ответ написан
    1 комментарий
  • Каков план личностного развития JavaScript программиста с нуля?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Выучить русский язык. Узнать, что такое "личностное развитие" и чем оно отличается от профессионального.
    Ответ написан
    2 комментария
  • Как отключить слежку Google?

    @ikeagold
    Вас спасет этот плагин https://disconnect.me/ (типа, отключает слежку, но и скрипты на тостере тоже сыпятся)
    И поисковик https://duckduckgo.com/ (поисковая система которая не следит за вами)
    Скрытный браузер https://www.torproject.org/projects/torbrowser.html.en
    И сайт прокси https://www.hidemyass.com/
    Ответ написан
    1 комментарий
  • Как проверить, создают ли линии замкнутую геометрическую фигуру?

    По второму вопросу - можно ввести следующие функции :

    А) ( (отношение модуля разности диагоналей к их сумме) + (отношение модуля разности одной пары противоположных сторон к их сумме)/2 + (отношение модуля разности пары других противоположных сторон к их сумме)/2 )

    Для прямоугольника = "0"
    Для параллелограммов нарастает компонента 1
    Для трапеций нарастают компоненты 2 и/или 3

    Б) Сумму модулей отклонений всех четырех углов от 90 градусов
    Ответ написан
    Комментировать
  • Почему крашится проводник?

    А почему бы тут не задать вопрос? Там 100% помогут.

    А вообще, задавать вопрос по поводу пиратской левой сборки XP, с набором треша на борту и я уверен на 100% что еще был произведен глубокий, тонкий тюнинг системы, для "быстродействия" и "стабильности".

    Вы прикалываетесь?
    Ответ написан
    4 комментария
  • Каков план личностного развития Boolfuck программиста с нуля?

    metamorph
    @metamorph
    Примерно такой.
    Ответ написан
    Комментировать
  • Какой скрипт используется для отрисовки графиков в Google?

    Видимо, это - https://developers.google.com/chart/
    Но мне больше нравится jqplot.
    Ответ написан
    Комментировать
  • Чем заменить слово Пользователь?

    sim3x
    @sim3x
    Уважительное обращение - "Ку"
    Не уважительное обращение - "Кю"
    Ответ написан
    Комментировать
  • Как бы вы объяснили ребенку 7 лет что такое.. ?

    @lookid
    А когда ему будет 10 лет, то вы забьете его до полусмерти с криками ТЫ УЖЕ 3 ГОДА УЧИШЬ ПРОГРАММИРОВАНИЕ И ТЕБЯ НЕ ВЗЯЛИ В ГУГЛ!!! АААА!!! РЯЯЯЯЯЯ! ?
    Переменная - ведро, куда ребенок может положить кубики.
    Массив - ряд из ведер с кубиками.
    Итератор - палец, которым ребенок тычет в ведро.
    Функция - набор операция с кубиками и ведрами.
    Программа - набор функций или просто набор операций с кубиками и ведрами.
    Ответ написан
    5 комментариев