Для российского читателя статья выглядит как издевательство.
Отнюдь.
Во первых: обратите внимание, что ребята из статьи — не самые низкоквалифицированные специалисты. А напротив.
Высококвалифицированный ИТ-шник в РФ с окладом в 200-300 тыс. рублей в месяц — никакая не фантастика даже для нашего Новосибирска. Понятно, что не у каждого так, но в целом сумма не удивляет.
В то время как продавцы магазинов где нибудь в соседнем близком Бердске умудряются прожить и на 20 000 рублей.
1 месячный оклад высококвалифицированного спеца = 10-15 — месяцам работы низкоквалифицированного спеца. В России.
Во вторых, обратите внимание — ребята из статьи урезали доходы, переехали в места подешевле, продали дорогое жилье, стали жить проще.
ИТ-шник из Нска увольняется, переезжает в Бердск или деревню.
Новосибирская квартира продается, покупается домик в деревне или квартира попроще в Бердске…
Это никак не отменяет того факта, что из каких-то языков этот волапюк составлять проще, чем из других.
По сравнению с чем проще?
С тем, к чему вы уже привыкли?
А у вас была практика с программированием на русском языке, ну хотя бы с полгода плотно каждый рабочий день, чтобы вы к нему привыкли и уже смогли бы оценивать объективно?
У меня — была такая практика.
Меня, помнится, колбасило, когда довелось вникать в 1С: Предприятие. Все пытался англоязычных идентификаторы писать. Более того, 1С: Предприятие позволяет легко в коде переходить на русские или на английские операторы без каких-либо переключений в системе. То есть можно писать сплошной англоязычный программистский волапюк.
Так же поступали все программисты, которых я наблюдал в момент их знакомства с 1С.
Потом подавляющее большинство переходят на русский — так гораздо удобнее. Для конкретной этой ситуации с 1С.
Дело в том, что 1С предполагает глубокое погружение в прежде всего в предметную область. А термин «вычет на ребенка с налога на доходы физических лиц» куда как проще написать на русском.
В 1С мне удобно пользоваться русским.
Для написания сайтов мне удобно пользоваться английским.
С учетом имеющегося опыта с разных сторон — вообще не вижу никаких проблем в том, на каком языке писать идентификаторы.
Нужно использовать тот язык, что ближе к предметной области.
Пока работаешь в одного — это не важно. Вот при работе в коллективе все эти неоднозначности твоего перевода уже плохо.
Так правильнее термины которые используешь ты и твой пользователь/твой заказчик. А то мало ли чего ты там напереведешь.
Вот именно!
Все дело в соглашениях программистов!
А не в правилах человеческого языка.
Язык программистов, который они используют для идентификаторов — это волапюк, составленный из слов какого-то языка — не более того.
Сверхуспешный опыт внутри одной страны. Я сразу сказал: если вас это устраивает, если вам не интересен мировой опыт — окей, так можно.
Если вы собираетесь работать/работаете на международном рынке — то использование для идентификаторов стандарта де-факто для общения — английского языка — логично.
А в остальном — у вас подменена понятий.
Или вы утверждаете, что программы успешны только благодаря неким волшебным свойствам языка, на котором пишутся идентификаторы? Что английский это какое-то чудо повышающее производительность труда программиста?
Вы просто не сталкивались с кодом немецких, итальянских, испанских или французских программистов, который написан без учета общемировой публикации исходников.
Уверяю вас — использование родного языка для них вполне себе нормальная ситуация. Тем более что они используют латиницу, которую поддерживают для использования в идентификаторах все языки программирования
в программировании допускают довольно много вольностей, понятные только в контексте конкретного кода, с его конкретными соглашениями о стиле. и ничуть не связанная с правилами языка человеческого (хоть английского, хоть русского).
например, приложите правила венгерской нотации к вашему примеру.
в английском кроме порядка слов есть много еще чего, что помогает понимать смысл сказанного, но что зачастую упускают в именовании идентификаторов (артикли, be/do, размещение предлога у фразовых глаголов), и в результате с точки зрения английского языка код превращается в бред…
например, в вашем примере — чем является первое слово? сказуемым? подлежащим? а в названии функции? а в названии переменной? определенные соглашения (скажем что в названиях функции первое слово — сказуемое) и есть те соглашения, что помогают понять смысл.
смысл понять помогают соглашения программистов о их волапюке, а вовсе не исходные правила английского языка (которые зачастую нарушаются в именовании идентификаторов)
У меня другой вопрос, почему движок Javascript в браузере не может выполнять те же самые оптимизации с исходным кодом?
Сделайте. Ведь и Chromium и Firefox — открытые проекты.
Вангую:
Требуется довольно длительная подготовки скачиваемого с сайтов JS (компиляции/оптимизации) прежде чем получим готовый результат и сможем отобразить страницу. Время отображения страницы все же критично.
Когда-нибудь и до этого руки дойдут у разработчиков.
По приведенной мною ссылке хорошо разжевано, но если вам влом прочитать всего 3 абзаца или у вас плохой английский, то давайте я еще раз пожую специально для вас:
В абзаце первом сказано, выделю главную мысль:
not normally be manually added
Это английское слово означает «вручную». То есть сверх того, что автоматически способен оптимизировать V8, так что V8 тут вообще постольку-поскольку.
Абзац второй из текста по приведенной мною ссылке:
Of course, you can run automated tools on JavaScript source to generate better JavaScript as well, this is what the Closure compiler does
В этом абзаце говорится про еще один вариант с хорошей оптимизацией (опять таки быстрее обычного «ручного» JavaScript, и речь даже о другом языке и о другой цепочке, которую нужно пройти исходному коду чтобы быть оптимизированным. То есть Dart тут ничего нового не открыл. Возможность получать более оптимизированный JS-код существует и помимо Dart.
Ну и последний третий абзац:
Technically, you can manually achieve the same speed with handwritten JavaScript if you know all the tricks.
Здесь написано, что:
«вы можете и достичь той же (высокой) скорости, написав соответствующий код на JavaScript вручную, если вы знаете (и будете) использовать все трюки (и оптимизации)» — в скобках приведено мое пояснение.
Повторяю еще раз, но уже разжевываю:
Я писал:
Простейший код — не может.
Жую: небольшой объем кода или легко оптимизируется человеком или вы не заметите разницу в производительности по причине небольшого объема кода и небольшого же количества неоптимизированных мест в нем.
Я писал:
А сложный — вполне, если транслятор еще и оптимизатором является.
Жую: человеку не по силам (или попросту лениво) оптимизировать большие объемы кода. Поэтому сложный код как правило не сильно-то и оптимизируется. Более того, напротив, в сложных проектах зачастую применяются фреймворки и библиотеки, которые только дальше абстрагируют нас (что затрудняет ручную оптимизацию) и содержат дополнительные исполняемые инструкции. Уже много лет как дешевле купить более мощный компьютер, чем заплатить программисту за дополнительную оптимизацию. Но, в принципе, вам никто не мешает вручную делать быстрый код такого же качества как выдают автоматические инструменты dart2js и GWT/Closure. Другой вопрос — а согласятся ли это оплачивать ваш заказчик/работодатель, потому как вручную = дорого на сложных проектах.
Отнюдь.
Во первых: обратите внимание, что ребята из статьи — не самые низкоквалифицированные специалисты. А напротив.
Высококвалифицированный ИТ-шник в РФ с окладом в 200-300 тыс. рублей в месяц — никакая не фантастика даже для нашего Новосибирска. Понятно, что не у каждого так, но в целом сумма не удивляет.
В то время как продавцы магазинов где нибудь в соседнем близком Бердске умудряются прожить и на 20 000 рублей.
1 месячный оклад высококвалифицированного спеца = 10-15 — месяцам работы низкоквалифицированного спеца. В России.
Во вторых, обратите внимание — ребята из статьи урезали доходы, переехали в места подешевле, продали дорогое жилье, стали жить проще.
ИТ-шник из Нска увольняется, переезжает в Бердск или деревню.
Новосибирская квартира продается, покупается домик в деревне или квартира попроще в Бердске…
Все реально.
То есть опыта у вас нет.
До свидания, больше ваше мнение не интересует.
А че тут обсуждать-то?
Разумеется, если речь идет о выходе на международный уровень — нужен английский.
Это настолько очевидно, что вообще никто это и не оспаривал в комментариях тут. Вы придумаете воображаемых оппонентов.
Все в пределах уже обсужденного нами с вами тут в комментариях программистского волапюка.
По сравнению с чем проще?
С тем, к чему вы уже привыкли?
А у вас была практика с программированием на русском языке, ну хотя бы с полгода плотно каждый рабочий день, чтобы вы к нему привыкли и уже смогли бы оценивать объективно?
У меня — была такая практика.
Меня, помнится, колбасило, когда довелось вникать в 1С: Предприятие. Все пытался англоязычных идентификаторы писать. Более того, 1С: Предприятие позволяет легко в коде переходить на русские или на английские операторы без каких-либо переключений в системе. То есть можно писать сплошной англоязычный программистский волапюк.
Так же поступали все программисты, которых я наблюдал в момент их знакомства с 1С.
Потом подавляющее большинство переходят на русский — так гораздо удобнее. Для конкретной этой ситуации с 1С.
Дело в том, что 1С предполагает глубокое погружение в прежде всего в предметную область. А термин «вычет на ребенка с налога на доходы физических лиц» куда как проще написать на русском.
В 1С мне удобно пользоваться русским.
Для написания сайтов мне удобно пользоваться английским.
С учетом имеющегося опыта с разных сторон — вообще не вижу никаких проблем в том, на каком языке писать идентификаторы.
Нужно использовать тот язык, что ближе к предметной области.
Пока работаешь в одного — это не важно. Вот при работе в коллективе все эти неоднозначности твоего перевода уже плохо.
Так правильнее термины которые используешь ты и твой пользователь/твой заказчик. А то мало ли чего ты там напереведешь.
Вот именно!
Все дело в соглашениях программистов!
А не в правилах человеческого языка.
Язык программистов, который они используют для идентификаторов — это волапюк, составленный из слов какого-то языка — не более того.
Если вы собираетесь работать/работаете на международном рынке — то использование для идентификаторов стандарта де-факто для общения — английского языка — логично.
А в остальном — у вас подменена понятий.
Или вы утверждаете, что программы успешны только благодаря неким волшебным свойствам языка, на котором пишутся идентификаторы? Что английский это какое-то чудо повышающее производительность труда программиста?
Вы просто не сталкивались с кодом немецких, итальянских, испанских или французских программистов, который написан без учета общемировой публикации исходников.
Уверяю вас — использование родного языка для них вполне себе нормальная ситуация. Тем более что они используют латиницу, которую поддерживают для использования в идентификаторах все языки программирования
в программировании допускают довольно много вольностей, понятные только в контексте конкретного кода, с его конкретными соглашениями о стиле. и ничуть не связанная с правилами языка человеческого (хоть английского, хоть русского).
например, приложите правила венгерской нотации к вашему примеру.
в английском кроме порядка слов есть много еще чего, что помогает понимать смысл сказанного, но что зачастую упускают в именовании идентификаторов (артикли, be/do, размещение предлога у фразовых глаголов), и в результате с точки зрения английского языка код превращается в бред…
например, в вашем примере — чем является первое слово? сказуемым? подлежащим? а в названии функции? а в названии переменной? определенные соглашения (скажем что в названиях функции первое слово — сказуемое) и есть те соглашения, что помогают понять смысл.
смысл понять помогают соглашения программистов о их волапюке, а вовсе не исходные правила английского языка (которые зачастую нарушаются в именовании идентификаторов)
В английском — изменение порядка слов меняет весь смысл на корню.
В русском — порядок слов влияет всего лишь на стилистику/оттенки.
1С: Предприятие уже 15 лет как умеет веб-интерфейс (разумеется специализированный).
Еще с версии 7.7 (если кто не в курсе — сейчас актуальная 8.3, ну а 8.0 вышла в 2003 году). Бэкенд тогда был 1С, но фронтенд — на ASP.
Ну а где-то с версии 8.2 (2009 год) — реализация фронтенда уже на встроенных средствах 1С. С версией и годом могу ошибаться.
Ну как сказать.
Критичен порядок слов только в английском.
В русском — можно и подстроиться.
Сделайте. Ведь и Chromium и Firefox — открытые проекты.
Вангую:
Требуется довольно длительная подготовки скачиваемого с сайтов JS (компиляции/оптимизации) прежде чем получим готовый результат и сможем отобразить страницу. Время отображения страницы все же критично.
Когда-нибудь и до этого руки дойдут у разработчиков.
В абзаце первом сказано, выделю главную мысль:
Это английское слово означает «вручную». То есть сверх того, что автоматически способен оптимизировать V8, так что V8 тут вообще постольку-поскольку.
Абзац второй из текста по приведенной мною ссылке:
В этом абзаце говорится про еще один вариант с хорошей оптимизацией (опять таки быстрее обычного «ручного» JavaScript, и речь даже о другом языке и о другой цепочке, которую нужно пройти исходному коду чтобы быть оптимизированным. То есть Dart тут ничего нового не открыл. Возможность получать более оптимизированный JS-код существует и помимо Dart.
Ну и последний третий абзац:
Здесь написано, что:
«вы можете и достичь той же (высокой) скорости, написав соответствующий код на JavaScript вручную, если вы знаете (и будете) использовать все трюки (и оптимизации)» — в скобках приведено мое пояснение.
Повторяю еще раз, но уже разжевываю:
Я писал:
Жую: небольшой объем кода или легко оптимизируется человеком или вы не заметите разницу в производительности по причине небольшого объема кода и небольшого же количества неоптимизированных мест в нем.
Я писал:
Жую: человеку не по силам (или попросту лениво) оптимизировать большие объемы кода. Поэтому сложный код как правило не сильно-то и оптимизируется. Более того, напротив, в сложных проектах зачастую применяются фреймворки и библиотеки, которые только дальше абстрагируют нас (что затрудняет ручную оптимизацию) и содержат дополнительные исполняемые инструкции. Уже много лет как дешевле купить более мощный компьютер, чем заплатить программисту за дополнительную оптимизацию. Но, в принципе, вам никто не мешает вручную делать быстрый код такого же качества как выдают автоматические инструменты dart2js и GWT/Closure. Другой вопрос — а согласятся ли это оплачивать ваш заказчик/работодатель, потому как вручную = дорого на сложных проектах.
Простейший код — не может.
А сложный — вполне, если транслятор еще и оптимизатором является.
stackoverflow.com/questions/20929783/how-is-dart2js-code-faster-than-javascript