Pull to refresh

Comments 116

Пишите, пожалуйста, или JavaScript, или уже джаваскрипт. Ява режет слух.
Мне «джаваскипт» режет. Исправляйте назад! :)
Запомните простое правило:
Jazz — Джазз
JavaScript — Джаваскрипт
Вы же не будете говорить вместо Джазз — Язз. Так и не говорите Яваскрипт.
UFO just landed and posted this here
Я говорю яваскрипт и мне плевать
Я придерживаюсь джаваскрипта, но остров Ява = Java :)
Jazz, здоровенный jazz!

Простите, не удержался :)
Тогда и кофе правильно называть Джакобс? По моему нет строгого правила произношения слов начинающихся с «Ja»
Jacobs ведь и фамилия. И послушайте, как их называют в фильмах. Джон, Джейкобс.
UFO just landed and posted this here
Эээ. А ничего, что язык назван в честь острова Ява?
Если быть точным, то в честь сорта кофе, который производится на одноименном острове.

А Джава (если верить русской википедии) — это поселок в Осетии ))

Иностранцы, ее произносят как Джава. Но я думаю, что это дело вкуса. Поэтому исправил на JavaScript.
Если быть ещё более точным, JavaScript назван в честь Java, который назван в честь кофе, который назван в честь острова, который в честь чего назван, наверное, только туземцы знают.
В доме который построил Джек…
Туземцы не знают, точная этимология слова Jawa неизвестна.
санскритское название Явы (Иабадиу, т.е. Явадвипа) с точным переводом — «остров ячменя» («География» Птолемея)
ну да, версия. Зато какая цепочка от ячменя до веб программирования. Вот кстати перевод на русский ru.knowledgr.com/00047101/Ява. Непонятно почему люди сразу в википедию это не написали
Популярен у туземцев, не взошедших на ступень цивилизации. Надо же им как-то поля обрабатывать?! :)
public mozg extends tuzezemec {
protected int sborYachmenya {
while(true) {
Chelovek.goto(pole);
boolean estEchmen = lookFor(yachmen);
if(estEchmen) { take(find(yechmen));} else {goto(home);}
}
}
}
Тогда уж так:

class Farmer extends Worker {

  public void harvest (Field field) {
    moveTo( field );
    while( field.remains() ){
      container.push( field.getSpica() );
    }
    goHome();
  }

}
Вот первоочерёдно с чёт оссоциируется у меня «Ява», хотя мне всего 20 лет:

Ява (мотоцикл) — мотоцикл, производимый сначала в Чехословакии, затем в Чехии.
Ява (марка сигарет) — марка сигарет.

На счёт кофе и острова впервые сейчас услышал, спасибо :)
в 20 лет впервые услышали о острове Ява? о_0
а о нём нужно знать?
есть такое понятие как общая эрудиция.
А если его не принимать во внимание, то в общем-то и не обязательно знать о каком-то замкадном острове.
Странная аргументация. А если бы я например жил не в Москве, а в Молдавии, то вы бы сказали — «зачем знать, что то кроме своего захалустного села». Так легко аргементировать обо всём. Ну и я очень сомневаюсь, что вы знаете все географические объекты, если только это не одна из ваших основных профессий/направлений учёбы.
а вы и впрямь москвич? :) Извините, что так получилось прям в точку. Просто есть же знаменитая шутка-вопрос: «если ли жизнь за мкадом?». Знакомые москвичи все образованные и эрудированные, так что у меня были поводы сомневаться в правомерности этой шутки. Но оказывается. всё же некоторые основания есть :)
Кстати, фраза «зачем знать что-то, кроме своего захолустного села?» выглядит гораздо понятнее без пяти ошибок.
Ещё раз извините, я просто в некотором культурном шоке от столь уверенного отрицания общей эрудиции. Неужели вам в самом деле ни разу не было интересно покрутить глобус и посмотреть на планету, на которой живёте, хотя бы так? Неужели никогда не было интересно почитать википедию о замкадных странах?
Все географические объекты знать вряд ли возможно. И вряд ли интересно. Например, большинству наверняка не интересно ничем не примечательное пересечение улиц Кастро и 18 в Сан-Франциско, когда для меня лично оно связано с воспоминаниями и значит много. Но все знают о существовании такого города. Кстати, а вы знаете? Так, на всякий случай спрашиваю, хотя понимаю, что этот город тоже знать незачем.
Ещё раз извините за много слов. Но уверяю, гордиться тут совершенно нечем.
Ещё раз извините, я просто в некотором культурном шоке от столь уверенного отрицания общей эрудиции

