
Aleksey
22.08.2016
05:34:35
Почему ^(\w+)$ Не действует на слово Русский, а на слово Russian действует.

Dan
22.08.2016
05:35:52

Aleksey
22.08.2016
05:36:14

Dan
22.08.2016
05:41:50
^([\p{L}\p{N}]+)$ такой будет работать
в \w не входят кирилица - грубо говоря

Google

Zart
22.08.2016
05:46:39
ответ неполный
в питоне будет работать на юникодных строках. для двойки надо будет добавить флаг re.UNICODE, в тройке опционально
в теории должно работать с выставленной локалью и флагом re.LOCALE, но у меня оно перестает матчить совсем в обоих версиях при этом... хз что ему не так
а, црт видать похую

Tux
22.08.2016
06:58:28
всем привет
sublime text может вызывать интерпритатор?

⬗VLAD⌶K⬖
22.08.2016
06:59:13
может

Bulat
22.08.2016
06:59:47
Расскажите пожалуйста про интерпретируемые языки и компилируемые

Tux
22.08.2016
06:59:55
подскажи как

Bulat
22.08.2016
07:00:07
Вот как я понимаю си это компилируемый
Дельфи

Tux
22.08.2016
07:00:11

⬗VLAD⌶K⬖
22.08.2016
07:00:19

Google

Bulat
22.08.2016
07:00:41
А интерпретируемые этот как?

⬗VLAD⌶K⬖
22.08.2016
07:01:20
исходник проходит стадию интепретирования каждый раз

Tux
22.08.2016
07:01:38
подскажите как настроить sublime text

Bulat
22.08.2016
07:03:23


Pavel
22.08.2016
07:03:56
Читаем классиков.
Zart, [09.08.16 17:55]
процессор исполняет машинный код - набор байтиков в памяти, которые он считывает по очереди и выполняет базовые инструкции - операции с регистрами, ветвления, вот это всё
Zart, [09.08.16 17:56]
я еще застал эпоху когда приходилось вбивать циферками вот это всё 8)
Zart, [09.08.16 17:57]
чтобы понимать происходящее был придуман ассемблер - это символьный язык, в котором опкодам процессора назначены текстовые мнемоники, но тем не менее этот язык практически остается один-в-один соответствующим машинным кодам
Zart, [09.08.16 17:59]
но писать на таком низком уровне достаточно утомительно, поэтому были разработаны более высокоуровневые языки - фортран, алгол, ада
Zart, [09.08.16 17:59]
чтобы перевести более человекопонятные тексты в машинный код было придумано несколько методов
базовые - компиляция и интерпретация
Zart, [09.08.16 18:00]
при интерпретации, код программы считывается (обычно построчно) и тут же каждая команда выполняется на ходу. это интерпретация. весьма компактный метод обработки, позволяет реализовать весьма гибко всякую фигню, но не отличается хорошим быстродействием
Zart, [09.08.16 18:01]
компиляция же занималась трансляцией высокоуровневых команд в наборы машиных кодов напрямую, что давало очень высокую скорость исполнения
Zart, [09.08.16 18:02]
должно быть очевидно что в случае с интерпретацией достаточно портировать только интерпретатор на другой проц, но сами программы оставить как есть
в случае с компиляцией, весь собранный код придётся компилировать заново под процессор с другой системой команд
Zart, [09.08.16 18:04]
машинный код обычно состоит из ветвлений, которые ведут к другим участкам кода. компиляторы разрабатывались на машинах с достаточно скромными ресурсами, поэтому компиляцию разбивали на кучу мелких подзадач, когда компилировался каждый файлик в полуфабрикат - объектный код
Zart, [09.08.16 18:04]
в нем по сути были просто незаполненные поля для адресов переходов. и эту задачку решал линкер - он брал на входе набор этих полуфабрикатов и размещал их в памяти, заполняя уже финальными адресами пробелы
Zart, [09.08.16 18:05]
позднее появился гибридный вариант, p-code, он же байткод, когда вместо компиляции в нативные машинные коды, компиляция выполнялась в более абстрактную модель
Zart, [09.08.16 18:06]
так работали вижел бейсик, перл, жаба
Zart, [09.08.16 18:09]
p-code/байткод - этот гибридный метод позволяет получать преимущества портабельности интерпретируемых языков - потому что код генерируется под универсальную абстракцию
и преимущества компиляции - когда байткод можно либо очень быстро интерпретировать (JVM, питон и иже с ним), либо собрать из него нативный бинарник на лету (JIT, CLR), который будет работать на практически максимальной скорости
Zart, [09.08.16 18:09]
возвращаясь к pyc файлам
Zart, [09.08.16 18:10]
их состав предельно прост и не менялся с момента их появления. первые 4 байта - волшебный маркер версии
4 байта - отметка времени (os.path.gmtime), а дальше идёт сериализованный встроенным маршалером код объект
Zart, [09.08.16 18:12]
что делает питон когда импортирует модуль с диска
он сперва ищет .pyc (либо в __pycache__ начиная с третьего питона), либо рядом с файлом (второй, и в третьем для совместимости)
если есть и метка времени с нем равна оригинальному - загружает его и пропускает всю стадию парсинга и обхода АСТ и генерации байткода
Zart, [09.08.16 18:14]
[In reply to VLADIK]
обычно байткоды дизайнят независимо от реальной архитектуры, что не мешает производителям железа реализовать потом эту абстракцию в реальном силиконе
выходили java-процессоры, которые умеют напрямую выполнять байткод JVM. в ARM архитектуру в частности завезли расширения, которые позволяют такое делать на армах


