Poll

Do you like Python?

Yes, I love it.
22 (24.2%)
Yes, I like it.
24 (26.4%)
No, I don't like it
17 (18.7%)
No, I hate it.
14 (15.4%)
No opinion, indiferent
11 (12.1%)
I refuse to answer
3 (3.3%)

Total Members Voted: 90

Author Topic: Python becomes the most popular language  (Read 105914 times)

0 Members and 1 Guest are viewing this topic.

Online jfiresto

  • Frequent Contributor
  • **
  • Posts: 853
  • Country: de
Re: Python becomes the most popular language
« Reply #950 on: October 26, 2022, 03:41:44 pm »
It seems that they are working on solving one of the problems that "worry" so much about Python, its slow speed....
One way the Python developers are doing that is by no longer supporting direct but infrequently used possibilities. For example, the documentation for exec() added that it may only be given a plain (not subclassed) globals dictionary. It appears I am partly and indirectly responsible for the restriction. :(
-John
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #951 on: October 26, 2022, 04:33:21 pm »
It appears I am partly and indirectly responsible for the restriction. :(
What did you do?  :D

That said, I do like how one can easily restrict the interfaces available (including restricting which built-in functions are available) for evaluating user inputs by supplying carefully constructed globals and locals dictionaries to eval(): it can be made quite robust and yet still effective, especially for stuff like allowing (numeric) expressions in (number) input fields in user interfaces.

I don't see any real downsides in my use cases for having to use a dict() instance instead of ones own subclass, so the restriction doesn't affect my use cases, but that's of course no indicator that such use cases do not exist.
Did you have one (with a dict-derived subclass), or was it due to discussions with the developers?  (I'm just being nosy.)
 

Offline ve7xen

  • Super Contributor
  • ***
  • Posts: 1194
  • Country: ca
    • VE7XEN Blog
Re: Python becomes the most popular language
« Reply #952 on: October 26, 2022, 05:35:09 pm »
So the same will happen with Python. But currently, its proponents are eagerly trying to push it to almost anything conceivable, going out of their way to try and find new applications for it at all costs. That's not sane and it will definitely not last - it never has in the past. If it does last, then we are in a seriously troubled period IMO. (Which uh, we are indeed, though.)

I am curious where you get the impression that this is not due to merit, but proponents 'pushing' the language to places it doesn't belong? Who are these proponents, and what is their motivation? From my view in the industry, it seems very apparent that this is organic growth because it is a useful language for many purposes, and those using it are naturally carrying their knowledge and experience with it to parallel domains. There is of course a snowball aspect of it where popularity begets popularity, but I really find it hard to see a vast conspiracy to push Python down people's throats - believe it or not, people actually enjoy using the language and get lots done with it.
73 de VE7XEN
He/Him
 
The following users thanked this post: newbrain

Online jfiresto

  • Frequent Contributor
  • **
  • Posts: 853
  • Country: de
Re: Python becomes the most popular language
« Reply #953 on: October 27, 2022, 09:24:43 am »
It appears I am partly and indirectly responsible for the restriction. :(
What did you do?  :D

Oh, I submitted a bug report, which the developers addressed by fixing the exec() docs rather than exec()'s behavior.

I had been using a subclassed dict to journal exec()'s global variable accesses while running tests of a set of requirements. The idea was that, using the journal, I could then roll back the System Under Test that caused a failure to the first errant state – and to shortly before. I write "could" because as an expedient (as in, shoot the engineer and ship it), I had been using the journal data to produce a focused dump of the proximate failure state and then manually rolling back the SUT with an existing GUI. That worked from Python 2.5 through either 3.6 or 3.7.

Someone subsequently had trouble accepting the restriction on exec(), filed a bug report and was told that it would not be fixed because having exec() check for a subclassed dict slowed down global accesses too much. I think the issue could be resolved to everyone's satisfaction, but need to try and submit some patches to prove that.
« Last Edit: October 27, 2022, 09:32:14 am by jfiresto »
-John
 
The following users thanked this post: Nominal Animal

Online jfiresto

  • Frequent Contributor
  • **
  • Posts: 853
  • Country: de
Re: Python becomes the most popular language
« Reply #954 on: October 27, 2022, 09:49:11 am »
So the same will happen with Python. But currently, its proponents are eagerly trying to push it to almost anything conceivable, going out of their way to try and find new applications for it at all costs. That's not sane and it will definitely not last - it never has in the past. If it does last, then we are in a seriously troubled period IMO. (Which uh, we are indeed, though.)

I am curious where you get the impression that this is not due to merit, but proponents 'pushing' the language to places it doesn't belong? Who are these proponents, and what is their motivation? From my view in the industry, it seems very apparent that this is organic growth because it is a useful language for many purposes, and those using it are naturally carrying their knowledge and experience with it to parallel domains. There is of course a snowball aspect of it where popularity begets popularity, but I really find it hard to see a vast conspiracy to push Python down people's throats - believe it or not, people actually enjoy using the language and get lots done with it.

I agree. The idea of compulsive Python pushing seemed to me like a straw man. I remember people in its early days telling me that Python was a lot of fun but knowing it would not do anything for your resume. Some days I wish that were still true. I am half tempted to start a thread about why I like Python: to help people decide for themselves and perhaps lead some to the fun Assuming it is still fun – my mind may have become so happily warped I can no longer see how bad it is.
-John
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #955 on: October 27, 2022, 11:22:10 am »
Just look at C. While it's still hugely popular if you consider its age, it is now restricted to niches (embedded software, maintenance of existing Linux/BSD/.. software, Linux kernel...) No one is currently trying to push it to be used universally for all purposes. Same for all other currently used programming languages. If that was once the case, the fad has passed.

So the same will happen with Python. But currently, its proponents are eagerly trying to push it to almost anything conceivable, going out of their way to try and find new applications for it at all costs. That's not sane and it will definitely not last - it never has in the past. If it does last, then we are in a seriously troubled period IMO. (Which uh, we are indeed, though.)
Years ago, when Microsoft wasn't behaving nearly as well as they are now, Ubuntu started including applications written in .net in default packages (some audio player or something).  For several reasons (especially the patent issues – Microsoft and its partners claim patents on the underlying Common Language Infrastructure, and have only promised to license it on RAND terms and not for free, so there are no guarantees Microsoft will not try to go after you on patent infringement if you do something they don't like), I was very unhappy and worried.  (Again, this was at an era when Microsoft was still heavily into EEE.  They've changed a lot since.)

It is a very similar situation: like you said, a fad.  As long as it is the proponents pushing stuff they develop themselves, let them.  It is only if they start demanding others (especially companies) provide stuff written in that specific language or that specific framework, it gets really dangerous.

(Besides, whenever you start getting directives from the Cxx level as to which tools you must use, I'd say it is high time to switch jobs, because such companies do not tend to live long.)

As with Python, .net and Mono have settled down in their niche.  There are those who happily use them, and those who prefer to avoid them, for various reasons.  The fad will mostly calm down, and settle down to new developers discovering the New All-Purpose Hammer, and pushing it as the greatest invention since sliced bread.  (Actually, they're rarer than you think.  It is more visible only because of the current Social Media amplifies such inane messaging to the extreme.)
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1017
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #956 on: October 28, 2022, 04:35:49 pm »
For me personally, Python has been a lot of fun ever since I discovered it 16 years ago. Back then Perl was more known as a scripting language, I used for some text scripts only AWK, and Python was not as well known as it is now.
When I started programming in Python I discovered a new way of doing things, really productive and fun. It allowed me to easily make scripts to validate other programs, to make data listings with templates, and to perform aggregate calculations from PLC data.

I am convinced since then that if you don't like Python you don't know it well.
« Last Edit: October 28, 2022, 04:37:27 pm by Picuino »
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 4217
  • Country: nz
Re: Python becomes the most popular language
« Reply #957 on: October 28, 2022, 09:42:02 pm »
I am convinced since then that if you don't like Python you don't know it well.

That is unassailable.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14883
  • Country: fr
Re: Python becomes the most popular language
« Reply #958 on: October 28, 2022, 10:59:42 pm »
This is getting better and better! :-DD
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7938
  • Country: de
  • A qualified hobbyist ;)
Re: Python becomes the most popular language
« Reply #959 on: October 29, 2022, 04:13:17 pm »
I am convinced since then that if you don't like Python you don't know it well.

Works also for other programming languages! >:D
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #960 on: October 29, 2022, 05:11:32 pm »
I have always found it useful to look at lists of fallacies and lists of cognitive biases, and compare to my own thinking and deduction methods, to see which ones I'm currently making.  We humans are not rational by nature, we only are capable of it, and only if we work hard at it.

While I do consider Picuinos assertion irrational, I also see it as perfectly human and honest – and honesty is always commendable. :-+

As someone working on their own cognitive biases and tendencies towards certain fallacies, I won't pile on; and will only say that self-introspection and analysis of my own biases has helped me become more useful, more effective, and more capable of rational logic and thought.  I consider it just another form of testing ones own mettle, if you will; character-building, if nothing else.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 27332
  • Country: nl
    • NCT Developments
Re: Python becomes the most popular language
« Reply #961 on: October 29, 2022, 05:44:41 pm »
I am convinced since then that if you don't like Python you don't know it well.
You have to understand that there is a difference between not liking something and finding something actually usefull. Or put differently and more to the point: Python has strengths that make it useful for some purposes (cobble up a demonstrator / scripting) and weaknesses (poor distributability of applications).
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline MikeK

  • Super Contributor
  • ***
  • Posts: 1314
  • Country: us
Re: Python becomes the most popular language
« Reply #962 on: October 29, 2022, 06:10:58 pm »
I am convinced since then that if you don't like Python you don't know it well.

I try to stay away from black-and-white philosophies.  Somebody could know Python very well and not like it.  Somebody could argue that making programming easy for non-programmers just attracts the wrong kind of people to programming.  Just as many experienced embedded programmers may use Arduino at times, but Arduino creates a large number of people who don't have the discipline to do real embedded programming and just want to have something to brag about and convince people that they're "awesome".  Someone having Python on their resume (CV) impresses me not one bit.
 
The following users thanked this post: Karel, cfbsoftware, SiliconWizard

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #963 on: October 29, 2022, 06:15:37 pm »
weaknesses (poor distributability of applications)
For my use cases, slow I/O (compared to other programming languages) and lack of true multithreading (multiple concurrent Python threads in the same process) are a bigger drawback.  On the other hand, Python works really well for me for building user interfaces, on top of compiled, dynamically linked native code.

Everything is a tradeoff, because the universe of things to do is too complex for any single language to describe efficient solutions efficiently in.
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1017
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #964 on: October 29, 2022, 06:26:56 pm »
Somebody could know Python very well and not like it.
Ok, you are correct. I'm sure there are cases like that.

I will therefore limit myself to describing only my experience, not that of others.

Works also for other programming languages! >:D

That is something that has not happened to me. At least not in Pascal, nor in C, nor in JavaScript.

Something similar happened to me with AWK. I really liked it from the beginning and it was a lot of fun to quickly make some macros to create aggregated results from data in text files. But Python definitely surpassed it by far.
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1017
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #965 on: March 14, 2024, 02:58:12 pm »
March 2024

"""
March Headline: The gap between Python and the rest has never been that large
February has been a very quiet month for the TIOBE index. The only interesting notes are that Python is now 4.5% ahead of the rest, Scratch reentered the top 10, and Rust keeps climbing. --Paul Jansen CEO TIOBE Software
"""

https://www.tiobe.com/tiobe-index/

Python, against all odds and despite all its weaknesses, continues to maintain "popularity".
Congratulations to those of us who like Python.


EDIT: https://github.blog/2023-03-02-why-python-keeps-growing-explained/
« Last Edit: March 14, 2024, 03:25:08 pm by Picuino »
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14883
  • Country: fr
Re: Python becomes the most popular language
« Reply #966 on: March 17, 2024, 06:26:44 am »
Does that make you feel fuzzy inside?
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 4217
  • Country: nz
Re: Python becomes the most popular language
« Reply #967 on: March 17, 2024, 07:12:27 am »
Does that make you feel fuzzy inside?

Sheep are fuzzy on the OUTside :p
 
The following users thanked this post: Ed.Kloonk

Offline coppercone2

  • Super Contributor
  • ***
  • Posts: 9919
  • Country: us
  • $
Re: Python becomes the most popular language
« Reply #968 on: March 17, 2024, 07:30:33 am »
Someone should invent the mongoose programming language
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #969 on: March 17, 2024, 07:41:12 am »
I'm actually concerned about the effect of Python's popularity to its future direction.

It was when PHP tried to please everyone and cater to the non-technical users (see magic quotes for example) that it started down the road towards the messy hell it is today.

When humans are involved, it is the squeaky wheel that gets the grease.  So, if the language developers start getting demands from tens of thousands of nontechnical users, they will focus on their complaints more than to the much fewer well-thought out cases with practical reasoning.  Just like in the movie Idiocracy, this kind of catering to popularity will lead to the crapification of the language.

As a language, it is already teetering a bit on the edge.  The artificial separation between 'bytes' and 'strings' makes its I/O very slow.  Proper multithreading seems very difficult to achieve.  The saving grace is the ease at which one can interface to native libraries via the ctypes module, without any modifications or particular requirements for the native library.  I will use Python (especially for user interfaces) for as long as it makes sense, and not a second longer.
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6450
  • Country: ro
Re: Python becomes the most popular language
« Reply #970 on: March 17, 2024, 09:18:13 am »
I know what would beat Python in popularity.  A language with an easy GUI included.  Something where you draw the windows and buttons with a mouse, and then right click on them to attach text code to GUI events.  Having in mind the VB6 style from Microsoft, back in the 90s.  I was having no problems writing code+GUI for VB6 20 years ago (without any training), but I struggle with anything GUI today, even after taking various classes and tutorials about GUI in python.

The way one slaps a GUI nowadays seems very unnatural.  Write your code first, then start the GUI at the end, and no way to execute the lines following after that  :-//  seems ugly AF for non-programmers.  The other alternative is to learn pygame or some other game developing platform, which is a big sidestep when all I want is a simple GUI with a couple of buttons and indicators in it.  The other method I've seen (and tried once or twice) is Qt.  Nice, but huge and very cumbersome, not for beginners.  Even if I manage to do something with Qt, till next time I'll forget most of it, or the Qt version will change and have to start anew.

Another thing I wish from Python (and any other programming language) is to produce self contained code, as in no dependencies.  I want to have one file, and run it today, or in 20 years.  Won't mind if the executable packs itself in a container, or in a small virtual machine, but I want to be able to run the same code now, or 20 years from now without any hassle.

Lifespan of code has become as short as only a couple of months.  If you try something from 5-10 years ago, chances are it won't install, it won't run and/or it won't even compile without putting a fight.  We live in the age of disposable code.  Run once, then update 2GB.  >:(

Speaking of python, each time I use pip, it tells me to update pip 'cause there's a new pip version.  Can't people make their mind about what pip should do, and how should do that, standardize, then implement once and forget about it for the next 20 years?  Apparently this is not possible any more.  Why?  (pip is just a random example about a sw development trend, so far pip worked very well for me, thank you all for keeping it running)
« Last Edit: March 17, 2024, 09:23:14 am by RoGeorge »
 

Offline pcprogrammer

  • Super Contributor
  • ***
  • Posts: 3991
  • Country: nl
Re: Python becomes the most popular language
« Reply #971 on: March 17, 2024, 09:45:49 am »
I know what would beat Python in popularity.  A language with an easy GUI included.  Something where you draw the windows and buttons with a mouse, and then right click on them to attach text code to GUI events.  Having in mind the VB6 style from Microsoft, back in the 90s.  I was having no problems writing code+GUI for VB6 20 years ago (without any training), but I struggle with anything GUI today, even after taking various classes and tutorials about GUI in python.

The way one slaps a GUI nowadays seems very unnatural.  Write your code first, then start the GUI at the end, and no way to execute the lines following after that  :-//  seems ugly AF for non-programmers.  The other alternative is to learn pygame or some other game developing platform, which is a big sidestep when all I want is a simple GUI with a couple of buttons and indicators in it.  The other method I've seen (and tried once or twice) is Qt.  Nice, but huge and very cumbersome, not for beginners.  Even if I manage to do something with Qt, till next time I'll forget most of it, or the Qt version will change and have to start anew.

That is what bothers me too. On Windows with visual studio, when I was still using it like over 10 years ago, it was possible to draw up a GUI and then implement the code in C++ for it. No idea what it is like now. On Linux I have tried Qt and others but they never did what I wanted it to do, so I wrote my own directly on top of X11. There is no graphical design entry, but at least the code remains the same, and I know how it works. No need to yet again learn how a new version of Qt does it now.


Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2338
  • Country: gb
Re: Python becomes the most popular language
« Reply #972 on: March 17, 2024, 10:02:32 am »
I know what would beat Python in popularity.  A language with an easy GUI included.

I still maintain an application I wrote almost 20 years ago in Borland C++ Builder. It's actually quite refreshing going back to it. It's a 220MiB install and the IDE starts up in approximately one second and runs fine on Win10. Drag drop UI elements, easy access to properties and handlers, it's a breeze. No, it's not cross-platform but it doesn't need a bloated runtime interpreter either. The output exe's are tiny and fast. Old compiler though.

If only there were a C++ equivalent of Lazarus, which basically the same IDE but targeting delphi.
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1017
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #973 on: March 17, 2024, 10:19:56 am »
C has been standard for decades (if we take C99 as standard) and this is a great advantage that unfortunately Python does not have. I also hope that the popularity of the language will not lead it to get lost.
In the Tiobe index Visual Basic still appears in the 10th place. For making simple GUIs it was unbeatable.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6514
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #974 on: March 17, 2024, 10:42:29 am »
A language with an easy GUI included.  Something where you draw the windows and buttons with a mouse, and then right click on them to attach text code to GUI events.
The reason why that does not exist, is the differences in existing native GUIs.  Creating an abstraction layer that covers them all is pretty damn difficult.  Even details like the visual box model (margin-border-padding-contents) differ.

Python does have Tcl/Tk (tkinter and tkinter.ttk) "built-in" (although usually requires a separate download, for example python3-tk; tkinter.ttk is the themeable version).  You might wish to try that and Don Rozenberg's PAGE, a "Visual Basic-style Tkinter GUI generator".
It generates the Python code for the Tkinter UI.

I prefer to use Qt Designer (Qt5) or Glade (Gtk3), saving the XML .ui description as a file, and building that at run time, with automagic name-based event handler association.  It means the UI editor generates absolutely no code at all.  I do need to give each interactive user interface element an unique ID, to make the name-based event handler association to work.  (The simplest scheme is uniqueID_eventname, using only case-sensitive letters, digits, and underscore, possibly using a simple map from uniqueID and eventname to function-name.  Both also support CSS for styling the interface.)  I avoid setting/using sizes in pixels, because they clash with different-DPI displays.

I struggle with anything GUI today, even after taking various classes and tutorials about GUI in python.
Most of them are crap, written by learners not understanding the underlying reality (especially across different operating systems), enthusiastically telling others to follow in their footsteps, not seeing the inevitable brick wall looming a couple steps further.

A good tutorial would start by describing the limitations and differences in the different toolkits, then describe what widgets are, then what difference does code-based versus XML description make.  Then, one could go into layout and display widgets, events/signals, event handling, and sane processing of data related to events (you don't do heavy computation in an event handler, because that causes the UI to freeze; you need to use either an idle handler that only does a bit of work at a time, or better, a separate worker thread that uses a thread-safe queue to talk to the UI thread).  Most of those is the same for Gtk and Qt. 
 
The following users thanked this post: RoGeorge


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf