Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно вынести svg в отдельный файл?

Лучший ответ:
Этого будет достаточно:
1) Создаешь файл example.svg
2) Вставляешь в него код ниже:<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="42" height="32" viewBox="0 0 42 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px">
<path d="M17 32h19c0.345 0 0.665-0.178 0.848-0.47l5-8c0.287-0.459 0.157-1.062-0.293-1.362l-3-2c-0.425-0.284-0.996-0.201-1.323 0.192l-3.232 3.878v-15.238c0-0.552-0.448-1-1-1h-4c-0.552 0-1 0.448-1 1v6.219l-11.243 2.811c-0.445 0.111-0.757 0.511-0.757 0.97v12c0 0.552 0.448 1 1 1zM35.446 30h-17.446v-10.219l2-0.5v5.719c0 0.552 0.448 1 1 1s1-0.448 1-1v-6.219l2-0.5v4.719c0 0.552 0.448 1 1 1s1-0.448 1-1v-5.219l2-0.5v7.719c0 0.552 0.448 1 1 1s1-0.448 1-1v-15h2v17c0 0.421 0.264 0.797 0.66 0.94s0.839 0.023 1.109-0.3l4.425-5.31 1.444 0.963-4.192 6.707z" fill="#444444"></path>
<path d="M24.001 13.876c0.164 0 0.331-0.040 0.484-0.126 0.483-0.268 0.657-0.877 0.389-1.36-0.572-1.031-0.875-2.203-0.875-3.391 0-3.86 3.14-7 7-7s7 3.14 7 7c0 1.187-0.302 2.36-0.874 3.391-0.268 0.483-0.094 1.092 0.389 1.36s1.092 0.094 1.36-0.389c0.736-1.327 1.126-2.835 1.126-4.361 0-4.963-4.037-9-9-9s-9 4.037-9 9c0 1.526 0.389 3.034 1.126 4.361 0.183 0.329 0.524 0.515 0.875 0.515z" fill="#444444"></path>
<path d="M1 8l7-7v5h12v4h-12v5z" fill="#444444"></path>
</svg>
У тебя не хватало атрибутов в тег svg

Худший ответ:
это и есть правильно - создаём чистый текстовый документ - помещаем этот код - переименовываем в название.svg и подключаем ....можно использовать преобразовав в base64 как url background  ...так же можно подключать в html как simbol или как img или background или use
больше информации : svg-art.ru - автор этого сайта есть на ru.stackoverflow.com
Вопрос: Как снова показать класс при повторном нажатии?

Лучший ответ:
а просто toggleClass использовать нельзя ?

Худший ответ:
обработать состояние css у body, типа:if ($('body').css('overflow-y') == 'hidden'){
    $('body').css('overflow-y': 'auto');
}else{
    $('body').css('overflow-y': 'hidden');
}
На ошибки этого кода, проверьте сами
Вопрос: Найдите, пожалуйста, ошибку в коде c++?

Лучший ответ:
Уберите точку с запятой ; в конце строки for (counter = 1; counter <= 8; counter++);

Худший ответ:
Во первых - весь код в тег "code"!
Во вторых - при ошибках в инклюдах программа не скомпилируется.
В третьих - по моему вы что то неправильно делаете совсем. Алгоритмически.
Вопрос: Как сгенерировать уникальную строку?

Лучший ответ:
Генерируете числа от 0 до 63 и переводите каждое в двоичную систему.

Худший ответ:
Довёл пример Станислав Шендаков до желательного результатаfunction generateBinaryNumbers(int $count): array
{
    $resultArray = [];

    for ($i = 0; $i < $count; $i++) {
        $resultArray[] = sprintf("%06d", decbin(rand(0, 63)));
    }

    return $resultArray;
}
Вопрос: Как починить make install во FreeBSD?

Лучший ответ:
FreeBSD 9.2 признана устаревшей и не поддерживает установку портов и пакетов. Следует обновить до актуальноый версии (до 11.0 или 10.3)

