Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> недостатки JavaScript, предлагаю собрать коллекцию :) 
:(
    Опции темы
Sardar
Дата 18.2.2006, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Код с эффектом копирования обьектов между тредами здесь:
http://forum.vingrad.ru/index.php?showtopi...st&p=648667


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
regis
Дата 26.2.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 12.12.2005
Где: Москва, Россия

Репутация: нет
Всего: 7



Дискуссия была интересная, и по ее итогам родился серьезный вопрос. Кто-нибудь из посетителей форума реально хочет поучаствовать в разработке и тестировании нового скрипт-языка? Уточню, впрочем, что к JavaScript он относится очень отдаленно -- значительно больше он поход на Perl и LISP.

--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой.
PM MAIL WWW   Вверх
Alx
Дата 26.2.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



regis,
кто он? его что - уже кто-то разрабатывает?

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


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 26.2.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Alx @ 26.2.2006, 13:31 Найти цитируемый пост)
а вот расширить JavaScript каким-либо образом

Как ты себе это представляешь? Почти у всех браузеров своя реализация JS, со своим особым API, расширить это не реально, да и пользоваться не будет.

regis, давно планы вынашиваю , сделать язык похожий по мощам на Python, но с C подобным синтаксисом. Язык общего назначения, "полу-скриптовый", т.е. как в .Net JIT компиляция с кешем и статистикой заложена в дизайн движка. Чем больше изучаю питон и расширения к нему, тем больше убеждаюсь н сколько мощен движок, хотя почистить его от эволюционного мусора стоило бы smile

Открывай топ здесь. Дай название топу подобное "Идеальный скриптовый язык, каким его видим?". Соберём опыт воедино.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
regis
Дата 27.2.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 12.12.2005
Где: Москва, Россия

Репутация: нет
Всего: 7



@Alx: да, разрабатывают (и не "кто-то", а я сам ;) ). Более того, простой интерпретатор этого языка уже вполне работает (хотя баги еще ловить и ловить...)

@Sardar: рад буду обменяться опытом (хотя с питоном я знаком довольно плохо).
Где-то через недельку-другую попробую выложить то, что наработал, и тогда открою тему.

По поводу расширения JavaScript: Alx, наверное, имел в виду подключаемые извне модули с "родным" кодом? Впрочем, мне тоже не вполне понятно, зачем это нужно, и, главное, кто этим будет пользоваться...


Это сообщение отредактировал(а) regis - 27.2.2006, 15:25
--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой.
PM MAIL WWW   Вверх
Alx
Дата 27.2.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Sardar, regis,
честно говоря, я не задумывался, как это будет осуществляться, но мне показалось, что это легче, чем писать новый язык... smile


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 18.3.2006, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



кстати обзывание параметров по умолчанию делается очень просто с помощью || или ?.

покажу наглядный пример, где мне их пришлось даже комбинировать:

функцию можно вызывать 3-мя способами:

Код

rand() // возвращает Math.random() , число от 0 до 1
rand(max) // возвращает дробное число от 0 до max (вкл.)
rand(min,max) // возвращает дробное число от min до max (вкл.)


а вот функция:

Код

function rand(mn,mx)
{   var rnd = Math.random();
    var min = (mx ? (mn || 0) : 0); // если P2 есть, то P1 (или 0, если P1 нет). иначе - также 0.
    var max = mx-1 || (mn ? mn-1 : 0); // если P2 есть, то P2. иначе - если есть P1, то P1, если нет - 0.
    if (max == 0) return rnd;
    return ((rnd * (max - min + 1)) % (max - min + 1) + min);
}



--------------------
PM MAIL WWW ICQ   Вверх
12345c
Дата 28.3.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Свежий пример "недостатка" от большого ума, наверное. IE и FF имеют свойство "подскролливать" ползунок окна, если они посчитают, что появившийся в окне слой того заслуживает. Алгоритма и возможности его отмены, естественно, никакого. Пришлось перехитрить - подождать маленькое время, а потом установить скролл по-своему (в задаче с подкруткой окна в область демонстрации слоя.

--------------------------------

Невозможно выделить selection в IE в слое, расположенном ниже конца документа (иначе, как через Select All).

Это сообщение отредактировал(а) 12345c - 29.3.2006, 03:03
PM WWW   Вверх
S.A.P.
Дата 29.3.2006, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Вот еще пару недостатков, не так давно для меня всплывших:
---
нельзя остановить программу и дождаться каких - нибудь событий аля WaitForSingleObject()
---
очень скудные регулярные выражения
---
может что - то недопонял, но не придумал как передать переменную по ссылке
---

Это сообщение отредактировал(а) S.A.P. - 29.3.2006, 07:30
PM MAIL   Вверх
Sardar
Дата 29.3.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(S.A.P. @ 29.3.2006, 06:28 Найти цитируемый пост)
может что - то недопонял, но не придумал как передать переменную по ссылке

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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
mus
Дата 3.8.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 22.5.2005

Репутация: нет
Всего: 1



Отсутствие (по крайней мере в книге Гудмана) конструкции elseif - вот это действительно страшно!!! =)
Шутим... =)
PM MAIL   Вверх
JSman
Дата 4.8.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 279
Регистрация: 10.7.2006

Репутация: нет
Всего: 4



чтобы передать переменную по ссылке, она должна быть объектом, а именно иметь тип Object. а для соэдания экземпляра некоторые объекты имеют метод типа createInstance() и тп
а говоря о регулярных выражениях, готов поспорить. просто строка поиска бывает  требует дополнительной обработки (например при поиске символа "а" в строке из юникода или в hex'e и тп.). ну Перл в этом вопросе рулит, даже по скорости
PM ICQ   Вверх
Sardar
Дата 4.8.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(JSman @  4.8.2006,  17:56 Найти цитируемый пост)
чтобы передать переменную по ссылке, она должна быть объектом, а именно иметь тип Object.

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

Цитата(JSman @  4.8.2006,  17:56 Найти цитируемый пост)
требует дополнительной обработки (например при поиске символа "а" в строке из юникода или в hex'e и тп.).

Не правда, приведи пример.

Цитата(JSman @  4.8.2006,  17:56 Найти цитируемый пост)
ну Перл в этом вопросе рулит, даже по скорости 

Не совсем правда, реги в JS железной либой реализованны, быстрые, но тут уж вопрос как либу разработчики браузера прикрутили. В любом случае микросекундой больше/меньше - юзер не заметит.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
S.A.P.
Дата 5.8.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Цитата(JSman @  4.8.2006,  18:56 Найти цитируемый пост)
а говоря о регулярных выражениях, готов поспорить

Рекурсивные шаблоны, соответствие/несоответствие с залядыванием назад, условные подмаски и много еще чего. Всего этого в JS - нет.

С переносами в обрабатываемой строке тоже не всё гладко.

Так что тут и спорить не о чем  smile .

Это сообщение отредактировал(а) S.A.P. - 5.8.2006, 09:24
PM MAIL   Вверх
JSman
Дата 5.8.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 279
Регистрация: 10.7.2006

Репутация: нет
Всего: 4



Цитата(S.A.P. @  5.8.2006,  09:23 Найти цитируемый пост)
Так что тут и спорить не о чем  


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


Цитата(Sardar @  4.8.2006,  19:26 Найти цитируемый пост)
Не правда, приведи пример

символ в формате ASCII  не найдешь в строке Юникод.
также есть проблема с локализацией.
допустим есть текст на греческом.
поиск идет с игнорированием регистра. большая ГАММА и маленькая ГАММА - разные вещи для регулярных выражений. не говорю о китайском.
ты должен обработать строку таким образом, чтобы она понимала язык.
Майкрософт решит эту проблему с помощью XML и JSCRIPT.NET. 

если не очень ясно написал, то дай знать. просто времени не было....
PM ICQ   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.