@reflechant

reflechant

reflechant

Дата рождения: 05.08.1990

FPGA design engineer.

пишу на SystemVerilog, C, Go, Python

изучаю новые ЯП как хобби

4 я читаю 10 меня читают
98 постов
177 комментариев
reflechant
Pb Pb

Фпесду эти ваши гейфоны, сосунги и прочие сяоми. Вот идеальный девайс http://android.mobile-review.com/articles/53767/

#mbqrg 13
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

А почему в mirror.yandex.ru/ubuntu нет 16.10, он же Yakkety Yak? Что теперь использовать?

#mxxiv
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Windows 10 64-bit.
Запускаю pip install pipenv:
Получаю исключение красненьким в консоли. Ну вы догадались какое:
Installing collected packages: pipenv Running setup.py install for pipenv ... error Exception: Traceback (most recent call last): File "c:\users\рома\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str return s.decode(sys.__stdout__.encoding) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 79: invalid continuation byte

Оказалось, что проблема в кодировках. Консоль Windows 10 по умолчанию работает в CP866, pip это всё не переваривает и т.д.
На гитхабе это известно уже больше года, говорят пофиксили в pip10.
https://github.com/pypa/pip/issues/4251
https://github.com/pypa/pip/issues/4110
Пробую обновиться: pip9.0.1 говорит, что он последнее слово техники.
Пробую так: python -m pip install -U https://github.com/pypa/pip/archive/master.zip
Вываливается с теми же ошибками {{trollface}}
Наконец я вспоминаю про святой easy_install.
easy_install https://github.com/pypa/pip/archive/master.zip устанавливает pip10
pip install pipenv
УСПЕХ !
запускаю pipenv...
C:\Users\Рома>pipenv File "C:\Users\Рома\AppData\Local\Programs\Python\Python36\Scripts\pipenv-script.py", line 1 SyntaxError: Non-UTF-8 code starting with '\xf0' in file C:\Users\Рома\AppData\Local\Programs\Python\Python36\Scripts\pipenv-script.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
{{trollface}}

#ojhpx 5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Вам не кажется, что огромная популярность таких вещей как Docker, virtualenv, а также поведение по умолчанию/рекомендуемый сценарий использования всех этих npm, cabal, lein (т.е. создавать песочницу с закачкой всего с нуля для самого маленького проекта) показывает, что идея кроссплатформенности с треском провалилась? И проблема не в Windows vs. Linux vs. MacOS, а в версиях языков, сред исполнения и библиотек.
Ни один менеджер пакетов ЯП не понимает разницы между мажорной и минорной версией. Многие разработчики библиотек тоже.
Наверное, ближе всех к решению подошли в http://labix.org/gopkg.in

#ojhgz 4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Представьте себе, ваш язык программирования не только не умеет в типы, он не понимает разницы между отображением значения и вызовом функции, например, если внутри переменной (а он знает только строки) будет "абвгд", то появится эта надпись, а если внутри будет "отправить_на_сервер(получить_приватные_данные())", то выполнится это действие. Т.е. print, который в то же время и eval и вы не можете знать когда он print, а когда eval, всё зависит от того, что в данных.
А ещё у него только одна область видимости - глобальная.

В общем, я кратко описал суть web как платформы.

#ojcdl
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Отвечая на #oowksb:
Go прочно прописался среди моих любимых языков. Я теперь частенько использую его если нужно какую-нибудь консольную хрень написать (в данном случае она часто оказывается ещё и кроссплатформенной). Отход от принципов DRY из-за строгой типизации отсутствия метапрограммирования в любом виде действительно напрягает. Интерфейсы это круто, но иногда весь интерфейс заключается в наличии поля id: int, а писать getter методы для каждого типа по такому поводу попахивает джавой. Притом плохой джавой.
Потихоньку пробую Clojure, Haskell, в планах читать Rustbook. Возможно, со мной не всё в порядке. Но я, кажется, понимаю в чём смысл этого языкового туризма - ты начинаешь думать по-другому, начинаешь лучше писать на основных языках. В общем, "A change in perspective is worth 80 IQ points"

#ojaek 19
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Достала путаница с переводом на русский (а тем более с пониманием смысла) слов statement и expression
Недавно смотрел презентацию Rich Hickey и он предложил замечательную трактовку, которая на мой взгляд, имеет глубокий смысл.
Statement происходит от слова state, т.е. состояние. Значит, statement'ом называется всё, что имеет побочный эффект: объявление переменных, присваивание (даже в такой завуалированной форме как операция инкремента ++).
Expression - это то, что можно вычислить, но то, что всегда будет давать один и тот же результат.
Statement-expression (хрень из стандарта C++), таким образом превращается либо в statement, либо в expression. Если x++;, то это statement, если 42 * 5;, то expression.
Также это значит, что expression может содержать только чистые функции (вывод на экран, например, не подходит)

Теперь к переводу. Expression однозначно переводится как выражение, потому что это слово используется много где, от литературы до математики и всегда с таким переводом. А вот что делать со statement, лично мне пока не совсем ясно. Инструкция? Команда? Высказывание?

В общем, предлагайте ваши варианты.

#ojcwt 18
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Поздравьте старого Javascript-хейтера: недавно я сделал простое Vue.js приложение. И мне понравилось.

#ceosh 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

