VisualBasic или JavaScript

  • Автор темы Автор темы GoldyZ
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

GoldyZ

Участник
Топикстартер
Сообщения
160
Реакции
0
VisualBasic или JavaScript?

Oleg Butrin сказал(а):
А VB по-любому толковее JS…
Очень неосторожное заявление.

Видимо пришла пора пофлеймить на тему из разряда PC vs. MAC etc.

Уважаемый Олег, в чем заключается "неосторожность" моего заявления? Какие преимущества JS перед VB Вам известны? Мое неосторожное имхо считает, что единственное (но очень важное) преимущество JavaScript – кроссплатформенность.

Недостатки JS и преимущеcтва VB

  1. Крайне скудные средства работы со строковыми переменными. Недостаток устраним единократным написанием нескольких строковых функций, аналогичных AscW, ChrW, InStr, Lcase, Ltrim, Mid, StrComp, StrConv, String, Ucase в VB, и последующим их использованием в проектах.
  2. Скудные средства для разработки сложных интерфейсов. Как, к примеру, в JS можно реализовать форму с несколькими вкладками (типа Сервис -> Свойства папки в эксплорере)? Не представляю, как это можно сделать.
  3. Невозможность обратиться к внутренним ресурсам документов msOffice непосредственно из скрипта.
  4. Открытость кода и невозможность слепить исполняемый модуль. Крайне существенный недостаток для разработчиков shareware-проектов.
  5. Невозможность обратиться из JS к огромному количеству библиотек, элементов управления и прочих ресурсов разработчика, доступных VB-скриптерам.
  6. Отсутствие собственной среды разработки и отладки для среды JS. Найти какое-либо свойство в Type Library Browser (вкладка OLE) в том же PrimalScript – крайне обременительно, вопреки простому, быстрому и информационному Проводнику Объектов в VB. Инструмент отладки в среде Visual Basic - Быстрый Наблюдатель существенно облегчает жизнь скриптера. Аналогичный инструмент для JS, встроенный в InDesign, явно уступает по функциональности.
  7. Anything else?

Отдельно замечу, что опыт работы в JavaScript состоит из написания одного-единственного скрипта. Не исключаю, что мои оценки крайне поспешны и заявления действительно неосторожны. Возможно, что все перечисленные недостатки побеждаются тем или иным образом. С удовольствием готов ошибиться, потому что преимущество кроссплатформенности JS, это действительно неоспоримое преимущество.

C уважением,
 
Ответ: VisualBasic или JavaScript

В качестве ремарки замечу, что зовут меня все же Олег :)
А теперь ваши претензии.
1. Большая часть названных функций работы со строками в JavaScript есть. Написать остальные - не составляет ровно никакого труда. Зато, в отличие от VB, в JavaScript есть функции сортировки массивов, для которых писать свои функции гораздо сложнее.
2. Аскетизм в интерфейсе полезен, даже в той крайне преувеличенной мере, в которой он сейчас присутствует - позволяет сосредоточиться на работе собственно скрипта. Не хвастаясь скажу, что минимально необходимый уровень интерфейса я могу сделать для любой поставленной задачи.
3. А в чем здесь, собственно, минус? Зато js-скрипты со 100%-й точностью одинаково работают в любой системе, где есть ID. Никто не обещал, что они будут делать все.
4. Ну не беру я денег за свои скрипты. Я вообще за программы с открытым кодом. Хотя, если у кого-то есть лишние деньги - приму с удовольствием.
5. См. пункт 3.
6. Я работаю в UltraEdit и не пользуюсь проводниками объектов. Документация у меня исключительно в виде pdf, причем используется редко. Объектная модель большей частью уже в голове.
7. Я уже неоднократно приводил примеры, которые могут быть выполнены на js, но не работают на vb.
 
Ответ: VisualBasic или JavaScript

А я как всегда займу соглашетельскую позицию :)
Я использую и JS, и VB.
VB тогда, когда нужно:
а) закрыть код от пользователя (см. семейство Zam'ов)
б) изгальнуться с интерфейсом, но это нужно не мне, а сторонним пользователям, когда пишу под заказ.