Худший ответ:
Девятка не поддерживается.
Можете скачать файл ports.txz с сайта freebsd, распаковать и попытаться из него. ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE
Но лучше бы обновиться.
Причем до 11.
Так как 10 тоже скоро с поддержки снимется.
Вопрос: Можно ли прописать clearfix ко всем блокам?

Лучший ответ:
Ошибок и артефактов быть не должно, но проблема в другом: Зачем клеарфиксить все блоки? О_О
Это же лишняя работа для браузера и ненужные псевдоэлементы для пользователя.
Да и отлаживать такой код через инструменты разработчика в браузере будет не очень удобно.
Лучше расскажите какую проблему вы хотите решить таким ужасным костылем, а там может и сообщество нормальное решение подскажет.

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

Лучший ответ:
На сегодняшний день, для старта я бы рекомендовал:Principles of Data Science + Hands-On Data Science and Python Machine Learning
Если возникнет необходимость/желание оперативно "подтянуть" знания по NumPy и Pandas - рекомендую Python for Data Analysis / 2nd Edition
Успехов.UPD от 10.03.2018

Худший ответ:
Можете глянуть Rogers & Girolami: 
https://www.amazon.com/Course-Machine-Learning-Pat...
Акцент сделан на алгоритмах, а не на длиннющих листингах.
Вопрос: Есть ли способ, по принципу утилиты HDD raw copy, скопировать только часть папок?

Лучший ответ:
Непонятно что вам нужно и для чего. Но есть ли возможность копировать содержимое только одной папки этого диска?У диска нет никаких папок. Вообще!
Папки есть в файловой системе.
На диске создаете раздел, в разделе создаете файловую систему, после чего она пишет на диск информацию, которую предоставляет пользователям как файлы и папки.
На диске есть данные записанные файловой системой, папок и файлов на нем нет.
Хотите копировать сырые данные (raw) берете и копируете все подряд.
Хотите копировать нужную папку - открываете файловую систему в проводнике, указываете нужную папку и копируете.

Худший ответ:
Да есть Архиватор называется - говорите ему какие папки надо и он их копирует в архив.
Вопрос: Можно ли реализовать личный кабинет пользователя без серверной части?

Лучший ответ:
А зачем кабинет пользователю вообще?
Если делать простой вариант, то у вас форма заказа сразу отправляется на почту менеджеру магазина

Худший ответ:
Теоретически можно. 
Хранить всю инфу в браузере. Единстенный недостаток, что на другом устройсте ее уже не получить.
Еще теоретически можно воспользоваться серверной частью в чудом браузере (если есть API) - пользователя просить залогиниться, напрмер на гугль доках и хранить все там (это условно, я не знаю, есть ли у них API доступный чисто из js).
Но это все изврат и надо сделать серверную часть :)
Вопрос: Как отследить «падение» скрипта?

Лучший ответ:
Вообще при работе с демонами делается следующая схема.
1. Любой демон при старте записывает свой PID в какой-нибудь файл и работает.
2. По крону, допустим каждые 5 секунд, запускается менеджер, который считывает файл(ы) с записанным PID и проверяет жив ли процесс. Если процесс жив, то менеджер завершает свою работу. Если процесс умер, то он поднимает демона, и завершает свою работу.

Худший ответ:
. По логу видно, что срабатывает блок else. После него скрипт останавливается
Ну так у тебя в else стоит break который заставляет выйти из цикла, всё правильно. Если падает дальше, поставь там try catch с записью в лог, либо просто записывай куда-то вывод программы (python3 main.py &> file.log или используя supervisor например)
Вопрос: Как сделать, чтобы надпись о завершении работы программы выводилась только после окончания работы, а не в процессе?

Лучший ответ:
for port in ports:
    threading.Thread(target=PortCheck, args = [port]).start()

for t in threading.enumerate():          # Получаем все потоки
    if t != threading.current_thread():  # Если это не текущий поток
        t.join()                         # Ожидаем его завершения

print('--------------------------------------')
input('Process ended. Press Enter.' + '\n')

Худший ответ:
так же atexit
Вопрос: Гугл не забанит если я скопирую их сайт?

Лучший ответ:
А за что? Перевод - это самый лучший контент, после самописного. Но лучше копировать без верстки. Сделайте на подобие, с переводными текстами. Очень хорошая идея. Если и не получит супер посещаемости, то спасибо скажут многие точно. У меня нет проблем с чтением на английском, но у многих есть.
Однако довести до ума будет не просто. Я бы выкинул это в opensource.

Худший ответ:
Вопрос это возможно сделать без последствий? 
Очень много сайтов живут за счёт переводных статей.
ПСам на это пофик, но чтобы не  возникло проблем с источником - стоит всё же  с ними согласовать.
Вопрос: VUE.JS Нужно ли?

Лучший ответ:
На вопросы "Что лучше?", "Есть ли смысл?" можно ответить только в контексте и то субъективно. Магазин недостаточный контекст, магазин магазину рознь.
- Однозначно за SPA приложениями будущее. При SPA можно также отдавать html - SSR.
- SPA делать дольше, тк по сути вы делаете 2 приложения (клиентское и серверное).
- При SPA нагрузка на сервер и время ожидания страницы больше всего приходится на первую загрузку приложения. Далее выводы можно делать в зависимости от конкретной ситуации.

Худший ответ:
В качестве единого подхода к проектированию SPA (поисковики и браузеры), добавлю информацию о своём  мини-фреймворке includeHTML, который позволяет как раз:
1. Сверстать шаблон, который может запускаться и работать полностью локально (без сервера!), загружая динамически нужные блоки страницы.
2. На нём очень просто создавать SPA, содержащие различные информационные блоки, которые можно раздельно отдавать с сервера, а для ПС(поисковых систем) - сшивать в единую HTML-страницу на стороне сервера.
3. Быстро понять, как использовать.
В плане быстрого шаблонизатора для JSON на стороне клиента - могу посоветовать REX Tiny Templater
Вопрос: Сколько нужно уметь для трудоустройства?

Лучший ответ:
Чтобы устроится на работу, требуются:
1. Хорошо подвешенный язык.
2. Вид человека, который в этом разбирается.
3. Связи/знание всяких умных слов.
Что делать после? Пройти испытательный срок. Для это хорошо бы всё-таки что-то реально знать. Что именно? Зависит от конкретной работы/проекта, его стека технологий, начальства, умения общаться в коллективе.
Что самое главное? Убедить их, что ты тот, кто им нужен. Даже если это не так, в половине случаев за испытательный срок тебя обучают до нужного уровня.

Худший ответ:
Сколько нужно уметь для трудоустройства?Нужно уметь трудоустраиваться. Это главное и необходимое умение, остальное не важно.
Вопрос: Что лучше внешний жесткий диск или отдельно бокс под HDD и сам HDD?

Лучший ответ:
по сути дела это одно и тоже просто одно сразу в сборе, а второе по отдельности
это как что лучше сразу целый велосипед купить или взять без колес и колеса потом докупить

Худший ответ:
Однозначно лучше бокс + ноутбучный HDD! И вот почему:
1. Бокс очень дешев - я видел на Али дешевле 300 руб, и это под USB-3.0 (кстати, покупать под USB-2.0 уже не имеет смысла). А цельные внешние HDD под USB-3.0 встречаются пока куда реже.
2. Новый ноутбучный HDD даже с добавлением стоимости бокса всё равно дешевле, чем цельный внешний HDD, поскольку производится куда большей серией.
3. Можно приобрести один бокс и в него заряжать много разных HDD, тогда его цена, делённая на их количество, вообще перестанет иметь значение.
4. С ноутами такое дело - бывает, наступят на экран, или ещё что-то подобное. В этом случае HDD вообще достаётся на халяву, и USB-диск вы получите, купив только бокс.
Вопрос: Мелкий интерфейс приложений на Windows OS при разрешении монитора 3840х2160?