Bulat
22.08.2016
07:04:32
Спасибо

Tux
22.08.2016
07:18:45
так и не могу разобраться как запустить программу через sublimetext

Denis
22.08.2016
07:20:14

Tux
22.08.2016
07:22:23
хочу на какую нить горячую клавишу запускать скрипт

Bulat
22.08.2016
07:24:18
Pycharm?

Denis
22.08.2016
07:25:31
Ф5 или что-то вроде этого
Я запускал

Denis
22.08.2016
07:26:40
В консоли один раз написал python3 \.....(путь до файла) сам файл.py и запускаешь , потом возвращаешь стрелочкой вверх и опять запускаешь и так до бесконечности )

Zart
22.08.2016
07:31:28

Denis
22.08.2016
07:32:25

Zart
22.08.2016
07:32:35
но я правда видел пару интерпретаторов С
вы путаете свойство языка и его реализации

Denis
22.08.2016
07:33:36
С (рус. Си) — компилируемый статически типизированный язык программированияобщего назначения, разработанный в 1969—1973 годах сотрудником Bell LabsДеннисом Ритчи как развитие языка Би.

Google

Zart
22.08.2016
07:33:43
на работе вообще довелось столкнуться с интерпретатором дельфи
https://github.com/zsaleeba/picoc

Alexander
22.08.2016
07:34:48

Denis
22.08.2016
07:35:52
Так можно про любой язык сказать

Zart
22.08.2016
07:35:59
нужно

Denis
22.08.2016
07:36:15
Но большая часть используемых на практике реализаций си - компиляторы

Zart
22.08.2016
07:39:17
а сможешь ты это сказать про бейсик?

Alexander
22.08.2016
07:39:34

Zart
22.08.2016
07:40:37
https://en.wikipedia.org/wiki/Compiled_language хых
"The term is somewhat vague. In principle, any language can be implemented with a compiler or with an interpreter."
https://en.wikipedia.org/wiki/Interpreted_language
бейсик числится в обоих статьях, что смешно

Denis
22.08.2016
07:46:49

Tux
22.08.2016
07:48:32

Zart
22.08.2016
07:52:37
не ко мне вопрос
хорошая вещь кикстарт/пресид/аннатенд.тхт...

Pavel
22.08.2016
08:13:42
ctrl-shift-b, запуск билд-процесса. в свойствах указать, что билд питон-скриптов - python.

Petro
22.08.2016
08:50:36
Если интересна теория программирования, то советую обратить внимание на Forth. Уникальный без(мульти)парадигменный стековый язык с польской обратной записью и простейшим синтаксисом.
Ещё из уникальных особенностей - возможность переключения режимов компиляции/интерпретации динамически прямо во время выполенения программы. Или даже в режиме интерактивной консоли.
Форт-процессоры, которые реализовывали свойства языка на аппаратном уровне тоже выпускались.
А ещё на его основе потом появилась куча других технологий. Например, PostScript и OpenFirmware.