Мне вот интересно. А вы знаете остров «Anguilla»? А остров «Tawi-Tawi»? Найдёте сходу остров «Enggano»? Может вы в секунду скажете, где находится «Heard lsland and McDonald Islands»? Как на счёт острова «Bouvet»? Если вы не знаете хоть один из этих островов, то откуда у вас «столь уверенное отрицание общей эрудиции»? Почему вы не знаете этих островов?

Я вот знаю остров «Ява». Но совершенно не понимаю, почему люди обязаны его знать. Чем он примечательнее других островов, которые я назвал выше?

Зато я знаю другое. Вы — сноб. И «уверяю, гордиться тут совершенно нечем». Вы кичитесь каким-то «особенным» знанием, которое знает огромное количество других людей, но которое совершенно не обязательное даже для общей эрудиции.
Чем он примечательнее других островов, которые я назвал выше?

Ну хотя бы тем, что это самый населенный остров на Земле.
Вообще-то не этим в первую очередь, а всего лишь тем, что в отличие от многих других имеет отношение к обсуждаемой теме.
Знать о острове Ява — не обязательно, но по сути частенько где можно упоминание найти. Так что тут все проще, и не надо к людям придираться. А ваш довод глуп. Это логика аля «если я это знаю то и ты должен знать». Так только аутисты думают, и вы явно не один из них.
Да, я служил там. Населенный пункт Джава.
Эээ. А ничего, что язык назван в честь острова Ява?

Вечный контраргумент — как вы читаете "Job"?
Еще в копилку. Jakob — в русской традиции читается как Яков
А не Джейкоб? Как Яков читается исходное еврейское имя, которое на самом деле звучит как Иаков.
А баптист Джон так и вовсе оказывается Иоанном крестителем…
Бессмысленно сравнивать традиции произношения имен исторических личностей и современных имен. Американец по имени Jakob по-русски будет Джейкобом, русский мигрант Jakob, вероятнее всего, окажется Яковом, а герой книги Jakob, с намеком на библейского персонажа — Иаковом.
Русскими буквами невозможно правильно написать как оно звучит, ибо аин (ע) в יעקב произностится очень гортанно (хотя мало кто ее правильно произносит даже в Израиле). И не с И а с Й, йуд тут играет роль согласной.
А как вы читаете «Jägermeister»?
А Java — это немецкое название?
UFO just landed and posted this here
UFO just landed and posted this here
Да даже «первоначально английские» слова могут произноситься совсем не так, как пишутся. Чего далеко ходить — colonel ;-)
Первоначально английские, а то как же.
colonel (n.)
1540s, coronell, from Middle French coronel, modified by dissimilation from Italian colonnella «commander of a column of soldiers at the head of a regiment,» from compagna colonella «little column company,» from Latin columna «pillar». English spelling modified 1580s in learned writing to conform with the Italian form (via translations of Italian military manuals), and pronunciations with «r» and «l» coexisted 17c.-18c., but the earlier pronunciation prevailed.
С таким подходом все слова рано или поздно были откуда-то да позаимствованы.
Ну почему же. Вот вышеупомянутый job — возник в Англии, а не позаимствован.
Где-то на просторах хабра видел комментарий, в котором всем любителям называть JavaScript яваскриптом предписывалось использовать вместо «джаз» — «йааазь».
Да тут как бы не вопрос правильной транслитерации — я о том, что в русском языке традиционно (уж лет 200 не меньше) Java транслитерируется как Ява.
Я думаю, что проблема в том, что разработчикам, которые общаются с иностранцами такое произношение коробит.
Вполне может быть. А почему оно коробит русскоязычных разработчиков при общении с русскоязычными разработчиками? «Лондон» и «Вашингтон» тоже коробят?
У нас преподаватель (женщина) в универе говорила без палева слово вjobбывать (вджобывать, то бишь работать). Ну, естесственно, от слова job :)
Ожидал увидеть в комментариях холивары про Flash vs JavaScript, но никак не про произношение :-))
Заголовок «JavaScript — с миру по нитке» подошел бы больше.
О Adobe Phonegap: помню делали одну app-у на нем, там было еще все бесплатно и никаких логотипов Adobe, потом, спустя буквально месяц, смотрю — уже Adobe. Первая мысль: да, все с ним будет ок, если такие большие компании, тем более изначально не сторонники этой технологии (читай «родители» флеша), верят в это.
Пощупал её и ужаснулся её тормозам.
Есть куча способов сделать приложение на Phonegap менее тормознутым, и наоборот, сделать нативное приложение тормозом. Для серьезных проектов оно не годится, но скажем если приложения являются как сопроводительная часть а не как основная, то первые версии имеет смысл делать на Phonegap.
IMHO: пока что он годиться для приложений (а не динамических игрушек). Не сложная анимация на моем Nexus 7 работала отлично, но уже на HTC One V (не такой уж и слабый смартфон) — фпс падал до уровня слайдшоу.
Там есть еще и нативные плагины, за счет которых можно исправить фпс в некоторых кейсах.
да ладно? Адоб не был родителем флэша.
И то, что он купил phonegap, тоже ещё ни о чём толком не говорит.
Да, перспективно и модно. Но если не взлетит, с лёгкостью откажутся, как сейчас отказываются от флэша.
JavaScript — один из самых невероятных инсайтов в истории разработки языков программирования.