Лучший ответ:
Хотите 4к монитор - берите Apple с их операционкой OS X (после 7 сентября 2016 будет называться macOS). Данная ОС и ПО написанное для нее умеют корректно работать с мониторами высокой четкости. В том числе Фотошоп нормально на macOS выглядит.
ASUS ROG не для работы, а для игр. Для работы можно подобрать более легкий, тихий и "холодный" ноутбут с мощным железом. Если ваша работа - Фотошоп. То MacBook Pro от Apple берите. По цене не дороже ROG должен выйти, а по всем остальным параметрам (кроме игр) будет лучше.
С "супер-экранами" можно связываться :) Не связываться нужно с виндой. Как у линукса обстоят дела с высоким разрешением - не в курсе.

Худший ответ:
Я владелец Windows-зенбука с разрешением 3200х1800.
Проблемы с некоторыми программами есть. Из моих повседневных это: Teamviewer и WinSCP. Работать с ними можно, но хочется убивать.
С Photoshop, как ни странно, проблем никаких, хотя у меня и не самый новый CS5.
Вопрос: Как злоумышленник может использовать ssh, подключившись к нему?

Лучший ответ:
Все. В том числе, воспользоваться дырами и поднять себе привилегии до суперпользователя.

Худший ответ:
Уточните что такое данные для подключения к ssh?
Эксплуатация - это собственно процесс получения данных или доступа, а если доступ уже есть, то злоумышленник может сделать все, что вы можете сделать на своем компьютере, к которому у вас есть доступ.
Вопрос: Как сортировать словарь по содержимому (Python3)?

