what is the fascination with Python ? ( CAUTION semi-programming rant )
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
jana_hus wrote:
why it needs "updating / upgrading " ?
I suppose that just because it is popular. There is more eyes that might find things to repair / people willing to do a new wrap around something or develope some new functionality.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
When I first encountered Python, we were still back in the days when there were people claiming that Python development were just soooo much faster, because you didn't have to wait for the code to be compiled before running. This was a very common argument in favor of interpreted languages way back to BASIC. Showing those people that pressing F5 gets the program running almost immediately after a code update has no impact. At one occasion, I showed one of those Python guys a compilation log showing that on our main compiler server, a complete rebuild compiled on the average 8 modules per second; it had no impact. I haven't been around Python code development for 3-4 years, but even then, a number of Pythogonists brought up this argument that you could just type and run, no waiting for compilation. This was particularly prominent among the juniors, two years earlier still in college. So it seems like universities and colleges push this idea that even incremental compiling, precompiled headers and similar speed-ups cannot possibly make compilation fast enough to be useful for development work. Truth is, of course, that Python has been high academic fashion for a number of years, and you don't risk your academic reputation by checking out un-fashionable alternatives, which might possibly indicate that high academic fashions doesn't match reality. It is much safer to run with the herd you are in.
Religious freedom is the freedom to say that two plus two make five.
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
I think it needs updating precisely because it's being used. New language features are added, etc. C# is onto version 10 or something now, so it's not just Python. My problem with Python is I believe that all my source code should be visible to the naked eye. Python breaks that rule by making whitespace part of the source code. That inspires violence in me. So I don't use it. And when I tell other people why they shouldn't use it, particularly for embedded systems, I just show them this: How fast is Python? - MicroPython versus C++ - YouTube[^] It even covers the issue of lack of decent python bindings for good libraries.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
-
When I first encountered Python, we were still back in the days when there were people claiming that Python development were just soooo much faster, because you didn't have to wait for the code to be compiled before running. This was a very common argument in favor of interpreted languages way back to BASIC. Showing those people that pressing F5 gets the program running almost immediately after a code update has no impact. At one occasion, I showed one of those Python guys a compilation log showing that on our main compiler server, a complete rebuild compiled on the average 8 modules per second; it had no impact. I haven't been around Python code development for 3-4 years, but even then, a number of Pythogonists brought up this argument that you could just type and run, no waiting for compilation. This was particularly prominent among the juniors, two years earlier still in college. So it seems like universities and colleges push this idea that even incremental compiling, precompiled headers and similar speed-ups cannot possibly make compilation fast enough to be useful for development work. Truth is, of course, that Python has been high academic fashion for a number of years, and you don't risk your academic reputation by checking out un-fashionable alternatives, which might possibly indicate that high academic fashions doesn't match reality. It is much safer to run with the herd you are in.
Religious freedom is the freedom to say that two plus two make five.
-
When I first encountered Python, we were still back in the days when there were people claiming that Python development were just soooo much faster, because you didn't have to wait for the code to be compiled before running. This was a very common argument in favor of interpreted languages way back to BASIC. Showing those people that pressing F5 gets the program running almost immediately after a code update has no impact. At one occasion, I showed one of those Python guys a compilation log showing that on our main compiler server, a complete rebuild compiled on the average 8 modules per second; it had no impact. I haven't been around Python code development for 3-4 years, but even then, a number of Pythogonists brought up this argument that you could just type and run, no waiting for compilation. This was particularly prominent among the juniors, two years earlier still in college. So it seems like universities and colleges push this idea that even incremental compiling, precompiled headers and similar speed-ups cannot possibly make compilation fast enough to be useful for development work. Truth is, of course, that Python has been high academic fashion for a number of years, and you don't risk your academic reputation by checking out un-fashionable alternatives, which might possibly indicate that high academic fashions doesn't match reality. It is much safer to run with the herd you are in.
Religious freedom is the freedom to say that two plus two make five.
trønderen wrote:
you could just type and run, no waiting for compilation.
Yup. Type. Run. And if you by happenchance execute the new code you just typed, discover the syntax errors at runtime instead of compile-time! :laugh:
Latest Articles:
A Lightweight Thread Safe In-Memory Keyed Generic Cache Collection Service A Dynamic Where Implementation for Entity Framework -
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
-
trønderen wrote:
you could just type and run, no waiting for compilation.
Yup. Type. Run. And if you by happenchance execute the new code you just typed, discover the syntax errors at runtime instead of compile-time! :laugh:
Latest Articles:
A Lightweight Thread Safe In-Memory Keyed Generic Cache Collection Service A Dynamic Where Implementation for Entity FrameworkMy "assembly language " mentor first lesson was how to write "modular" code - using subroutines. I do question the " code and run" approach because it . in MY opinion, leads to " let's try this" guessing - instead of spending productive time constructing solid code. (Besides "basic" was OK to use for years...) I do agree, it probably is OK approach when only few lines of "embedded" code are involved.
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
Lots of libraries, good for non-programmers to solve problems for academia, IT folks to automate stuff, non-programmers to program and programmers to do one off stuff. The AI stuff done by Chris uses python because there is a lot of image AI stuff available. I would guess that his alternative is a lot of time spent with C++ or C# or assembler. Don't know. I do know it works very well with BlueIris. I automated some backup stuff via a python script that uses robocopy to copy stuff to NAS and removable, sends emails based on results and then uses powershell to eject the removable. Why would I want to use something else? Well, most of it was done previously with VBScript. If you decide to hate python, you can easily jump all over the white space thing and the rules for tabs and spaces (piling on is fun). If you just want to solve a problem, you don't care. I tested some scripts for syslog servers, then converted to C# with some GUI. Handy and easy with all the libraries. Haters will hate, fanboys will worship, the rest of us just use whatever tool we think will get the job done. Applies to everything. Well, I did hate Fortran back in the day. :)
>64 It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
-
Lots of libraries, good for non-programmers to solve problems for academia, IT folks to automate stuff, non-programmers to program and programmers to do one off stuff. The AI stuff done by Chris uses python because there is a lot of image AI stuff available. I would guess that his alternative is a lot of time spent with C++ or C# or assembler. Don't know. I do know it works very well with BlueIris. I automated some backup stuff via a python script that uses robocopy to copy stuff to NAS and removable, sends emails based on results and then uses powershell to eject the removable. Why would I want to use something else? Well, most of it was done previously with VBScript. If you decide to hate python, you can easily jump all over the white space thing and the rules for tabs and spaces (piling on is fun). If you just want to solve a problem, you don't care. I tested some scripts for syslog servers, then converted to C# with some GUI. Handy and easy with all the libraries. Haters will hate, fanboys will worship, the rest of us just use whatever tool we think will get the job done. Applies to everything. Well, I did hate Fortran back in the day. :)
>64 It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
It is strange how different people feel about programming languages - I actually liked my programming time with COBOL
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
-
My "assembly language " mentor first lesson was how to write "modular" code - using subroutines. I do question the " code and run" approach because it . in MY opinion, leads to " let's try this" guessing - instead of spending productive time constructing solid code. (Besides "basic" was OK to use for years...) I do agree, it probably is OK approach when only few lines of "embedded" code are involved.
jana_hus wrote:
I do question the " code and run" approach because it . in MY opinion, leads to " let's try this" guessing - instead of spending productive time constructing solid code.
That is one major reason why I dislike interpreted languages so much. Especially in error handling: I have had a few crashes, leaving no traces of its cause, taking a lot of debugging to see that the crash was caused by a syntax error in that routine written to handle an error so it wouldn't lead to a crash.
(Besides "basic" was OK to use for years...)
I guess, but today I look back on my first programming language, proudly named Real Time Basic on a Univac 1110 mainframe, as little more than a toy language: E.g. at most 286 variables named A..Z and A0..Z9, plus 26 string variables A$..Z$. Fact is that it could be compiled, too! But compilation changed some semantics, especially regarding the file system: File references in a compiled program were absolutely bound to a specific catalog, while in interpreted programs, files where located in the running user's catalog. (This was by design.) But I did learn the basics of programming through that Basic, way back in 1975-1976.
Religious freedom is the freedom to say that two plus two make five.
-
When I first encountered Python, we were still back in the days when there were people claiming that Python development were just soooo much faster, because you didn't have to wait for the code to be compiled before running. This was a very common argument in favor of interpreted languages way back to BASIC. Showing those people that pressing F5 gets the program running almost immediately after a code update has no impact. At one occasion, I showed one of those Python guys a compilation log showing that on our main compiler server, a complete rebuild compiled on the average 8 modules per second; it had no impact. I haven't been around Python code development for 3-4 years, but even then, a number of Pythogonists brought up this argument that you could just type and run, no waiting for compilation. This was particularly prominent among the juniors, two years earlier still in college. So it seems like universities and colleges push this idea that even incremental compiling, precompiled headers and similar speed-ups cannot possibly make compilation fast enough to be useful for development work. Truth is, of course, that Python has been high academic fashion for a number of years, and you don't risk your academic reputation by checking out un-fashionable alternatives, which might possibly indicate that high academic fashions doesn't match reality. It is much safer to run with the herd you are in.
Religious freedom is the freedom to say that two plus two make five.
I'm thinking PL/1 and Pascal back in my early days. Had a contract that forced me to port perfectly good and functioning C code to Pascal. It was ugly.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
It is strange how different people feel about programming languages - I actually liked my programming time with COBOL
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
-
Lots of libraries, good for non-programmers to solve problems for academia, IT folks to automate stuff, non-programmers to program and programmers to do one off stuff. The AI stuff done by Chris uses python because there is a lot of image AI stuff available. I would guess that his alternative is a lot of time spent with C++ or C# or assembler. Don't know. I do know it works very well with BlueIris. I automated some backup stuff via a python script that uses robocopy to copy stuff to NAS and removable, sends emails based on results and then uses powershell to eject the removable. Why would I want to use something else? Well, most of it was done previously with VBScript. If you decide to hate python, you can easily jump all over the white space thing and the rules for tabs and spaces (piling on is fun). If you just want to solve a problem, you don't care. I tested some scripts for syslog servers, then converted to C# with some GUI. Handy and easy with all the libraries. Haters will hate, fanboys will worship, the rest of us just use whatever tool we think will get the job done. Applies to everything. Well, I did hate Fortran back in the day. :)
>64 It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
theoldfool wrote:
Lots of libraries, good for non-programmers to solve problems for academia, IT folks to automate stuff, non-programmers to program and programmers to do one off stuff.
As if that is something particular to Python? When you have to go outside the language itself to defend it, then I start questioning the language qualities. Isn't the language itself the essential when evaluating a language? It is OK after pointing out seven essential qualities of the language, not commonly found in other languages, to add: 'Besides, the ecosystem around the language is really strong, with lots of good languages'. Without stating a single unique (or rarely found) quality of the language itself, I might as well go looking for other ecosystems, preferably those adapted to several languages. It reminds me of the old Internet stack - OSI stack wars, essential in the 1990s: Neither during the network wars nor later have I found any person willing to argument in favor of the qualities of the Internet protocols as such. Sure, it was more widespread. Sure, you could get the specs for free. Sure, half of the protocol acronyms started with 'S', for 'Simple', suggesting that if a 3rd year college student couldn't implement it as a homework assignment, then the feature was not included in the protocol. (That has changed in recent years, though - there are reasons why TCP is provided with the OS!) Lots of other ecosystem arguments were brought fort in favor of Internet, but never the quality of the protocol design. I like dotNET for being language agnostic. You can create a library in any language for which there is a dotNET compiler - and that compiler is independent of the CPU, instruction set, addressing modes etc. An voila! The library is available for any other dotNET application development, regardless of programming language! A small reservation: As far as I know, Python is available for dotNet. I wouldn't at all be surprised if it requires its own Python libraries and can_not_ utilize standard dotNet libaries. That would be in the typical Python style - Python people traditionally insist on having their own sandbox, completely unwilling to make adaptions to the myriad of great libraries out there, and doing nothing to make these allegedly super great Python libraries available to anyone else. If you want to play in our sandbox, you must play Python, or get away from us and our sandbox!
Rel
-
ewww, that's gross. NSFW. :)
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
I wrote two COBOL programs in my life. They earned me a top grade on the COBOL exam. (At that time, Norwegian universities used a character scale from 1 to 6, with 1 corresponding to an 'A' - I got a 1.) The programming exercises through the COBOL course was not mandatory, and I didn't do a single one of them. But I did study the language, without practicing it. I also suspect (my memory is a little rusty) that this was an open book exam. In my archives, I have a photocopy of the preface to the COBOL-60 standard. It states that with COBOL, there is no longer a need for specialized training in programming. You just write down the operations to be performed in a slightly formalized English. 20 years later, that gave us a good laugh, but there is a point to it: You could understand a lot of the program logic without a PhD or Master in programming. Maybe not even a Bachelor! In a code review, even an accountant worker or warehouse worker might object: But that is not how we do it! - whether referring to calculations or flow. Even C was far less readable for a non-programmer than COBOL was. And modern C++ code is almost impossible to read even if you have a Master or PhD in programming. That's how we want it! COBOL didn't have the qualities required for a tribal language, comprehensible only to the initiated ones. C++ does.
Religious freedom is the freedom to say that two plus two make five.
-
theoldfool wrote:
Lots of libraries, good for non-programmers to solve problems for academia, IT folks to automate stuff, non-programmers to program and programmers to do one off stuff.
As if that is something particular to Python? When you have to go outside the language itself to defend it, then I start questioning the language qualities. Isn't the language itself the essential when evaluating a language? It is OK after pointing out seven essential qualities of the language, not commonly found in other languages, to add: 'Besides, the ecosystem around the language is really strong, with lots of good languages'. Without stating a single unique (or rarely found) quality of the language itself, I might as well go looking for other ecosystems, preferably those adapted to several languages. It reminds me of the old Internet stack - OSI stack wars, essential in the 1990s: Neither during the network wars nor later have I found any person willing to argument in favor of the qualities of the Internet protocols as such. Sure, it was more widespread. Sure, you could get the specs for free. Sure, half of the protocol acronyms started with 'S', for 'Simple', suggesting that if a 3rd year college student couldn't implement it as a homework assignment, then the feature was not included in the protocol. (That has changed in recent years, though - there are reasons why TCP is provided with the OS!) Lots of other ecosystem arguments were brought fort in favor of Internet, but never the quality of the protocol design. I like dotNET for being language agnostic. You can create a library in any language for which there is a dotNET compiler - and that compiler is independent of the CPU, instruction set, addressing modes etc. An voila! The library is available for any other dotNET application development, regardless of programming language! A small reservation: As far as I know, Python is available for dotNet. I wouldn't at all be surprised if it requires its own Python libraries and can_not_ utilize standard dotNet libaries. That would be in the typical Python style - Python people traditionally insist on having their own sandbox, completely unwilling to make adaptions to the myriad of great libraries out there, and doing nothing to make these allegedly super great Python libraries available to anyone else. If you want to play in our sandbox, you must play Python, or get away from us and our sandbox!
Rel
I wasn't trying to defend anything. Just expressing my opinion and usage. Like I said, the haters will pile on. :)
>64 It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
-
I wasn't trying to defend anything. Just expressing my opinion and usage. Like I said, the haters will pile on. :)
>64 It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
Please note that there is an ocean between criticism and hate. I claim my full freedom to criticize both Python and other phenomena, without being called a 'hater'. (I know of nations that accept no critical remarks to their foreign policy, without labeling as 'hate' of the population of the nation, but here, we should try to act as professionals and accept disagreements. I even claim my right to dislike some phenomenon without therefore being labeled as a 'hater' of it.
Religious freedom is the freedom to say that two plus two make five.
-
I wrote two COBOL programs in my life. They earned me a top grade on the COBOL exam. (At that time, Norwegian universities used a character scale from 1 to 6, with 1 corresponding to an 'A' - I got a 1.) The programming exercises through the COBOL course was not mandatory, and I didn't do a single one of them. But I did study the language, without practicing it. I also suspect (my memory is a little rusty) that this was an open book exam. In my archives, I have a photocopy of the preface to the COBOL-60 standard. It states that with COBOL, there is no longer a need for specialized training in programming. You just write down the operations to be performed in a slightly formalized English. 20 years later, that gave us a good laugh, but there is a point to it: You could understand a lot of the program logic without a PhD or Master in programming. Maybe not even a Bachelor! In a code review, even an accountant worker or warehouse worker might object: But that is not how we do it! - whether referring to calculations or flow. Even C was far less readable for a non-programmer than COBOL was. And modern C++ code is almost impossible to read even if you have a Master or PhD in programming. That's how we want it! COBOL didn't have the qualities required for a tribal language, comprehensible only to the initiated ones. C++ does.
Religious freedom is the freedom to say that two plus two make five.
what you just wrote is priceless historical knowledge. I mean that sincerely. I was deep down in the bowels of a system I inherited that just did not work. The COBOL code had to call a C routine to interface with ACMS (we're back to Digital Equipment). Damn code would not work. Then I realized the COBOL code was passing a "1" as an ascii "1" and not 0x01. This happened: Man destroys computer - YouTube[^] :) IT comes down to understanding the system and the background, so I agree with you.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
I do not get the proliferation of Python "software" , mainly because almost every time I "update / upgrade " Ubuntu I see lots of Python activities. If it is so popular, why it needs "updating / upgrading " ?
Python is popular because - it is user-friendly: tab vs. space is matter of life and death, case sensitive, uses == as 'equal' - it is finance-friendly: no fixed-point datatype