Python in use warning - Page 1
Forum section: electronics / general

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 12, 2021, 11:31:50 pm
content: I think there needs to be a " has a python dependency " warning on packages before installing packages. There's too many fckn dependencies and versions that break on embedded ARM systems with python.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 13, 2021, 12:11:36 am
content: Ouch, you seem angry.

author: ataradov
author_rank: Super Contributor
timestamp: November 13, 2021, 12:22:20 am
content: If you think so - go and implement it. Everyone else seems to be fine with that.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 13, 2021, 12:46:03 am
content: Ah, I take it you aren't familiar with NPM then?Tim

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 13, 2021, 02:58:23 am
content: Quote from: T3sl4co1l on November 13, 2021, 12:46:03 amNo, but I am now familiar with how to fix broken dependencies caused by very old python dependencies. Don't know why I assumes dependencies were checked before installing.

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 13, 2021, 09:11:50 am
content: Quote from: SiliconWizard on November 13, 2021, 12:11:36 amI feel python targets the lowest common denominator class of programmer. If your an idiot python's for you, moron, no problem python's got ya covered, lazy yup phyton your go to. Dependencies on old incompatible python RTE, missing dependencies, and zero error handling. grep -i phyton /var/crash/*.crash is now my first go to.apt-get update;apt-get upgrade;sync;rebootgrep -i phyton /var/crash/*.crashLinux used to be quick and easy for quick test installs. After today I'm done with testing on anything I don't have a pre-built image for.

author: Karel
author_rank: Super Contributor
timestamp: November 13, 2021, 09:25:32 am
content: Quote from: blacksheeplogic on November 13, 2021, 09:11:50 amThis

author: gmb42
author_rank: Frequent Contributor
timestamp: November 13, 2021, 02:01:46 pm
content: Quote from: Karel on November 13, 2021, 09:25:32 amSuch a shame the Python folks don't restrict use of the language only to those anointed from on high.If you don't like a programming language then don't use it, don't get bent out of shape on the internet about it.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 13, 2021, 02:05:31 pm
content: It's the most popular language for a reason. The simplicity of BASIC, with the power of... anything else today, with consistent syntax, plus it's compact, readily distributed, and only occasionally suffers dependency errors as you've unfortunately seen here.Same trigger back in the majority-C days, would you have made the same complaint? Bet you would.Blaming the language is a non sequitur.Tim

author: SL4P
author_rank: Super Contributor
timestamp: November 13, 2021, 08:30:32 pm
content: It’s going to die off like Pascal did…Very popular as a teaching language, but also carries the baggage of being interpreted.Popular, because every college course uses it - hence every ‘new’ programmer thinks it can do everything.It has some uses, but isn’t a system programming language, and certainly depends on the speed of the modern hardware.

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 13, 2021, 08:50:59 pm
content: Quote from: gmb42 on November 13, 2021, 02:01:46 pmThe problem is low skilled python programmers dick waving submitting code into releases. They don't have the skills to do the regression and release testing, all error handling is left up to crash, and the dependency checking makes assumptions. It comes down to they don't actually know what their code does because they strung a few verbs together and 99% of it is someone else code. shitty code built on top of shitty code.Every environment I set up yesterday for testing against had failures right from the install and all of them were python. Most removing the package got ride of the crash, one I had to fix a circular broken dependency and with one desktop issue I gave up and reinstalled. Base release code need a much better understanding of the code, this crap I had to deal with yesterday should all be in optional community releases packages.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 13, 2021, 09:50:22 pm
content: Well. Even if we try avoiding flamewars, Python's strong point is precisely that it is easy to use with a lot of existing libraries to tap into. So of course you'll find more people with low skills using it that some other languages which just can't be used effectively without significant skills.You'll also find skilled programmers using it, of course. But after that, it's all about the numbers.As some have said, if you don't like it, just stay away. That's mostly what I do. Unfortunately, this doesn't really go both ways: those using it, even when using it as if they'd be the only ones that would ever use their programs, tend not to keep them to themselves.Then yes, it's become so popular that sometimes you may not have a choice, and you're bound to be exposed to some tool written in Python sooner or later. That's when things start becoming annoying.

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 13, 2021, 10:07:12 pm
content: Quote from: SiliconWizard on November 13, 2021, 09:50:22 pmMy point is that your getting this poorly written code now just doing update/upgrade of base code. One of the big reasons in my mind is that we have got to a point where pretty complex programming is being done by code warriors with very little understanding of the actual code base and what it is doing. Without the base understanding the regression testing is poorly done as a result. I don't have to deal with this on Windows or proprietary OS releases or my own builds based on much older code bases. This is an achilles heel for Linux.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 13, 2021, 11:37:11 pm
content: Yeah ok sure.I was kind of interested in a reasonable discussion in this thread, but it's patently clear you don't want that. Oh well...Tim

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 14, 2021, 12:02:36 am
content: Quote from: blacksheeplogic on November 13, 2021, 10:07:12 pmWhile I mostly agree with your first point about testing, in particular regression testing, I have a harder time linking this to the second part, which is Linux vs Windows.Not sure what you mean exactly here and what the difference is, in relation to Python?One strong point of Linux, but which can also be its achilles heel for "regular" end-users is software distributed as source code. Of course it's a setup that's bound to get you more potential headaches for properly building software on a large number of different systems than just having binaries that are self-contained and that can run directly without having to mess with anything. But I'm not sure this is even what you meant, and then it would only be marginally related to Python.

author: Bud
author_rank: Super Contributor
timestamp: November 14, 2021, 12:17:03 am
content: What do you want from a language named after a clown show.

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 14, 2021, 12:34:01 am
content: Quote from: SiliconWizard on November 14, 2021, 12:02:36 amThe base release of Windows or other proprietary OS work out of the box for the most part and you can therefore develop and test plans. On Linux I'm spending more and more of my time fixing problems after updates the bulk of which have been done in python.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 14, 2021, 01:20:59 am
content: Quote from: Bud on November 14, 2021, 12:17:03 amWell, nah. The show is actually quite funny.

author: james_s
author_rank: Super Contributor
timestamp: November 14, 2021, 07:41:04 am
content: Quote from: T3sl4co1l on November 13, 2021, 02:05:31 pmThere's that old saying "A poor craftsman blames his tools."At my day job the back end of our product is all Python. I use the same language to write test automation scripts. The language is very easy to use, but plenty powerful in the hands of a really good developer.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 14, 2021, 06:07:08 pm
content: Quote from: james_s on November 14, 2021, 07:41:04 amYep!Quote from: james_s on November 14, 2021, 07:41:04 amNo doubt about that, and a corollary of the above old saying is that a good craftsman can do wonders with poor tools.

author: Kalvin
author_rank: Super Contributor
timestamp: November 15, 2021, 11:26:33 am
content: OP's issues are not related to Python as a language per se. There is a difference between Python as a language and Python's ecosystem(s) (with some poorly supported packages). Luckily there are lots of freely available, very well supported packages. Using these better supported packages is highly recommended. There is no reason to use unsupported or low-quality packages with broken dependencies.Not every hardware platform is well supported, or supported at all. Also, many packages are released as "works for me", so there is no guarantee what so ever for maintaining these packages in future. But it is not the fault of Python as a language.

author: BradC
author_rank: Super Contributor
timestamp: November 15, 2021, 12:15:48 pm
content: Quote from: SiliconWizard on November 14, 2021, 06:07:08 pmYep, a good craftsman knows both the limits of his tools and how to work around them.I now use Python often for rapid prototyping. I'd go as far as saying I even like it as a language. I've never met a language that didn't have some form of perversity that needed working around.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 15, 2021, 05:40:46 pm
content: Quote from: BradC on November 15, 2021, 12:15:48 pmI did quite a bit of PHP 3 through PHP 5 back in the day. Themagic quotesinanity, the oblivious approach to security... Ouch. And yet, my implementations didn't suffer from the otherwise typical bugs like malformed input exploits, path exploits with crafted URIs containing/../, and so on. I was very careful, and spent way too much time avoiding the pitfalls of the language, instead of leveraging the power of the language, because it was so full of pitfalls.In that regard, I'm much happier with Python, in comparison. At least with Python I'm not walking in a security mine field all the time. Python has its own drawbacks, but in my opinion, they pale in comparison.

author: Kalvin
author_rank: Super Contributor
timestamp: November 15, 2021, 06:41:36 pm
content: Quote from: Nominal Animal on November 15, 2021, 05:40:46 pmPython became much friendlier and more robust language after they introduced type hinting and type checking tools. Before type hinting it was really a pain trying to keep track of correct data types.Edit: Not to mention those countless times that I got bitten with the division operator / by dividing a variable containing an integer value with another variable containing an integer value, before they finally decided that the division operator / will produce a floating point result, and introduced proper integer division operator //.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2021, 06:44:28 pm
content: Quote from: Nominal Animal on November 15, 2021, 05:40:46 pmYeah, PHP is pretty horrible. But at least no one is trying to use it outside of generating dynamic web content. (That I know of anyway, because, you never know...)

author: Kalvin
author_rank: Super Contributor
timestamp: November 15, 2021, 06:55:06 pm
content: Quote from: SiliconWizard on November 15, 2021, 06:44:28 pmDid you know that it is very handy to use PHP as a C/C++ preprocessor and code generator ...

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2021, 06:58:52 pm
content: Quote from: Kalvin on November 15, 2021, 06:55:06 pmLooks like I was right about the "you never know" disclaimer.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 15, 2021, 11:07:41 pm
content: PHP is proof that programmers are not, in fact, rational beings; and may be, in fact, to a sizable extent, masochists.It's also proof that they can improve. PHP6 or 7 as I understand it, has mostly ironed out the cruftiest of crufts. Still tons of old code and applications floating around I'm sure, but it's progress at least.Tim

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2021, 11:51:13 pm
content: Quote from: T3sl4co1l on November 15, 2021, 11:07:41 pmMany programming languages are proof of that, actually. I don't know if it as much masochism as it is exacerbated subjectivism.Those "nasty" programming languages almost always originate in the mind of one programmer who subjectively created them with their own weird view of things. The masochist part is bunch of other programmers with a completely different mindset starting to flock to those languages. After which, popularity does the rest.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 16, 2021, 01:08:28 am
content: Of which PHP is pretty much the case study of that; it was originally a bag of tricks used by one guy, who put it online, then other people started using it, expanding it... and the rest is history. At least that's my understanding of it. Don't know enough about other languages actually to think of other cases; most common languages were at least designed a little bit, AFAIK (e.g. Java was made to be portable, and reasonable enough to work in).Or the counterexamples, which, I guess isn't so much "counter", as a generalization? Some of those early languages designed by committee (Ada? FORTRAN? I forget which was the most notorious) could just as well be subjective with respect to to the committee as a whole.Tim

author: blacksheeplogic
author_rank: Frequent Contributor
timestamp: November 17, 2021, 02:55:56 am
content: Quote from: Kalvin on November 15, 2021, 11:26:33 amThis plays a part as I only work with ARM but I've run into most problems since I've started to look at the desktops. I enjoy working with Linux on embedded ARM and I've spent many years working on Linux servers. But since starting to looking at the client desktop it's been very painful.I earn a large chunk of my income working in C# on Windows, although I dislike client side development it helps pay the bills and MSVS a pretty nice development environment. Sure it's not as customization as Linux but from a development perspective it's easier to work on. Maybe at some point I will come back to the Linux desktop but I can't afford to put the time into it right now. I'm not particularly interested in further developing a Linux client if I have to lock it down.