Zart
22.08.2016
08:52:47
я внятных док по нему не видел

Petro
22.08.2016
08:53:53
А это потому что никто не ориентируется на устаревший стандарт и каждый пилит свою реализацию.
Это его главная проблема.

Google

Petro
22.08.2016
08:55:08
Если кто помнит такой шикарный виндовый планировщик, как nnCron, то он написан на Forth. И скрипты планировщика можно писать на нём же.

Zart
22.08.2016
08:55:16
э.. единственный живой форт код что я видел за последние дцать лет - это бутлоадер фрибсд
https://www.freebsd.org/cgi/man.cgi?query=menu.4th&apropos=0&sektion=0&manpath=FreeBSD+9-current&arch=default&format=html етц

Petro
22.08.2016
08:59:04
Что поделать. Часто хорошие языки забываются, а плохие становятся популярными и порождают миллионы говнокодеров (это я не про Python, но понять про какой тоже несложно)

Denis
22.08.2016
08:59:32
С++

Zart
22.08.2016
09:00:38
и тут вспоминаются вакансии "разработчик на Swift с опытом 2 и более лет", сразу после конференции эпл, где объявили о выходе языка...

Bulat
22.08.2016
09:21:20
спасибо ребята за объяснение) еще пару тем подкину :)

Roman
22.08.2016
09:31:54
народ, как в строке удалить все, что нельзя использовать в названии файла?

Dan
22.08.2016
09:32:20
регуляркой

Admin
ERROR: S client not available

Roman
22.08.2016
09:32:38
пробовал
text.encode('ascii', 'ignore').decode()
оставляет слеши

Denis
22.08.2016
09:33:40
Убери слеши сам

Roman
22.08.2016
09:35:48
там имя файла приходит уже, а бд городить не охота.
replace заюзаю

Zart
22.08.2016
09:44:38
перегнать в мд5 хэш, лол

Roman
22.08.2016
09:46:12

Zart
22.08.2016
09:46:28
удачи создать файл nul.txt на винде, например
а позикс вообще всеядный, сожрёт любое бинарное говно, кроме \0 и / в имени

Bulat
22.08.2016
09:48:08
расскажите на тему синхронности, асинхронности, как сделать приложение в 10 потоков. Разница между 2 и 3 питоном.

Google

Zart
22.08.2016
09:48:17
echo hello > nul.txt

Bulat
22.08.2016
09:48:56
:)
для меня темный лес)

Denis
22.08.2016
09:49:31
Потоки можно создать через threading, асинхронность через asyncio

Aleksey
22.08.2016
09:49:53

Zart
22.08.2016
09:49:55
о, копетан очевидность снова спас всю видимую вселенную

Pavel
22.08.2016
09:52:23

Zart
22.08.2016
09:52:36
человек не это спрашивает...
— как ловить рыбу на удочку?
— вот тебе мануал по рыболовецкому тральщику

Denis
22.08.2016
09:54:49
man удочка

Petro
22.08.2016
09:55:39
А в чём проблема с GIL?
Если вам уберпроизводительность, чтобы всё многопоточно и каждый тик проца на счету, то это не к Python по определению.
Если параллелить ввод-вывод, то тут всё хорошо.

Pavel
22.08.2016
09:55:41
человек не это спрашивает...
насколько я понял по предыдущим вопросам, человеку стоит с азов начать, а потом кидаться в асинк.
А в той лекции первая половина отлично рассказывает про потоки вообще.
Про гил можно не слушать (пока)

⬗VLAD⌶K⬖
22.08.2016
10:07:56
есть возможность отключить GIL? или это не безопасно?

Denis
22.08.2016
10:08:18

Zart
22.08.2016
10:09:10
не сломается, а превратиться в тыкв^Wруби

⬗VLAD⌶K⬖
22.08.2016
10:10:00
Питон сломается
и для чего его внедрили? чтоб во всем очередность статичная была?

Sergey
22.08.2016
10:10:01
В JRuby?

Zart
22.08.2016
10:10:24

Denis
22.08.2016
10:10:36

Zart
22.08.2016
10:10:48
непитоновоские тоже
Эта группа больше не существует