JS тогда, когда
а) нужно быстро написать скрипт в десяток-другой строк (пусть даже в сто) с минимальным интерфейсом или вовсе без оного;
б) нужно "откатать" технологию или идею;
в) написать непритязательному пользователю (см. пункт а).
 
Ответ: VisualBasic или JavaScript

Oleg Butrin сказал(а):
7. Я уже неоднократно приводил примеры, которые могут быть выполнены на js, но не работают на vb.

Ну естественно, написанное на яве в басике работать не будет. Если вы в том смысле что такую же задачу которая решена на яве нельзя решить на вб - то еще в аналогичном топике ( http://forum.rudtp.ru/showthread.php?t=4667 - автору: обратите внимание на чем замер тот топик) от вас так и не было получено такого примера.

Может быть вы здесь решитесь такой показать? - Хотя бы 1. Пример должен быть помещен в топик. Гоните код который невозможно переложить на басик.
 
Ответ: VisualBasic или JavaScript

Вы что, не понимаете что ли? - Люди сайты рисуют в Блокноте! Вот истинная доблесть. А вы им предлагаете за визуальный тул взяться: да они лучше им себе живот вспорят, чем святое дело писать в Блокноте предадут.

Этот мазохизм распространен. Есть те кто по пикселам картинку собирает, есть те кто по буквочкам программы пишет - все это возможно исключительно благодаря микроскопическим объемам создаваемой таким образом информации. Постскрипт тоже язык - почему бы из блокнота не выводить пленки?...
 
Ответ: VisualBasic или JavaScript

Дорогий CMYK, возродившийся под ником beespline, у Вас организм что ли такой, что Вы не читаете чужие постинги, а придумываете присутствующим некие мысли и слова, а потом активно с ними спорите?
Где сказано у Бутрина, что VB им категорически отвергается?
Где написано хоть одно слово о том, что он пишет в блокноте?
Видимо, Вам UltraEdit не ведом, а ведь он не так уж далек от Sapien PrimalScript...

примеры, которые могут быть выполнены на js, но не работают на vb
Ну естественно, написанное на яве в басике работать не будет.
И где написано, что js-скрипты в басике работать не будут?
А если будут? Спорить будем?
 
Ответ: VisualBasic или JavaScript

Oleg Butrin сказал(а):
7. Я уже неоднократно приводил примеры, которые могут быть выполнены на js, но не работают на vb.

Есть примеры которые могут быть выполнены на яве но не работают на вижуал басике.

Покажите один ТАКОЙ пример.
 
Ответ: VisualBasic или JavaScript

Слушайте, и вообще, а чего вы пасете этого парня? - Он что, сам за себя, за свои слова не может постоять? А?

Вы можете ответить: ПОЧЕМУ ВЫ ОТВЕЧАЕТЕ ЗА ЧУЖИЕ СЛОВА?

Или они вам не чужие?
 
Ответ: VisualBasic или JavaScript

Не чужие. Он мне почти брат.
К тому же он в отпуске, скорее всего не в городе.
 
Мануал по JS?

Oleg Butrin сказал(а):
Большая часть названных функций работы со строками в JavaScript есть. Написать остальные - не составляет ровно никакого труда. Зато, в отличие от VB, в JavaScript есть функции сортировки массивов, для которых писать свои функции гораздо сложнее.

А не подскажут ли уважаемые толковый мануал по JS, где все это описано? Убедительная просьба на яндекс не посылать - бешенное количество линков на различные руководства. Прошу ткнуть интерфейсом. Что выбрать?

Если существует какой-либо хороший справочник по JavaScript, то не стоит ли его выложить на indesign.rudtp.ru?

vbatushev сказал(а):
И где написано, что js-скрипты в басике работать не будут?
А если будут?

For example?! :eek:
 
Ответ: VisualBasic или JavaScript

Фор екзампл, говоришь? :)
Я не буду приводить полный код, но вот тебе кусочек кода и скрипта TextCleanup.vbs (набор примерных скриптов от Adobe), строки 39-44:
Код:
If Not (myFileSystemObject.FileExists(myFileName)) Then
         Rem Use a JavaScript to display an Open File dialog box.
	 myJavaScript = "myFile = File.openDialog(""Choose the file containing your find/change list"");app.activeDocument.insertLabel(""FindChangeFile"", myFile.fsName);"
	myInDesign.DoScript myJavaScript, idScriptLanguage.idJavascript
	myFileName = myInDesign.ActiveDocument.ExtractLabel("FindChangeFile")
