Pull to refresh

Comments 28

UFO just landed and posted this here
Интересно, когда же случится пришествие Webassembly.
А это ещё зачем на десктопе-то? Там, как бы и так можно и C++ и Fortran использовать…
Чтобы замкнуть круг истории, конечно же. Да и еще жива память о NaCl, ActiveX и Java-апплетах в браузере…
UFO just landed and posted this here
UFO just landed and posted this here
Я может не разбираюсь… А на Qt можно обновлять приложение и править баги быстро и незаметно для пользователя?
UFO just landed and posted this here

Да, и вообще, slack — это фактически irc с web-клиентом. Для irc написан миллион клиентов, в том числе на C для консоли, которые занимают менее 1 Мб RAM.


Только slack умудрился несмотря на все тайпскрипты раздуть простой irc-клиент до нескольких гигабайт.


Воистину, js — это новый PHP.

UFO just landed and posted this here
Порог входа выше же. Надо С++ знать ну или хотя бы Python.

Проблема современных приложений в том, что сначала прототип пилят те, кто хоть как-то что-то могут рабочее запрототипировать (часто это даже не инженеры). Рэйзят деньги у инвестора или ангела (обычно мало), нанимают пару чуть более толковых ребят и ставят перед фактом, что денег мало, сроки горят, надо сделать чтобы как есть, но чуть лучше. Ну а дальше кодовая база начинает разрастаться так, что легаси вяжет по рукам и ногам, а переписать все боятся, потому что в компании появились «умные» руководители, которые будут рассказывать про риски, сроки и пр. И кульминация ситуации в том, что за счет непомерно взрывного роста клиентской базы (как у того же Слака) компания временно становится монополистом, все начинают думать про опционы, акции, раунды и на реальную пользу продукта все резко забивают.

Корень бед мне видится в пороге вхождения. Научиться грамотной инженерии ПО сложно, а людей нужно много, и отрасль готова принять любое количество людей любой квалификации.

Помнится лет 10 назад я хейтил Java. Медленная дескать тормозная, память кушает. Думал, что хуже быть не может. Как же я ошибался…

А самое главное, что пока хороший продукт будет пилиться, он уже выйдет из моды. Сейчас время быстрых хайпов. «Оп-па, смотрите, у нас продукт на NoSQL!», «А у нас ИИ», «А у нас Blockchain!», «А у нас Node.js».


Эти хайпы сменяются за период, в который вряд ли можно разработать качественный продукт. И многие подобные продукты не несут никакой реальной пользы, они взлетают на волне моды, после чего о них совершенно забывают, т.к. они бесполезные и плохо реализованы.


Например, уверен, что через 10 лет никакого Твиттера уже не будет, т.к. это абсолютно бессмыссленная соц. сеть, и они сами уже много лет не могут придумать как ее позиционировать. Слака скорее всего тоже не будет, его заменит, что-то похожее, но более модное.


И эта смена хайп-технологий будет только ускоряться. Времени на вылизывание, исправление ошибок, проектирование архитектуры, не будет. Надо быстрее выкатить новый модный снэпчатик, и попытаться срубить денег и славы в короткий момент популярности.

Дело в цене скорее всего. С точки зрения владельцев такой конторы можно пойти по пути Qt и искать программёров за $150к или выбрать JS и платить раза в 1.5 меньше. К тому же со временем процессоров в телефонах будет всё больше, батарейку есть они будут всё меньше, и весь этот JS будет работать в фоновом потоке (подозреваю, что оно уже так и работает).

Прогресс в развитии процессоров уже несколько лет как остановился. К тому же, Javascript однопоточный.

100 лет будете писать на Qt такой же rich гуй, хотя скорее всего плюните и полгуя будет в QtWebView на том же хтмл+жс.

UFO just landed and posted this here
UFO just landed and posted this here

Типизированный язык это новый вид проверки кода. Каждый раз когда вводится новая проверка кода находятся ошибки, это неизбежно. Абсолютно не зависимо от того как хорошо были поставлены код ревью или написаны тесты, новая проверка — новые баги.

UFO just landed and posted this here

Вряд ли там линтера не было. Сам как то переводил большой проект с JS на TS и тоже куча всего интересного обнаружилось.

UFO just landed and posted this here
Линтеры то есть, вы имеете ввиду что ими не пользуется команда разрабов?
Всё вам не нравится, всё вы критикуете. А между тем — каждый использует Slack. Как говорится критикуешь — предлагай. Не нравится стартап — делай свой более достойный аналог. Нашёл выход из ситуации — пиши на хабре. Да electron жрет много памяти, ещё сам slack подъедает, однако не думаю что программисту проблема затариться памятью. Я сервисом доволен. У меня 5 тимов онлайн, 16гб ОЗУ ни разу ещё не забил со всеми chrome+jetbrains+amarok+deluge+etc
Я с вами полностью согласен, но никогда вы не продадите все это добро нативщику, покуда там есть инструменты, позволяющие минимизировать чрезмерное и, увы, в большинстве случае неоправданное потребление ресурсов. Да, сокращаются издержки на сотрудников и поддержку, но «попробуй объясни докажи».
UFO just landed and posted this here
Используем на проекте TypeScript. В целом неплохо, но часто сталкиваемся с проблемой, что на нужную библиотеку нет тайпингов, либо они не полные/устаревшие. С Ramda из-за этого неудобно работать. Компилятор не может свести типы (или тайпинги корявые?). Приходится как-то подстраиваться.
Это не проблема TS точно, никто не заставляет использовать тайпинги вообще, any никуда не делся. А по хорошему, pull request разработчикам, чтобы добавили исправленный d.ts в пакет или в types
Раз вы уже решили развиваться дальше, то просто натыкать типов не достаточно для этого.

Например:
export function spawnDetached(exe: string, params: Array<string>, opts: any = null): Observable<string> {

и дальше
opts || {}

Почему не сделать сразу так?
export function spawnDetached(exe: string, params: Array<string>, opts: Object = {}): Observable<string> {
...
 assign({}, opts, { detached: true })

Вместо этого
let stderrCompleted: Subject<boolean> | Observable<boolean> | null = null;

достаточно
let stderrCompleted: Observable<boolean>;

Subject наследуется от Observable. И в чем смысл присваивать null, если дальше по коду это не проверяется, а сразу идет присвоение?

Также я считаю лишним дублировать тип переменных в jsdoc.

Поправьте, если я ошибся.

ЗЫ: Не ради стеба, мне действительно интересно.
Sign up to leave a comment.

Articles