1.1, Аноним (-), 11:57, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Жаль что эти аннотации не проверяются в debug-рантайме. Или уже запилили?
| |
|
2.140, Аноним (-), 19:24, 25/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Есть библиотеки, которые на основе аннотаций строят дополнительные проверки входных параметров. В остальном в Python это больше дополнительная информация, не основная.
| |
|
1.3, Аноним (-), 12:51, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
сначала долго объясняли преимущества динамической типизации, уверяя, что она не является источником ошибок. ветер изменился?
| |
|
2.5, анонимбр (?), 12:53, 22/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
потому динамическая типизация == постоянная попоболь ибо никогда нельзя доверять коду который раз и сломался:)
| |
|
3.11, Undefined (?), 14:25, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
"Ломание кода" - проблема организации процесса разработки, а не языков. Нужны юнит-тесты, ревью, документация, культура какая-то.
Алсо вангую, опять сейчас начнут путать статическую типизацию со строгой. В Питоне, в отличие от того же JS, нельзя, грубо говоря, сложить теплое с мягким. Данные должны быть одного типа, приведены в явном виде, если потребуется.
| |
|
4.18, Crazy Alex (ok), 16:20, 22/12/2017 [^] [^^] [^^^] [ответить]
| +10 +/– |
1) Баг, пойманный на ревью или тестами всё ещё дороже бага, пойманного на этвпе компиляции - на него времени больше потрачено
2) Типы - это гарантированно верная документация кода. И это упрощает сопровождение.
| |
|
5.22, Аноним (-), 16:45, 22/12/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
если вы позволяете разработчику публиковать код для review до того как пройдут хотя бы базовые тесты - мне вас жаль.
Искренне жаль.
| |
|
6.41, Crazy Alex (ok), 19:24, 22/12/2017 [^] [^^] [^^^] [ответить]
| +5 +/– |
Это вам примерещилось что-то.
1) для динамики приходится писать больше тестов для покрытия вот этих глупых кейсов с типами. Это время на написание и поддержку. И на то, чтобы в ревью ещё и этот аспект отсмотреть.
2) теоретически юнит-тесты, конечно, должны быть быстрыми, но на практике они частенько ни хрена не быстрые, и времени на их прогон у разработчика уходит прилично, ещё до CI.
3) система типов перекрывает проблемы с типами гораздо надёжнее и не умеет "случайно пропустить" какой-то случай.
| |
|
|
4.27, M i M (?), 17:28, 22/12/2017 [^] [^^] [^^^] [ответить] | +2 +/– | Можно Например так cat warm_plus_soft py class Warm object def __init... большой текст свёрнут, показать | |
|
5.52, Аноним (-), 21:46, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Ох лол. Если предусмотреть возможность сложения тёплого с мягким, то конечно можно.
| |
|
4.49, qsdg (ok), 21:07, 22/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Нужны юнит-тесты, ревью, документация, культура какая-то.
Работал я как-то на большом и нагруженном питон-проекте. В итоге дошло до того что каждая, абсолютно каждая строчка должна была быть покрыта юнит-тестами, иначе именно в ней всё обвалится. Соотношение строчек тесты/код у нас было больше единицы. И знаете, мы-таки заколебались поддерживать эти юнит тесты!
Потом нам выделили ресурсы переписать всё на Жабе, там много всего было, конечно, но соотношение строчек тестов/кода упало до 0.8 или типа того. Мы наконец перестали покрывать тестами синтаксис вместо логики.
Компания большая, силиконовая, всем известная, культура кода и ревью на высоком уровне, так что это не играло роли.
| |
|
5.96, анонимбр (?), 20:13, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Вот и мне это осточертело. Плюс для автодополнения в IDE все равно нужен тип, но через ()().
"""
:type val:путь к классу
"""
На Java добро не дают:(
| |
|
|
3.28, Vkni (ok), 17:30, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> потому динамическая типизация == постоянная попоболь ибо никогда нельзя доверять коду который
> раз и сломался:)
Это как бы давно очевидно. Шутка с Питоном в том, что его активно внедрять стали относительно недавно, а языки с a-hoc полиморфизмом известны уже лет 35 (семейство ML).
Т.е., если сразу взять что-то типа Ocaml'а или SML'я (к 95-му были быстрые реализации), можно было иметь ту же самую гибкость и полный вывод типов в статике. Но индустрия решила пойти по граблям.
| |
|
4.42, Crazy Alex (ok), 19:29, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Индустрии не подошла сложность ML-языков. Она, чёрт возьми, индустрия, ей надо много и предсказуемо, а здесь чем проще - тем лучше. В результате вывод типов мы получили, но совсем не в ML, а вовсе даже в плюсах, и что важнее - в Go и C#.
Больше того, при увеличении масштаба даже вывод типов (во всяком сулчае массовый) становится рискованным с точки зрения быстрого понимания горы незнакомого кода тем, кто его поддерживает. Примерно поэтому, к примеру, в плюсах его рекомендуют использовать с оглядкой.
| |
4.59, Ф (?), 00:47, 23/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот ни хрена в ML'ах нету той же самой гибкости.
1) Перегрузки нет. В OCaml'е хочешь напечатать int - используй print_int, хочешь напечатать string - используй print_string. Даже для float'ов все операции свои (+., -., *., /.). Прям офигенная экономия от того, что не надо писать типы.
2) Хочешь иметь объект "клиент" с полем "имя" и объект "продавец" с полем "имя"? Поля начинают друг друга херачить, потому что они функции в глобальном неймспейсе. Приходится называть поля "имяКлиента" и "имяПродавца". Зато язык не требует указывать типы, да.
3) Наконец, самое главное - если ты не указываешь типы нигде, то при нестыковках компилятор может заругаться на самое удивительное место и самый простой способ понять, что он хочет - поставить везде типы.
| |
|
5.142, Vkni (ok), 05:56, 27/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
1. Да, по-хорошему, нужны классы типов.
2. Для этого есть модули.
3. Совершенно не обязательно - есть такая конструкция failwith "Привет". Это вроде undefined в Хаскеле. Кроме того, народ работает над улучшением диагностики.
----------------
В любом случае, Питон до более-менее надёжных программ такой длины, при которой возникают эти проблемы, просто не добирается. А С++ этак раза в 2-3 медленнее в разработке.
| |
|
6.143, Ф (?), 12:50, 28/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
1. Классы типов - хитрая штука, и ни разу не замена питону. В ML'ях хотя бы было такое свойство: программа либо вообще не компилируется, либо имеет одну главную типизацию, из которой все остальные выводятся как частные случаи. Классы типов рушат это свойство, и программа может перестать работать (но продолжать компилироваться), если стереть аннотации типов.
2. типа
import Клиент as К
import Продавец аs П
... К.имя...
... П.имя...
?
ну ладно, пусть так
3. я не про exceptions, я про то, что программа не компилируется из-за неправильных типов, но ошибка выдается не там, где она есть, а где-то глубоко внутри функции, которая сама-то правильная, но типы явно не прописаны.
----------
вот поэтому ынтырпрайз пишет на джаве
| |
|
7.144, Vkni (ok), 07:54, 29/12/2017 [^] [^^] [^^^] [ответить] | +/– | Не Классы типов, если нормально написаны, это свойство практически не рушат Кр... большой текст свёрнут, показать | |
|
|
|
4.64, Anonymoustus (ok), 02:55, 23/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Умные программисты встречаются весьма редко, а делать и продавать гoвнoпродукт надо каждый день. Так что индустрия решила нанимать обезьян с модными молодёжными фреймворками для быстрой разработки. Катастрофические последствия чего мы наблюдаем повсеместно. И самолёты, кстати, от этого уже падают.
| |
|
5.70, Аноним (-), 04:10, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Умные программисты встречаются весьма редко, а делать и продавать гoвнoпродукт надо каждый
> день. Так что индустрия решила нанимать обезьян с модными молодёжными фреймворками
> для быстрой разработки. Катастрофические последствия чего мы наблюдаем повсеместно. И
> самолёты, кстати, от этого уже падают.
Очень интересно, какие хипстерские фреймворки и в каком самолете были использованы? А то авиаторы насчет надежности достаточно повернуты и у них можно поучиться софт писать и делать надежно.
| |
5.80, Аноним (-), 13:19, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> И самолёты, кстати, от этого уже падают.
В целом согласен, но про самолёты хотелось бы пруфов.
| |
|
|
7.83, Anonymoustus (ok), 14:55, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Не ошибся, просто привёл в пример первое пришедшее на ум. Так-то эта проблема имеет место во всей сложной технике. Включая, опять же для примера, автомобили, а которых может «сойти с ума» бортовой компьютер, управляющий, в числе прочего, тормозной системой, отчего счастливый водитель может уехать в больницу или на кладбище — и всё лишь потому, что фанатично верующие в свой модный фреймворк макаки убедили компанию сделать компьютер под линукс, а не под QNX, и сэкономить три копейки «прямо щяс», впоследствии потеряв на судебных исках миллионы.
| |
|
8.90, Аноним (-), 18:38, 23/12/2017 [^] [^^] [^^^] [ответить] | +1 +/– | Чтобы умничать - надо хоть немного разбираться как это устроено Что такое CAN и... большой текст свёрнут, показать | |
|
9.105, Анонимм (??), 22:29, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | Пофисил, не стоит благодарности Нет таких интуитивных человеческих рефлексов ... большой текст свёрнут, показать | |
|
10.116, Аноним (-), 00:40, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | Это нормальное поведение обычного индивида - если надо резко тормозить, значит н... большой текст свёрнут, показать | |
|
|
10.126, Аноним (-), 02:35, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | Чувак на хабре довольно основательно разреверсил свою машину и подробно описал т... большой текст свёрнут, показать | |
|
|
|
|
|
7.117, Аноним (-), 00:56, 24/12/2017 [^] [^^] [^^^] [ответить] | +1 +/– | А можно взять и сделать иначе - МК для низкоуровневого управления и обработки с... большой текст свёрнут, показать | |
7.132, Аноним (-), 12:58, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> для управления станком стоимостью в миллион долларов лучше использовать DOS с его простыми, но эффективными средствами и написанную для этого специализированную алгоритмически простую программу, а не ОС общего назначения
Покажи-ка такой станок (не собранный Васяном в гараже, а за миллион долларов), который управляется досом. И ещё расскажи, с каких пор дос перестал быть операционкой общего назначения.
| |
|
|
|
|
|
2.20, Crazy Alex (ok), 16:24, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Просто софт стал сложнее.
Как и везде, с ростом масштабов увеличивается процент расходов на разноообразную "бюрократию", нужную бля простого выживания системы. И если до какого-то момента можно с матами и скрипом без явных типов обходиться, то потом вдруг оказывается, что дешевле починить всю существующую гору кода на этот предмет, чем терпеть. В этом плане фейсбук нашёл довольно красивое решение, обычно просто сбегают на те языки, которые дают больший контроль. Другое дело, что это несложно предвидеть было и брать не питон, а что-то статически типизируемое, но, может, не нашлось ничего подходящего...
| |
|
3.29, Vkni (ok), 17:32, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Другое дело, что это несложно предвидеть было и брать не питон, а
> что-то статически типизируемое, но, может, не нашлось ничего подходящего...
SML/Ocaml же.
| |
|
4.43, Crazy Alex (ok), 19:30, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Шутишь, да? Так и представил себе всех этих миддлов, клепающих на окамле... Вот go - тот да, был бы подходящим выбором, пожалуй.
| |
|
5.122, Vkni (ok), 01:54, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Шутишь, да? Так и представил себе всех этих миддлов, клепающих на окамле...
А что там такого сложного? Особенно после SICP. Вот, скажем, "Введение в Стандартный ML" у меня лежит, там 48 страниц - это базовый язык, ну и оставшиеся до 95-ти - язык описания модулей.
> Вот go - тот да, был бы подходящим выбором, пожалуй.
Ох. Была чудесная фраза про go про молодых программистов, не способных понять более выразительный язык.
| |
|
4.44, Crazy Alex (ok), 19:32, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Когти в клавиатуре застряли :-) Хотя можно и дядюшку Фрейда приплести - гнусная тенденция на самом деле, с ростом системы приходится тратить всё больший процент ресурсов на то, чтобы она просто не развалилась, и это не лечится. Что, кстати, далеко не все осознают.
| |
|
5.112, Vkni (ok), 23:56, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> с ростом системы приходится тратить всё больший процент ресурсов на то,
> чтобы она просто не развалилась, и
> это не лечится. Что, кстати, далеко не все осознают.
И то, и другое, кстати, более чем естественно. :-) С другой стороны, есть минимальный размер каждой конкретной системы, при котором она жизнеспособна (вообще нужна). Т.е. ограничения есть как снизу, так и сверху.
Но, реально, архитектурно спроектировать что-то действительно большое, да ещё так, чтобы оно долго жило и развивалось безумно сложно.
| |
|
|
3.84, Anonymoustus (ok), 15:12, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Просто софт стал сложнее.
Самое время задаться вопросом: почему?
Автомобили, самолёты, сложнейшие станки, оптические системы и ядерные реакторы успешно проектировали и в те времена, когда PDP был на острие рокет саенса. И даже в те времена, когда никаких PDP не было ещё и в замысле.
| |
|
4.93, Аноним (-), 19:42, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | Почему палку-копалку заменили более сложной лопатой А потом и самосвалы с экска... большой текст свёрнут, показать | |
|
5.101, Anonymoustus (ok), 20:49, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Оно и видно, дружок, что ты не знаешь о том, что Cx 0,18 (то есть практически достижимый для автомобиля максимум) сделали диды (правда, не твои) безо всяких компьютеров на кульманах и с трубой ещё в тридцатые годы: https://en.wikipedia.org/wiki/Mercedes-Benz_T80#Technical_data
А другие диды (Керниган и Ритчи) написали на PDP целый юникс, причём в свободное от основной работы время.
Ну а плохому танцору, что ж поделать, всегда как не кульман, то палка-копалка мешают.
| |
|
6.104, Аноним (-), 22:22, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | А теперь вопрос на миллион попробуй это чудо массово произвести по технологиям ... большой текст свёрнут, показать | |
6.108, Ordu (ok), 22:46, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | Чё Ты хоть читал статью, на которую ссылаешься Ничего эти диды не сделали, они... большой текст свёрнут, показать | |
|
7.118, Аноним (-), 01:07, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
А сейчас на си пишут даже фирмвари для микроконтроллеров. И даже железо порой синтезируют из субдиалектов C. Мало желающих рожать хардварный декодер какого-нибудь H.264 путем отрисовывания схемы по транзисторам, блин. Таким макаром весь Интел за 20 лет этот блок не нарисует.
| |
7.133, Аноним (-), 13:17, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Во-первых, про свободное от работы время -- это враньё. Томпсон работал в
> исследовательском подразделении Bell Labs, и сверху ему был спущен заказ на
> multics. Томпсон взял палку-копалку -- ассемблер, и запилил unix (вместо MULTiplexed
> Informational and Computer Service, он создал UNiplexed Informational and Computer Service,
> потому что мультиплексирования не осилил).
Вообще-то всё было не так. Дело происходило уже после того, как Bell Labs прекратил работу над Multics. Как побочный эффект, у Кена не стало машины, где бы он мог запускать написанное в свободное время игрушку. И он, опять-таки в свободное время, написал операционку для имевшейся под рукой убогонькой (даже по тем временам) PDP-7.
| |
|
8.134, Ordu (ok), 13:38, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | Освежил память педивикией -- да, ты прав Именно так и было Заказ был спущен св... большой текст свёрнут, показать | |
|
|
8.136, Ordu (ok), 18:03, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | Ты думаешь, что хипстерство определяется целями человека Ты не прав, хипстерств... большой текст свёрнут, показать | |
|
|
|
|
4.113, Vkni (ok), 23:58, 23/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> PDP был на острие рокет саенса. И даже в те времена, когда никаких PDP не было
> ещё и в замысле.
Боюсь, PDP не был никогда на острие рокет саенса. Это же рабочая лошадка.
| |
|
|
2.60, Аноним (-), 02:09, 23/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> сначала долго объясняли преимущества динамической типизации,
а потом обнаружили что вебмакаки постоянно присваивают что попало как попало и отлаживать это глюкало задолбаешься, так что как только проект крупнее хомпаги - это вешалка
| |
|
3.65, Anonymoustus (ok), 03:02, 23/12/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да-да, это вебмакаки написали шестой перл, третий питон, системду и Windows 10.
Причина бед одна на всех — страстное и неуёмное желание автоматизировать (всё, и особенно то, что автоматизировать не надо), а самому лениво откинуться на спинку кресла, пока тикают часы рабочего времени и на счёт капает зарплата.
Эти же самые обезьяны, которые пишут тонны гoвнoкода, самые яростные агитаторы за приобретение «ещё одной планки памяти».
Смотри, кому выгодно.
| |
|
4.71, Аноним (-), 04:21, 23/12/2017 [^] [^^] [^^^] [ответить] | +1 +/– | Машина должна работать, а человек - думать Принцип IBM Если его усвоили даже м... большой текст свёрнут, показать | |
|
5.77, Anonymoustus (ok), 10:14, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Что-то (многие знания и жизненный опыт) мне подсказывает, что горе-админ, приложивший силы и мозги, чтобы разобраться в сути проблемы, и понявший свой инструмент, в дальнейшем будет применять его и другие инструменты правильно. В отличие от девопсов-шустриков и прочих эникейщиков, которые бодро зажигают Фукусимы и роняют самолеты.
Остальную чушь не буду комментировать, ибо чушь.
| |
|
6.91, Аноним (-), 19:01, 23/12/2017 [^] [^^] [^^^] [ответить] | +2 +/– | А что, эникейщики уже научились цунами запускать Тогда пора строить хижину в го... большой текст свёрнут, показать | |
|
|
8.106, Аноним (-), 22:30, 23/12/2017 [^] [^^] [^^^] [ответить] | +2 +/– | Это дедушки которые это кодили вымерли, видимо не очень утруждая себя проектной ... текст свёрнут, показать | |
|
|
|
5.85, Anonymoustus (ok), 15:16, 23/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Мир, вообще-то, не ограничен вашими виртуальными представлениями о вещах, но сильно больше их, качественно и количественно. В реальной жизни почти все задачи могут быть рассчитаны без вычислительной техники вообще. Что такое полезное вы дали миру, что он должен принимать во внимание ваши желания? С нетерпением жду подробного ответа.
| |
|
6.92, Аноним (-), 19:28, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | А миллион мартышек с палкой-копалкой могут заменить экскаватор Мы изменили все ... большой текст свёрнут, показать | |
|
7.99, Anonymoustus (ok), 20:36, 23/12/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
Какой гиперактивный аноним! Так что конкретно ты сделал, дружок, для всеобщего счастья? Лозунгов больше не надо, я их тебе и сам написать могу.
| |
|
|
9.110, Анонимм (??), 23:30, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | Гы Только в теории и мечтах юных нагибаторов Потому что на практике из-за стрес... большой текст свёрнут, показать | |
|
10.120, Аноним (-), 01:26, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | В тестах дохраналиона автомобильных изданий Но ABS это недостаточно хардкорно, ... большой текст свёрнут, показать | |
|
|
12.139, Аноним (-), 23:30, 24/12/2017 [^] [^^] [^^^] [ответить] | +/– | Тогда в чем проблемы Хочется потроллить Или посмотреть на мир где всякие нубы ... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
5.87, Аноним (-), 17:49, 23/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Эти же самые обезьяны, которые пишут тонны гoвнoкода, самые яростные агитаторы за
>> приобретение «ещё одной планки памяти».
> Системд у меня работает на одноплатниках которые сами как планка памяти размером.
> А вы можете сношаться с своими 486 и sysv init если
> вам это надо.
Казалось бы, причем тут вообще системда? Но нет, кто о чем, а сектанты все норовят о Дарах Пророка ввернуть.
| |
|
6.124, Аноним (-), 02:13, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Казалось бы, причем тут вообще системда?
Об этом расскажут коллеги из фирмы Pengutronix. Которые грамотно попросили в системду несколько полезныз плюшек для нашего ремесла. ЧСХ запилили в отличие от рассказов про этанинужна. Теперь вот нормальное апи вачдога для процессов есть.
| |
|
|
|
|
|
1.4, анонимбр (?), 12:52, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не понятно только на фига тогда писать на Python, если нужна статическая типизация, которая есть в языках ее поддерживающих %) Только потому что это Python:S
| |
|
|
3.47, Аноним (-), 19:57, 22/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так и знал, что все преимущества бидона заключаются в чём-то подобном
.
| |
3.114, Vkni (ok), 23:59, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Парсер JSON там хороший )
Ну уж этого добра везде хватает.
| |
|
2.10, Аноним (-), 14:03, 22/12/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
Да так же, как у мордокниги с похапе: сначала понакодили миллионы строк, потом задумались.
| |
|
|
4.61, Аноним (-), 02:13, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> так ведь инстаграмм принадлежит мордокниге %)
так и то и другое поначалу было сделано в хипстерском стиле, а когда взлетело - пришлось распираться, при том в фэйсбуке более кардинально расперлись, а в стограмм еще не дошло и пытаются хиповать
| |
|
|
2.25, Василий Топоров (?), 17:13, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Потому что им нужен был быстрый MVP (minimal valuable product). На скриптовых языках его сделать легче.
| |
|
3.50, qsdg (ok), 21:24, 22/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В условиях стартапа статические языки не рентабельны.
Ну я работал в стартапах и поднимал стартапы. Скорость написания одна и та же, не в синтаксисе дело. Вы же не из тех самых, кто пишут в Блокноте/VIM на Жаве/C#?
Для стартапа язык (и остальные тулзы/фреймворки) должен быть как можно более предсказуем, чтобы по каждому вопросу было 10 ответов на stackoverflow. А ещё лучше чтобы вопроса не возникало. Это в больших компаниях можно поразбираться почему так и эдак, и подфиксить эти тулзы под себя.
| |
|
4.66, Anonymoustus (ok), 03:08, 23/12/2017 [^] [^^] [^^^] [ответить]
| +5 +/– |
> чтобы по каждому вопросу было 10 ответов на stackoverflow.
Боже, и ведь эти люди нынче пишут системный софт и прошивки для промышленных АСУ.
Ну и как не будут гореть Фукусимы и падать самолёты?
| |
|
5.72, Аноним (-), 04:24, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Ну, блин, ты же не написал системный софт, прошивки и АСУ правильно. Пришлось другим, уж как умеют. А так на словах все вы Львы Толстые, а как до кодинга - только рассусоливать умеете.
| |
|
6.78, Anonymoustus (ok), 10:18, 23/12/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Пусть вас такие же врачи лечат, которые «уж как умеют». Что, уже калечат^Wлечат? Пришлось уж им, что поделать. А так-то на словах все вы парацельсы, а как до лечения — только рассусоливать умеете.
| |
|
7.94, Аноним (-), 19:48, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Пусть вас такие же врачи лечат, которые «уж как умеют».
Они так и лечат, собственно. Что в пределах возможностей - то и делают. А ты можешь сидеть с аппендицитом, разглагольствуя какие врачи хреновые. Если сильно повезет, может даже и выживешь без помощи врачей.
> Что, уже калечат^Wлечат? Пришлось уж им, что поделать. А так-то на словах все
> вы парацельсы, а как до лечения — только рассусоливать умеете.
Я вообще не врач. А так выбирая между компьютерной диагностикой организма и старой кошелкой в совковой поликлинике которая слаще тавегила ничего не помнит - ну ты понял что выберу я. Современных специалистов подпертыми современными машинами, которые опять же суть компьютеры с кучей датчиков. Человек с машиной может больше чем человек без машины.
| |
|
|
|
|
|
|
1.6, Аноним (-), 13:01, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –12 +/– |
Посмотрел на заголовок, угадал лицензию.
Молодцы! Вторая компания за неделю, которая делится своим добром безвозмездно и под правильной лицензией.
Давайте, рассказывайте, какие плохие проприетарщики.
| |
|
|
3.73, Аноним (-), 04:25, 23/12/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Всё таки не зря я обращаю на это внимание. Люди начинают понимать
> какие лицензии более свободные.
В стаде monkey послышались возбужденные голоса...
| |
|
|
|
2.24, Аноним (-), 17:01, 22/12/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Так не врали же. Про поддержку rовн чужого кода никто не заикался.
| |
2.51, qsdg (ok), 21:28, 22/12/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Статическая типизация не нужна, говорили они.
> Динамическая типизация ускоряет и упрощает разработку, говорили они.
Ага, то же самое говорили про Schemaless в база данных :)
А по факту получилось что схема-то всё равно нужна, иначе это не данные, а мусор, но зато теперь ты будешь поддерживать эту схему сам, дружок.
| |
|
3.74, Аноним (-), 04:25, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Ты в любом случае будешь поддерживать схему сам, ибо искуственный интеллект который заменял бы програмеров еще не придумали.
| |
|
|
|
2.13, Аноним (-), 14:46, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Что только люди ни делают, лишь бы на C/C++ не писать...
показывай свой код на c/c++, трепло
| |
|
3.15, A.Stahl (ok), 15:10, 22/12/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
>трепло
Что, ты искренне считаешь, что писать код на Си могут лишь избранные и Аноним лживо себя к ним причисляет? Все могут писать код на Си. Даже ты сможешь.
| |
|
4.67, Аноним (-), 04:00, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Что, ты искренне считаешь, что писать код на Си могут лишь избранные
> и Аноним лживо себя к ним причисляет? Все могут писать код
> на Си. Даже ты сможешь.
Писать то может. Нормально писать - уже не каждый. Макаки не понимают указателей и памяти. Да и вообще, программы у них падают раз в 5 минут. Их это задалбывает и они уходят кодить на чем-нибудь более подходящем для макак. Название сабжа прозрачно намекает.
| |
|
|
2.30, Vkni (ok), 17:33, 22/12/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Что только люди ни делают, лишь бы на C/C++ не писать...
Дык. Если можно не писать на C/C++, лучше не писать.
| |
|
3.68, Аноним (-), 04:01, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Дык. Если можно не писать на C/C++, лучше не писать.
Специально для вас есть monkey-что-то-там. Но ощущать себя обезьяной при написании программ нравится не всем.
| |
|
4.111, Vkni (ok), 23:52, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Специально для вас есть monkey-что-то-там.
Спасибо, но Питон вместо C++ - это только по большой нужде. Для меня есть ghc и hlint.
| |
|
5.123, Аноним (-), 02:03, 24/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Заменить плюсы питоном можно разве что при полном пофиге на скорость работы этого.
| |
|
6.141, Vkni (ok), 06:23, 26/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Заменить плюсы питоном можно разве что при полном пофиге на скорость работы
> этого.
Не в этом основная проблема - продолб по скорости там ну раз в 10. Это практически всегда лечится выбором подходящих структур данных и алгоритмов.
А вот отсутствие компиляции реально не лечится - практически в половине обработчиков ошибок в программе на Питоне есть ошибки. Всё должно быть 100% покрыто тестами, что почти в любой задаче с ветвлениями невозможно. А аннотации - это возврат к работе с типами в стиле Алгола-Фортрана-С-Паскаля.
В то же время, с 80-х реализован вывод типов Х-М в ЯВУ семейства ML. Всё столь же гибкое как Питон, но компилируется и проверяется в статике.
| |
|
|
|
|
2.58, Онаним (?), 00:11, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
C/C++ - слабо-типизированные языки, позволяющие и провоцирующие написание ненадёжного кода и постоянно играющие злые шутки с теми, кто думает, что знает и умеет их. На C/C++ практически невозможно написать программу без багов, 100% точно описывающую какую-бы то ни было формальную задачу. Тем, кому не нравится динамическая типизация и кто ищет в строгой типизации и у компилятора помощи в защите от багов наиболее логично переходить на Haskell, а никак не на C/C++.
| |
|
3.79, eganru (?), 11:27, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
На C/C++ практически невозможно написать программу без багов - программа без багов это конечно хорошо, однако программистам обычно платят за то, чтобы решение было можно продавать.
Я вообще уже забыл, когда у меня что-то уходило в релиз без todo и wip.
Просто вот есть модуль, встроенное тестирование которого показывает, что в нем есть изъяны, однако при обычной нагрузке вроде работает - отлично, идем дальше - релиз близко.
В итоге к релизу реально хорошо отлажены крупицы. остальное - как-то отлажено.
| |
3.109, Аноним (-), 23:03, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
> практически невозможно написать программу без багов
Так уже правильно, остальные буквы лишние.
| |
|
|
1.32, Аноним (-), 17:59, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Дались вам эти аннотации в пайтоне!
Если сомневаешься, используй assert:
assert isinstance(myparam, (enable_type1, enable_type2)), type(my_param)
| |
1.37, Аноним (-), 18:55, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Интересно, в Инстаграмме тоже начали на Go мигрировать, потому выбрасывают все ненужные наработки?.....
| |
1.40, eganru (?), 19:23, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Практически каждый проект в какой-то момент сталкивается с тем, что есть существенные ограничения со стороны инструментария, с помощью которого он двигается вперед.
Для реализации каких-либо вещей ребята решили сделать эту утилиту к питону. Решили, что так всем будет проще.
Я не могу осуждать людей за то, что они выбрали для реализации вот этого всего питон и пилят к нему какую-то еще утилиту, чтобы лучше со всем этим работать.
Как пишут ребята, про С и плюсы. Как про панацею. Я пишу тривиальное на С. Там тоже есть где совершить ошибки. С это не панацея.
...
void snd_routine(snd_entry_t* snd)
{
auto void raw_ctl(void);
auto void celt_ctl(void);
for(;;){
pthread_mutex_lock(&snd->mutex);
if(unlikely(snd->com)){
switch(snd->com){
default:
case SND_STOP:
if(snd->play_cnt){
snd->play_cnt = 0;
snd->sft.stop(snd->be);
snd->sft.off(snd->be);
}
break;
...
тривиальные коды на python вроде бы выглядят проще, и, наверное, в них все-таки проще разбираться.
| |
|
2.75, Аноним (-), 04:30, 23/12/2017 [^] [^^] [^^^] [ответить] | +/– | Идет время, проект растет И то что хорошо для мелкого проекта который накидывае... большой текст свёрнут, показать | |
|
3.76, eganru (?), 10:06, 23/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Ну там например для системных вызовов - там уж такой интерфейс, какой есть. - я когда писал себе операционную систему сделал системные вызовы вообще вот так:
/**
* system call
* number after syscall is argument count
*/
static inline __attribute__((always_inline)) u32_u32 syscall0(u8 syscall_num)
{
volatile register u32_u32 __attribute__((unused)) result asm ("$2");
volatile register u32 __attribute__((unused)) bogus asm ("$3");
__asm__ volatile ("move %0, %1\n\t\
syscall"\
: "+r"(result)\
: "r"(syscall_num));
return result;
}
для каждого количества аргументов по такому вызову, а потом селектор на макросе.
Пардон, в си компилятор за откровенно левые действия с типами по пальцам даст - проблемы в С обычно находятся там, где человек уже перестает ясно понимать логику работы.
В питоне, насколько я помню, примерно там же. То есть дело вряд-ли конкретно в языке.
понятное дело, что на С и на Питоне пишут все же в основном разные вещи.
| |
|
4.95, Аноним (-), 19:56, 23/12/2017 [^] [^^] [^^^] [ответить] | –1 +/– | Ну, блин, твоя операционная система только тебе и нужна А в полезном на практик... большой текст свёрнут, показать | |
|
|
|
1.46, Онаним (?), 19:38, 22/12/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Зачем это сейчас, когда в Python 3.6 уже есть специальная стандартная синтаксическая конструкция для указания типов и даже несложный способ заставить рантайм автоматически жёстко проверять типы в указанных местах?
| |
|
2.57, Ordu (ok), 22:58, 22/12/2017 [^] [^^] [^^^] [ответить]
| +/– |
Признайся, ты прочитал ведь только заголовок новости, так?
| |
|
|