Создатель JS исходил из двух основных предположений:

(а) предметная область такова, что большинство объектов уникальны; отсюда была выбрана прототипная объектная модель (не пиши классы — описывай объекты и клонируй их), разработана система удобного описания сложных уникальных структур (литералы — то, что потом назовут JSON), а также дозволена максимальная гибкость переопределения/доопределения объектов в рантайме;

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

В конечном итоге из этих двух инсайтов и вырос язык, который максимально удобен для быстрого прототипирования (а при наличии нужных навыков — и для быстрой разработки) и при этом прекрасно подходит для разработки легких серверных приложений.

А все эти дурацкие стьюпиды, связанные с неявным преобразованием типов, — какие-то пугалки для младших разработчиков, никаких особых проблем они не доставляют при соблюдении минимальной гигиены в коде.
Чем хороша прототипная объектная модель, так это отсутствием для разработчиков необходимости создавать, поддерживать и развивать сложную библиотеку стандартных классов, как в Java, и отсутствием опасности получить широкий разнобой библиотек классов, претендующих на стандартность.

Гибкость до- и пере-определения объектов, в том числе и базовых, в рантайме тоже в значительной степени обусловлена тем, что язык делали максимально быстро, так что решение вопросов типа «как делать библиотеку для сообщений с параметрами типа 'File {0} cannot be opened for writing'» отдали на откуп разработчикам, позволив в рантайме добавлять новые методы к объекту String и сняв с себя головную боль по определению «по возможности заранее максимально оптимального на все случаи жизни» их стандартного набора. Решение оказалось весьма мудрым.
Извиняюсь за некий сумбур: в первом абзаце имелись в виду разработчики самого языка программирования, во втором — разработчики программ на этом языке программирования.
>приложение от начала и до конца можно, зная только JavaScript (html и css не в счет).

есть же способы генерации html\css через js.
Суть в том что для генерации html/css вы должны знать что из себя представляет html/css. Даже если взять готовый набор компонентов, от необходимости знать синтаксис вас это не избавляет. Но согласитесь, сверстать страничку и написать логику на JS намного удобнее, чем брать Qt/GTK и писать кросплатформенные приложения, а тем более просто писать несколько версий приложений под каждую платформу.
Гугл разродился браузером. И ускорил JavaScript до нельзя, подарив всему миру V8. Из которого в свою очередь родился NodeJS (by Ryan Dahl). Так JS попал и на сервер.

Не совсем так… JavaScript попал на сервер практически с самого рождения серверного программирования. Один из самых первых серверов, Netscape Enterprise Server, уже в 1996 году в качестве серверного языка использовал JavaScript.

В противоположенном лагере была популярна технология ASP, где в качестве скритовых языков использовались VBScript и JScript. Так что и Windows уже лет 15 прямо «из коробки» поддерживает серверный JavaScript.

