One of us has spent the last three months trying to help their client untangle their massive python monolith that makes all their in house engineers quit.
Python is a good language for writing a data processing script, not for building a large piece of software.
Python is an overall robust language that allows you to do basically whatever you want, and does it pretty well. You can even use C extensions if you want to get peak performance.
The two domains that I believe Python cannot easily work with, are IoT where the interpreter would be a bit too cumbersome for a low-power system, and web programming, where it would still underperform Javascript and Webassembly (even though I am guessing that with a better webassembly support of the browsers, it would be possible to reach a rather efficient interpreter in-browser that would at least reach performances similar to javascript, if not better. And even if slower, the better syntax and lack of absurd rules would be a clear advantage on JavaScript).
<pre style="background-color:#ffffff;">
<span style="color:#323232;">Lol I was listening and intently considering what you had to say until this
</span><span style="color:#323232;"> point.
</span>
even though I am guessing that with a better webassembly support of the browsers
Considering V8 overcame python in benchmarks nearly a decade ago, I’m not sure even some miraculous webassembly environment would put python faster than javascript in the browser of all places.
V8 does not quite compete with the big guns in the space (C, Rust, Go), but now that it’s only 2-4x slower than C++, it’s created this niche of “almost hardcore fast” for javascript that is just unlikely to be dethroned any time soon.
People fail to quite get how many leaps and bounds V8 has taken in the last 10-12 years. Javascript’s reputation of being “scripting language slow” is simply no longer the case and hasn’t been for an entire Era in software terms. Reasonably-written Javascript is now often faster than heavily-tuned Python, and well-written javascript is faster than reasonably-written C++. It’s not necessarily fair (like comparing modern solar to nuclear, with the absurd amount of money that’s gone into solar research), but I don’t see it changing any time soon.
dont listen to them my friend. python sucks. the only reason to use it is the libraries. otherwise use lua if you want a similar scripting language that doesnt care if you forget a space key
sure, but for small simple things (eg. something otherwise done in shell scripting), it is convenient and very simple, with consistent syntax. dont get me wrong: i love compiled languages
I’m not too familiar with C, but I was under the impression that C++ was deceloped as a superset to C, and was capable of everything C could do. Is that not the case?
Every programming language is an abstraction layer between the programmer and the machine that will run the code. But abstraction isn’t free. Generally speaking, the higher the abstraction, the less efficient the program.
C++ optionally provides a much higher level of abstraction than pure C, which makes C++ much nicer to work with. But the trade off is that the program will struggle to run in resource constrained environments, where a program written in C would run just fine.
And to be clear, when I say “low-end hardware”, I’m not talking about the atom-based netbook from 2008 you picked up for $15 at a yard sale. It will run C++ based programs just fine. I’m talking about 8- or 16-bit microcontrollers running at <100 MHz with a couple of hundred kB of RAM. Such machines are still common in many embedded applications, and they do not handle C++ applications gracefully.
And speed too. A small program using only C features can compile 5x faster with a c compiler then a c++ one. (GCC will use c++ mode on a .cop file so make sure it is .c)
That’s true, but they’re working on an ABI implementation. It’s no mean feat with a language like Rust. A quick search around the Internet found various possible candidates, though many of the discussion threads have petered out.
Its cross-platform support (not just for using but also for building it) is not there yet, and it is quite huge and unstandardized with only one full implementation. I’d agree the last part will change with age, but given the frequent large changes and feature additions I am afraid it will be harder and harder and it is simply too complex and fast-moving for many low-level applications. It is closer to C++ than C in my eyes. I’d be happy seeing it replace C++ though for its memory safety benefits!
I wouldn’t say “need”, but there are possible improvements to ergonomics and safety that wouldn’t make the language itself more complex or high level. I think it does its job quite well though and will be here for decades to come.
Ada has been around since 1983 and is objectively superior. Yes I will die on that hill.
It’s too bad programmers are all such egotards they think they can write bugfree programs in C, while whining about how “restrictive” a safe language like Ada is.
Jeez this is so true. I struggle daily to stay on top of the code and docs I have to review, answer people who are pinging me in slack, and being in meetings… I want to actually get some shit done!
lemmy.ml
Hot