Страницы: 1
RSS
JavaScript + Office: будущее и настоящее, Обречён ли VBA?
 
Подумал перенести это обсуждение сюда. :)

Итак, мы закончили на том, что якобы VBA будет продолжать существовать и что Apps for Office - это просто надстройка, а не замена VBA. У кого какая есть информация? Кто думает, что VBA надо заменить на JavaScript? В общем, все ваши мысли, так как MS открыто объявила, что жаждет shift'а!  :)
Изменено: Johny - 28.01.2013 09:13:28
There is no knowledge that is not power
 
Как в свое время ушел ДОС (мне, правда, в нем работать не пришлось), так уйдет (будет заменен на что-нибудь, более дружественное пользователю) и VBA. Imho.
 
Михаил С.
Согласен. Писать программы на VBA после написания на VB.NET не очень приятно. Нет делегирования, перегруженных методов... Да что говорить - в самом VBA проекте нельзя добавить свою папку (например, "Печать", "Отчёты", "Загрузки" ;) . Вот захотел я создать класс, и теперь весь код должен быть в одном файле, потом бегаешь глазами по этой лапше.  :)  А в том же VB.NET (реализовано в VB.NET 2005) есть так называемые Partial Classes - это когда код класса можно разбить на несколько файлов, а компилятор их потом собирает в один класс. Да чего говорить, ведь после VB6 был VB.NET 2002.  :)
Изменено: Johny - 28.01.2013 09:22:14
There is no knowledge that is not power
 
Johny, ну а в каких-нибудь ещё языках программирования есть то, чем в VB.NET и не пахло.
давайте закопаем VB.NET?

"страшилкам" про отказ от VBA уже немало лет.
это вовсе не означает, что они так и останутся "страшилками".
но это также не означает, что отказ будет резким-кардинальным в пользу чего-то иного (и только его).
скорее всего, всё будет постепенно развиваться в сторону упрощения интеграции чего угодно с чем угодно.

так что я сплю спокойно. ;)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет:
ну а в каких-нибудь ещё языках программирования есть то, чем в VB.NET и не пахло.
Саша, я привёл в пример VB.NET лишь потому, что других языков не знамо.  :)  Нет, ну давай писать на ассембелере! Я говорю про такие вещи, которые явно бросаются в глаза.
Я не говорю, что замена должна быть именно VB.NET (хотя переход с VBA на VB.NET был бы менее болезненным, хотя бы из-за синтаксиса). Я, конечно, за замену, но не на JavaScript, который и типов-то не имеет (полный late binding и интерпретация, как, впрочем, и VBScript).
Изменено: Johny - 28.01.2013 10:35:17
There is no knowledge that is not power
 
Цитата
Johny пишет:
Я, конечно, за замену, но не на JavaScript, который и типов-то не имеет
не переживай. Учи яваскрипт ) И взорви свой мозг ^__^
Цитата
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами
http://ru.wikipedia.org/wiki/JavaScript
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Саш, давай приведу пример. Вот начинающий программист пишет:
Код
var i = 1;
// Потом, где-то далеко-далеко в функции он пишет:
i = {}
// Потом опять где-то далеко-далеко в функции он пишет:
i = "s";

И теперь он ломает голову, какого-же типа у него переменная...
Да, VBA тоже позволяет это сделать, но можно и тип объявить (что я делаю всегда и всегда включаю Option Explicit), но каждый раз выверять, какой тип данных содержит переменная - это просто кошмар. Так что не думаю, что непрограммистам будет просто с типами данных.
А можно ли с помощью JS вызывать Win32 функцию? :)
There is no knowledge that is not power
 
Johny, наговнокодить можно на любом языке программирования.
Цитата
Johny пишет:
где-то далеко-далеко в функции
должна быть другая функция. Сколько кода и модулей класса надо создать в VB.NET, чтобы написать это
Код
var obj = {
    x: f unction() {
        var i = 1;
    },
    y: f unction() {
        var i = {};
    },
    z: f unction() {
        var i = '';
    }
};

obj.x();
obj.y();
obj.z();
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
а это?
Код
// создаем объект
var obj = {
    method1: f unction() {
        // do something
    }
};

// добавляем к нему еще один метод
obj.method2 = f unction() {
};
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Вот сколько:
Код
Class Obj
    Property x = F unction() 1
    Property y = F unction() New Object
    Property z = F unction() ""
End Class
Module Module1
      With New Obj
            .x()
            .y()
            .z()
      End With
End Module

Много? :)
There is no knowledge that is not power
 
Цитата
Johny пишет:
Много?
нет. Жду ответ на второй вопрос.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
идем дальше
Код
// вызываем функцию и передаем ей объект
foo({
    x: 0,
    y: 1
});

// вызываем функцию и передаем ей объект
bar({
    a: 0,
    b: 1,
    callback: f unction () {
        // do something
    }
});

function foo( args ) {
    // args.x = 0
    // args.y = 1
}

function bar( args ) {
    // args.a = 0
    // args.b = 1
    // args.callback() - запускаем переданную функцию
}
Изменено: nerv - 28.01.2013 17:33:18
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Присматривался к программированию OpenOffice, и сложилось впечатление что для совсем элементарных вещей типа Range("A1" ;) .value="Привет" нужно выписывать вырвиглазный код строк на 10, про события я воопще молчу - это что-то нечто монстрообразное. Теперь нас ждёт такое-же и для Office ?
Изменено: Столбенко Владислав - 11.03.2013 09:15:53
Страницы: 1
Наверх