Лучший ответ:
Надо почитать документацию...>>> x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
>>> sorted_by_value = sorted(x.items(), key=lambda kv: kv[1])
>>> sorted_by_value
[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
>>> dict(sorted_by_value)
{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
>>>
тут все написанно про сортировку: https://docs.python.org/3/howto/sorting.html

Худший ответ:
# -*- coding: utf-8 -*-

from collections import Counter
from collections import OrderedDict


fileName = "text.txt"  # отсюда берем текст для анализа
outFileName = "result.txt"  # сюда записываем результат

letters = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'

with open(fileName, encoding='utf-8') as f:
    text = f.read().replace('\n', '')

text = ''.join([x.upper() for x in text if x.upper() in letters])
occurs = {key: value / len(text) for key, value in Counter(text).items()}
occurs_sorted = OrderedDict(reversed(sorted(occurs.items(), key=lambda x: x[1])))

with open(outFileName, "wt", encoding="utf8") as f:
    f.write(f'{len(text)}\n')
    for k, v in occurs_sorted.items():
        f.write(f'{k}:{v:.3f}\n')
Вопрос: Как нарисовать стрелку на css?

Лучший ответ:
Можно такsnippet

Худший ответ:
Можно в 3 картинки, можно и в 2. Псевдоэлементы и background к ним.
Вопрос: [Установка в linux/Debian] Как установить нужную программу?

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

Худший ответ:
Как вариант, установил последнюю версию NodeJs с помощью "Curl" - инструмента командной строки.
Надеюсь есть много программ, которые таким же образам дают себя скачивать. Удобно и легально)https://packages.debian.org/ru/jessie/curlhttps://nodejs.org/en/download/package-manager/
Вопрос: Передача класса в модуль, как лучше сделать?

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

Худший ответ:
Как посоветовал одни из разработчиков Yii - "делать лучше через интерфейсы".
Вопрос: Существует ли сетка лучше bootstrap?

Лучший ответ:
CSS GRID && FLEXBOX && Прямые руки && MEDIA QUERIES

Худший ответ:
Их кучи. Выбор зависит от проекта и субъективного удобства. У bootsrap 4 очень хорошая сетка. Так что опишите чем она Вас не устраивает, что бы можно было понять что советовать.
Хотя уверен сейчас появятся 28909 комментариев, что надо юзать голый flex или ссылки на клоны. Но Вы же хотите осмысленный ответ - тогда давайте конкретику в вопросе.
Вопрос: Какие есть алгоритмы поиска неисправностей в сети?

Лучший ответ:
Проверяйте элементы модели OSI снизу вверх.

Худший ответ:
Проверяйте элементы модели OSI снизу вверх.
Вопрос: Почему на одном сервере json_decode нормально отрабатывает, на другом возвращает null?

Лучший ответ:
NULL is returned if the json cannot be decoded or if the encoded data is deeper than the recursion limit.
Мы, конечно, можем поиграть в угадайку, но зачем, если есть json_last_error()? А в современных версиях языка есть даже json_last_error_msg().

Худший ответ:
json в файл перенеси, потом json_decode(file_get_contents('data.json'), true);
Вопрос: Актуальность изучения Android и Kotlin в 2019?

Лучший ответ:
Перспективно, разработчики нужны. KitKat(Android 4.4) вышел больше 5 лет назад, и на нём всё ещё столько девайсов, что от его поддержки нельзя отказаться. Сотни миллионов девайсов никогда уже не обновятся. С этими фактом рассуждения, что Гугл вот-вот куда-то там перейдёт, звучат не так уж круто. 
Компании переходят на Котлин, это правда. Знать при этом джаву тоже надо.
Серверную часть писать тоже уже можно.
Для андроид-приложений никакой особый бекенд не нужен, вопрос странный. Можно ли переиспользовать кодовую базу? Я думаю, можно, но зависит от предметной области.
Читай книги на английском. Kotlin in action. А лучше - официальную доку + коаны.
Удачи.

Худший ответ:
Если собрался ждать ос фьюшу минимум лет 5 пока она появится и хотя бы займет 15% доли среди мобильных устройство то можно начать учить требуемое для новой ос
Вопрос: Как решить задачу по замене слов, содержащих ошибки на корректные слова?

Лучший ответ:
Привет.
Пробуйте библиотеку difflib:>>> text = 'я пешу биз ашибок'
>>> b = ['пишу', 'без', 'ошибок']
>>> text_new = text.split() # т.к. вторым аргументом в difflib.get_close_matches должен быть list
>>> import difflib
>>> for ok_word in b:
	        wrong_word = difflib.get_close_matches(ok_word, text_new) # ищем "плохое" слово
	        wrong_word = ''.join(wrong_word) # преобразуем в строку из списка для корректной работы replace
	        text = text.replace(wrong_word, ok_word)

	
>>> text
'я пишу без ошибок'

Худший ответ:
На https://checkio.org/ видел задачу, там надо было сравнивать слова и выдавать процент их схожести. И там был словесно описанный алгоритм действий. А дальше просто.
Вопрос: Какую книгу посоветуете для изучения vue.js?

Лучший ответ:
Начните с официальной документации. Она весьма хороша

Худший ответ:
https://www.ozon.ru/context/detail/id/149622403/ - вот неплохое пособие как раз для начала и на русском. Есть в свободном доступе :)
Думаю, это лучшее что есть.
Вопрос: Как сделать так, чтобы фоновое изображение оставалось на месте, при прокрутки?

Лучший ответ:
Ничего сложного: background-attachment: fixed

Худший ответ:
Предположим:body
{
background-image: тут ссылка на изображение;
background-position: left bottom;
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
}
Вопрос: Почему локалхост принудительно перекидывает на HTTPS?

Лучший ответ:
У Вас локальные проекты находятся в домене .dev? 
.dev - это существующая доменная зона и она принадлежит Google. И в последней версии Chrome они по умолчанию включают HSTS для доменов в этой зоне и его нельзя для них отключить (по крайней мере я не нашел). 
Скорее всего это сделано для них самих и разработке внутри компании, но для всех остальных - подлянка :) 
Как вариант решения - переименуйте локальные домены. Сделайте для них зону не .dev, а .local, например.

Худший ответ:
Проверьте, не включен ли у вас HSTS: https://ru.wikipedia.org/wiki/HSTS
Вопрос: Почему и зачем вместе с Ruby on Rails используют Angular или React.js?

Лучший ответ:
Js фреймворку неважно какой у вас бекенд, ему нужно у кого-то просить, и кому-то отдавать данные, ему неважно, что обрабатывает данные, будь то питон, пхп, или йопта скрипт, в итоге он работает с готовым json-ом. Js фреймворки используются зачастую для одностраничных приложений. Комбинацию из RoR и Angular/Reac вы видите потому, что это самые популярные фреймворки

Худший ответ:
Ruby - работает на сервере.
Angular, React - работают на клиенте.
Ничто не мешает их сочетать.
Вопрос: Как подключить смартфоны к локальной сети?