1) Any language can be as fast as C and 2) When they are as fast as C, they also look like C regardless what it was to begin with.
(source: https://news.ycombinator.com/item?id=15686396)

#oknfk
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Одна из вещей, которые меня больше всего бесят в Linux - это то до каких же мерзких костылей иногда всё доходит. Подменять на лету несколько раз конфигурационные файлы - как вам такое? Например, когда дерутся resolvconf, dnsmasq и NetworkManager за настройки DNS-серверов. Либо делайте сразу универсальный способ, либо, блять, не смейте трогать мои текстовички с настройками.

#ojapg 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Вебу почти четверть века. В HTML-формах до сих пор невозможно создать несколько кнопок с разными методами HTTP. До сих пор невозможно создать форму с методом PUT или DELETE. До сих пор невозможно нормально стилизовать элемент <select> в тех же формах. Неудивительно, что все давно используют AJAX и кастомные элементы.

#okpoj 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

По сравнению с Golang C - статически типизированный анархизм.

#oojbup 3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Интересно. Если попробовать зайти на rutracker, то провайдер показывает пафосную заглушку "ресурс заблокирован по решению органом государственной власти"

Если зайти на lurkmore, то вылезает такое:

#oojxjl
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Раньше я ругался на Atom, а сейчас с удовольствием им пользуюсь. К нему есть куча прекрасных плагинов. Поставил go-plus и превратил его в IDE для Golang.
Сейчас хочу ещё какой-нибудь плагин для С прикрутить.

#oojxfp 3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Статья на хабре про развитие C++ (точнее отчёт о встрече в Оулу, где утвердили черновик стандарта C++17).

Самые заплюсованные комментарии:

"Хочется думать, что рано или поздно у них руки дойдут и до модулей. Серьезно, я готов недополучить всех этих плюшек, да даже ranges и concepts, лишь бы сделали модули. "

"Безобразное усложнение С++ волей-неволей заставляет смотреть в сторону Rust. "

"- К тому же, в упор непонятно, почему это length() — функция, а не свойство строки.
- Потому что в C++ нет свойств? Или я что-то пропустил?"

"Непонятно чем он[комитет] вообще занят. Импортов нет, концептов нет, filesystem нет. Даже pragma once(или ее аналог) не могут в язык внести. "

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

Впитывая в себя куски из boost'а стандарт становится такой же беспорядочной помойкой — безумно распухшей коллекцией «прикольных фишечек».

  • string_view это как раз очень хорошо — но чертовски поздно. Как и array_view. Надеюсь, к 20-му году прикрутят. А должны были вкрутить ещё в самом начале, в крайнем случае в 11-й версии. Но не судьба."

"Потому что стандарт распух до неприличия — а многих действительно важных вещей нет до сих пор. А многих, таких как простого менеджера зависимостей и сборки, не будет никогда.
Поэтому С++ со временем выдавят. На это уйдёт куча времени, но его место займут другие языки. Что забавно, С, думаю, останется сильно дольше — т.к. он гораздо проще."

"Пора рефакторить язык "

"Есть мнение — на собеседованиях вопросов прибавится. Код останется прежним. "

"Шел 2016 год, а я так и не мог написать в программе std::optional; (ага, я в курсе что через пару лет заработает).
Зато постоянно добавляют кучу адовой эзотерики. Если раньше я мог сказать, что знаю С++, то теперь уже точно нет.

Интересно, помогает ли все это это языку? Если 10 лет назад на нем писали почти всё, то теперь он скатывается в нишевые направления — 3D движки, OpenCV, микроконтроллеры и немного десктопного Qt (сужу по заказам на UpWork).
Лично для меня, как стандартный C++/STL был непригодным к использованию 10 лет назад, так он и остается до сих пор (Строки, работа с файлами, сеть, потоки и т.д.). Даже долбаное кросплатформенное приложение с нативным GUI интерфейсом невозможно создать (когда там графический интерфейс появился, в начале 90х?). Утешает только Qt. "

#ootiva 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

На хабре в комментариях рассуждают какая мощная машина нужна для разработки, чтобы PyCharm, Eclipse и прочее говно, написанное на джаве не висло.
А потом программист «случайно» не замечает, что его творение не виснет только на Core i7 Extreme.
Я бы вообще запретил вести разработку на чём-либо мощнее самой распространённой конфигурации железа на данный момент минус 5 лет. Потому что продуктивность работы пользователя программы ещё более важна, чем продуктивность программиста.

Возможно, тогда современный веб был бы действительно удобным, а не специальной олимпиадой «кто быстрее сожрёт батарею ноута говённым джаваскриптом с 3 фреймворками и HD видео на фоне»
Возможно, тогда бы С++ неприлично долго компилирующиеся и неадекватно переусложнённые языки начали бы терять свою популярность.
Возможно, тогда мы бы не возвращались стремительно во времена DOS, когда люди работали одновременно только с одной программой (тогда — потому что не было многозадачности, сейчас — потому что тормозит — некоторые программисты же верят в закон Мура и в то, что у пользователей денег куры не клюют на покупку мощного железа)

#oowbjb 36
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Понадобилось мне работать с RS232. Устанавливаю PySerial через wheel. А он вываливает Traceback уже при установке (которая вроде как прошла успешно). А у меня уже паранойя — я не хочу в продакшене использовать пакет, который даже установиться нормально не может.
И таких пакетов нв PyPi, которые traceback при установке показывают, дофига. Куда катится этот мир...

#oowkuo 3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Если вдруг когда-нибудь вам захочется сделать html страничку, которая должна будет распечатываться как документ, притом многостраничный, притом с таблицами... не делайте этого. Лучше Markdown. Или LaTeX. Или ODT. Или PDF. Даже на бумажке от руки написать лучше.

#ootwqc 7
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Кто-нибудь играл в No Man's Sky? Впечатления?

#igrgj 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
reflechant

Был на Савёловском рынке и увидел в магазине combook.ru книжку Саммерфилда по Go. Не удержался и купил.

#icniv
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.