THis. I think the type hint system adds so much visual noise it starts to look like perl. When an attempt to build huge (100k+) project with Python failes, it is not because of the duck typing, but simply because Python is not designed for such use cases.
> When an attempt to build huge (100k+) project with Python failes, it is
...because the skills of programmers and other employees hired for this were inadequate. That's it.
It's true for everything. It is possible - and it was demonstrated many, many times - that you can develop huge code bases and successful projects in basically every language in existence, including Asm, PERL, PHP, JavaScript, C, Visual Basic, Cobol, Lisp, Fortran, Prolog and so on. Obviously also including Python.
So if your project, in Python, breaks down above some number of LOC, it's, unfortunately, yours, and only yours, responsibility. Your architecture and/or programming skills were simply not up to the task.
Is it easier to write huge projects in some languages than in other? Yes, of course. Is that difference big enough to justify the claim that it didn't work "simply because Python"? No, not at all.
We almost switched to go at my little startup mostly because of gokit but the syntax is so abhorrent at least to me. I am glad we didn’t. I know it’s peobably stupid to make such a choice but programmer happiness for me comes in part to the syntax and cleanliness of the code. Something I didn’t see in Go
C# and Dotnet 2.1, the CTO and another senior dev have years of pro experience with it. I am learning the repository method and such, pretty neat stuff. It compiles to native (which I want to play around with in a lambda setting). The stack is dotnetcore 2.1, c#, k8s, etc., on AWS. Pretty boring stack I guess.
I like C#. I spent a year-ish writing a lot of it and it felt like we produced easy to understand and maintain code. I think the MS/Linux divide is probably the biggest reason more people don’t use it.
I’m not the person you’re asking, but C++ has been the language easiest for me to manage larger projects in. Additionally, the focus on duck typing, generics, and containers makes it a natural language to port to from Python.
I like writing C++ just fine, but managing dependencies drove me crazy. Am I missing something there? When I want to do something simple like import an HTTP lib and make some requests it always feels like a hassle and half the time I get some weird linker error.
I effectively use github as a package manager. I place all dependencies as submodules and handle building the ones which need compilation in my Makefile. Most of the time it works, but boost libraries which aren’t header-only are an absolute nightmare, so I avoid those.
Okay I’m glad to hear that I’m not the only one who found complicated boost libraries to be a total mess. I spent a while banging on managing those. Header-only libraries tended to just work for me.
I actually used Boost for a project, but I only needed header files for the subset I was using. I made each of these a submodule as in [0] and was able to benefit from Boost without all the pains of linking.
So before deciding you can’t use it, see if there’s a way to make it header-only.
That can’t be true. YouTube and some parts of Google run code with substantial python code bases and that was likely written in python 2 and without type hints. Sure they’re refactoring and such today but still