Re:HTTPS-Portal: Automated HTTPS server powered by Nginx, Le...
by bpizzi on Friday September 14, 2018 @05:58AM
(#17985985)
> Yes; with Python, you can both run directly from source without wasting time compiling after each change
As I said, interpreted languages have their uses, of course. My initial point was about delivery to end users.
Re:HTTPS-Portal: Automated HTTPS server powered by Nginx, Le...
by icebraining on Friday September 14, 2018 @07:12AM
(#17986295)
And my point, which you cutoff early, is that with Python you can have both.
Re:HTTPS-Portal: Automated HTTPS server powered by Nginx, Le...
by bpizzi on Friday September 14, 2018 @08:27AM
(#17986682)
Yes, you can have everything in every language. After all it's turtles all the way down.
What makes us successful as software engineers, in the end (and IMHO), is the efficiency level at which we reach our goals. To my eyes, when deliverability is the goal, then a language where native (cross)compilation is first class citizen is the most efficient path. But don't get me wrong, Python is really great and still a good choice for that scenario (I'm thinking of dropbox, for ex).
Re:HTTPS-Portal: Automated HTTPS server powered by Nginx, Le...
by ric2b on Friday September 14, 2018 @12:19PM
(#17988490)
But setting up a build system is a tiny part of time it takes to finish a project, so why would it be a major factor when choosing a language?
Re:HTTPS-Portal: Automated HTTPS server powered by Nginx, Le...
by bpizzi on Saturday September 15, 2018 @03:29AM
(#17993399)
Mainly because I currently work on long term projects, building entreprise grading systems. Here you want simple, dumb technologies for which you'll still be able to put up build OS in the years to go.
Which is exactly how it works in Python.
I'm pretty sure too I'll very quickly run into dependencies hell by picking randoms ruby/python programs. Just take a look at that SO question:
That SO question is about a tool for "setting the environment on the right compiler binary and retrieving dependencies". But you can also do it manually just fine; that's how I usually did it, in fact. Just retrieve the dependencies to a directory and call Python with PYTHONPATH set to it.
Pyenv is essentially the same as Go's new modules tool, it's just not called through the same binary as the interpreter/compiler.
Interpreted languages have their uses, of course, but there's a clear difference in both ease of deployment and development between the realms of interpreted languages (Ruby/Python/PHP/etc.), VM/IL/JIT based languages (JVM/.NET/etc.) and 'plain old' compiler based languages (C/C++/Rust/Go/etc.).
Yes; with Python, you can both run directly from source without wasting time compiling after each change, or you can produce a standalone binary (dependent only on libc) for distribution, using a tool like PyInstaller. Plain old compiled based languages are much more limited.