@danielunderwood Having stayed late in the office many times debugging something that (once) ended up being a strange edge case in the codebase where a string was being passed in where it should have been a list, I don't think Python is production grade. It is my preferred language for prototyping and can work for small projects and small teams, but anything beyond that I think you should choose a language where it itself enforces some sanity.
Yeah that's one of the things that's hopefully caught by automated testing, but python does leave it up to devs to not make mistakes in a lot of cases. There is some type assertion support to help that in newer versions, but I've rarely seen that used
I'd say scripting doesn't care about structure/performance/documentation/importable libs and is more for one-off tasks...though a lot of ops people work off a large collection of scripts that are organized and documented well. Then there's "game scripting" that's it's own thing
I'd certainly say that bash is scripting. I have seen some all-bash programs, but that's kind of out there
If you write on your CV that you know Bash or that you know Python (without elaborating more) vs you write that you know Java or C++, I do assume in the latter case that you know about structure, whereas the former case anything goes.
You can certainly write good structure with Python, but you don't need to think much at all to get something to work because it in no way forces you to.
So if I write a PDE solver for my specific usecase where I know the boundary conditions etc etc, I'd write it in Python as a one off script. If I need it to work with a more general setup and thus do need to put more structure on it, I'd choose another language and it would need to be more rigorous.
And it is quite easy to make a dumb mistake in python, but in my case those have been acceptable things that hit an error reporting system and were fixed. If you were programming a pacemaker or rocket, it'd be a bit different. Though it's not necessarily any easier to make those mistakes than it is to get a bad memory access or memory leak in C++
Yeah runtime errors are a bit annoying (you can even get a NameError during runtime...though that has some special reasons with how python handles variables). C++ doesn't check that you've allocated memory to that pointer you're trying to access either though. And C will happily let you access any bit of memory as whatever structure you're trying with
Did you do interview challenges that were specifically C++ oriented and testing the knowledge of the language, or coded up general algorithm questions in C++?
Well it was a combination C++/Python thing that I could use either, but could choose what to use on each question. They didn't really test for language knowledge beyond knowing what was in the standard library
I think you should build AI that defines your strategy for you
Actually I think at a lower level, there are a couple companies that use AI for traditional project management. Don't really know much besides "someone is working on this" though