Это только мейнстрим. Кроме него было еще несколько десятков менее популярных реализаций.
Не поспоришь. Но это был совсем хардкор и экзотика. Никогда до NodeJS не видел вакансии серверный JavaScript разработчик. А сейчас регулярно вижу. Технология ожила, ей действительно пользуются
Не поспоришь. Но это был совсем хардкор и экзотика.
Да, существовали и экзотические решения. Но была и ASP — абсолютно мейнстримовая технология, занимавшая до трети рынка. Кстати, во многом похожая на PHP.

Никогда до NodeJS не видел вакансии серверный JavaScript разработчик. А сейчас регулярно вижу.
Вакансий было полно, просто они назывались по другому: не «серверный JavaScript-разработчик», а просто «ASP-разработчик». А ASP-разработчики (до ASP.NET), как правило, использовали либо VBScript (чуть чаще), либо JScript (чуть реже).

Но, я, конечно, нисколько не отрицаю, что Node.js вдохнул в серверный JavaScript новую жизнь и перевел его на новый уровень.
Интересно, когда уже разработчики браузеров скооперируются и введут наконец VM, исполняющую байт-код вместо текстовых скриптов? Неужели до этого так трудно додуматься? Ведь очевидно же, что необходимость такой машины явно назрела, раз начали плодиться новые языки для web-разработки и их компиляторы в JS.
Тем более, сам язык не слишком-то удачен и весьма ограничен. При работе с ним то и дело возникают затыки в реализации простейших вещей, которые на любом нормальном языке реализуются на раз-два. Попробуйте например на JS создать lazy-массив и вообще поработать с ленивыми вычислениями. Да он даже перегрузки операторов не поддерживает! Совершенно невозможно перегрузить например обращение к элементу массива "[ ]".
Хуже того, нет возможности создавать классы с множественными конструкторами. Да собственно и классов-то нет, есть лишь попытки эмуляции нормальной ООП-системы разной степени удачности. Уж не говоря о том, что JS — язык со слабой типизацией, что довольно хреново при работе с большими проектами.
Да к тому же в последнее время JS начинает напоминать нагромождение непонятных костылей. Например, я сильно удивился, впервые увидев в JS-коде перловский «use strict»…
разработчики браузеров не могут скооперироваться и всё к одному стандарту привести, а вы VM хотите
А какой язык вы считаете «удачным»? Просто любопытно
Из скриптовых языков очень удачен Python. Недостатки конечно есть (особенно разделение на 2.7/3.3), но в целом Python и Javascript — это просто небо и земля.
Также очень хорошо продуман C#. Вот если бы его можно было использовать для создания сценариев или компилировать в JS…
Вот если бы его можно было использовать для создания сценариев или компилировать в JS…

На правах оффтопика: обратите внимание на Kotlin. Одной из колерфич заявляется компилирование как в байткод jvm, так и в JavaScript.

На странице демонстрации есть возможность опробовать и эту фичу.
Вот если бы его можно было использовать для создания сценариев или компилировать в JS…

Выбирайте здесь или здесь (вот эта ссылка есть в посте)
Что-то у вас устаревшая таблица по второй ссылке. По крайней мере для C# -> JavaScript.
Также очень хорошо продуман C#. Вот если бы его можно было использовать для создания сценариев или компилировать в JS…


Давно можно с помощью scriptsharp например.
Я пишу статью для хабра на тему написания универсального C# кода для последующей компиляции в JavaScript, Mono. Надеюсь, она много кому окажется полезной.
Не могу сказать удачна ли реализация или нет, но сейчас разрабатывается очередная замена Javascript, на этот раз с Haskell синтаксисом. Называется Fay. Проект является одним из наиболее популярных на Гитхабе в разделе Haskell. Правда документации пока маловато по нему.
Как-то посмотрев на сравнение Fay и JS синтаксиса на ум пришла мысль, что примеры для JS уж сильно усложненные.
Вообще уже давно. JVM и AVM эти машины зовутся.
Интересно почему минусы ставят… Из за наездов на кривость JS?
Я был бы рад, если бы в браузере сделали более низкоуровневую VM (llvm какой-нибудь например) и позволяли загружать код для неё. Написание трансляторов наверняка упростилось бы, скорость оттранслированного кода возросла бы. Желающим обфусцировать свой код тоже было бы попроще.
Хотя, конечно, есть llvmjs или какой-нить google NaCl, но они популярности не получили и мейнстримом не стали.
И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Это какая-то новая интерпретация для меня. Язык назывался LiveScript, по маркетинговым соображениям его за какое-то время до выпуска переименовали в JavaScript.

