|
Почему язык Python такой популярный? | ☑ | ||
---|---|---|---|---|
0
megabax
31.10.16
✎
21:22
|
Добрый день. Я тут начала изучать Python, и, если честно, был сильно удивлён некоторыми фактами. Во-первых, этот язык интерпретируемый и работает медленно. Во-вторых, в нем нестрогая динамическая типизация, то есть, мало того что не обязательно предварительно объявить переменную, так он еще и может менять свой тип по ходу работы программы, и, более того, если мы обратимся к несуществующему полю объекта, то мы получим вовсе не исключительную ситуацию, а просто создадим это поле. То есть, с ООП там, если грубо говорить, немножко бардак.
Но тем не менее, почему то Python очень популярный, им пользуется Яндекс, Гугл, на нем написано много разные программ, а многие серьёзные компании в своих вакансиях предъявляют требование обязательного знания Python. Дык почему Python так популярен? Что в нем такого крутого, что, несмотря на очевидные недостатки, делает его таким популярным? |
|||
1
Волшебник
модератор
31.10.16
✎
21:23
|
В 1С больше ООП, чем в этом "Притоне".
|
|||
2
megabax
31.10.16
✎
21:25
|
(1) Да ладно. В 1С нет ни наследования, ни полиморфизмов, ни виртуальных методов, ни интерфейсов. Одна имитация ООП.
|
|||
3
Britta_Perry
31.10.16
✎
21:28
|
Динамическая типизация это очевидный недостаток? И про автоматически создаваемые поля объектов тоже что-то новенькое. Видимо, не на том Питоне я пишу…
|
|||
4
Loky9
31.10.16
✎
21:28
|
(0) В нём именно что строгая динамическая типизация. Несуществующее поле не прочитается.
|
|||
5
megabax
31.10.16
✎
21:33
|
(4) Вот сейчас только что написал
b=MyClass1() потом b.field="dsfdsf" field - несуществующее поле. Интерпретатор не ругнулся. Поле создалось. |
|||
6
Волшебник
модератор
31.10.16
✎
21:36
|
(2) Там всё есть, и инкапсуляция, и наследование, и полиморфизм...
|
|||
7
Serginio1
31.10.16
✎
21:45
|
Питон популярен в среде С++ ников.
http://www.cyberguru.ru/programming/cpp/embedding-python-into-c-part-i.html Там где нужна динамика, работа с формами, там где на C++ очень сложно писать. |
|||
8
Loky9
31.10.16
✎
21:45
|
(5) попробуй
class MyClass: __fields = {'field'} def __init__(self): self.field = 'value' def __setattr__(self, name, val): if name not in self.__fields: print('No-no!') else: object.__setattr__(self, name, val) c = MyClass() print(c.field) c.field = 1 c.hacked = 2 print(c.field) print(c.hacked) |
|||
9
APXi
31.10.16
✎
21:58
|
Потому что на нем можно быстро написать то, что на сях ты будешь реализовывать в 5 раз дольше, плюс нет всяких лишних ";", нет { }, код сразу структурирован.
|
|||
10
Asmody
31.10.16
✎
22:01
|
(0) Питон прост. Выучить синтаксис можно за пару вечеров. На питоне написано куча библиотек для всего. Про "тормознутость" интерпретатора тоже с натяжкой. Исходники компилятся в байт-код в отдельных файлах. Есть всякие компиляторы питона в LLVM,JRE,CLR.
|
|||
11
megabax
31.10.16
✎
22:01
|
(8) Круто!
|
|||
12
megabax
31.10.16
✎
22:03
|
(9) На C# тоже можно очень быстро писать. А то что код сразу структурирован - это весьма спорное достоинство. Но почему то питон все же популярней си шарпа, странно
|
|||
13
vde69
31.10.16
✎
22:04
|
(0) Питон не популярен...
у меня подчиненный хотел в него уйти, и не смог кроме 6..8 действительно больших компаний (одна из них яндекс) с питом практически нет вакансий в России, вообще нет.... Все вакансии ведут через КА к этим "монстрам".... так, что популярность Питона - это миф... |
|||
14
vde69
31.10.16
✎
22:05
|
(10) чем ниже порог вхождения - тем выше конкуренция...
|
|||
15
Serginio1
31.10.16
✎
22:07
|
(12) Приведи статистику. C# мало уступает Java, а Java это не только Энтерпрайз, но и андроид.
Еще раз питон в основном идет как дополнение к С++ |
|||
16
Serginio1
31.10.16
✎
22:13
|
||||
17
Serginio1
31.10.16
✎
22:14
|
||||
18
Loky9
31.10.16
✎
22:19
|
(12) На питоне можно написать до того как загрузится студия)
|
|||
19
Torquader
31.10.16
✎
22:49
|
Во-первых, интерпретируемые языки хороши тем, что можно править код на ходу, а не грузить исходники в компилятор и пересобирать всё решение.
Во-вторых, на чём-то нужно писать программы, не вдаваясь в подробности системной реализации и связанных с ней сложностей. В-третьих, к питону можно дописывать модули, чтобы реализовать то, чего нет в языке. |
|||
20
organizm
31.10.16
✎
22:53
|
в-четвертых, он как и Джава и cpp относительно свободны, по сравнению с#
|
|||
21
Jump
31.10.16
✎
23:23
|
(0) Вы назвали некоторые достоинства языка, обозвав их недостатками.
Причина в том что для каждой ситуации есть свой инструмент. |
|||
22
HeKrendel
31.10.16
✎
23:24
|
Среди кого популярный?
|
|||
23
Jump
31.10.16
✎
23:25
|
(22) Среди тех кто им пользуется.
|
|||
24
HeKrendel
31.10.16
✎
23:27
|
(23) Голосование среди пользователей интернетом показало что 100% пользуются интернетом?
|
|||
25
mikecool
31.10.16
✎
23:47
|
(0) как вообще можно что-то изучать, если не определился - ты он или она?
|
|||
26
Бертыш
01.11.16
✎
00:32
|
(15) Java? Фу так говорить. Разачарован после того как после выхода очередной версии JDK мой работавший Jar перестал работать
|
|||
27
Злопчинский
01.11.16
✎
02:00
|
я когда хомячка заводил - на перле попрограммил малость. мне очень понравилось...
|
|||
28
Бертыш
01.11.16
✎
02:18
|
Пайтон это с одной стороны быстрое создание прототипа конечного приложения плюс всякие примочки либы по анализу данных, по распознаванию образов (компьютерное зрение), а с другой стороны очень хорошо обучать на нём детей программированию. Во всяком случае я дочу 9 ти лет программированию начал учить именно с пайтона
|
|||
29
wormselfish
01.11.16
✎
02:53
|
(28) Жаль что у меня не такой отец. Я бы щас зарабатывал нормально.
|
|||
30
wormselfish
01.11.16
✎
02:59
|
(5) >>Вот сейчас только что написал
>>b=MyClass1() >>потом b.field="dsfdsf" >>field - несуществующее поле. >>Интерпретатор не ругнулся. >>Поле создалось. Ошибаешься. Ты не обратился к несуществующему полю, а создал его и присвоил значение. И то что с типами так все просто - это же хорошо! Попробуй на С# присвой int16 к int32? Фиг. Придется преобразовывать. А зачем программисту делать работу которую обязан делать компьютер? Вот то то же! |
|||
31
spock
01.11.16
✎
08:03
|
(0) Потому что:
- простой синтаксис (об этом в этой ветке высказался каждый); - много лицензионно-свободных библиотек всякого рода направленности; - легкая интеграция с C++, например, через CPython; Основными драйверами языка являются web-проекты и разные научные проекты. Сейчас в тренде BigData, MachineLearning, ComputerVision. Под это все есть либо адаптеры, либо библиотеки с уже реализованными математическими алгоритмами. От идеи до реализации прототипа на языке python уходит минимум времени. Открыл любимую IDE (да хоть сразу в py-файле), импортнул нужные мат.библиотеки и реализовал. Все! Нет танцев из-за строгой типизации и прочего. Как язык для прототипирования, python идеален. |
|||
32
Рэйв
01.11.16
✎
08:06
|
(2)>>В 1С нет ни наследования, ни полиморфизмов, ни виртуальных методов, ни интерфейсов.
А оно тут надо? Вот ты сам, на вскидку можешь придумать хоть один смысл полиморфизм или наследования в 1С? Я уж не говорю про интерфейсы:-) |
|||
33
Xapac
01.11.16
✎
08:10
|
(0) недавно познакомился с питоном. он мне понравился. копаюсь глубже.
|
|||
34
Kupogun
01.11.16
✎
08:12
|
>>Почему язык Python такой популярный?
1c по этой же причине обрела популярность - высокая скорость разработки |
|||
35
dmitryds
01.11.16
✎
08:13
|
(12) кросплатформенность, скорость выполнения кода не меньше...
p/s правда мне синтаксис не нравится) |
|||
36
megabax
01.11.16
✎
08:29
|
(30) "Попробуй на С# присвой int16 к int32? Фиг. Придется преобразовывать" - зато я не могу случайно "выстрелить себе в ногу", ошибочно присвоив типу int, например, тип string. А если я явно преобразую один тип к другому, то значит, я знаю что делаю.
|
|||
37
Лодырь
01.11.16
✎
08:30
|
(0) Как уже писали в (31) есть много полезных библиотек в области анализа данных и MachineLearning. Фактически там используется либо R либо Python. Выбор невелик )
|
|||
38
Турист
01.11.16
✎
08:34
|
(36) для каждой работы используется свой инструмент. нужна строгая типизация, используй С, можешь даже на асме писать, никто не запрещает.
|
|||
39
Naf_kultura
01.11.16
✎
08:35
|
(30) int16 к int32 - легко неявно, а вот обратно надо явно и это правильно
|
|||
40
Naf_kultura
01.11.16
✎
08:36
|
(38) в С менее строгая типизация, в асме вообще никакая
|
|||
41
megabax
01.11.16
✎
08:36
|
(32) "Вот ты сам, на вскидку можешь придумать хоть один смысл полиморфизм или наследования в 1С". Ну от например, я хочу создать некий альтернативный вариант документа РасходнаяНакладная. Что я делаю? Варианта 3:
1. Правлю типовой документ и имею проблемы при обновлении. 2. Копирую документ, создав, например МояРасходнаяНакладная, но все равно не застрахован от проблем при обновлении. 3. Имею много любви с написанием всяких внешних форм, внешних обработок и реализую желаемый функционал, не меняя документ. Но все равно не застрахован от проблем при обновлении. А теперь представь, что есть класс РасходнаяНакладная. У него есть некие виртуальные методы, которые можно переопределять и есть те, которые нельзя. Я создаю новый класс со своим альтернативным поведением, где переопределяю разрешенные методы. При обновлении ничего слетает и не происходит никаких проблем, так как API нового документа не меняется, но возможно, появляется новый функционал. Возможно, меняться какие-то алгоритмы, но на API это не влияет. |
|||
42
Рэйв
01.11.16
✎
08:37
|
(40) В асме чтобы иметь тип вообще надо извернуться:-)
|
|||
43
megabax
01.11.16
✎
08:38
|
Короче, я так понял, Питон хорош только из-за библиотек?
|
|||
44
Турист
01.11.16
✎
08:39
|
(40) и (42) ну немного не так выразился, но все равно же все поняли о чем речь ))
|
|||
45
Asmody
01.11.16
✎
08:39
|
(43) Из-за всего.
|
|||
46
Турист
01.11.16
✎
08:41
|
(41) может все таки стоит навыки работы в 1с подтянуть? у меня есть сильно переписанные документы и проблем при обновлении нет.
|
|||
47
Asmody
01.11.16
✎
08:41
|
Под c/c++ тоже есть библиотеки для всего, но они сложнее многократно.
|
|||
48
dmitryds
01.11.16
✎
08:42
|
(43) многим он хорош) как и NodeJS, но 1Сникам это обычно сложно понять)
|
|||
49
megabax
01.11.16
✎
08:44
|
(47) А вот интересно, в питоне есть библиотеки для реализации нейросетей?
|
|||
50
ice777
01.11.16
✎
08:44
|
вот с руби носятся тоже. И даже позиционируется круче. И даже вакансии бывают. Но много ли пишущих на нем?
|
|||
51
dmitryds
01.11.16
✎
08:46
|
(50) вот интересная статистика https://habrahabr.ru/post/235689/
|
|||
52
Pentosh
01.11.16
✎
08:46
|
Странно, зачем учить язык если не понимаешь для чего он нужен? Хм...
Питон хорошо для своих нужд, если нужна строгая типизация то вам в С#, C++ или Java. А хаять на динамический язык что у ничего динамическая типизация неправильно. |
|||
53
dmitryds
01.11.16
✎
08:49
|
(52) вообще пофиг на язык, если есть голова... (ну кроме 1С естественно, т.к. платформа тормозная и небесплатная)
|
|||
54
ELEA26
01.11.16
✎
08:50
|
(30) Чтобы избежать множества логических ошибок которые могут жить годами...
|
|||
55
megabax
01.11.16
✎
08:50
|
(52) Вообще то я не хаю. Просто я считаю что динамическая типизация - это зло. Это точно также, что я недоволен отсутствием полноценного ООП в 1С, но, тем не мене, пользую 1С, так как там много других полезных фишек.
|
|||
56
Рэйв
01.11.16
✎
08:53
|
(41)все твои доводы - просто заботы об обновлении:-)
Я уже много лет работаю только с переписанными конфами, поэтому меня этот вопрос не сильно заботит, а в остально ввполне можно обойтись без переопределения методов. |
|||
57
dmitryds
01.11.16
✎
08:56
|
(55) ООП хорошо в меру, в 1С с этим нормально... и не стоит везде где можно, пихать ООП.
|
|||
58
Pentosh
01.11.16
✎
08:57
|
(55) Ну тогда тема является разжиганием "холивара".
И почему тогда тема исключительно про Python? PHP, Ruby, Perl тоже давайте обсудим, какие они плохие и что они не решают возложенные на них обязанности, хотя постойте... |
|||
59
Pentosh
01.11.16
✎
08:58
|
+(58) JS забыл
|
|||
60
spock
01.11.16
✎
09:01
|
(49) Абсолютно да! Но нейросети есть даже на 1с (см. инфостарт), в каких языках их только не реализовали.
|
|||
61
megabax
01.11.16
✎
09:01
|
(58) Ну, вообще то я создал тему не для того, чтобы "разжигать холивары и хаять питон", а для того, чтобы увидеть в питоне то хорошее, что в нем есть, несмотря на динамическую типизацию. И, кстати, увидел. говорят, библиотеки хорошие.
|
|||
62
spock
01.11.16
✎
09:05
|
(61) Тут уже вскольз упомянули, что для python есть кроссплатформенность из каробки. Например, я пишу на python под виндой, тут же отлаживаю и без проблем переношу этот код на vps под ubuntu.
|
|||
63
Pentosh
01.11.16
✎
09:06
|
(61) это можно было в вики/оф. доке/книгах прочитать, например.
|
|||
64
megabax
01.11.16
✎
09:07
|
(62) Вот это круто, да, согласен.
|
|||
65
Pentosh
01.11.16
✎
09:10
|
+(63) кстати, в введении книги Лутца очень хорошо написаны все плюсы языка, но правда сравнивается он с Java и C++, а не с ближайшими конкурентами (PHP, Ruby и JS).
|
|||
66
Govnokoder
01.11.16
✎
09:23
|
С++ это вообще не безопасный язык
|
|||
67
LeReve
01.11.16
✎
09:24
|
(1) Глупее глупости не слышал)
|
|||
68
Govnokoder
01.11.16
✎
09:25
|
переполнение буфера
|
|||
69
Jump
01.11.16
✎
09:25
|
(61)Что в питоне есть хорошего?
Ну вот например - динамическая типизация. |
|||
70
Asmody
01.11.16
✎
09:25
|
(58) Perl — это "write-only" язык. Да, он быстр для определенных задач, да, регулярками на нем можно сделать почти все. Но написанное на Perl не разобрать самому уже через неделю. Я когда-то на нем писал немного. И он почти не развивается (см. Perl 6)
|
|||
71
Govnokoder
01.11.16
✎
09:25
|
С# - тема!
|
|||
72
Jump
01.11.16
✎
09:27
|
(70) Что не развивается - это так.
А если писать аккуратно - разберешься и через пять лет. |
|||
73
NikVars
01.11.16
✎
09:27
|
(0) "Я тут начала изучать" ... ты точно мужик?!
|
|||
74
Asmody
01.11.16
✎
09:27
|
(72) Аккуратно писать и на питоне можно :)
|
|||
75
Asmody
01.11.16
✎
09:28
|
(73) Как начала — так сразу стал мужиком!
|
|||
76
Asmody
01.11.16
✎
09:28
|
Главное — начать.
|
|||
77
Govnokoder
01.11.16
✎
09:29
|
Не, лучше уж тогда Перл чем Питон
|
|||
78
Naf_kultura
01.11.16
✎
09:29
|
(66)(68)(71)(77) это что за микролозунги?
|
|||
79
CodeFinder
01.11.16
✎
09:34
|
(13) А город какой? Не получилось потому что вакух нет?
|
|||
80
trdm
01.11.16
✎
09:36
|
(0) > Дык почему Python так популярен?
Много извращенцев развелось. |
|||
81
Jump
01.11.16
✎
09:37
|
(73)Гермафродит видимо.
|
|||
82
NikVars
01.11.16
✎
09:38
|
(41) Указанный тобой момент не исключает проблем при обновлении. Разработчик перенес часть функционала из одного модуля в другой и ты имеешь проблемы при обновлении, т.к. разработчик ничего не знает от навороченных тобой сверху "наследованиях" и "переопределениях".
|
|||
83
Govnokoder
01.11.16
✎
09:45
|
Звонит программист беременной жене:
— Ты где? — На сохранении. — Ну ладно, позвонишь, когда сохранишься. |
|||
84
megabax
01.11.16
✎
09:46
|
(82) Ну тут уже от разработчика потребуется поддерживать при обновлении одинаковый API. Фирма 1C видимо этого сильно не хочет, от того и нет в 1С полноценного ООП до сих пор.
|
|||
85
Кирпич
01.11.16
✎
09:46
|
(0) потому что мало буков писать и добрый дядя за тебя давно написал все библиотеки, где нужно много ума.
|
|||
86
Кирпич
01.11.16
✎
09:47
|
(84) полноценного ООП в 1с нет только по одной причине - потому что оно там не нужно.
|
|||
87
Naf_kultura
01.11.16
✎
09:51
|
(84)(86) ну если API постоянно меняется от версии к версии в 1С, то да - идея работы от интерфейса компонентов никому не нужна
|
|||
88
shulerr
01.11.16
✎
09:51
|
Допустим, есть у нас сервер, и понадобилось нам на сервере какую-нибудь небольшую задачку выполнять периодически. Логи почистить, за нагрузкой последить, бекап сделать. Bash очень уж неудобный, java -сложности с деплоем, c# только под win. Python самое то. Разбираться не долго, легко интегрируется в любую систему, ресурсы попусту не ест.
|
|||
89
NikVars
01.11.16
✎
09:52
|
(84) Тебе еще разок сказали, и я повторю "оно тама нужно"?!
В С до сих пор нет возможности писать полностью на национальных языках. Недостаток легко выдумать. Твой пример "недостатка" из серии щас научу 1С торговать софтом и научу, какой должен быть язык программирования для бухучета. |
|||
90
CodeFinder
01.11.16
✎
09:57
|
(88) Bash не удобный? Bash Для этих целей всех удобней. А в винде повершелл
|
|||
91
shulerr
01.11.16
✎
09:59
|
(90) power shell еще куда не шло, но bash... Приведи ка пример оператора if. Можешь при этом не гуглить что там должно вместо == стоять?
|
|||
92
Serginio1
01.11.16
✎
09:59
|
(88) Ребята .Net Core уже месяца 4 в релизе
https://habrahabr.ru/users/serginio1/topics/ |
|||
93
vcv
01.11.16
✎
10:01
|
(88) http://oscript.io/ будет ближе к тематике форума :)
|
|||
94
Asmody
01.11.16
✎
10:01
|
(91) eq
|
|||
95
Govnokoder
01.11.16
✎
10:01
|
Хотя сейчас безопасники постепенно перебираются с Перла на Питон
|
|||
96
Govnokoder
01.11.16
✎
10:02
|
то есть белые хакеры
|
|||
97
shulerr
01.11.16
✎
10:03
|
(94) а скобки квадратные или круглые? От чего это зависит? И главное, нафига это надо, если есть python?
|
|||
98
Мойдодыр
01.11.16
✎
10:05
|
Как я понимаю питон хотели сделать как js только с классами.
|
|||
99
Кирпич
01.11.16
✎
10:06
|
(92) ну как бы и Mono никто не отменял. Но если человек уже пишет на питоне, то ему будет и java -сложности с деплоем и C# только на винде. Фанатики. Хотя питон конечно шикарная вешь.
|
|||
100
Мойдодыр
01.11.16
✎
10:07
|
(98) теперь когда в js это все уже есть, питон должен умереть
|
|||
101
CodeFinder
01.11.16
✎
10:11
|
(91) а что в нем тебе не нравится? Т.е для тебя скрипт бэкапа лукчше писать на питоне чем на баше? мдаа...а может на 1с сразу же?
|
|||
102
megabax
01.11.16
✎
10:12
|
(100) Да ну нафиг этот js. После него у меня до сих пор неприятная отрыжка. Лучше уж питон: Все таки, если закрыть глаза на динамическую типизации, то хороший получается язык.
|
|||
103
Asmody
01.11.16
✎
10:13
|
(100) Пфф!
|
|||
104
Кирпич
01.11.16
✎
10:14
|
(101) на 1с уже давно пишут http://oscript.io/
|
|||
105
Govnokoder
01.11.16
✎
10:15
|
Ох уж эти энтузиасты
|
|||
106
megabax
01.11.16
✎
10:15
|
(104) Блин, извращение какое-то. Зачем нужно еще один скриптовый язык создавать, когда их итак навалом?
|
|||
107
Кирпич
01.11.16
✎
10:18
|
(106) Ну в нашей стране полно программистов, которые кроме КонецЕсли ничего не знают. Опять же фирменный стиль. Некоторые даже скажут, что это импортозамещение :)
|
|||
108
Govnokoder
01.11.16
✎
10:19
|
Объявление: "Программистка-индивидуалка. Выезд, апартаменты. Классика, реверс-инжениринг, глубокий кодинг без ТЗ. Звони! Есть подруга бизнес-аналитик".
|
|||
109
Кирпич
01.11.16
✎
10:20
|
(106) да и красивый код на русском языке, если к 1c через Ole подключаться.
|
|||
110
Govnokoder
01.11.16
✎
10:20
|
ПрограммистГуманитарий
|
|||
111
NikVars
01.11.16
✎
10:20
|
(106) Вот тебе другия "извращения"
:) https://toster.ru/q/51646 "Из недавнего.. делал перенос данных из 1С 7.7 в Oracle JD Edwards. Самый быстрый инструмент для этого оказался опять же питон." Или это Аналог внешней компоненты на Python для 8-ки http://catalog.mista.ru/public/190166/ |
|||
112
CodeFinder
01.11.16
✎
10:36
|
Кстати Python больше всего требуется в веб
|
|||
113
megabax
01.11.16
✎
10:40
|
(111) Внешняя компонента на питоне - не такое уж и извращение, если так подумать. Но вот одинэсоподобный скриптовый язык.... действительное, наверное только для тех, кто кроме "концаесли" ничего не знает
|
|||
114
Мойдодыр
01.11.16
✎
10:42
|
(108) Почти угадал
http://ximage.ru/index.php?id=1477986131 |
|||
115
Кирпич
01.11.16
✎
10:46
|
(113) "Внешняя компонента на питоне - не такое уж и извращение" - а по моему, это полный треш и питон головного мозга. А вот одинэсоподобный скриптовый язык это вполне логичная приблуда к 1с.
|
|||
116
CodeFinder
01.11.16
✎
10:47
|
Вообще python не особо популярен.
Лучше бы тему подняли. Почему java настолько популярна? |
|||
117
Мойдодыр
01.11.16
✎
10:47
|
(116) такую тему 100500 раз поднимали
|
|||
118
Кирпич
01.11.16
✎
10:47
|
+(115) потому что любой одинесник поймет чо там в этом скрипте понаписано
|
|||
119
Serginio1
01.11.16
✎
10:51
|
(116) А кто тебе мешает? Только так или иначе здесь мало квалифицированных программистов на Java или том же питоне.
|
|||
120
Naf_kultura
01.11.16
✎
11:12
|
оффтоп, зачем 1С снова переходит к созданию объектов, указывая тип через строковые литералы:
Форма = ПолучитьФорму("Справочник.Валюты.Форма.ФормаЭлемента"); почему-то вспомнилось 7.7: СЗ = СоздатьОбъект("СписокЗначений"); |
|||
121
Мойдодыр
01.11.16
✎
11:15
|
(120) чтоб в веб клиенте проще было в js компилить
|
|||
122
Loky9
01.11.16
✎
11:18
|
(116) $$$ * 86%
|
|||
123
shulerr
01.11.16
✎
11:25
|
(101) прикинь!
Я там наверху писал про if [[ a -eq b ]] ... Инопланетянские конструкции какие-то. Python же на интуитивном уровне понятен. Для сервачных скриптов - незаменимая вещь. |
|||
124
CodeFinder
01.11.16
✎
11:26
|
(123) мдааааа...бэкап на баше можно написать в 3-4 строчки. на питоне?
|
|||
125
shulerr
01.11.16
✎
11:27
|
В две, раз пошла такая пьянка. Ты количеством строк измеряешь качество?
|
|||
126
CodeFinder
01.11.16
✎
11:32
|
(125) и это тоже.
|
|||
127
Loky9
01.11.16
✎
11:47
|
При подключении флешек к хосту сканировать их содержимое, по определённой схеме копировать нужное на диск, ставить на флешке отметку обработки, распарсить полученное, переслать на удалённый хост. При сбоях информацию не терять.
Напишите на баше. |
|||
128
Сильф
01.11.16
✎
11:53
|
(0) > в нем нестрогая динамическая типизация, то есть, мало того что не обязательно предварительно объявить переменную, так он еще и может менять свой тип по ходу работы программы
Какой ужас! А в 1Се не так, что ли? :) |
|||
129
shulerr
01.11.16
✎
12:10
|
(127) + или на java, подняв предварительно openjdk или как его там. Или на c#, загнав на сервер тонну библиотек. При этом все равно придется вызывать bash'евые инструкции, обернув их вызовами своего языка. Потратить на это надо кучу времени, напрячь админов..
|
|||
130
Мойдодыр
01.11.16
✎
12:12
|
(128) в 1с не так. а вот в js тоже так же
|
|||
131
Мойдодыр
01.11.16
✎
12:12
|
х = Новый Структура;
x.x = 1 // тут будет ошибка |
|||
132
Pentosh
01.11.16
✎
12:20
|
(128) замечу что в питоне СТРОГАЯ (читать как сильная) динамическая типизация.
й = "строка" + 1 - даст ошибку |
|||
133
shulerr
01.11.16
✎
12:33
|
Зато й = "строка" * 2 не дает))
|
|||
134
Yrii-ay
01.11.16
✎
12:41
|
Советы программисту:
Отношения с заказчиком станут менее формальными, если программа начисления зарплаты вместо 'ИТОГО' будет печатать 'ИГОГО'. |
|||
135
Кирпич
01.11.16
✎
12:45
|
(134) а если сумма по зарплате превышает плановую, то ОГОГО
|
|||
136
LeReve
01.11.16
✎
12:52
|
(119) Здесь в принципе мало квалифицированных программистов.
|
|||
137
sapphire
01.11.16
✎
13:02
|
(0) Потому, что пистон легко поддерживать, парадигма, обратная перлу, "это можно сделать только так и больше никак".
|
|||
138
Loky9
01.11.16
✎
13:08
|
(133) Чисто по здравому смыслу и не должно)
|
|||
139
Web00001
01.11.16
✎
13:10
|
(0)Отличная штука, я на нем 1Спастебин сначала написал, потом нормально на flask переписал. Очень годная штука этот самый flask. Да и в остальном писать очень приятно, много удобных фишек.
|
|||
140
Кирпич
01.11.16
✎
13:25
|
Чота я думал, что питон быстрее. У меня есть такая придурь - я пишу быстрый интерпретатор языка 1с. Типа хобби такое. Пишу несколько лет, в основном осенью :) Щас откопал свой этот интерпретатор и там набит тестовый код
перем результат; D=0; for i=1 to 100000000 do d = d + 100.25; enddo; результат=d; набил такое в питоне import time print "start..." t1 = time.time() z = 0.00 for index in range(100000000): z += 100.25 t2 = time.time() print "end." print z print t2-t1 питон выполнил за 16 секунд моё поделие за 3 секунды OneScript думал 2 минуты от это я дал :)) |
|||
141
Кирпич
01.11.16
✎
13:27
|
мож там числа какие нибудь сильно умные. типа как в 1с
|
|||
142
Loky9
01.11.16
✎
13:41
|
(140)
pypy.exe tmp.py start... end. 10025000000.0 1.10899996758 Но подглючивает, гад. |
|||
143
Кирпич
01.11.16
✎
13:52
|
(142) так веселее. ага. у меня даже 0.33333 выдало
|
|||
144
Кирпич
01.11.16
✎
13:54
|
так что на эту осень есть чем заняться
|
|||
145
Loky9
01.11.16
✎
13:54
|
С заменой на xrange CPython у меня отработал за 17 с половиной сек.
|
|||
146
Serginio1
01.11.16
✎
13:57
|
(144) Угу сразу в байт код компилируй.
|
|||
147
Кирпич
01.11.16
✎
14:09
|
видимо этот pypy понял, что переменная z имеет только значение double и зафигачил сразу код для double, а у меня каждый раз проверяет тип переменной. от того и тормоза
|
|||
148
Serginio1
01.11.16
✎
14:43
|
Да потому, что компилирует.
for i=1 to 100000000 do d = d + 100.25; enddo; Аналогично поступает компилятор и для dynamic в .Net |
|||
149
CodeFinder
01.11.16
✎
16:38
|
(127) легко. я парсер зарубежного интернет магазина делал на баше, который потом импортировал всю номенклатуру в мой интернет магазин зеркало.
|
|||
150
Мойдодыр
01.11.16
✎
16:44
|
(149) парсинг с помощью регулярок?
|
|||
151
CodeFinder
01.11.16
✎
16:46
|
(150) да
|
|||
152
Кирпич
01.11.16
✎
16:53
|
(148) dynamic в .Net показал результат медленнее, чем pypy в четыре раза
|
|||
153
Serginio1
01.11.16
✎
17:01
|
(152) А в режиме release компилировал и с прогревом на компиляцию?
|
|||
154
Кирпич
01.11.16
✎
17:01
|
+(152) а если уж совсем по честному написать так
for (dynamic x = 0; x < 100000000; x++) то чуть меньше трёх секунд. как в моей поделке :)) так что "Аналогично поступает компилятор и для dynamic в .Net" - бряхня |
|||
155
Кирпич
01.11.16
✎
17:02
|
(153) в режиме release
|
|||
156
Serginio1
01.11.16
✎
17:41
|
(154) Аналогично поступает делает класс с методом
Для x++ вызывается типизированный метод. Понятно, что незаинлайненный метод будет выполняться долше. |
|||
157
Serginio1
01.11.16
✎
17:42
|
В .Net же все компилируется
|
|||
158
Gary417
01.11.16
✎
17:43
|
(157) компилируется во что? в Native?
|
|||
159
Serginio1
01.11.16
✎
17:45
|
(158) JIT компилятор компилирует в натив в реалтайме.
|
|||
160
Serginio1
01.11.16
✎
17:48
|
||||
161
Кирпич
01.11.16
✎
17:53
|
(156) если аналогично, то почему разница в 100 раз?
|
|||
162
Serginio1
01.11.16
✎
17:56
|
(161) Ну не совсем аналогично. Во первых создается Expression и компилируется в делегат и на каждом шаге сравнивается с типом.
Задержки на вызов делегата и сравнение с типом делегата в кэше |
|||
163
Serginio1
01.11.16
✎
17:58
|
По ссылке
Для описания логики работы DLR приведу ответ Эрика Липперта по этому поводу (вольный перевод): Сначала среда выполнения решает с объектом какого типа мы имеем дело (COM, POCO). Далее в дело вступает компилятор. Так как необходимость в лексере и парсере отсутствует, DLR использует специальную версию компилятора C#, имеющего только анализатор метаданных, семантический анализатор выражений, а также генератор кода, который вместо IL генерирует Expression Trees. Анализатор метаданных использует рефлексию, чтобы установить тип объекта, который потом передается семантическому анализатору для установления возможности вызова метода или выполнения операции. Далее происходит построение Expression Tree, как если бы Вы использовали лямбда-выражение. Компилятор C# возвращает обратно дерево выражений в DLR вместе с политикой кэширования. DLR потом сохраняет данный делегат в кэше, ассоциирующимся с узлом вызовов. Для этого используется свойство Update класса CallSite. При вызове динамической операции, хранящейся в поле Target происходит перенаправление к свойству Update, где и происходит вызов байндеров. Когда в следующий раз произойдет вызов, вместо повторного выполнения вышеперечисленных действий, будет использоваться уже готовый делегат. Polymorphic Inline Cache Производительность динамических языков страдает из-за дополнительных проверок и поисковых запросов, выполняющихся во всех местах вызова. Прямолинейная реализация постоянно ищет члены в списках приоритета класса и, возможно, разрешает перегрузку типов аргументов метода каждый раз, когда исполняется строчка кода. В языках со статической типизацией (или с достаточным количеством указаний типов в коде и выводом типов) можно генерировать инструкции или вызовы функций среды исполнения, которые подходят для всех точек вызова. Это возможно, потому что статические типы позволяют узнать все, что нужно, во время компиляции. На практике повторные операции над одними и теми же типами объектов можно привести к общему типу. Например, при первом вычислении значения выражения x + y для целых x и y можно запомнить фрагмент кода или точную функцию времени исполнения, которая складывает два целых числа. Тогда при всех последующих вычислениях значения этого выражения искать функцию или фрагмент кода уже не потребуется благодаря кэшу. Вышеприведенный механизм кэширования делегатов (в данном случае), когда узел вызова является самообучающимся и обновляющимся называется Polymorphic Inline Cache. Почему? |
|||
164
Serginio1
01.11.16
✎
17:59
|
Кстати посмотри через ILSpy какой код сгенерировал компилятор
|
|||
165
Кирпич
01.11.16
✎
18:00
|
(162) проще говоря, нет оптимизации типа dynamic
|
|||
166
Serginio1
01.11.16
✎
18:01
|
(165) Читай 163
|
|||
167
Кирпич
01.11.16
✎
19:09
|
(166) почитал. Нафиг я это читал? Pypy делает быстро, .net медленно.
|
|||
168
spock
01.11.16
✎
19:10
|
(140) примеры не одинаковые. Range выделяет весь массив в памяти, а потом итерирует по нему. Замени на xrange чтоли.
|
|||
169
Кирпич
01.11.16
✎
19:40
|
(168) чота я не заметил, как выделяется полгига памяти под массив
|
|||
170
Serginio1
01.11.16
✎
19:50
|
(167) Угу у тебя пример того, что никогда не возникает в жизни ни разу.
В реальной жизни приходится работать с утиной типизацией то есть с объектами неизвестного типа, но имеющие определенную сигнатуру методов и их название. Например COM, ExpandoObject (аналог структура) DynamicObject (нет аналога) и объекты неизвестного типа Для COM и обычных объектов можно использовать Reflection. Так во dynamic быстрее Reflection раз в 13-30 http://stackoverflow.com/questions/13193799/performance-cost-of-using-dynamic-typing-in-net И при этом вызов по сигнатуре. Для интереса проведи тест для установки свойства, вызова метода с не dynamic параметрами. |
|||
171
Serginio1
01.11.16
✎
19:52
|
Кстати можно и IronPython попробовать. Там как раз все на DLR
|
|||
172
Serginio1
01.11.16
✎
19:53
|
Кстати хорошая презентация про то как работает DLR http://www.slideshare.net/yu5k3/dlr-54012646
|
|||
173
Кирпич
01.11.16
✎
20:20
|
(170) "Угу у тебя пример того, что никогда не возникает в жизни ни разу."
Ну в .NET я конечно не стану какие нибудь гигантские матрицы на dynamic считать, а на PyPy получается можно. Я просто подумал, что компилятор NET такой же умный как PyPy. Оказалось нет. Ну и пофиг. |
|||
174
Loky9
01.11.16
✎
20:26
|
(171) Он тормозней цэпитона раз в десять.
Нашел такую штуку: http://numba.pydata.org/ Это даже круче pypy! |
|||
175
Loky9
01.11.16
✎
20:30
|
(149) Нужно было разобрать xml в архивах, но разбор был не самой большой проблемой в задаче.
На баше это сделать можно, но неудобно, громоздко и плохосопровождаемо. |
|||
176
Jija Grenkov
01.11.16
✎
22:30
|
Пайтон часто используется как вспомогательный язык. На пример как замена bash скриптов. На Пайтон часто пишут вспомогательные утилиты не требовательным к производительности. Так же Пайтон широко используется при анализе данных, но если данных много то на Пайтоне делают только прототипы, а основную реализацию на jvm языках. Производительность Пайтон скриптов никогда не была высокой
|
|||
177
Jija Grenkov
01.11.16
✎
22:32
|
В разработке классических приложений Пайтон не слишком популярен
|
|||
178
Loky9
01.11.16
✎
23:05
|
(176) "Производительность Пайтон скриптов никогда не была высокой"
-Ты что, дальтоник, Скрипач, - зелёный цвет от оранжевого отличить не можешь? @jit def mandel(x, y, max_iters): """ Given the real and imaginary parts of a complex number, determine if it is a candidate for membership in the Mandelbrot set given a fixed number of iterations. """ i = 0 c = complex(x,y) z = 0.0j for i in range(max_iters): z = z*z + c if (z.real*z.real + z.imag*z.imag) >= 4: return i return 255 print(mandel.inspect_asm((numba.float64, numba.float64, numba.int64))) >>>>> .text .file "mandel" .section .rodata.cst8,"aM",@progbits,8 .align 8 .LCPI0_0: .quad 4616189618054758400 .text .globl __main__.mandel$27.float64.float64.int64 .align 16, 0x90 .type __main__.mandel$27.float64.float64.int64,@function __main__.mandel$27.float64.float64.int64: movsd 40(%rsp), %xmm0 movq 48(%rsp), %r9 xorl %eax, %eax testq %r9, %r9 cmovsq %rax, %r9 xorpd %xmm2, %xmm2 movabsq $.LCPI0_0, %r8 xorpd %xmm1, %xmm1 .align 16, 0x90 .LBB0_1: leaq (%r9,%rax), %rdx testq %rdx, %rdx jle .LBB0_4 movapd %xmm2, %xmm4 mulsd %xmm4, %xmm4 mulsd %xmm1, %xmm2 mulsd %xmm1, %xmm1 subsd %xmm1, %xmm4 addsd %xmm2, %xmm2 addsd %xmm3, %xmm4 movapd %xmm2, %xmm1 addsd %xmm0, %xmm1 movapd %xmm4, %xmm2 mulsd %xmm4, %xmm4 movapd %xmm1, %xmm5 mulsd %xmm5, %xmm5 addsd %xmm4, %xmm5 decq %rax ucomisd (%r8), %xmm5 jb .LBB0_1 notq %rax movq %rax, (%rcx) xorl %eax, %eax retq .LBB0_4: movq $255, (%rcx) xorl %eax, %eax retq .Lfunc_end0: .size __main__.mandel$27.float64.float64.int64, .Lfunc_end0-__main__.mandel$27.float64.float64.int64 .section .rodata.cst8,"aM",@progbits,8 .align 8 .LCPI1_0: .quad 4616189618054758400 .text .globl cpython.__main__.mandel$27.float64.float64.int64 .align 16, 0x90 .type cpython.__main__.mandel$27.float64.float64.int64,@function cpython.__main__.mandel$27.float64.float64.int64: .cfi_startproc pushq %r15 .Ltmp0: .cfi_def_cfa_offset 16 pushq %r14 .Ltmp1: .cfi_def_cfa_offset 24 pushq %rsi .Ltmp2: .cfi_def_cfa_offset 32 pushq %rdi .Ltmp3: .cfi_def_cfa_offset 40 pushq %rbx .Ltmp4: .cfi_def_cfa_offset 48 subq $112, %rsp movapd %xmm7, 96(%rsp) movapd %xmm6, 80(%rsp) .Ltmp5: .cfi_def_cfa_offset 160 .Ltmp6: .cfi_offset %rbx, -48 .Ltmp7: .cfi_offset %rdi, -40 .Ltmp8: .cfi_offset %rsi, -32 .Ltmp9: .cfi_offset %r14, -24 .Ltmp10: .cfi_offset %r15, -16 .Ltmp11: .cfi_offset %xmm6, -80 .Ltmp12: .cfi_offset %xmm7, -64 movq %rcx, %rsi leaq 56(%rsp), %rax movq %rax, 48(%rsp) leaq 64(%rsp), %rax movq %rax, 40(%rsp) leaq 72(%rsp), %rax movq %rax, 32(%rsp) movabsq $.const.mandel, %rax movabsq $PyArg_UnpackTuple, %rbx movl $3, %r8d movl $3, %r9d movq %rdx, %rcx movq %rax, %rdx callq *%rbx movl %eax, %ecx xorl %eax, %eax testl %ecx, %ecx je .LBB1_16 testq %rsi, %rsi je .LBB1_17 cmpq $0, 24(%rsi) je .LBB1_3 movq 72(%rsp), %rcx movabsq $PyNumber_Float, %rdi callq *%rdi movq %rax, %rsi movabsq $PyFloat_AsDouble, %rbx movq %rsi, %rcx callq *%rbx movapd %xmm0, %xmm6 movabsq $Py_DecRef, %r15 movq %rsi, %rcx callq *%r15 movabsq $PyErr_Occurred, %r14 callq *%r14 movq %rax, %rcx xorl %eax, %eax testq %rcx, %rcx jne .LBB1_16 movq 64(%rsp), %rcx callq *%rdi movq %rax, %rsi movq %rsi, %rcx callq *%rbx movapd %xmm0, %xmm7 movq %rsi, %rcx callq *%r15 callq *%r14 movq %rax, %rcx xorl %eax, %eax testq %rcx, %rcx jne .LBB1_16 movq 56(%rsp), %rcx movabsq $PyNumber_Long, %rax callq *%rax movq %rax, %rdi testq %rdi, %rdi je .LBB1_8 movabsq $PyLong_AsLongLong, %rax movq %rdi, %rcx callq *%rax movq %rax, %rsi movq %rdi, %rcx callq *%r15 .LBB1_8: callq *%r14 movq %rax, %rcx xorl %eax, %eax testq %rcx, %rcx jne .LBB1_16 xorl %ecx, %ecx testq %rsi, %rsi cmovsq %rcx, %rsi xorpd %xmm1, %xmm1 movl $255, %eax movabsq $.LCPI1_0, %rdx xorpd %xmm0, %xmm0 .align 16, 0x90 .LBB1_10: leaq (%rsi,%rcx), %rbx testq %rbx, %rbx jle .LBB1_14 movapd %xmm1, %xmm2 mulsd %xmm2, %xmm2 mulsd %xmm0, %xmm1 mulsd %xmm0, %xmm0 subsd %xmm0, %xmm2 addsd %xmm1, %xmm1 addsd %xmm6, %xmm2 movapd %xmm1, %xmm0 addsd %xmm7, %xmm0 movapd %xmm2, %xmm1 mulsd %xmm2, %xmm2 movapd %xmm0, %xmm3 mulsd %xmm3, %xmm3 addsd %xmm2, %xmm3 decq %rcx ucomisd (%rdx), %xmm3 jb .LBB1_10 movl $2147483647, %eax subq %rcx, %rax notq %rcx shrq $32, %rax jne .LBB1_15 movq %rcx, %rax .LBB1_14: movabsq $PyInt_FromLong, %rdx movl %eax, %ecx callq *%rdx jmp .LBB1_16 .LBB1_15: movabsq $PyLong_FromLongLong, %rax callq *%rax .LBB1_16: movaps 80(%rsp), %xmm6 movaps 96(%rsp), %xmm7 addq $112, %rsp popq %rbx popq %rdi popq %rsi popq %r14 popq %r15 retq .LBB1_3: movabsq $PyExc_RuntimeError, %rcx movabsq $".const.missing Environment", %rdx movabsq $PyErr_SetString, %rax callq *%rax xorl %eax, %eax jmp .LBB1_16 .LBB1_17: movabsq $".const.Fatal error: missing _dynfunc.Closure", %rcx movabsq $puts, %rax callq *%rax ud2 .Lfunc_end1: .size cpython.__main__.mandel$27.float64.float64.int64, .Lfunc_end1-cpython.__main__.mandel$27.float64.float64.int64 .cfi_endproc .type .const.mandel,@object .section .rodata,"a",@progbits .const.mandel: .asciz "mandel" .size .const.mandel, 7 .type ".const.Fatal error: missing _dynfunc.Closure",@object .align 16 ".const.Fatal error: missing _dynfunc.Closure": .asciz "Fatal error: missing _dynfunc.Closure" .size ".const.Fatal error: missing _dynfunc.Closure", 38 .type ".const.missing Environment",@object .align 16 ".const.missing Environment": .asciz "missing Environment" .size ".const.missing Environment", 20 .section ".note.GNU-stack","",@progbits |
|||
179
Loky9
01.11.16
✎
23:07
|
"а основную реализацию на jvm языках"
Больше неначем... |
|||
180
Jija Grenkov
02.11.16
✎
00:31
|
(178) да такой пример и на 1с не сложно llvm байт код интерпретировать. Вот только я не слышал о больших приложениях на этой виртуальной машине.
(179) таковы реалии. |
|||
181
Tarzan_Pasha
02.11.16
✎
05:57
|
да не такой уж он популярный. Ну на питоне всякие парсеры пишут, насколько мне известно и некий хакерский софт.
|
|||
182
DDwe
02.11.16
✎
06:20
|
(181) Паша как всегда всякую хрень пишет.
|
|||
183
spock
02.11.16
✎
06:21
|
(169) python3 чтоли?
|
|||
184
Loky9
02.11.16
✎
08:04
|
(180) "Вот только я не слышал о больших приложениях на этой виртуальной машине."
Эпл использует llvm в графической подсистеме макоси. BSD собирается clang. https://wiki.freebsd.org/BuildingFreeBSDWithClang (183) pypy не выделяет память в такой ситуации. |
|||
185
kihor
02.11.16
✎
18:44
|
(0) Не знаю, не знаю насчет этого Питона. Вот перед мной встала задача написать скрипт, который бы парсил неструктурированный Ексель-файл и готовил CSV-файл для загрузки в базу. Решил, что Питон это модно и начал писать на нем. Несколько дней я промучался с кодировками. Все время были какие-то проблемы с преобразованием символов при записи в файл. Плюнул я на это дело и написал скрипт за пару часов на Перле. Признаю, что наверное я просто плохо знаю Питон, но в моем случае это было так. Не понимаю почему Питон так потеснил в популярности Перл. Наверное просто мода такая.
|
|||
186
kihor
02.11.16
✎
18:46
|
(185)+ Или еще пример. Надо было мне написать скрипт, который бы обращался по https ссылке и при помощи PKCS12 сертификата скачивал бы информацию. Долго читал доки и как я понял Питон не позволяет это делать. На Перл это делается "на ура".
|
|||
187
Loky9
02.11.16
✎
19:12
|
(185) Регулярно пиходится разбирать питоном xls и xlsx. Не имею никаких проблем. С dbf тоже.
(186) Может быть проблема решается openssl pkcs12 -in filename.p12 -nokeys -out certificate.pem openssl pkcs12 -in filename.p12 -nocerts -out privkey.pem ? |
|||
188
spleen
02.11.16
✎
19:16
|
1. Порог вхождения низкий.
2. Кроссплатформенный 3. На нем написан популярный web фреймворк Django. Хотя на этом фреймворке вся популярность в web заканчивается. 4. В научной среде много его используют. Есть библиотека NumPy. Часто это не совсем программисты, а ученные которым надо написать не сложные программы по анализу и тд. Тут как раз динамическая типизация большой плюс. 5. Хороший язык для обучения программированию. 6. Опять же, Raspberry pi 7. Много уже готовых написанных библиотек. 8. Хорошее сообщество. 9. Скриптовый язык. В системном администрировании тоже очень популярен. Потому как почти во всех дистрибутивах Linux предустановлен. |
|||
189
kihor
02.11.16
✎
19:18
|
(187) Да, решение с openssl я также нашел, но не хотелось заставлять клиентов кроме возни с PKCS12 сертификатом заставлять еще возиться с их преобразованием. Поэтому я решил распространять скрипт на Перле для своего сервиса.
|
|||
190
Loky9
02.11.16
✎
19:26
|
(189) from OpenSSL import crypto
p12 = crypto.load_pkcs12(file("push.p12", 'rb').read(), [password]) # PEM formatted private key print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey()) # PEM formatted certificate print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate()) |
|||
191
kihor
03.11.16
✎
01:13
|
(190) Спасибо. Я не находил раньше такого.
В целом, единственный случай когда у меня Питон "победил" Перл - это чтение списков Sharepoint. У варианта на Перл были какие-то глюки с авторизацией, а вариант на Питон заработал без проблем. |
|||
192
Balabass
03.11.16
✎
02:03
|
Разработка ПО.
Оставлю это здесь: https://www.youtube.com/watch?v=4UhESx6vK4c |
|||
193
EvilBeaver
09.11.16
✎
11:25
|
(163) Встроить DLR в 1script я думал, но как-то закопался в документации и исходниках IronPython. Не уверен, что овчинка стоит выделки.
|
|||
194
Gary417
09.11.16
✎
11:26
|
(188) <Опять же, Raspberry pi >
А что распберри? я на яве для неё пишу |
|||
195
EvilBeaver
09.11.16
✎
11:28
|
(140) вот выполнение вашего примера на 1script 1.0.15.
38 секунд. Откуда 3 минуты взялось? https://s21.postimg.org/lfrm47e1j/2016_11_09_11_26_26.png |
|||
196
Rovan
гуру
09.11.16
✎
12:46
|
(0) в Lotus Notes не лучше
метод AddItemValue создает поле в документе а чтобы получить знание поля надо его найти GetFirstItem() Все поля являются сразу массивами. Нет понятия "тип документа". Есть просто поле Form, по значению которого система понимает в какой форме его открывать. |
|||
197
Кирпич
29.11.16
✎
22:51
|
(195) и правда. может ком чота считал во время теста. ну вот на ноуте старом померил сейчас.
https://postimg.org/image/4i46fnx21/ моё 5 сек python 24 сек onescript минута |
|||
198
Garykom
гуру
29.11.16
✎
23:01
|
(197) А ты повторно то запусти... причем сразу же после 1-го теста ))
|
|||
199
Кирпич
29.11.16
✎
23:03
|
(198) да запускал раз пять
|
|||
200
Кирпич
29.11.16
✎
23:06
|
+(199) может другая версия была. сейчас то последнюю качнул
|
|||
201
Jump
30.11.16
✎
00:42
|
(197) Ну вроде умный человек, неужто не понимаешь что измерять время выполнения скрипта для сравнения языка не слишком умная затея?
|
|||
202
Кирпич
30.11.16
✎
07:37
|
(201)да я языки и не сравниваю. Просто попробовал и удивился, что питон так тупанул на ровном месте.
|
|||
203
NikVars
30.11.16
✎
09:56
|
(202) А чего ты время исполнения разного кода сравниваешь?!
|
|||
204
Кирпич
30.11.16
✎
10:03
|
(203) и чем он разный?
|
|||
205
NikVars
30.11.16
✎
10:04
|
(204) Может ты тут запутать всех решил. Глянь свою картинку и увидишь.
|
|||
206
Кирпич
30.11.16
✎
10:07
|
(205) не вижу
|
|||
207
Jokero
30.11.16
✎
10:13
|
(0) Он простой, поэтому и популярный. Я вообще Фитон в глаза никогда не видел, зашел в "проект Малмо", почитал их демки на фитоне, все понятно, даже без комментов.
|
|||
208
NikVars
30.11.16
✎
10:18
|
(206) В цикле что ты суммируешь? Смотри после "+100.".
Попробуй проверить на Д = Д + синус(Д)/(1+ Логарифм10(Д)) |
|||
209
Кирпич
30.11.16
✎
10:29
|
(208) сам пробуй. нафиг мне твои логорифмы
|
|||
210
craxx
30.11.16
✎
10:37
|
(0) интересно, а почему это в разделе "Убийцы 1С"? разве Питон - убийца 1С? по моему даже близко нет.
|
|||
211
NikVars
30.11.16
✎
10:39
|
(209) Обиделся?! Я ж копался в твоих мудростях... Ты уж напрягись!
|
|||
212
Кирпич
30.11.16
✎
10:44
|
(211) зачем мне напрягаться? Прибавдять 100.50 или 100.25 как то может повлиять на скорость что-ли?
|
|||
213
NikVars
30.11.16
✎
10:49
|
(212) Честно?! Не знаю! Но как варианты для проверки: работа от сети, а не от аккума, и что там с антивирусом - тоже отключить.
А раз свелось у нас - делай сам - ибо ты уже сравнил и тебе все ясно - то предлагаю закрыть тему. |
|||
214
Мандалай
30.11.16
✎
10:53
|
Заголовок из разряда "Вы перестали пить коньяк по утрам?"
|
|||
215
Кирпич
30.11.16
✎
10:57
|
(213) Ничо не понял чего там у вас свелось и где. Я просто в (140) по ошибке написал, что onescript выполнял такой код за 2 минуты. Потом признал, что ошибся. Код одинаковый. 100.50 или 100.25 значения не имеет.
|
|||
216
NikVars
30.11.16
✎
10:58
|
(215) Код разный, это твоя вторая ошибка.
|
|||
217
Кирпич
30.11.16
✎
11:00
|
(216) ну так напиши, где он разный
|
|||
218
Кирпич
30.11.16
✎
11:01
|
(216) и про первую ошибку тоже напиши
|
|||
219
NikVars
30.11.16
✎
11:04
|
(217) Уже написал в (208). Ты говоришь, что одинаковый.
Мне стебануться над тобой?! |
|||
220
Кирпич
30.11.16
✎
11:09
|
(219) лучше не стебайся. не умеешь.
|
|||
221
NikVars
30.11.16
✎
11:10
|
(220) Ок. Не буду.
|
|||
222
eklmn
гуру
30.11.16
✎
12:11
|
(202) тут не питон тупанул, а проверяльщик ))
range создал тебе объект из 9999999 элементов, а то что в цикле уже не важно Гвидо сказал бы тебе "use multiprocessing" |
|||
223
Кирпич
30.11.16
✎
12:15
|
(222) xrange не намного ускоряет. на секунду может
|
|||
224
Поросян
30.11.16
✎
12:44
|
Есть тут люди, хорошо разбирающиеся в Питоне?
Скажите как на нем заработать не выходя из дома. |
|||
225
Loky9
30.11.16
✎
15:18
|
(224) Кроме как "клепать сайты" вариантов выбора не очень много.
|
|||
226
Jija Grenkov
30.11.16
✎
16:41
|
(224) На питоне больше зарабатывает data scientist, но питон там вторичен. А сатики клепат ьна питоне последнее дело
|
|||
227
Tarzan_Pasha
30.11.16
✎
16:46
|
(224)мне кажется парсеры всякие. а не сайты.
|
|||
228
Loky9
30.11.16
✎
16:53
|
||||
229
Кирпич
30.11.16
✎
16:53
|
(224) разве что книжки про питон писать и продавать :)
Я питоном текстовые файлы генерю. Или какой нибудь микросервис на коленке. Рассылку почты там и сё такое. Или посчитать чего нибудь. Просто инструмент вспомогательный, короче. |
|||
230
Господин ПЖ
30.11.16
✎
16:53
|
под парсеры сейчас вроде go модно
|
|||
231
Кирпич
30.11.16
✎
17:00
|
(230) если людям отдавать, то Go конечно лучше. а если для себя, то и питон пойдет.
|
|||
232
Loky9
30.11.16
✎
17:02
|
На питоне лучше всего строчится всё срочное и/или одноразовое.
|
|||
233
Loky9
30.11.16
✎
17:03
|
... ажильное, можно сказать.
|
|||
234
Вафель
30.11.16
✎
17:05
|
а питон вс js? кто быстрее?
|
|||
235
Loky9
30.11.16
✎
17:05
|
(234) на питоне написать быстрее
|
|||
236
Gary417
30.11.16
✎
17:07
|
(235) букв меньше? :)
|
|||
237
Loky9
30.11.16
✎
17:07
|
Написал OpenCV счетчик машинок. Работает шустро. Из-за питона? Не думаю.
|
|||
238
Loky9
30.11.16
✎
17:07
|
(236) Конструкции более ёмкие.
|
|||
239
craxx
30.11.16
✎
17:11
|
(224) если ты осваиваешь язык программирования чтобы зарабатывать - ничего зарабатывать не получится.
|
|||
240
Кирпич
30.11.16
✎
17:21
|
(239) И только язык 1с все изучали исключительно для зарабатывания денег.
|
|||
241
Tarzan_Pasha
30.11.16
✎
17:21
|
(234)конечно Питон.
|
|||
242
Tarzan_Pasha
30.11.16
✎
17:22
|
(239)не согласен с вами дяденька. Я начал веб изучать ради заработка денег и начал на нем зарабатывать. уж очень 1с надоел.
|
|||
243
Кирпич
30.11.16
✎
17:27
|
(242) я вообще в программисты пошел потому что в офисе работать тепло, а на улице холодно. вовсе даже не из-за денег.
|
|||
244
craxx
30.11.16
✎
17:35
|
(240) я ради интереса аж в 2001 году
|
|||
245
Турист
01.12.16
✎
09:35
|
Хмм, паша уже сам с собой общается ))
|
|||
246
Shurjk
01.12.16
✎
09:48
|
Очень широкая сфера прикладного применения, много библиотек. Весьма прост, не дает того самого простора мысли что присущ системщикам, на питоне либо что то делается либо объявляется что это невозможно - вообщем то что надо для бизнесса.
|
|||
247
Loky9
01.12.16
✎
12:31
|
(246) Как будто описание js.
Чего там невозможного, что так сильно ограничивает простор мысли? |
|||
248
Кирпич
01.12.16
✎
12:38
|
(247) ну например указатели и с ними миллион способов вызвать загадочный глюк
|
|||
249
Loky9
01.12.16
✎
12:46
|
(248) С mutables можно наловить всего того же)
|
|||
250
losky_9
01.12.16
✎
13:14
|
В общем, до понимания работы zip(*[iter(seq)] * n) о простоте/сложности питона говорить рано.
|
|||
253
ELEA26
01.12.16
✎
14:05
|
(0) рассадник багов. Даже опечатку можно искать долго. Ошибок не видать на 1й, 2й и третий взгляд.
|
|||
254
bolder
01.12.16
✎
14:07
|
(41) Спасибо,посмеялся!
Какой API у Расходной накладной может быть у 1С, если процедуры даже извлечения и расчета налогов переименовываются и перемещаются по модулям произвольно. Если бы этого не было и способы 1 и 2 были бы не геморройными.Поэтому наследование в 1С - это из области фантастики. |
|||
255
eklmn
гуру
01.12.16
✎
14:09
|
(253) как все печально и с глазами и с руками...
|
|||
256
Jump
03.12.16
✎
02:51
|
(239) Это почему?
Вот взять тот же JS. Я его учил чтобы зарабатывать. Для того чтобы зарабатывать нужно было реализовать некоторый функционал, и это самый удобный для этого язык. Можно было нанять программиста - но это офигенно дорого в отсутствие четкого ТЗ и четкого понимания нужной функциональности. А так - выучил, написал прям в процессе обучения, и получаешь деньги. |
|||
257
rphosts
03.12.16
✎
06:04
|
(64) docker - это круто, а копипаст одних исходников уже банально
|
|||
258
Serginio1
03.12.16
✎
12:13
|
(252) Сейчас изучаю Angular 2. Так TypeScript намного приятнее JS. А учитывая мощь ангулара, то TS будет развиваться еще быстрее. Смысл в том, что TS поддерживает старые версии JS. А там смотришь и поддержка браузерами будет TS, учитывая, что WebAssembly буксует. Но и перекомпиляция TS в WA более удобная за счет типизации
|
|||
259
Мэс33
03.12.16
✎
13:14
|
||||
260
Jija Grenkov
04.12.16
✎
04:26
|
(259) Для девелопера высокого уровня 200к смешные деньги. Как по мне у них ценикс на начинающего синьера
|
|||
261
Garykom
гуру
04.12.16
✎
05:40
|
(259) BDSM: business, development, sales and marketing
Но реально читаешь что пишет "рекрутчик" и да вроде все понятно, но на каком же языке она мысленно думает? Уж явно не на русском ибо "Методологии различаются между продуктовыми командами" )) |
|||
262
Garykom
гуру
04.12.16
✎
05:51
|
(260) Для "девелопера высокого уровня" деньги довольно часто уже не на 1-м месте.
Важнее комфортная работа над интересными (бросающими вызов самолюбию) задачами/проектами. Комфортная это значит тебя не залюбливают совещаниями и тимбилдингами, минимум ненужной/пустой работы (только когда сам хочешь отвлечься) и четкое разделение обязанностей. Если я разработчик то плиз все баги/жалобы/фидбеки от пользователей хочу иметь уже в письменном структирированном/сводном виде. А если приходится общаться вместо поддержки то это конечно без проблем, но за отдельную плату и понимая что процесс разработки будет страдать. |
|||
263
Garykom
гуру
04.12.16
✎
05:58
|
(262) *структурированном
|
|||
264
Мэс33
04.12.16
✎
09:38
|
(260) нормальные деньги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |