The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новые версии языков Dart и TypeScript, претендующих на роль альтернатив JavaScript

24.06.2013 19:27

Компания Google представила первую бета-версию проекта Dart, в рамках которого развивается язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений.

Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для упрощения разработки на языке Dart поставляется SDK, включающий в себя компилятор dart2js, виртуальную машину Dart VM, пакетный менеджер pub и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительно доступен расширенный пакет Dart Editor, в который помимо SDK и Dartium включена специализированная среда разработки на языке Dart.

Из представленных в новом выпуске изменений отмечается проведение оптимизаций различных компонентов платформы. Обеспечена генерация более компактного JavaScript-кода, для некоторых типов программ удалось добиться сокращения размера до 3.7 раз за счёт реализации техники совместного использования кода, встречающегося в разных классах. Заметно увеличена производительность виртуальной машины, которая по сравнению с прошлым выпуском на 33% быстрее при выполнении теста DeltaBlue и на 40% быстрее в тесте Tracer. Для ускорения работы VM также реализована полноценная поддержка акселерации с использованием инструкций SIMD. Компилятор dart2js демонстрирует прирост производительности на 20% в тесте Richards, на 10% в тесте DeltaBlue, и на 8% в Tracer.

На 20% ускорена работа анализатора кода в редакторе Dart Editor, позволяющего выявлять ошибки и выводить предупреждения по мере кодирования, без необходимости отдельного выполнения unit-тестов. Добавлены новые инструменты рефакторинга для переименования библиотек и преобразования методов в геттеры и наоборот. Расширены средства подсветки синтаксиса. Упрощён процесс развёртывания web-приложений при помощи новой команды "pub deploy", которая создаёт директорию с кодом приложения и связанными с ним ресурсами, и производит подготовку кода для использования с выбранным web-сервером.

Особенности языка Dart:

  • Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
  • Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
  • Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов;
  • Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
  • Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
  • Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.




Одновременно компания Microsoft опубликовала новый выпуск языка программирования TypeScript 0.9. TypeScript позиционируется в качестве языка для разработки web-приложений, расширяющего возможности JavaScript. Код компилятора, транслирующего код TypeScript в представление JavaScript, распространяется под лицензией Apache, разработка ведётся в публичном репозитории через сервис CodePlex. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.

В отличие от Google Dart, TypeScript не является кардинальной переработкой JavaScript, а лишь расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что сводит к минимуму затраты на адаптацию существующих приложений. От JavaScript новый язык отличается возможностью явного определения типов, поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку и делает код более читаемым и простым для доработки и поддержки сторонними разработчиками.

Основной принцип языка - весь существующий код на JavaScript совместим с TypeScript, т.е. в программах на TypeScript можно использовать стандартные JavaScript-библиотеки и ранее созданные наработки. Более того, можно оставить существующие JavaScript-проекты в неизменном виде, а данные о типизации разместить в виде аннотаций, которые можно поместить в отдельные файлы, которые не будут мешать разработке и прямому использованию проекта (например, подобный подход удобен при разработке JavaScript-библиотек). Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать совместно с серверной платформой Node.js. Редактировать код можно в штатных редакторах, например, файлы для восприятия расширенного синтаксиса TypeScript уже подготовлены для Vim и Emacs. Файлы с декларациями статических типов подготовлены для некоторых популярных JavaScript-библиотек, среди которых jQuery.