Чем JS на Java похож-то?
Вы еще вспомните название спецификации, а также названия языков, которые по ней идут.
Из того что я могу придумать:
1) Аналог боксинга/анбоксинга примитивных типов в объекты этих типов (у Флэнагана это враппинг называется, если не ошибаюсь).
2) Точка, как средство доступа к методам объекта.
3) То, что у любого объекта есть неявный прототип object (в java несколько помню у всех объектов предок Object).

Конечно это все «косметические» сходства и реально Java и JS очень далеки.
Это так любой язык к любому другому можно притянуть. А ещё он на Си похож, прям близнецы-братья: if, {}, for и так далее.
Так это потому, что Java взяла этот синтаксис из С. А С взял какие-то вещи из Fortran. Посмотрите лекцию Крокфорда, там все подробно рассказано
Да я знаю что откуда. Потому и можно (почти) любой язык к любому другому за уши притянуть. Все у друг друга что-то берут. И только Brainfuck единственный и неповторимый уродец. :-D
Отчего же? Хаскел очень даже уникальный и хорошо продуманный язык. Только вот я его так и не осилил.
Гугл разродился браузером. И ускорил JavaScript до нельзя, подарив всему миру V8. Из которого в свою очередь родился NodeJS (by Ryan Dahl). Так JS попал и на сервер.
Да не так он туда попал. Он оттуда не исчезал никуда. Сто лет назад был какой-то веб-сервер у Нетскейпа, который поддерживал JS на сервере, были ASP у Микрософта, где поддерживались JScript и VBScript.

Так что JS на сервере уже давно.
UFO just landed and posted this here
А, так это форк Titanium! Тогда многое понятно.
Чтобы два раза не заходить, сразу скажу, что на мой взгляд node-webkit проще в употреблении, нежели TideSDK, когда речь идёт о создании приложений с графическим интерфейсом на десктопах методами веборазработки.

Хотя у TideSDK, с другой стороны, больше возможностей.
node-webkit проще в употреблении, нежели TideSDK, когда речь идёт о создании приложений с графическим интерфейсом на десктопах методами веборазработки

Я думал, что в этом они одинаковые так как используют одни и те же веб-технологии (html, css, js). Или я что-то не понимаю?
> JavaScript очень своеобразный язык, с родовыми травмами
Это уж точно!
Не думаю что начинающие могут читать на английском…
А так — да. Хорошая статейка для истории языка — как раз сейчас читаю спецификацию и принципы работы
Кстати в ближайшем конкуренте Meteor derby этот вопрос решаем. Так как они используют Express и гораздо меньше магии, то к нему можно прикрутить REST API.

Только derby используют socket.io, что совсем меняет картину.
Только derby используют socket.io, что совсем меняет картину.

Можете подробней объяснить, что вы хотели сказать?
Socket.io ещё не стабилен на высоких нагрузках. Про meteor к сожалению ничего не могу сказать, не работал с ним.
Socket.io ещё не стабилен на высоких нагрузках

Что значит не стабилен? О какой именно не стабильности вы говорите?
Вот issue, которую уже год решить не могут, обещают решение со стабильной версии 1.0 с переходом на ядро engine.io, которое на мой взгляд ещё сырее и что там ждёт неизвестно. :)
Я внимательно прочитал статью, но не нашел ответа на самый главный свой вопрос: с чего начать если знаний по джаваскрипту вообще ноль?
"David Flanagan - JavaScript: The Definitive Guide, 6th Edition". Есть русский перевод "Дэвид Флэнаган - JavaScript. Подробное руководство (6-е издание)". Важно именно 6-ое издание, за 2012-й год, ибо даже 5-ое выпущено в августе 2006-ого и уже устарело очень сильно.

Сначала можно посмотреть лекции Крокфорда (хотя бы вторую).
Потом можно почитать Eloquent JavaScript (может как базовую книгу кто-то посоветует другую)
Потом пройти туториал Резига
Потом досмотреть все лекции Крокфорда.
А дальше можно пересмотреть все оставшиеся ссылки из статьи (wtfjs, js patterns...)
Sign up to leave a comment.

Articles