Hacker News new | past | comments | ask | show | jobs | submit login

Indeed VBA is a very curious phenomenon. It is cool from the retro-lover point of view (and nostalgia makes me enjoy having to code it occasionally in the real life) yet a horrible atavism from the modern developer point of view. The built-in code editor is not much smarter than Notepad is and the language itself is a ridiculous cargo-cult-level OOP imitation with no real OOP nor functional (wouldn't these be of great use in Excel?) concepts, just a slightly face-lifted QBasic capable of defining simple algorithms and interfacing native code. I can hardly understand why it still hasn't been phased-out and replaced with Python or something like that.



Yet despite all that VB6 and VBA are very productive, inexperienced users can get things done and experienced users can get things done quickly.


Why? It (VB6) was the first language I've learnt and I have had a lot of fun coding it as a kid (so I can think in it and have no bias against it) yet I don't understand how can it be considered productive or any good at all compared to Python or even JavaScript. One can probably say that Python and JavaScript are more complex and harder to learn - I would disagree: everything you can code in VBA can be coded in Python or JavaScript in the same manner, with the same simplicity and ease, conscious usage of concepts that can be considered advanced and/or tricky for non-programmers to undetsatnd is optional. What part other than the fact it doesn't ever change or that it reminds them about their childhood actually makes people like VBA?


It was the one tool there that I got a warm "man, I could crank some code with that". All the others were cognitively heavy and I could just feel the mental effort. It has a laser like focus on getting a usable app into a user's hands with minimum fuss - wysiwyg and zero pretension.

Drop a button, double click, cursor will be at correct location in generated hook, write your code code, ship it. The experience in Python/js just can't compete to that.

I sure have complained about VB and for certain types of code it would be a nightmare but I've also shipped it. It gets something right that the mathematisation of programming misses time and again and is in denial that it matters.


Because it's not for programmers, it's for IT-savvy accountants.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: