В таких случаях хорошо бы страну указывать, ибо не во всех странах оно запрещено.
А в целом, надо соблюдать законодательство применимых юрисдикций. Скажем если вы в РФ, то заказчик должен быть из Нидерландов или из Калифорнии. Или если заказчик из РФ, то заказ надо принять на контору, зарегистрированную в Нидерландах или Калифорнии. Ну и договоре соответственно указать местом оказания услуг по данному договору лояльную юрисдикцию.
Например у меня клиентских каналов доступных для таргетинга нет, а вот такая байда как у ТС "места размещений" - есть. Правда не так критично по ценам, CPM всего в два раза ниже, а показов менее 10%.
Если программа эффективно написана вам не надо будет разбирать что внутри.
Но под эффективностью я понимаю не только просто быстродействие, но и правильность внутреннего API программы (какие вообще в принципе классы у вас есть, какие у них методы и с какими параметрами, как одни части ПО взаимодействуют с другими). Если все правильно, то вам при рефакторинге внутрь методов классов вообще лазить не нужно. Пусть у вас там всякие переменные a, b, k, x, y и прочее. Но вот при использовании языков с динамической типизацией сложно, если не сказать невозможно, добиться правильного внутреннего API. Запросто может при дальнейшем изменении программы оказаться, что обязательно нужно, чтобы функция возвращала именно 32 битный signed int, а раньше она возвращала строку из циферок и все работало. Или наоборот, функция работала, пока на входе получала строку из циферок, а получила signed int и что-то пошло не так.---------- Добавлено 03.01.2020 в 14:11 ----------
Костыль в принципе не может быть эффективным решением. Костыль = говнокод. Даже не костыль, а архитектура, в которой потом пришлось делать костыль - изначально говнокод.
true - четыре символа, а false - пять.
Оно конечно смешно когда вы видите этот код в явном виде, но в этих ваших языках с динамическим выделением памяти под массив, оно внутри зашито примерно то же самое, просто вы это не видите.
Говнокод - это код, который решает задачу не максимально эффективным способом.
Например:
Boolean b = new Boolean( is_admin );if( b.toString().length() == 4 ) { // something...}// something
Момент, который негативно влияет на производительность и мозги - это как раз автоматическое выделение памяти, а не автоматическое освобождение :)
Про питон говорят, что он неким магическим образом мешает писать говнокод, и потому позволяет включать низкоквалифицированных программистов в серьезные проекты. На этом основывается его популярность. Но я лично в это не верю, как по мне, автоматическое выделение памяти и неявная типизация - это уже в любом случае говнокод.
Ничего не имею против говнокода, если он позволяет быстро и эффективно решать задачу, но у питона я не вижу такого потенциала (за исключением задач связанных с нейросетями, благодаря наличию удобных и эффективных библиотек под GPU и TPU).---------- Добавлено 02.01.2020 в 14:57 ----------
Для полноты картины еще добавлю специфические языки, которые работают не сами по себе, а в особой среде. К ним относятся javascript и LUA, к примеру. Там ничего не поделаешь - если надо работать в этой среде, то язык не заменишь.
Учите php.
При этом все время помните, что неявная типизация переменных вредна для мозга.
В остальном с современным php все OK. ---------- Добавлено 01.01.2020 в 18:49 ---------- Я бы сказал бы так.
Современные языки программирования отличаются исключительно по следующим критериям:
1. Интерпретируемый/компилируемый. Для интерпретируемых обычно есть прекомпиляция и свои собственные баги в прекомпиляции в каждом языке, влияющие на производительность по-разному. В этот же пункт входят особенности реализации драйверов конкретных баз данных под данный язык.
2. Типизация данных явная/неявная. Неявная - плохо для мозга и для производительности но зато легко осваивать.
3. Аллоцирование памяти ручное/автоматическое - то же самое что п. 2 но менее критично.
4. Организация множественного наследования - затрагивает небольшое количество программистов и повод в основном для холиваров.
Других различий нет.
С моей точки зрения самый важный критерий для выбора конкретного языка для конкретного проекта - это особенности прекомпилляции именно данного языка именно на данной платформе и в данной среде. Если никакой язык не будет прекомпиллироваться удовлетворительно - надо брать компилируемый язык. В целом, для веб-проектов php обычно оптимальный выбор.
Никто не имеет права брать на себя функции следственных, а тем более судебных органов.
Что касается функции chargeback в платежных системах. Должны существовать ПС с такой функцией и без оной, для разных нужд. Яндекс.Деньги например без нее, а Visa с ней. Выбирайте что вам больше подходит.
Там речь идет о порядке обращения с водительскими правами. Регистрация места жительства не является общеобязательной для всех, а только для водителей. И факт нарушения там наступает не тогда, когда "через 10 дней не зарегистрировался", а когда водил машину с водительскими правами с необновленным адресом, и полицейский тебя остановил. Или когда по правам с необновленным адресом сел на внутренний авиарейс. Не использовал права - нет нарушения.
Еще владельцев оружия в США регистрируют, и тоже надо адрес указывать. Но это тоже необщеобязательно, можно даже без оружия ходить. Хотя в некоторых городах есть прикольный закон, что кто без оружия - платит дополнительный налог.
Но откровенно говоря, я не очень хорошо разбираюсь в автотранспортных и оружейных законах. Я гл. образом разбираюсь, что нужно для того чтобы открыть счет в банке. Счет в банке нужен почти каждому, а пистолет или автомобиль - нее каждому.
В Германии и Франции существует государственная регистрация адреса. Штрафов никаких за отсутствие регистрации нет. В принципе, без регистрации сложно открыть счет в банке и не получишь социальной помощи. В Германии есть суровый лайфхак: наклеить свою фамилию на дверной звонок или на почтовый ящик. После этого некоторые банки могут открыть счет без гос. регистрации. Например, один из самых массовых: Postbank. Там процедура такая: идешь на почту, заполняешь форму, покупаешь марку, кладешь письмо в конверт и оставляешь на почте. Потом почтальон приходит по адресу, и если видит на звонке или почтовом ящике нужную фамилию - кидает туда конверт с данными счета. Потом в постбанке можно получить выписку со счета с подтверждением адреса и открыть по этой выписке счет в другом банке.
В США в большинстве штатов гос. регистрации адреса нет вообще. В некоторых "социалистических" штатах типа Калифорнии, есть добровольная регистрация. Но она как правило никому вообще не нужна, в т.ч. банкам. Адрес проверяют строго по квитанции на коммунальные услуги.