Live data from Hacker News

Will VBA Die? (2019)

thespreadsheetguru.com

111–120 of 170 posts

Re: Will VBA Die? (2019)

#111
post #40

Earlier quoted context omitted.

Agreed. JavaScript has no real upside here besides being fashionable. whereas built-in C# with access to the .Net framework would be really powerful.

Comparing javascript to C# is really not appropriate here, for so many reasons. I do think you know the main differences between interperated, transpiled and compiled for starters, but the "right tool for the job" is far more important. Being fashionable is also not exactly fair, it was very flakey before jQuery created some entry level standard, because of its popularity it grew to what it is today, if thats 'fashio…

> Comparing [JavaScript] to C# is really not appropriate here, for so many reasons. I do think you know the main differences between [interpreted], transpiled and compiled for starters...

Are you saying there is a fundamental difference between JavaScript and C# in this regard? I don't think there is.

Each language has a compiler that compiles source code to bytecode. Each has an interpreter that can directly execute that bytecode, and a Just In Time compiler that can compile the bytecode into native machine code.

These languages, along with Java, are pretty much identical with regard to these distinctions.

Transpiled and transpilation are ugly and unnecessary words. They are just a fancy way of saying compiled and compilation.

Some make a distinction between a transpiler and a compiler; however this is a distinction without a difference. A compiler transforms source code into object code. The source code or the object code may be a "low level" language like bytecode or machine code. Or either may be a "high level" language.

For example, TypeScript has a compiler that compiles TypeScript code into JavaScript. [1]

The original implementation of C++ was Cfront, a compiler that compiled C++ code into C code. [2]

For that matter, "machine code" on modern CPUs is a high level language of its own, which bears little resemblance to the low level operations that happen within the CPU.

[1] "The command-line TypeScript compiler can be installed as a Node.js package." https://www.typescriptlang.org/

[2] Personal discussion with Bjarne Stroustrup on BIX around 1985 when I called Cfront a "preprocessor" and he chewed me out and told me it was a compiler just like any other compiler. Also: "Cfront was the original compiler for C++... which converted C++ to C" https://en.wikipedia.org/wiki/Cfront

Re: Will VBA Die? (2019)

#112

I wish Microsoft would just make a CSA already, c# for apps. This would be a huge win on so many fronts that I am shocked they havent done it already. Increase C# mindshare. Better Lang means a better ecosystem. It's a free win. It's also an ad for office. I started appreciating Outlook and Excel once I had vba filters and maps

Yeah, and considering that the .NET 5 runtime will run in WebAssembly this is quite interesting. Maybe they are porting VBA libs to .NET. Then C# and VB.NET can pick up.

Or they do the real deal: Port VBA to .NET ... that however, would be a little bit difficult to explain with VB.NET in place as well ;)

Re: Will VBA Die? (2019)

#113
VBA was the first environment/language that I professionally used at the beginning of my career. It was so efficient to navigate in an environment that had 1000s of Excel files. I did not realise how fast I could develop the things needed to be done.

Re: Will VBA Die? (2019)

#114
VBA was my entree into professional programming and I'm not ashamed to admit it. I enjoyed using BASIC to solve my own problems (games) as a kid, but VBA showed me how fun it was to solve other people's problems.

Re: Will VBA Die? (2019)

#115
Some points:

* I guess with Office365, JavaScript makes some sense, but why not just go VBA to WebAssembly?

* What about the Python rumors a couple years ago?

* I should probably turn my NecroVisualBasiCon library into A book. If you use the Access.Application library, right-click and toggle the hidden members, that COM object has a few extras like loading/saving objects from the VBProject that make e.g. git integration feasible.

* VBA does an outstanding job of providing 80% of what you want and no more.

Re: Will VBA Die? (2019)

#116
> one of the easiest coding languages to learn if you don’t have a computer science background

Really? A language that has values passed by value, values passed by reference, references passed by value and references passed by reference? (And both late and early binding, and auto-boxing with all kinds of mysterious type-conversions, etc. and so on. And default properties.)

What makes it easy for beginners is the integrated environment, which is also what makes it difficult for more experienced programmers as it doesn't integrate with their version control system and other common tools.

Re: Will VBA Die? (2019)

#117
post #63

Nah... why should it? It works and it does what it needs to do and more if you decide to hook into the Windows API or Mac’s API. Want to parse 500mb structured XML file? Okay. Takes 3 seconds or so. I had a lot of fun creating a full featured & modern look & feel application using Excel’s VBA runtime as my platform. Sure... I had to create everything from scratch, but learned so much while doing it. Kind of miss it a…

I know many non-technical people love VBA because it empowers them to do cool things, especially in Excel. However, there is a no smaller number of people who view VBA as a necessary evil, because they are forced to do programming and they are not programmers. It's also well-known that VBA macros written by non-professional programmers tend to become a cumbersome, unreadable, unmaintainable mess. My favorite case is when VBA is used to insert complex multi-line formulas in a spreadsheet, run calculations, then do it again with another set of formulas.

I believe, VBA will remain as a general purpose language for long time, but it will be partially replaced by tools that are purpose-built for tasks such as data preparation. We've seen it with EasyMorph (https://easymorph.com), a visual data preparation tool we've created exactly for heavy Excel users without a technical background. It works very well for them and we get a lot of praise for it. If this approach works for data preparation, probably it will work for other types of automation too.

Re: Will VBA Die? (2019)

#118
post #97

Earlier quoted context omitted.

The great thing about standards is that there are so many to pick from. What is the difference between what you are imagining and Java or python?

I guess I'm talking about a domain-specific language. Something where you only articulate business processes and formulas, and nothing more. Java and Python are programming languages. You use them to tell a computer what to do. Whereas this would be a representation language. You'd be able to carry that representation around with you and drop it into different programming contexts.

You should look at Sqlite, not just as a portable business environment, but as a data format and deployment format.

Re: Will VBA Die? (2019)

#120
post #93
post #63

Nah... why should it? It works and it does what it needs to do and more if you decide to hook into the Windows API or Mac’s API. Want to parse 500mb structured XML file? Okay. Takes 3 seconds or so. I had a lot of fun creating a full featured & modern look & feel application using Excel’s VBA runtime as my platform. Sure... I had to create everything from scratch, but learned so much while doing it. Kind of miss it a…

Problem is that VBA in its current shape doesn't work for webbased Excel. Microsoft started with attempting to support Javascript based add-ins [0]. However, they those are of course light years behind in terms of API support. Never even mind that on the desktop Excel the javascript runs in the Internet Explorer engine (of all things, not even the EdgeHTML engine). [0] https://docs.microsoft.com/en-us/office/dev/add-…

the last thing of your sentence isn't true anymore: https://docs.microsoft.com/de-de/office/dev/add-ins/concepts...

it really depends on your platform/version. Keep in mind that they try to use chromium in 2020.

Post reply on HN