Наиболее существенным улучшением в новом выпуске является поддержка "generic", который позволяет вводить специальные дополнительные параметры типов, которые дают возможность выявлять ошибки в реализации классов, интерфейсов и методов без дополнительных аннотаций типов (например, генерик для функции map позволяет считать, что переменные создаваемые конструкциями в которых используется map можно рассматривать как числовые). В новом выпуске также представлен финальный вариант синтаксиса для перечислимых типов (enums) и перегрузки методов. Кроме того внесены нарушающие совместимость модификации, направленные на упрощения совместного использования модулей на JavaScript и TypeScript. Переработан компилятор, который теперь генерирует более точно соответствующий спецификациям JavaScipt-код.

  1. Главная ссылка к новости (http://googledevelopers.blogsp...)
  2. OpenNews: Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript
  3. OpenNews: Компания Google представила новый язык web-программирования Dart
  4. OpenNews: В Firefox 22 появится Asm.js, низкоуровневое высокопроизводительное подмножество JavaScript
  5. OpenNews: Представлен первый промежуточный релиз языка Dart, развиваемого компанией Google
  6. OpenNews: Для языка Dart представлен сервис компиляции приложений, работающий на стороне браузера
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/37266-dart
Ключевые слова: dart, typescript, javascript, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (115) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Хрен с горы (?), 20:47, 24/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Вот так вот корпорации пытаются получить преймущества, противопостовляя свои велосипеды международным стандартам.
     
     
  • 2.2, Аноным (ok), 21:00, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Ну и жабоскрипт таки не сказка, хоть и международный стандарт.
     
     
  • 3.8, Аноним (-), 21:29, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • –8 +/
    То что мир поражён чумой ООП ещё не показатель того, что javascript плох. Это более прогрессивный язык, чем java, поэтому готовящиеся в недрах обеих корпораций продукты иначе как регрессом не назовёшь.
     
     
  • 4.10, Аноним (-), 21:50, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > То что мир поражён чумой ООП ещё не показатель того, что javascript плох.

    Конечно, нет. JavaScript плох по совсем иным причинам.

     
  • 4.12, all_glory_to_the_hypnotoad (ok), 21:54, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    js плох сам по себе, ибо разработан и реализоран тупыми обезьянами. Ничего дерьмовее придумать невозможно. Гугл пытается сделать вменяемый яп для веба и таки ему это вполне удаётся.
     
     
  • 5.14, Парнишка85 (?), 21:59, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    плох не js, а тот у кого мозгов мало и не может его осилить полностью и написать что-то вменяемое :)
     
  • 5.29, XoRe (ok), 23:37, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > js плох сам по себе, ибо разработан и реализоран тупыми обезьянами. Ничего
    > дерьмовее придумать невозможно.

    Мне кажется, если резко перейти на другой яык, через N лет пойдут комменты типа:
    - %lagname% плох сам по себе, ибо разработан и реализован тупыми обезьянами.
    - плох не %langname%, плохи руки у кого-то
    - нет, плох именно %langname%, а вот %companyname% сейчас внедряет правильный язык
    - помоему, мы где-то это уже слышали
    - WAT???

     
     
  • 6.42, all_glory_to_the_hypnotoad (ok), 01:01, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    всё правильно, тебе это всего лишь кажется.
     
  • 5.38, Аноним (-), 00:57, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > таки ему это вполне удаётся.

    Слишком оптимистично. Гугле что-то такое удается только частично.

     
  • 5.94, Lain_13 (ok), 15:15, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как-раз хуже всегда можно. Уже много раз было доказано на практике, что если есть что-то плохое, то приложив немного усилий можно сделать это ещё хуже или вовсе «по-военному».
     
  • 4.67, NikolayV81 (?), 11:16, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ИМХО JavaScript это страшный сон, который нет желания вспоминать, понятно что это всё из-за долгого развития в угоду всем сразу, но...
     
     
  • 5.78, arisu (ok), 13:28, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ИМХО JavaScript это страшный сон, который нет желания вспоминать, понятно что это
    > всё из-за долгого развития в угоду всем сразу, но…

    (пожимает плечами) язык как язык.

     
  • 3.13, Хрен с горы (?), 21:58, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и жабоскрипт таки не сказка

    Со всеми последними аддонами вполне нормальный язык в прямых руках.

     
     
  • 4.15, Crazy Alex (ok), 22:19, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А должен быть просто нормальным. Для больших веб-приложений в том числе.
     
     
  • 5.21, Хрен с горы (?), 22:34, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А должен быть просто нормальным. Для больших веб-приложений в том числе.

    Люди всегда решают. Быдлокодеры всегда будут писать шлак.

     
  • 5.37, Aceler (ok), 00:43, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    JavaScript используется только в веб-приложениях в вашей вселенной?

    А мы тут на нём бизнес-логику пишем-с.

     
     
  • 6.39, Аноним (-), 00:58, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А мы тут на нём бизнес-логику пишем-с.

    Теоретически на JS можно писать что угожно. Практически - в некоторых случаях можно потом нарыдаться, получив ручкой грабель в лоб.

     
     
  • 7.48, Aceler (ok), 01:14, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А мы тут на нём бизнес-логику пишем-с.
    > Теоретически на JS можно писать что угожно.

    Комментатор сверху, по-видимому, не в курсе.

     
  • 7.89, Аноним (-), 15:08, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А мы тут на нём бизнес-логику пишем-с.

    Детское поделье.
    Бизнес логику на сервере надо реализовывать, а не в браузере.

    >Практически - в некоторых случаях можно потом нарыдаться, получив ручкой грабель в лоб.

    Детские грабли бьют не в лоб, а по детородным органам.

     
  • 6.57, arisu (ok), 06:45, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А мы тут на нём бизнес-логику пишем-с.

    в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но НАФИГА?

     
     
  • 7.65, Aceler (ok), 09:36, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> А мы тут на нём бизнес-логику пишем-с.
    > в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но
    > НАФИГА?

    Быстро, удобно, легко отлаживается.

     
     
  • 8.69, NikolayV81 (?), 11:23, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    легко отлаживается, это серьёзно, наверное появились инструменты которых не виде... текст свёрнут, показать
     
     
  • 9.72, Aceler (ok), 11:31, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не распарсил ... текст свёрнут, показать
     
     
  • 10.73, arisu (ok), 13:20, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а я немного распарзил, и мне тоже интересно, чем и как отлаживается неужто это ... текст свёрнут, показать
     
     
  • 11.76, Aceler (ok), 13:25, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В alfresco есть встроенный отладчик Хрен знает, как он называется ... текст свёрнут, показать
     
     
  • 12.83, arisu (ok), 13:54, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    в ужасе убежал ... текст свёрнут, показать
     
  • 12.92, Аноним (-), 15:13, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо нео-комсомольское движение Сами создаем трудности, сами преодолеваем ... текст свёрнут, показать
     
     
  • 13.93, Aceler (ok), 15:14, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты так говоришь, как будто JavaScript 8212 это трудно ... текст свёрнут, показать
     
     
  • 14.96, Аноним (-), 15:31, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Трудно не JavaScript, а бизнес-логика на JavaScript ... текст свёрнут, показать
     
  • 14.98, NikolayV81 (?), 16:25, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    если что то серьёзное то очень трудно, серьёзно особенно понять что в некотор... текст свёрнут, показать
     
     
  • 15.99, Aceler (ok), 16:29, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    171 Учиться, учиться и ещё раз учиться 187 В И Ленин ... текст свёрнут, показать
     
  • 15.100, arisu (ok), 16:30, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    попробуй сделать две вещи, обе важные 1 не читать говнопримеров 2 выучить та... текст свёрнут, показать
     
     
  • 16.105, NikolayV81 (?), 16:38, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    у вас таки если китайский сложный то надо его выучить - и тогда он станет не с... текст свёрнут, показать
     
     
  • 17.106, arisu (ok), 16:57, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ты, наверное, не поверишь, но это действительно так ... текст свёрнут, показать
     
  • 11.97, NikolayV81 (?), 16:23, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    vs и отладка jscript даже под win8 в самой win8 это может быть нормально для тех... текст свёрнут, показать
     
  • 9.90, Аноним (-), 15:10, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Не Они юнит тестами все делают ... текст свёрнут, показать
     
  • 5.56, arisu (ok), 06:44, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А должен быть просто нормальным. Для больших веб-приложений в том числе.

    должен быть как можно более неудобным. чтобы дебилы, пишущие «веб-приложения», страдали как можно больше.

     
  • 4.16, Аноным (ok), 22:19, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Аддоны - это чего? Обвешиваемся фреймворками\библиотеками и тормозим ещё больше?
     
     
  • 5.20, Хрен с горы (?), 22:33, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Например Мап и Сет в языке. Кложур для сборки. Кстати, от это тормозит МЕНЬШЕ.
    А так же Asm.js от мозиллы и новомодные АПИ для мобилок и прочего.
     
  • 4.17, Пиу (?), 22:20, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >нормальный
    >нормальный
    >нормальный

    http://www.youtube.com/watch?v=kXEgk1Hdze0&feature=player_detailpage#t=77s

    если после этого жабаскрипт "нормальный", то рак мозга (и мозг рака) - это нормально

     
     
  • 5.19, Пиу (?), 22:32, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а если еще вспомнить про type coercion и какой ужас начинается при обычном операторе сравнения, то этот язык иначе как бредовым не назовешь
     
     
  • 6.22, Хрен с горы (?), 22:39, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а если еще вспомнить про type coercion и какой ужас начинается при
    > обычном операторе сравнения, то этот язык иначе как бредовым не назовешь

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

     
     
  • 7.23, Пиу (?), 22:43, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В общем то подобные пробелмы у всех нетипизированных языков,

    логичный вывод - все "нетипизированные" (слаботипизированные) языки (PHP, JS и прочие) плохи

     
     
  • 8.26, Хрен с горы (?), 23:09, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Кому как, на самом деле ... текст свёрнут, показать
     
  • 8.41, Аноним (-), 01:01, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да А чего хорошего, когда яблоки сравнили с гвоздями, получили какой-то резу... текст свёрнут, показать
     
     
  • 9.58, arisu (ok), 06:46, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    пиши контракты не пишешь значит, тебя нельзя допускать к слаботипизированым яз... текст свёрнут, показать
     
     
  • 10.110, Dmitry77 (ok), 02:29, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да, это можно Недостаток - писать нужно заметно больше Проще взять статически ... текст свёрнут, показать
     
     
  • 11.113, arisu (ok), 16:37, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а можно ещё добавить в язык опциональное указание типов и получить профиты с обо... текст свёрнут, показать
     
  • 9.70, NikolayV81 (?), 11:27, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Через пол часа фигня, а вот если через пол года при подаче документов в органы ... текст свёрнут, показать
     
  • 7.24, all_glory_to_the_hypnotoad (ok), 22:45, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    если у кодера есть голова, то он не идёт работать в веб
     
     
  • 8.25, Хрен с горы (?), 23:07, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Здравстуйте, сейчас JS не значит web Нода, ФонГап и прочее ... текст свёрнут, показать
     
     
  • 9.27, all_glory_to_the_hypnotoad (ok), 23:16, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    значит этот весь шит для обезьянок, которые работают с клиенским вебом, но ещё ... текст свёрнут, показать
     
     
  • 10.28, Хрен с горы (?), 23:26, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это далеко не правда Иногда это удобно, иногда это быстрее Возможности для пос... текст свёрнут, показать
     
     
  • 11.51, all_glory_to_the_hypnotoad (ok), 01:25, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это удобно, если в штате есть вебная js-обезьянка и не хочется больше тратиться ... большой текст свёрнут, показать
     
  • 10.71, bental (?), 11:27, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы реально не понимаете преимущества выполнения одного и того же кода кода на се... текст свёрнут, показать
     
     
  • 11.81, arisu (ok), 13:30, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    нет он в этом случае одинаково хреново исполняется на любой стороне и пишется ... текст свёрнут, показать
     
  • 8.34, XoRe (ok), 00:28, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А если у вас есть голова, вы не пользуетесь вебом Am i right ... текст свёрнут, показать
     
     
  • 9.43, Аноним (-), 01:03, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    До некоторой степени А то потом всякие веб а нутые начинают плакать - ой, аккау... текст свёрнут, показать
     
  • 9.46, all_glory_to_the_hypnotoad (ok), 01:10, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    чувак, ты какой-то очень недалёкий и делаешь глупые суждения Но в твоей мысл... текст свёрнут, показать
     
     
  • 10.117, XoRe (ok), 15:43, 30/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто указываю на практическую ценность пафосного заявления Все плохо, ваще... большой текст свёрнут, показать
     
  • 8.109, axe (??), 00:01, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ага, индустрия говорит ему куда идти, в противном случае... текст свёрнут, показать
     
  • 6.33, Truelove (ok), 00:26, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем отличаються три оператора сравнени?? (=, ==, ===)
     
     
  • 7.35, XoRe (ok), 00:31, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем
    > отличаються три оператора сравнени?? (=, ==, ===)

    Вообще-то два: == и ===.
    Если не считать знаки, им противоположные.
    И можно поспорить насчет актуальности ===.

     
     
  • 8.40, Truelove (ok), 00:58, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    1 1 true 1 1 false мне кажеться очень актуальным... текст свёрнут, показать
     
     
  • 9.45, XoRe (ok), 01:09, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда дело не в , а в , который дает true на сравнение числа и строки Хотя... текст свёрнут, показать
     
  • 7.59, arisu (ok), 06:48, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем
    > отличаються три оператора сравнени?? (=, ==, ===)

    я вот вообще в первый раз слышу, что «=» — это «оператор сравнения».

    впрочем, хороший комментарий для демонстрации уровня знаний среднего js-ника.

     
     
  • 8.95, Аноним (-), 15:16, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ну так немножко равно практически равно да точно равно мамой кля... текст свёрнут, показать
     
     
  • 9.102, arisu (ok), 16:31, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    -- да заколебал уже подчёркивания рисовать ... текст свёрнут, показать
     
  • 4.68, NikolayV81 (?), 11:18, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Ну и жабоскрипт таки не сказка
    > Со всеми последними аддонами вполне нормальный язык в прямых руках.

    Проблема в том что что бы он стал вполне нормальным, нужно из него много чего убрать, но этого сделать нельзя по политическим причинам ;)

     
     
  • 5.79, Хрен с горы (?), 13:28, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Убирают документально на уровне стайлгайдов.
     
  • 5.80, arisu (ok), 13:28, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Проблема в том что что бы он стал вполне нормальным, нужно из
    > него много чего убрать, но этого сделать нельзя по политическим причинам
    > ;)

    так не используй лишнее.

     
     
  • 6.82, NikolayV81 (?), 13:40, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Проблема в том что что бы он стал вполне нормальным, нужно из
    >> него много чего убрать, но этого сделать нельзя по политическим причинам
    >> ;)
    > так не используй лишнее.

    Это пока вы один свой код сугубо под себя, или когда в конторе есть возможность вводить карательные меры и регулярную проверку кода разработчиков ( что как бы есть доп. затраты только из-за выбора языка )
    В конторах/проектах где 2-5 разработчиков и бывают сложные моменты когда нужно очень срочно ибо иначе будут проблемы с финансами, стайлгайды работают не всегда как хотят люди, да и при равноправии голосоющих не всегда к одному решению прийти можно.
    Почти все исходники можно привести к вменяемому виду с помощью автоформата, а вот в некоторых языках привести чужой код к удобочитаемому виду, который позволял бы понять логику, бывает очень проблематично.

     
     
  • 7.84, arisu (ok), 13:56, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    шарашкина контора детектед. я тебе маленький секрет скажу: даже у проекта, над которым работают два человека, должен быть руководитель. иначе будет разброд и шатание. и на выходе — очередной полурабочий говнокод. от языка это вообще не зависит.
     
     
  • 8.87, Пиу (?), 14:28, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    я тебе маленький секрет скажу и проектов которые длятся несколько лет, поменять... текст свёрнут, показать
     
     
  • 9.88, arisu (ok), 14:34, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    да и метеорит упасть может однако разумный человек посреди разработки не станет... текст свёрнут, показать
     
  • 8.101, NikolayV81 (?), 16:30, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    интересно почему люди считают всем известные вещи своими маленькими секретами а... текст свёрнут, показать
     
     
  • 9.103, arisu (ok), 16:32, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    потому что некоторые другие люди явно этих секретов не знают ... текст свёрнут, показать
     
  • 9.107, Аноним (-), 17:33, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Американских фильмов насмотрелис Там, как правило, один с горем пополам школу з... текст свёрнут, показать
     
  • 7.91, Хрен с горы (?), 15:13, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Это пока вы один свой код сугубо под себя, или когда в конторе есть возможность вводить карательные меры и регулярную проверку кода разработчиков ( что как бы есть доп. затраты только из-за выбора языка )

    Да какая бы контора и язык не были принимать патчи в транк без хотя бы поверхностной проверки другим человеком - ужасная практика. Особенно  отличный результат в хороших открытых проектах, там всегда несколько человек смотрят перед тем как одобрить. Причем это полезно для всех(даже если разработчики грамотные), и для того кто смотрит(будет больше знать в проекте) и для того кто посылает(взгял "свежим" глазом).

     

  • 1.3, o (?), 21:00, 24/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как разрабатывать на таких языках. Браузер выкенет ошибку яваскрипта и как понять где в коде дарта ошибка?
     
     
  • 2.4, Sinot (ok), 21:06, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    У Dart есть своя ВМ, браузер и среда разработки. У TypeScript не понятно, хотя наверняка тоже что-то подобное имеется.
     
     
  • 3.6, Comrade DOS (?), 21:08, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Source maps
     
  • 3.18, Crazy Alex (ok), 22:21, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Тайпскриптовский код очень прозрачно преобразовывается в JS, и соответствие с первого взгляда видно. Ну и да, карты.
     
  • 2.5, Аноним (-), 21:08, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Будешь разрабатывать - поймешь
     
  • 2.7, d1mmmk (?), 21:10, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    думаю что так же, как и дебажить склейку из нескольких файлов, используя sourceMap
     

  • 1.9, Аноним (-), 21:32, 24/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Проблема гугла, которая их погубит рано или поздно, это тотальная жавамания. Они хотят чтобы все стало джавой и не видят более перспективных альтернатив
     
     
  • 2.11, Аноним (-), 21:51, 24/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Проблема гугла, которая их погубит рано или поздно, это тотальная жавамания. Они
    > хотят чтобы все стало джавой и не видят более перспективных альтернатив

    Здрасте. А Go, по твоему, не гугл поддерживает?

     

  • 1.30, Аноним (30), 23:41, 24/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    руки прочь от JavaScript!!!
     
     
  • 2.47, Аноним (-), 01:13, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Правильно - лопатой его, лопатой!
     

  • 1.31, Truelove (ok), 00:08, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мне одному кажеться идиотизмом желание превратить JS в Java?? Ведь на самом деле JS более чем хорош, а ECMAScript 6 воплотит ну уже все мечты в реальность, зачем делать из высокоуровнего, динамического языка, УГ похожий на Java?

    Что бы продуктивно писать на JS нужно хорошо усвоить что такое BDD, не программа должна думать за вас, а вы за программу в момент её написания!!

     
     
  • 2.32, Аноним (-), 00:23, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >кажется
     

  • 1.36, piteri (ok), 00:39, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот бы нормальный дартовский модуль к апачу и пхп можно закапывать.
     
     
  • 2.44, Аноним (-), 01:05, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вот бы нормальный дартовский модуль к апачу и пхп можно зaкапывать.

    Лучше это сделать с апачем. Ибо нафиг-нафиг этот тормозной утюг.

     

  • 1.50, chinarulezzz (ok), 01:18, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.

    Ох уж эти C'like синтаксисы. Тянут ради жертв импринтинга, чтоб продукт хавали и не возникал диссонанс. Еще одно "хавайте наш язык, он у нас почти как прежний, только с блэкджеком и разумеется".

     
     
  • 2.111, Аноним (30), 10:42, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    чем тебе не угодил си-лайк синтаксис? на мой взгляд он самый удобный и практичный
     
     
  • 3.116, arisu (ok), 17:10, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > чем тебе не угодил си-лайк синтаксис? на мой взгляд он самый удобный
    > и практичный

    это просто потому, что ты привык. а на мой, например, взгляд — Smalltalk куда как понятней.

     

  • 1.52, Аноним (-), 02:33, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    народ зачем нужен openldap?

    как на сервере дл всех субдоменов сайта сделать единную авторизацию и генерацию почтовых ящиков

     
  • 1.53, бедный буратино (ok), 04:58, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Опять эти { } скобочки! Всех их авторов - в пекло! Пусть там сидят и закрывают свои многочисленные }}}}}}}} в условной математической модели мира! Человек не должен быть рабом скобочек!

    COFFEESCRIPT ДОЛЖЕН СТАТЬ СТАНДАРТОМ!

     
     
  • 2.54, Аноним (-), 05:29, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    YAML рулит
     
  • 2.60, arisu (ok), 06:50, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    если мне понадобится дерьмо, на котором программируют при помощи пробелов, то я знаю, где скачать whitespace. но за несколько десятков лет ни разу не понадобилось.
     
  • 2.61, arisu (ok), 06:52, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    запомни, буратина: пробел может являться разделителем. но двадцать пять пробелов перед токеном — это то же самое, что и один пробел.
     
     
  • 3.62, бедный буратино (ok), 07:10, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > запомни, буратина: пробел может являться разделителем. но двадцать пять пробелов перед
    > токеном — это то же самое, что и один пробел.

    всё нормально и наглядно видно. в отличие от бесящих скобочек, за которыми ещё следить надо

    вот скобочный цикл - он ненагляден, потому что нельзя сразу взглядом сказать, что мы закрыли. а оступный - очень нагляден, потому что сразу видно, ЧО.

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

     
     
  • 4.74, arisu (ok), 13:23, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это неюзабельно. а делать произвольные отступы никто не запрещает нигде, кроме фортрана, кажется.

    впрочем, гвидобейсик на то и гвидобейсик. у вас же метапрограммирование не в почёте, поэтому вы и фапаете на свои пробелы.

     
     
  • 5.108, Аноним (-), 23:56, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В башке у кого-то бейсик, вот везде бейсик и мерещится.

    Какая связь метапрограммирования (семантического преобразования) с синтаксисом вложенных конструкций?

     
     
  • 6.114, arisu (ok), 16:38, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какая связь метапрограммирования (семантического преобразования) с синтаксисом вложенных
    > конструкций?

    самая прямая: генераторы писать геморройней. а доступа к AST'у нет.

     
  • 2.64, Аноним (-), 07:23, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, не надо. Как стандарт пусть будет lua.
    А вообще, байткод вместо языка решил бы все проблемы.
     
     
  • 3.66, Аноним (-), 09:59, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    …но добавил бы вместо них свои. Как Java-апплеты. Или Adobe Flash. Нафиг-нафиг.
     
     
  • 4.77, arisu (ok), 13:26, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > …но добавил бы вместо них свои. Как Java-апплеты. Или Adobe Flash. Нафиг-нафиг.

    как будто «код, скомпилированый в javascript» сильно читаемый. корреспондент выше правильно пишет про байткод. html и css, кстати, тоже в бинарной скомпилированой форме стоит передавать — это сразу уберёт все непонятки с парзерами и «кривые страницы». как скомпилировал — так и будет выглядеть везде.

     
  • 3.75, arisu (ok), 13:24, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо, не надо. Как стандарт пусть будет lua.

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

     
     
  • 4.85, Аноним (-), 14:06, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда почему не squirrel? Нумерация массивов там с нуля, да и синтаксис будет меньше раздражать алголофобов.
     
     
  • 5.86, arisu (ok), 14:20, 25/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда почему не squirrel?

    а не помню уже. чем-то оно мне не понравилось.

     

  • 1.63, независимые аналитики (?), 07:19, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В будующем кодеры должны быть театром одного актёра. Может быть 2-х. Кукольный театр. А главное - все должны быть уверены, что пользуют действительно мощную технологию. Сон разума такой. Да, очень просто - в пару кликов создать сайт весом в мегатонну. А кодить то особо ничего ненадо - всё есть в гугло либах. Просто ссылочку прописал и опа - у тебя всё что надо. Как в волшебном чемодане. Только чемодан, увы не ваш.
     
     
  • 2.112, бедный буратино (ok), 11:51, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > В будующем кодеры должны быть театром одного актёра. Может быть 2-х. Кукольный
    > театр. А главное - все должны быть уверены, что пользуют действительно
    > мощную технологию. Сон разума такой. Да, очень просто - в пару
    > кликов создать сайт весом в мегатонну. А кодить то особо ничего
    > ненадо - всё есть в гугло либах. Просто ссылочку прописал и
    > опа - у тебя всё что надо. Как в волшебном чемодане.
    > Только чемодан, увы не ваш.

    а ещё в будущем русский язык будет не в почёте... :(

     
     
  • 3.115, arisu (ok), 16:38, 26/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > а ещё в будущем русский язык будет не в почёте... :(

    к сожалению, это уже настоящее.

     

  • 1.104, Аноним (-), 16:34, 25/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    TypeScript новый костыль без решение кординальных проблем
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру