Компания Google представила (http://googledevelopers.blogspot.ru/2013/06/dart-faster-edit...) первую бета-версию проекта Dart (http://www.dartlang.org/), в рамках которого развивается язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений.
Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для упрощения разработки на языке Dart поставляется SDK (http://www.dartlang.org/docs/sdk/), включающий в себя компилятор dart2js (http://www.dartlang.org/docs/dart2js/), виртуальную машину Dart VM (http://www.dartlang.org/docs/standalone-dart-vm/), пакетный менеджер pub (http://pub.dartlang.org/) и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительно доступен (http://www.dartlang.org/downloads.html) расширенный пакет Dart Editor (http://www.dartlang.org/docs/editor/), в который помимо SDK и Dartium включена специализированная среда разработки на языке Dart.
Из представленных в новом выпуске изменений отмечается (http://news.dartlang.org/2013/06/release-notes-for-darts-bet...) проведение оптимизаций различных компонентов платформы. Обеспечена генерация более компактного JavaScript-кода, для некоторых типов программ удалось (https://code.google.com/p/dart/issues/detail?id=11218) добиться сокращения размера до 3.7 раз за счёт реализации техники совместного использования кода, встречающегося в разных классах. Заметно увеличена производительность виртуальной машины, которая по сравнению с прошлым выпуском на 33% быстрее при выполнении теста DeltaBlue и на 40% быстрее в тесте Tracer. Для ускорения работы VM также реализована полноценная поддержка акселерации (http://www.dartlang.org/slides/2013/02/Bringing-SIMD-to-the-...) с использованием инструкций SIMD. Компилятор dart2js демонстрирует прирост производительности на 20% в тесте Richards, на 10% в тесте DeltaBlue, и на 8% в Tracer.
На 20% ускорена работа анализатора кода в редакторе Dart Editor, позволяющего выявлять ошибки и выводить предупреждения по мере кодирования, без необходимости отдельного выполнения unit-тестов. Добавлены новые инструменты рефакторинга для переименования библиотек и преобразования методов в геттеры и наоборот. Расширены средства подсветки синтаксиса. Упрощён процесс развёртывания web-приложений при помощи новой команды "pub deploy", которая создаёт директорию с кодом приложения и связанными с ним ресурсами, и производит подготовку кода для использования с выбранным web-сервером.
Особенности языка Dart:- Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
- Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
- Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
- Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
- Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих (http://www.dartlang.org/articles/optional-types/) типов;
- Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
- Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;- Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
- Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.
Одновременно компания Microsoft опубликовала (http://blogs.msdn.com/b/somasegar/archive/2013/06/18/typescr...) новый выпуск языка программирования TypeScript 0.9 (http://typescriptlang.org/). TypeScript позиционируется в качестве языка для разработки web-приложений, расширяющего возможности JavaScript. Код компилятора, транслирующего код TypeScript в представление JavaScript, распространяется (http://typescript.codeplex.com/) под лицензией Apache, разработка ведётся в публичном репозитории через сервис CodePlex. Спецификации (http://go.microsoft.com/fwlink/?LinkId=267121) языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement (http://www.openwebfoundation.org/legal/the-owf-1-0-agreement...).В отличие от Google Dart (http://www.opennet.me/opennews/art.shtml?num=31991), TypeScript не является кардинальной переработкой JavaScript, а лишь расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что сводит к минимуму затраты на адаптацию существующих приложений. От JavaScript новый язык отличается возможностью явного определения типов, поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку и делает код более читаемым и простым для доработки и поддержки сторонними разработчиками.
Основной принцип языка - весь существующий код на JavaScript совместим с TypeScript, т.е. в программах на TypeScript можно использовать стандартные JavaScript-библиотеки и ранее созданные наработки. Более того, можно оставить существующие JavaScript-проекты в неизменном виде, а данные о типизации разместить в виде аннотаций, которые можно поместить в отдельные файлы, которые не будут мешать разработке и прямому использованию проекта (например, подобный подход удобен при разработке JavaScript-библиотек). Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать совместно с серверной платформой Node.js. Редактировать код можно в штатных редакторах, например, файлы для восприятия расширенного синтаксиса TypeScript уже подготовлены для Vim и Emacs. Файлы с декларациями статических типов подготовлены для некоторых популярных JavaScript-библиотек, среди которых jQuery.Наиболее существенным улучшением в новом выпуске является поддержка generic, который позволяет вводить специальные дополнительные параметры типов, которые позволяют выявлять ошибки в реализации классов, интерфейсов и методов без дополнительных аннотаций типов (например, генерик для функции map позволяет считать, что переменные создаваемые конструкциями в которых используется map можно рассматривать как числовые). В новом выпуске также представлен финальный вариант синтаксиса для перечислимых типов (enums) и перегрузки методов. Кроме того внесены нарушающие совместимость модификации, направленные на упрощения совместног...
URL: http://googledevelopers.blogspot.ru/2013/06/dart-faster-edit...
Новость: http://www.opennet.me/opennews/art.shtml?num=37266
Вот так вот корпорации пытаются получить преймущества, противопостовляя свои велосипеды международным стандартам.
Ну и жабоскрипт таки не сказка, хоть и международный стандарт.
То что мир поражён чумой ООП ещё не показатель того, что javascript плох. Это более прогрессивный язык, чем java, поэтому готовящиеся в недрах обеих корпораций продукты иначе как регрессом не назовёшь.
> То что мир поражён чумой ООП ещё не показатель того, что javascript плох.Конечно, нет. JavaScript плох по совсем иным причинам.
js плох сам по себе, ибо разработан и реализоран тупыми обезьянами. Ничего дерьмовее придумать невозможно. Гугл пытается сделать вменяемый яп для веба и таки ему это вполне удаётся.
плох не js, а тот у кого мозгов мало и не может его осилить полностью и написать что-то вменяемое :)
> js плох сам по себе, ибо разработан и реализоран тупыми обезьянами. Ничего
> дерьмовее придумать невозможно.Мне кажется, если резко перейти на другой яык, через N лет пойдут комменты типа:
- %lagname% плох сам по себе, ибо разработан и реализован тупыми обезьянами.
- плох не %langname%, плохи руки у кого-то
- нет, плох именно %langname%, а вот %companyname% сейчас внедряет правильный язык
- помоему, мы где-то это уже слышали
- WAT???
всё правильно, тебе это всего лишь кажется.
> таки ему это вполне удаётся.Слишком оптимистично. Гугле что-то такое удается только частично.
Вот как-раз хуже всегда можно. Уже много раз было доказано на практике, что если есть что-то плохое, то приложив немного усилий можно сделать это ещё хуже или вовсе «по-военному».
ИМХО JavaScript это страшный сон, который нет желания вспоминать, понятно что это всё из-за долгого развития в угоду всем сразу, но...
> ИМХО JavaScript это страшный сон, который нет желания вспоминать, понятно что это
> всё из-за долгого развития в угоду всем сразу, но…(пожимает плечами) язык как язык.
>Ну и жабоскрипт таки не сказкаСо всеми последними аддонами вполне нормальный язык в прямых руках.
А должен быть просто нормальным. Для больших веб-приложений в том числе.
> А должен быть просто нормальным. Для больших веб-приложений в том числе.Люди всегда решают. Быдлокодеры всегда будут писать шлак.
JavaScript используется только в веб-приложениях в вашей вселенной?А мы тут на нём бизнес-логику пишем-с.
> А мы тут на нём бизнес-логику пишем-с.Теоретически на JS можно писать что угожно. Практически - в некоторых случаях можно потом нарыдаться, получив ручкой грабель в лоб.
>> А мы тут на нём бизнес-логику пишем-с.
> Теоретически на JS можно писать что угожно.Комментатор сверху, по-видимому, не в курсе.
>> А мы тут на нём бизнес-логику пишем-с.Детское поделье.
Бизнес логику на сервере надо реализовывать, а не в браузере.>Практически - в некоторых случаях можно потом нарыдаться, получив ручкой грабель в лоб.
Детские грабли бьют не в лоб, а по детородным органам.
> А мы тут на нём бизнес-логику пишем-с.в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но НАФИГА?
>> А мы тут на нём бизнес-логику пишем-с.
> в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но
> НАФИГА?Быстро, удобно, легко отлаживается.
>>> А мы тут на нём бизнес-логику пишем-с.
>> в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но
>> НАФИГА?
> Быстро, удобно, легко отлаживается.легко отлаживается, это серьёзно, наверное появились инструменты которых не видел, или у вас очень строго запрещено использовать 90% возможностей?
> легко отлаживается, это серьёзно, наверное появились инструменты которых не видел, или
> у вас очень строго запрещено использовать 90% возможностей?Не распарсил.
а я немного распарзил, и мне тоже интересно, чем и как отлаживается.
неужто это таки jscript и visual studio?
> а я немного распарзил, и мне тоже интересно, чем и как отлаживается.
> неужто это таки jscript и visual studio?В alfresco есть встроенный отладчик. Хрен знает, как он называется.
> alfresco(в ужасе убежал)
>> а я немного распарзил, и мне тоже интересно, чем и как отлаживается.
>> неужто это таки jscript и visual studio?
> В alfresco есть встроенный отладчик. Хрен знает, как он называется.Прямо нео-комсомольское движение! Сами создаем трудности, сами преодолеваем.
> Прямо нео-комсомольское движение! Сами создаем трудности, сами преодолеваем.Ты так говоришь, как будто JavaScript — это трудно.
>> Прямо нео-комсомольское движение! Сами создаем трудности, сами преодолеваем.
>Ты так говоришь, как будто JavaScript — это трудно.Трудно не JavaScript, а бизнес-логика на JavaScript :)
>> Прямо нео-комсомольское движение! Сами создаем трудности, сами преодолеваем.
> Ты так говоришь, как будто JavaScript — это трудно.если что то серьёзное то очень трудно, серьёзно :( особенно понять что в некоторых примерах написано.
>>> Прямо нео-комсомольское движение! Сами создаем трудности, сами преодолеваем.
>> Ты так говоришь, как будто JavaScript — это трудно.
> если что то серьёзное то очень трудно, серьёзно :( особенно понять что
> в некоторых примерах написано.«Учиться, учиться и ещё раз учиться» © В.И.Ленин.
> если что то серьёзное то очень трудно, серьёзно :( особенно понять что
> в некоторых примерах написано.попробуй сделать две вещи, обе важные:
1. не читать говнопримеров.
2. выучить таки язык.
> 2. выучить таки язык.у вас таки "если китайский сложный то надо его выучить" - и тогда он станет не сложным?
:'(
>> 2. выучить таки язык.
> у вас таки «если китайский сложный то надо его выучить» — и
> тогда он станет не сложным?
> :'(ты, наверное, не поверишь, но это действительно так.
> а я немного распарзил, и мне тоже интересно, чем и как отлаживается.
> неужто это таки jscript и visual studio?vs и отладка jscript даже под win8 в самой win8 это может быть нормально для тех кто даже delphi5 не видел...
p.s. да и под c# оно ворочается ( vs2012 ) только на очень хороших компах ( я не думал что бывает что то настолько не быстро работающее на i5 4Gb оперативки и небольшом проекте )
>>>> А мы тут на нём бизнес-логику пишем-с.
>>> в принципе, заниматься спринтерским бегом в шароварах не запрещено и возможно. но
>>> НАФИГА?
>> Быстро, удобно, легко отлаживается.
> легко отлаживается, это серьёзно, наверное появились инструменты которых не видел, или
> у вас очень строго запрещено использовать 90% возможностей?Не. Они юнит тестами все делают.
> А должен быть просто нормальным. Для больших веб-приложений в том числе.должен быть как можно более неудобным. чтобы дебилы, пишущие «веб-приложения», страдали как можно больше.
Аддоны - это чего? Обвешиваемся фреймворками\библиотеками и тормозим ещё больше?
Например Мап и Сет в языке. Кложур для сборки. Кстати, от это тормозит МЕНЬШЕ.
А так же Asm.js от мозиллы и новомодные АПИ для мобилок и прочего.
>нормальный
>нормальный
>нормальныйhttp://www.youtube.com/watch?v=kXEgk1Hdze0&feature=player_de...
если после этого жабаскрипт "нормальный", то рак мозга (и мозг рака) - это нормально
а если еще вспомнить про type coercion и какой ужас начинается при обычном операторе сравнения, то этот язык иначе как бредовым не назовешь
> а если еще вспомнить про type coercion и какой ужас начинается при
> обычном операторе сравнения, то этот язык иначе как бредовым не назовешьВ общем то подобные пробелмы у всех нетипизированных языков, просто в ЖС они более видны ибо он сильно гибкий. И опять же скажу, что все это избегается нормальным стайлгайдом и думающей головой.
> В общем то подобные пробелмы у всех нетипизированных языков,логичный вывод - все "нетипизированные" (слаботипизированные) языки (PHP, JS и прочие) плохи
> логичный вывод - все "нетипизированные" (слаботипизированные) языки (PHP, JS и прочие)
> плохиКому как, на самом деле.
> логичный вывод - все "нетипизированные" (слаботипизированные) языки (PHP, JS и прочие) плохиНу да. А чего хорошего, когда яблоки сравнили с гвоздями, получили какой-то результат, а потом ни разу не сомневаясь продолжили дальше пахать, как будто так и задумано. А потом, через полчаса, все все-таки факапнулось. Потому что сделали то какой-то бред. А вот найти место где это было сделано, полчаса назад - вот это будет интересно, да :)
> Ну да. А чего хорошего, когда яблоки сравнили с гвоздями, получили какой-то
> результат, а потом ни разу не сомневаясь продолжили дальше пахать, как
> будто так и задумано. А потом, через полчаса, все все-таки факапнулось.
> Потому что сделали то какой-то бред. А вот найти место где
> это было сделано, полчаса назад - вот это будет интересно, да
> :)пиши контракты. не пишешь? значит, тебя нельзя допускать к слаботипизированым языкам.
да, это можно. Недостаток - писать нужно заметно больше. Проще взять статически типизированный язык и компилятор сделает тоже самое, самому писать меньше.
> да, это можно. Недостаток — писать нужно заметно больше. Проще взять статически
> типизированный язык и компилятор сделает тоже самое, самому писать меньше.а можно ещё добавить в язык опциональное указание типов и получить профиты с обоих полей.
>> логичный вывод - все "нетипизированные" (слаботипизированные) языки (PHP, JS и прочие) плохи
> Ну да. А чего хорошего, когда яблоки сравнили с гвоздями, получили какой-то
> результат, а потом ни разу не сомневаясь продолжили дальше пахать, как
> будто так и задумано. А потом, через полчаса, все все-таки факапнулось.
> Потому что сделали то какой-то бред. А вот найти место где
> это было сделано, полчаса назад - вот это будет интересно, да
> :)Через пол часа фигня, а вот если через пол года при подаче документов в органы ... ( тут сверху про бизнес логику было )
если у кодера есть голова, то он не идёт работать в веб
Здравстуйте, сейчас JS не значит web. Нода, ФонГап и прочее...
значит.> Нода, ФонГап и прочее...
этот весь шит для обезьянок, которые работают с клиенским вебом, но ещё и хотят что-то делать для этого же веба на серверной тороне. Не хотят, видите ли, учить ешё один всем известный в узких кругах гогноязык.
А другие виды разработчиком этим практически не пользуются, у них другие серебряные пули на все случаи жизни.
>этот весь шит для обезьянок, которые работают с клиенским вебом, но ещё и хотят что-то делать для этого же веба на серверной тороне. Не хотят, видите ли, учить ешё один всем известный в узких кругах гогноязык.
>А другие виды разработчиком этим практически не пользуются, у них другие серебряные пули на все случаи жизни.Это далеко не правда. Иногда это удобно, иногда это быстрее. Возможности для построения того же ГУИ в ЖС+ЦСС очень обширны. Иногда надо чтоб софтина работала действительно везде. И да, выучить новый язык для нормального разработчика - не такая уж и задача.
> Иногда это удобно, иногда это быстрее.это удобно, если в штате есть вебная js-обезьянка и не хочется больше тратиться на ещё одного разработчика. Или тупо нужно отдать работу тем же самымм фрилансерам. Так или иначе это всё веб для разработчиков, которых пытаются заставить делать смежные работы привычными средствами.
> Возможности для построения того же ГУИ в ЖС+ЦСС очень обширны. Иногда надо чтоб софтина работала действительно везде
ой, вот не нужно нести этого бреда. Проблем с совместимостью у JS/CSS между разными платформами не меньше, чем везде.
И самая большая проблема софтины (гуёвой) на JS/CSS это заставить её вообще работать как нужно хотя бы где-то. Просто нахерачить прототип, но крайне трудно избавляться от мелких лябов типа разьезда вёрстки при маштабировании и т.п.
Какое-нибудь QT делает тоже самое гораздо качественнее, проще и быстрее (в плане потребления ресурсов)
> этот весь шит для обезьянок, которые работают с клиенским вебом, но ещё
> и хотят что-то делать для этого же веба на серверной cтороне.Вы реально не понимаете преимущества выполнения одного и того же кода кода на серверной или клиентской стороне в зависимости от платформы клиента, шширины канала связи и т.д. и т.п.?
> Вы реально не понимаете преимущества выполнения одного и того же кода кода
> на серверной или клиентской стороне в зависимости от платформы клиента, шширины
> канала связи и т.д. и т.п.?нет: он в этом случае одинаково хреново исполняется на любой стороне. и пишется при помощи костылей и какой-то матери.
> если у кодера есть голова, то он не идёт работать в вебА если у вас есть голова, вы не пользуетесь вебом.
Am i right?
До некоторой степени. А то потом всякие веб'а'нутые начинают плакать - ой, аккаунт снесли. Ой, новых лимитов наставили. Ой, сервис закрыли. Как же теперь жить то? Вот такие сами виноваты в своих несчастьях.
чувак, ты какой-то... очень недалёкий и делаешь глупые суждения. Но в твоей мысли, тем не менее, есть доля истины. Подавляющим большинством вебданольного дерьма пользоватья невозможно начиная от чисто технических причин (не работает ваш JSный шит везде одинаково и CSS понимают многие движки иначе, неверотяное потребление памяти на пустом месте, выжирание батареи ноута...) и заканчивая дизайнерским безумным маразмом.Итого, даже с такими полезными тулзами, как adblock+ и noscript, остаётся совсем немного юзабильных ресурсов в инете.
> чувак, ты какой-то... очень недалёкий и делаешь глупые суждения.Я просто указываю на практическую ценность пафосного заявления.
> Но в твоей
> мысли, тем не менее, есть доля истины. Подавляющим большинством вебданольного дерьма
> пользоватья невозможно начиная от чисто технических причин (не работает ваш JSный
> шит везде одинаково и CSS понимают многие движки иначе, неверотяное потребление
> памяти на пустом месте, выжирание батареи ноута...) и заканчивая дизайнерским безумным
> маразмом."Все плохо, ваще все не нравится, переделывайте!"?)
Я к тому, что это довольно субьективно.
Если вам не нравятся современные сайты, это ваш вкус, но он может не совпадать со вкусом остальных - сразу говорю.> Итого, даже с такими полезными тулзами, как adblock+ и noscript, остаётся совсем
> немного юзабильных ресурсов в инете.Ну и будьте готовы, что у другого человека может быть свое мнение насчет "немногих юзабельных сайтов в инете".
> если у кодера есть голова, то он не идёт работать в вебага, индустрия говорит ему куда идти, в противном случае
Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем отличаються три оператора сравнени?? (=, ==, ===)
> Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем
> отличаються три оператора сравнени?? (=, ==, ===)Вообще-то два: == и ===.
Если не считать знаки, им противоположные.
И можно поспорить насчет актуальности ===.
1 == "1" // true
1 === "1" // false
мне кажеться очень актуальным
> 1 == "1" // true
> 1 === "1" // false
> мне кажеться очень актуальнымТогда дело не в ===, а в ==, который дает true на сравнение числа и строки.
Хотя... это бич многих языков без строгой типизации.
Сначала разрешили, а потом пришлось придумывать что-то типа ===.
> Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем
> отличаються три оператора сравнени?? (=, ==, ===)я вот вообще в первый раз слышу, что «=» — это «оператор сравнения».
впрочем, хороший комментарий для демонстрации уровня знаний среднего js-ника.
>> Вы и вправду патаетесь сказать что никак не в состоянии запомнить чем
>> отличаються три оператора сравнени?? (=, ==, ===)
> я вот вообще в первый раз слышу, что «=» — это «оператор
> сравнения».
> впрочем, хороший комментарий для демонстрации уровня знаний среднего js-ника."=" ну так немножко равно
"==" практически равно
"===" да точно равно. мамой клянусь!
> "=" ну так немножко равно
> "==" практически равно
> "===" да точно равно. мамой клянусь!"====" -- да заколебал уже подчёркивания рисовать!
>>Ну и жабоскрипт таки не сказка
> Со всеми последними аддонами вполне нормальный язык в прямых руках.Проблема в том что что бы он стал вполне нормальным, нужно из него много чего убрать, но этого сделать нельзя по политическим причинам ;)
Убирают документально на уровне стайлгайдов.
> Проблема в том что что бы он стал вполне нормальным, нужно из
> него много чего убрать, но этого сделать нельзя по политическим причинам
> ;)так не используй лишнее.
>> Проблема в том что что бы он стал вполне нормальным, нужно из
>> него много чего убрать, но этого сделать нельзя по политическим причинам
>> ;)
> так не используй лишнее.Это пока вы один свой код сугубо под себя, или когда в конторе есть возможность вводить карательные меры и регулярную проверку кода разработчиков ( что как бы есть доп. затраты только из-за выбора языка )
В конторах/проектах где 2-5 разработчиков и бывают сложные моменты когда нужно очень срочно ибо иначе будут проблемы с финансами, стайлгайды работают не всегда как хотят люди, да и при равноправии голосоющих не всегда к одному решению прийти можно.
Почти все исходники можно привести к вменяемому виду с помощью автоформата, а вот в некоторых языках привести чужой код к удобочитаемому виду, который позволял бы понять логику, бывает очень проблематично.
шарашкина контора детектед. я тебе маленький секрет скажу: даже у проекта, над которым работают два человека, должен быть руководитель. иначе будет разброд и шатание. и на выходе — очередной полурабочий говнокод. от языка это вообще не зависит.
я тебе маленький секрет скажу: и проектов которые длятся несколько лет, поменяться может всё что угоднохотя конечно к поделиям на жс это не относится
> я тебе маленький секрет скажу: и проектов которые длятся несколько лет, поменяться
> может всё что угоднода и метеорит упасть может. однако разумный человек посреди разработки не станет переколбашивать весь проект, если на это нет ОЧЕНЬ, ОЧЕНЬ ОБОСНОВАНОЙ необходимости. нет, «прошлый архитектор был мудак, а я умный, поэтому мы сейчас всё переделаем» — не обоснование.
интересно почему люди считают всем известные вещи своими маленькими секретами? а ещё и из них делают общие выводы и приравнивают их к абсолютной истине? ;)
> интересно почему люди считают всем известные вещи своими маленькими секретами?потому что некоторые другие люди явно этих секретов не знают.
>интересно почему люди считают всем известные вещи своими маленькими секретами? а ещё и из них делают общие выводы и приравнивают их к абсолютной истине? ;)Американских фильмов насмотрелис. Там, как правило, один с горем пополам школу закончил, остальные в компании полные бараны. Этот умник воскликнет: Чуваки! Земля то круглая! А 2х2=4!... И все так дружно: Вау! Какой ты умный! Оказывается нам пофиг в какую сторону идти. Все равно на старое место придем! Вау! Не пойдем никуда! Бухаем! Шампанского!
>Это пока вы один свой код сугубо под себя, или когда в конторе есть возможность вводить карательные меры и регулярную проверку кода разработчиков ( что как бы есть доп. затраты только из-за выбора языка )Да какая бы контора и язык не были принимать патчи в транк без хотя бы поверхностной проверки другим человеком - ужасная практика. Особенно отличный результат в хороших открытых проектах, там всегда несколько человек смотрят перед тем как одобрить. Причем это полезно для всех(даже если разработчики грамотные), и для того кто смотрит(будет больше знать в проекте) и для того кто посылает(взгял "свежим" глазом).
А как разрабатывать на таких языках. Браузер выкенет ошибку яваскрипта и как понять где в коде дарта ошибка?
У Dart есть своя ВМ, браузер и среда разработки. У TypeScript не понятно, хотя наверняка тоже что-то подобное имеется.
Source maps
Тайпскриптовский код очень прозрачно преобразовывается в JS, и соответствие с первого взгляда видно. Ну и да, карты.
Будешь разрабатывать - поймешь
думаю что так же, как и дебажить склейку из нескольких файлов, используя sourceMap
Проблема гугла, которая их погубит рано или поздно, это тотальная жавамания. Они хотят чтобы все стало джавой и не видят более перспективных альтернатив
> Проблема гугла, которая их погубит рано или поздно, это тотальная жавамания. Они
> хотят чтобы все стало джавой и не видят более перспективных альтернативЗдрасте. А Go, по твоему, не гугл поддерживает?
руки прочь от JavaScript!!!
Правильно - лопатой его, лопатой!
Мне одному кажеться идиотизмом желание превратить JS в Java?? Ведь на самом деле JS более чем хорош, а ECMAScript 6 воплотит ну уже все мечты в реальность, зачем делать из высокоуровнего, динамического языка, УГ похожий на Java?Что бы продуктивно писать на JS нужно хорошо усвоить что такое BDD, не программа должна думать за вас, а вы за программу в момент её написания!!
>кажется
Вот бы нормальный дартовский модуль к апачу и пхп можно закапывать.
> Вот бы нормальный дартовский модуль к апачу и пхп можно зaкапывать.Лучше это сделать с апачем. Ибо нафиг-нафиг этот тормозной утюг.
>Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.Ох уж эти C'like синтаксисы. Тянут ради жертв импринтинга, чтоб продукт хавали и не возникал диссонанс. Еще одно "хавайте наш язык, он у нас почти как прежний, только с блэкджеком и разумеется".
чем тебе не угодил си-лайк синтаксис? на мой взгляд он самый удобный и практичный
> чем тебе не угодил си-лайк синтаксис? на мой взгляд он самый удобный
> и практичныйэто просто потому, что ты привык. а на мой, например, взгляд — Smalltalk куда как понятней.
народ зачем нужен openldap?как на сервере дл всех субдоменов сайта сделать единную авторизацию и генерацию почтовых ящиков
Опять эти { } скобочки! Всех их авторов - в пекло! Пусть там сидят и закрывают свои многочисленные }}}}}}}} в условной математической модели мира! Человек не должен быть рабом скобочек!COFFEESCRIPT ДОЛЖЕН СТАТЬ СТАНДАРТОМ!
YAML рулит
если мне понадобится дерьмо, на котором программируют при помощи пробелов, то я знаю, где скачать whitespace. но за несколько десятков лет ни разу не понадобилось.
запомни, буратина: пробел может являться разделителем. но двадцать пять пробелов перед токеном — это то же самое, что и один пробел.
> запомни, буратина: пробел может являться разделителем. но двадцать пять пробелов перед
> токеном — это то же самое, что и один пробел.всё нормально и наглядно видно. в отличие от бесящих скобочек, за которыми ещё следить надо
вот скобочный цикл - он ненагляден, потому что нельзя сразу взглядом сказать, что мы закрыли. а оступный - очень нагляден, потому что сразу видно, ЧО.
я тоже думал, что это неюзабельно, поэтому больше на ruby поглядывал. но один раз случайно вкатился, и теперь не представляю, что может быть лучше этого.
это неюзабельно. а делать произвольные отступы никто не запрещает нигде, кроме фортрана, кажется.впрочем, гвидобейсик на то и гвидобейсик. у вас же метапрограммирование не в почёте, поэтому вы и фапаете на свои пробелы.
В башке у кого-то бейсик, вот везде бейсик и мерещится.Какая связь метапрограммирования (семантического преобразования) с синтаксисом вложенных конструкций?
> Какая связь метапрограммирования (семантического преобразования) с синтаксисом вложенных
> конструкций?самая прямая: генераторы писать геморройней. а доступа к AST'у нет.
Спасибо, не надо. Как стандарт пусть будет lua.
А вообще, байткод вместо языка решил бы все проблемы.
…но добавил бы вместо них свои. Как Java-апплеты. Или Adobe Flash. Нафиг-нафиг.
> …но добавил бы вместо них свои. Как Java-апплеты. Или Adobe Flash. Нафиг-нафиг.как будто «код, скомпилированый в javascript» сильно читаемый. корреспондент выше правильно пишет про байткод. html и css, кстати, тоже в бинарной скомпилированой форме стоит передавать — это сразу уберёт все непонятки с парзерами и «кривые страницы». как скомпилировал — так и будет выглядеть везде.
> Спасибо, не надо. Как стандарт пусть будет lua.почти согласен, но нумерация элементов массивов с единицы таки раздражает.
Тогда почему не squirrel? Нумерация массивов там с нуля, да и синтаксис будет меньше раздражать алголофобов.
> Тогда почему не squirrel?а не помню уже. чем-то оно мне не понравилось.
В будующем кодеры должны быть театром одного актёра. Может быть 2-х. Кукольный театр. А главное - все должны быть уверены, что пользуют действительно мощную технологию. Сон разума такой. Да, очень просто - в пару кликов создать сайт весом в мегатонну. А кодить то особо ничего ненадо - всё есть в гугло либах. Просто ссылочку прописал и опа - у тебя всё что надо. Как в волшебном чемодане. Только чемодан, увы не ваш.
> В будующем кодеры должны быть театром одного актёра. Может быть 2-х. Кукольный
> театр. А главное - все должны быть уверены, что пользуют действительно
> мощную технологию. Сон разума такой. Да, очень просто - в пару
> кликов создать сайт весом в мегатонну. А кодить то особо ничего
> ненадо - всё есть в гугло либах. Просто ссылочку прописал и
> опа - у тебя всё что надо. Как в волшебном чемодане.
> Только чемодан, увы не ваш.а ещё в будущем русский язык будет не в почёте... :(
> а ещё в будущем русский язык будет не в почёте... :(к сожалению, это уже настоящее.
TypeScript новый костыль без решение кординальных проблем