Лучший ответ:
Не понимаю в чем проблема. 
Берете роутер с wifi, к нему цепляете компы по кабелю, а телефоны по wifi. 
Теперь все устройства в одной сети и имеют IP + должны пинговаться.
Выбираете любой ftp сервер для андройда и ставите с маркета (их реально много)
На другом устройстве заходите по IP:порт указанному в программе и качаете что хотите

Худший ответ:
А чем не нравится например google drive? Можно настроить android так, чтобы он автоматически все файлы слал туда. А другие компьютеры уже подтягивали их.
А вообще вам нужен отдельный файловый сервер, на который все компьютеры и телефоны будут ссылаться.
Вопрос: Лучше использовать абсолютные ссылки или относительные?

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

Худший ответ:
Думаю лучше 1 врянт (href="https://site.ru/page")
Вопрос: Архитектура больших веб-приложений?

Лучший ответ:
Нужно читать фундаментальную литературу - Фаулера по архитектуре (можно и рефакторинг прихватить), Макконела по коду, GoF по паттернам. В отрыве от конкретного языка/фреймворка.
А научиться построению архитектуры конкретно vue-приложения - это как построить дом по готовым чертежам. Да, вы хороший строитель, если построили, но все же не архитектор.

Худший ответ:
По структуре: https://vueschool.io/articles/vuejs-tutorials/stru...
Чтобы не смотреть хеллоу ворды, посмотрите примеры работы vuex: https://github.com/vuejs/vuex 
Большинство вопросов возникают по мере увеличения приложения, об этом в гайдах не особо рассказывается (русскоязычных), поэтому смотрите примеры на medium  и тд.
Вопрос: Как вызывать функцию, которая находится в теле другой функции?

Лучший ответ:
Никак. Вы же не можете обратиться к локальной переменной функции, а это по сути одно и то же.

Худший ответ:
Почему же никак, можно вытащить ее наружу через глобальную переменную.
Только не запоминайте этот подход, это ужасный код:>>> def foo():
... 	print('executing foo()')
... 	def foo_in_foo():
... 		print('executing foo_in_foo()')
... 	global inner
... 	inner = foo_in_foo
... 
>>> foo()
executing foo()
>>> inner
<function foo.<locals>.foo_in_foo at 0x07BBD1E0>
>>> inner()
executing foo_in_foo()
Вопрос: День 1C Карьеры, стоит ли идти?

Лучший ответ:
Если есть свободное время, то сходите. 
Не все же время сидеть в компе взаперти, нужно и в люди иногда выходить :)

Худший ответ:
Для общего развития, даже если не собираетесь работать, но есть время и интерес - сходить.
Вопрос: Python + OpenCV or C++ + OpenCV??

Лучший ответ:
и С++ и python подходят для данной задачи, в python легче разобраться но в С++ лучше производительность(код python будет дольше выполняться), python проще, но на С++ больше библиотека OpenCV,  отладка кода в Python проще чем на C ++, там и там довольна слабая документация, так что если у вас 1 цель это дроны и OpenCV то используйте python, если вы хотите в будущем создавать что-то сложное С++, но если вы не знаете ни python ни С++ изучение стоит начать с python, если вы знаете или python или С++, пишите на том что знаете как я говорил выше и С++ и python подходят для данной задачи

Худший ответ:
Лично мне Python на ARM показался намного удобнее чем C++
Вопрос: Как программировать под iOS, не имея mac?

Лучший ответ:
Отсутсвие мака ограничивает тебя лишь в создании приложений под iOS используя Swift, но не ограничивает тебя в изучении самого языка. Лучшим вариантом конечно стал бы Хакинтош, а за неимением, можно поставить Swift на Linux или юзать скажем песочницу https://swift.sandbox.bluemix.net/#/repl. В том случаем я бы не стал заморачиваться и делал всё в песочнице.  
Может и это поможет https://swiftforwindows.github.io

Худший ответ:
Если конкретно на виндовс, тогда тебе в соторону Xamarin IOs
https://developer.xamarin.com/guides/ios/