End If
Вот с точностью до наоборот можно провернуть и в VBS.
Но! и это важно: VBS и JS должны запускаться из-под ID. JS, понятное дело, не какой-нибудь там, а диалект ExtendScript от Adobe.

Что касается толкового мануала, я собираюсь выложить то, что написал Олег о JS, а я о VBS, ну и прочую штуку о скриптописании :)
Могу лично тебе заслать его черновик по JavaScript (краткий экскурс в язык).
 
Ответ: VisualBasic или JavaScript

Спор напоминает вражду Кореловцев и Люстров. Глупо, неправда ли: ежели скрипт работает, какая на хрен разница, где он создан, если скрипт работает успешно?
Правда, есть робкое предположение, что те, кто пишет на Яве, много писали для web. (но ведь это не оскорбление, не так ли?)
Впрочем, когда вы кушаете в ресторане шикарнейшие блюда, вы же не интересуетесь, на какой плите это приготовлено, блондин ли повар или как кричал поросенок, когда его лишали жизни, дабы бы утолили свой голод?
 
Ответ: VisualBasic или JavaScript

Я не писал ни Яве, ни на Басике до ноября 2002 года, когда пошел в магазин за первой книжкой по VB. Хотя тыкался в разного рода системах CMS (системы управления контентом) типа PHP-Nuke, но тыкался тупо и ничего внутри не понимая, поэтому это несчитово.

Да и спора на самом деле нет. Я по крайней мере не чувствую особого дискомфорта ни с одним, ни с другим языком. Был конкретный вопрос от GoldyZ, был достаточно конкретный ответ от Бутрина и полный бред с наездами от beespline/CMYK.

Кстати, в VB.NET практически всё, чего не хватает в VB и присутствует в JS, присутствует. Минус только в необходимости для пользователя сказать почти 25 метров .NET Framework'а, чтобы попользоваться 100-килобайтным скриптом :)
 
Ответ: VisualBasic или JavaScript

vbatushev сказал(а):
Минус только в необходимости для пользователя сказать почти 25 метров .NET Framework'а, чтобы попользоваться 100-килобайтным скриптом :)

Не по теме:
Сей минус не существенен для обладателей новых карточек Matrox — .NET Framework устанавливается с диска с драверами.
 
Ответ: VisualBasic или JavaScript

И, возможно, будет несущественным после 2-го сервиспака.
Однако с мультиплатформенностью ситуацию это не разрешит :|
 
Ответ: VisualBasic или JavaScript

Два вопроса знатокам JavaScript (не будем показывать пальцами ;-).

1. Как возможно организовать progress bar средствами JS?

Через dialog не выходит, так как доступно только свойство show, а VB-аналог refresh отсутствует. Многократное использование show не подходит, так как каждый раз приходится топтать ok.

Более общий вопрос.
2. Каким образом можно менять содержимое диалога в зависимости от тех или иных действий пользователя?
К примеру, сделать недоступными какие-либо поля ввода, если пользовтель отмечает определенный radiobutton?
 
Однако с мультиплатформенностью ситуацию это не разрешит

.NET как раз и является разработкой, призванной решить эту проблему. Уже есть .NET под Linux, одидается для следующей версии MacOS.

В целом же склоняюсь к мнению, что главный недостаток JS - это, конечно, отсутствие равной VB по функциональности IDE.

Однако каждому своё.
 
Ответ: VisualBasic или JavaScript

GoldyZ сказал(а):
Два вопроса знатокам JavaScript (не будем показывать пальцами ;-).

1. Как возможно организовать progress bar средствами JS?

2. Каким образом можно менять содержимое диалога в зависимости от тех или иных действий пользователя?


Как мне в этом случае выполнить план, а стране - выйти из кризиса. И надо ли выходить... (c) Г. Хазанов.
Поставим ребро вопросом: а так ли необходимы данные опции, если относиться к пользователю скрипта, как к нормальному разумному человеку, который осознает то, что он делает?
 
Статус
Закрыто для дальнейших ответов.