Excel team considering Python as scripting language: asking for feedback
81–90 of 280 posts
Re: Excel team considering Python as scripting language: asking for feedback
#82Earlier quoted context omitted.
I disagree. Python is great for scripting and for small projects, but I believe strong, static typing is an essential feature for large scale projects. I wouldn't want to use Python for anything that's predicted to end up with more than a couple thousand lines of code.
This is to script spreadsheets, not build the next Netflix. I would hate a typed language in there. Besides most static typing systems are ridiculously weak and introduce more headaches than they actually solve.
E.g. Go (and I still love Go, but it's pretty weak...)
Re: Excel team considering Python as scripting language: asking for feedback
#83Earlier quoted context omitted.
I disagree. Python is great for scripting and for small projects, but I believe strong, static typing is an essential feature for large scale projects. I wouldn't want to use Python for anything that's predicted to end up with more than a couple thousand lines of code.
> strong, static typing is an essential feature for large scale projects This is empirically false. There are (of course!) good reasons to consider static typing. But, in my experience, use of static typing has never been a first-order predictor of business or technology success. It's quite possible to build considerable value with, for example, a large Python 2.x code base. A fun, and tangentially related, talk: htt…
For example, nullability annotations reduce nil pointer exceptions.
Static typing removes the need to make certain typing unit tests, makes refactors easier to do in large code bases, makes it easier for compilers to generate faster code and so on. Think of them as compiler level linters.
Anyway, python has a static gradual typing mechanism. You should try it out :D
Re: Excel team considering Python as scripting language: asking for feedback
#84Re: Excel team considering Python as scripting language: asking for feedback
#85Henry Ford: "If I asked customers what they wanted, they would have said faster horses"
Steve Jobs: "A lot of times, people don't know what they want until you show it to them"
Seriously. Just build it and and make it great. When you can show that you can do amazing things with it, release it. The downvoters will also then adopt it, if you made it great.
Re: Excel team considering Python as scripting language: asking for feedback
#86Earlier quoted context omitted.
Given that there are literally thousands of huge projects using Python at massive scale and hundreds of kLOC, it's clearly not essential .
"50 million cigarette smokers can't be wrong!"
Re: Excel team considering Python as scripting language: asking for feedback
#87Earlier quoted context omitted.
Instagram would disagree with you. Seriously, Python is an absolute pleasure for managing large web projects and the lack of static typing has never been an issue for my company (spend the time writing tests instead!)
That's one thing I don't understand. The argument I hear against static typing is that it's too much work to write all this type metadata. But if you have to make up the lack of compiler checks with lots of tests for things that wouldn't require tests in a static language, we are not saving any work.
You're testing things that need testing either way, and incidentally also testing the types.
Re: Excel team considering Python as scripting language: asking for feedback
#88Earlier quoted context omitted.
Instagram would disagree with you. Seriously, Python is an absolute pleasure for managing large web projects and the lack of static typing has never been an issue for my company (spend the time writing tests instead!)
Yes let's waste our companies time and money by writing tests for things the compiler could guarantee for free!
Anyway, I doubt that a VBA replacement would need types. The use case is small scripts.
Re: Excel team considering Python as scripting language: asking for feedback
#89Earlier quoted context omitted.
I disagree. Python is great for scripting and for small projects, but I believe strong, static typing is an essential feature for large scale projects. I wouldn't want to use Python for anything that's predicted to end up with more than a couple thousand lines of code.
I agree and I would add to that that many users of these scripting tools in Office are novice, and dynamic typing makes the language non self-discoverable. Static typing lets the IDE give a lot more feedback on invalid syntax, what can be done from there, etc. So I think this is a disservice we make them.
Not everyone likes IDEs (Emacs and VIM are still by far superior to many) and not everyone wants to deal with all the extra code and boilerplate and ad-hoc data classes that comes with static typing, to name a few.
Dynamic languages have faster iteration times and from experience that can yield higher quality software. They're easier to fit in the functional paradigm, better to model data transformations, and a bunch of other goodies.
You can't judge something without taking into account the context in which its used. And for scripting something like Excel dynamic is clearly superior.
Re: Excel team considering Python as scripting language: asking for feedback
#90Earlier quoted context omitted.
I disagree. Python is great for scripting and for small projects, but I believe strong, static typing is an essential feature for large scale projects. I wouldn't want to use Python for anything that's predicted to end up with more than a couple thousand lines of code.
Last time I saw the Bank of America python codebase, it had ~6 million lines of code, was worked on by about 4,000 developers, and ran some core, performance critical functionality. Python programming is an aesthetic that needs learning. Many of the worst written, and least maintainable python codebases I've seen are by programmers/teams coming from "proper" languages and don't think they have to learn how to write i…
"So, the sad thing is that these poor folks worked much, much harder than they needed to, in order to produce much more code than they needed to write, that then performs much more slowly than the equivalent idiomatic Python would."