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 102177 times)

0 Members and 2 Guests are viewing this topic.

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1766
  • Country: br
Re: Python becomes the most popular language
« Reply #50 on: October 08, 2021, 01:46:11 pm »
One of my major concerns about python (and in general about scripting languages) is how difficult is to distribute programs made with it. Not being able to generate an executable (or a similar package to a Java .jar) using just the official tools makes it hard for users without any knowledge about computers to install and run them.
Additionally, as it does not have a proper standard like C or Ada, its semantics change too fast leading to a significant amount of breaking changes between versions. As a result, you end up having to install different versions of python to be able to execute each program

TRUE.

So does JAVA. So does Python ..

And so does C++  with way too fast changes in C standards..
The STL and template became a fast  mess of incompatible things..

PERL and Ruby are far more easy to deploy because they are
- clever in all aspects of POSIX structure
- far more suited to long term results instead of newbie appeals
- much more clever keeping rolling releases in MINOR not in MAJOR versions

The folks behind them are real world sys admins and developers.. not first time scripters.

C can be orders of magnitude easier to keep and deploy than C++ just by not having that way bloated standards..

Paul
« Last Edit: October 08, 2021, 02:10:56 pm by PKTKS »
 

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #51 on: October 08, 2021, 01:59:19 pm »
One of my major concerns about python (and in general about scripting languages) is how difficult is to distribute programs made with it. Not being able to generate an executable (or a similar package to a Java .jar) using just the official tools makes it hard for users without any knowledge about computers to install and run them.
Additionally, as it does not have a proper standard like C or Ada, its semantics change too fast leading to a significant amount of breaking changes between versions. As a result, you end up having to install different versions of python to be able to execute each program

TRUE.

So does JAVA. So does Python ..

And so does C++  with way too fast changes in C standards..
The STL and template became a fast  messy of incompatible things..

PERL and Ruby are far more easy to deploy because they are
- clever is all aspects of POSIX structure
- far more suited to long term results instead of newbie appeals
- much more clever keeping rolling releases in MINOR not in MAJOR versions

The folks behind them are real world sys admins and developers.. not first time scripters.

C can be orders of magnitude easier to keep and deploy than C++ just by not having that way bloated standards..

Paul

I think standards should focus on mature technology to improve portability. New ideas should be tested first as prototypes to check if they are actually a good idea before making a bloated standard
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6381
  • Country: ro
Re: Python becomes the most popular language
« Reply #52 on: October 08, 2021, 02:03:04 pm »




IDK, is the PIN = 3112?
The denominator seems to be just bait.   :-//



The quote is from another topic, but it's a good example for why Python becomes so popular:
Because it's easy to solve almost any problem you throw at it, and fast.   :-+

It's easy to read other's code.  Has a low entry bar for non software developers.  Comes already installed with the major Linux distributions.  Has all you need natively, and if it doesn't, then for sure there are external modules to do whatever it doesn't do natively.  All you have to do is "pip install something", then write inside the code "import something".  Easy to learn, easy to use, easy to write, easy to read, massive community support.

A major advantage is that it doesn't need redundant shift characters like curly brackets.  That way it settles forever the formatting styles problem from C, where one can get functional code rejected for not following some code formatting conventions each software package might have established for itself only.

And also coerces beginner to properly indent code, no more loops and nested ifs written all from the beginning of the line.  :phew:
« Last Edit: October 08, 2021, 02:54:46 pm by RoGeorge »
 
The following users thanked this post: ebclr, newbrain

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1766
  • Country: br
Re: Python becomes the most popular language
« Reply #53 on: October 08, 2021, 02:06:50 pm »
 ::)  And I am pretty sure some python fan boy already made an applet on ANDROID to open a a python console and solve that...

Not surprised if already there...

 ::) Paul  eiiiiiiitaaaa
 

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #54 on: October 08, 2021, 02:23:46 pm »
::)  And I am pretty sure some python fan boy already made an applet on ANDROID to open a a python console and solve that...

Not surprised if already there...

 ::) Paul  eiiiiiiitaaaa

There are already several tools to make android and iOS apps with python and apps to run Jupyter notebooks in both platforms hahaha
 

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1766
  • Country: br
Re: Python becomes the most popular language
« Reply #55 on: October 08, 2021, 02:32:54 pm »

Let's not forget that windoooze now can run them all..

They transformed everybody else in subsystems..
point click and puff...  windozee runs anything...

Recently an article said:  "Finally LINUX malware found spreading ( inside WSL.. )"  ::)

go figure.. the year of mess hell

Paul
 

Offline jfiresto

  • Frequent Contributor
  • **
  • Posts: 844
  • Country: de
Re: Python becomes the most popular language
« Reply #56 on: October 08, 2021, 03:05:01 pm »
... [Python] has its own weirdnesses (why invent a whole new string-formatting scheme, FFS?)....

The last time I checked, Python had five different ways to format strings, three more than when I first started using it!

EDIT: Make that four. It appears the fifth formatting scheme, using an i- rather f-prefix is still a work in progress. (It is really just a deferred variant of the latter.)
« Last Edit: October 08, 2021, 03:41:57 pm by jfiresto »
-John
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6381
  • Country: ro
Re: Python becomes the most popular language
« Reply #57 on: October 08, 2021, 04:03:26 pm »
This is why Python becomes the most popular:
It allows an amateur like me to illustrate a physics idea about how to look over the edge of our visible Universe with an animation produced in less than 100 lines.

Code: [Select]
#!/usr/bin/env python2.7

'''
How to look outside our observable Universe using an outpost:
-------------------------------------------------------------
    - the WHITE dots are the stars
    - The Pale Blue Dot is the Earth
    - the GREEN circle is the obsarvable Universe, looking from Earth
    - the RED dot is an outpost telescope, continuously broadcasting its view
    - the RED circle is the observable Universe, looking from the outpost

    - note that the circles' radius increases with time, at the speed of light, c
    - note that even the observable radius keeps increasing,
      with time the stars are leaving the observable circles because space expands
    - note how with time, will be less and less stars to view,
      even thought the stars are still shining out there,
      just that they are running away faster than the speed of light

    - by receiving the broadcasted view from the outpost,
      we will be able to study all the stars seen by the outpost,
      including the stars that otherwise will be outside of our direct reach,
      but are still reachable from the outpost viewpoint
    - after a while, even the outpost will run away outside our view
'''


import pygame as pg
import random


WIDTH = 1920
HEIGHT = 1080
ANIMATION_FPS = 10

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
LIGHT_BLUE = (32, 64, 255)

NR_OF_STARS = 2000

INFLATION_COEF = 0.01
OBSERVABLE_START_RANGE = 200


class Dot:
    def __init__(self, x=0, y=0, color=WHITE, thickness=3):
        self.x = random.randrange(1, WIDTH-1)
        self.y = random.randrange(1, HEIGHT-1)
        self.color = color
        self.thickness = thickness

        self.x_now = self.x
        self.y_now = self.y

    def __call__(self, x, y, color, thickness):
        self.x = x
        self.y = y
        self.color = color
        self.thickness = thickness

    def xy_now(self, time=0):
        self.x_now = int(round(self.x * (1 + time * INFLATION_COEF)))
        self.y_now = int(round(self.y * (1 + time * INFLATION_COEF)))


screen = pg.display.set_mode((WIDTH, HEIGHT))
pg.display.set_caption("Observable vs Expansion")
clock = pg.time.Clock()

light_day = 1

# populate the Universe with stars
random.seed(1)
stars = [Dot() for i in range(NR_OF_STARS)]

# add Earth to the Universe
Earth = Dot()
Earth(200, 150, LIGHT_BLUE, 10)
stars.append(Earth)

# add an Outpost to the Universe, inside the viewrange of the Earth
Outpost = Dot()
ox = Earth.x + int(round(3.0/4.0 * 2**0.5/2 * OBSERVABLE_START_RANGE))
oy = Earth.y + int(round(2.0/4.0 * 2**0.5/2 * OBSERVABLE_START_RANGE))
Outpost(ox, oy, RED, 5)
stars.append(Outpost)


# animation loop
stopped = False
while not stopped:
    # Frames Per Second
    clock.tick(ANIMATION_FPS)

    for event in pg.event.get(): # User did something
        if event.type == pg.QUIT: # If user clicked close
            stopped=True # Flag that we are done so we exit this loop
     
    # Clear the display buffer and set the screen background
    screen.fill(BLACK)

    for star in stars:
        # Update the star positions as per today's view and draw the star
        star.xy_now(light_day)
        pg.draw.circle(screen, star.color, [star.x_now, star.y_now], star.thickness)

    # Draw today observable ranges from Earth and from Outpost
    pg.draw.circle(screen, GREEN, [Earth.x_now, Earth.y_now], OBSERVABLE_START_RANGE+light_day, 1)
    pg.draw.circle(screen, RED, [Outpost.x_now, Outpost.y_now], OBSERVABLE_START_RANGE+light_day, 1)

    # Display the screen buffer
    pg.display.flip()
    pg.image.save(screen, "frame" + str(light_day).rjust(5, '0') + ".png")

    # A day passes with each frame
    light_day += 1

pg.quit()

How to look over the edge of our visible Universe - Outpost simulation


If the outpost idea is correct or not from the physics standpoint is another topic, but Python allowed to show exactly what I was picturing in my mind but couldn't describe it clear enough by words.
 
The following users thanked this post: SilverSolder, newbrain

Offline PicuinoTopic starter

  • Frequent Contributor
  • **
  • Posts: 975
  • Country: 00
    • Picuino web
Re: Python becomes the most popular language
« Reply #58 on: October 12, 2021, 06:35:38 pm »
One thing I like about Python is that it has the properties that MIT considers a learning-oriented language should have.
Low floor, wide walls, high ceiling.

Low floor: easy ways for novices to get started
High ceiling: ways for them to work on increasingly sophisticated projects over time
Wide walls: multiple pathways from floor to ceiling

https://gordonbrander.com/pattern/low-floor-wide-walls-high-ceiling/



In fact I think Python is one of the best textual languages ​​to learn to program.

How to Think Like a Computer Scientist: Learning with Python 3


 

Offline PicuinoTopic starter

  • Frequent Contributor
  • **
  • Posts: 975
  • Country: 00
    • Picuino web
Re: Python becomes the most popular language
« Reply #59 on: October 12, 2021, 07:57:26 pm »
One of my major concerns about python (and in general about scripting languages) is how difficult is to distribute programs made with it. Not being able to generate an executable (or a similar package to a Java .jar) using just the official tools makes it hard for users without any knowledge about computers to install and run them.
Additionally, as it does not have a proper standard like C or Ada, its semantics change too fast leading to a significant amount of breaking changes between versions. As a result, you end up having to install different versions of python to be able to execute each program

TRUE.


False.

You can make a standalone executable with PyInstaller:
 * https://stackoverflow.com/questions/12059509/create-a-single-executable-from-a-python-project
 * https://stackoverflow.com/questions/5458048/how-can-i-make-a-python-script-standalone-executable-to-run-without-any-dependen
« Last Edit: October 12, 2021, 08:03:17 pm by Picuino »
 

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #60 on: October 12, 2021, 08:18:09 pm »
One of my major concerns about python (and in general about scripting languages) is how difficult is to distribute programs made with it. Not being able to generate an executable (or a similar package to a Java .jar) using just the official tools makes it hard for users without any knowledge about computers to install and run them.
Additionally, as it does not have a proper standard like C or Ada, its semantics change too fast leading to a significant amount of breaking changes between versions. As a result, you end up having to install different versions of python to be able to execute each program

TRUE.


False.

You can make a standalone executable with PyInstaller:
 * https://stackoverflow.com/questions/12059509/create-a-single-executable-from-a-python-project
 * https://stackoverflow.com/questions/5458048/how-can-i-make-a-python-script-standalone-executable-to-run-without-any-dependen

There are many third party solutions for that problem like PyInstaller or Nuitka (a python to c transpiler), but they sometimes have incompatibilities. Distributing a C program is way easier for both, the user and the developer
 

Offline PicuinoTopic starter

  • Frequent Contributor
  • **
  • Posts: 975
  • Country: 00
    • Picuino web
Re: Python becomes the most popular language
« Reply #61 on: October 12, 2021, 08:23:02 pm »
Distributing a C program is way easier for both, the user and the developer

Maybe, I quite like the C and its portability. But I've had as much trouble compiling sources in C as running Python scripts.
Neither is immediate.

Executables are more easy.

Edit:
Example: Youtube-dl for download youtube videos (developed in Python) https://github.com/ytdl-org/youtube-dl#installation
It needs Python installed, but it runs without problems with Python 3.2+ installed.
« Last Edit: October 12, 2021, 08:28:55 pm by Picuino »
 

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #62 on: October 12, 2021, 09:25:25 pm »
Distributing a C program is way easier for both, the user and the developer

Maybe, I quite like the C and its portability. But I've had as much trouble compiling sources in C as running Python scripts.
Neither is immediate.

Executables are more easy.

Edit:
Example: Youtube-dl for download youtube videos (developed in Python) https://github.com/ytdl-org/youtube-dl#installation
It needs Python installed, but it runs without problems with Python 3.2+ installed.

I think it would be great if cpython allowed to generate executables for all platforms directly. For example, it could do something similar to Godot, which adds your program and resources at the end of the executable of the interpreter. That would allow to distribute programs in a simple format for people without experience in computer programming (they usually find the shell quite scary), while keeping all the things that have made python such a widely used language
 

Offline cfbsoftware

  • Regular Contributor
  • *
  • Posts: 118
  • Country: au
    • Astrobe: Oberon IDE for Cortex-M and FPGA Development
Re: Python becomes the most popular language
« Reply #63 on: October 13, 2021, 04:11:40 am »
This is why Python becomes the most popular:
It allows an amateur like me to illustrate a physics idea about how to look over the edge of our visible Universe with an animation produced in less than 100 lines.

Note that it is not so much the Python language that allows you to do it in less than 100 lines, it is your use of the Pygame library. It doesn't stop there. Pygame would not be able to do what it does without the SDL library etc. etc:
Quote
Pygame is obviously strongly dependent on SDL and Python. It also links to and embeds several other smaller libraries. The font module relies on SDL_ttf, which is dependent on freetype. The mixer (and mixer.music) modules depend on SDL_mixer. The image module depends on SDL_image, which also can use libjpeg and libpng. The transform module has an embedded version of SDL_rotozoom for its own rotozoom function. The surfarray module requires the Python NumPy package for its multidimensional numeric arrays.

https://github.com/pygame/pygame
Chris Burrows
CFB Software
https://www.astrobe.com
 
The following users thanked this post: SiliconWizard

Online twospoons

  • Regular Contributor
  • *
  • Posts: 242
  • Country: nz
Re: Python becomes the most popular language
« Reply #64 on: October 13, 2021, 04:56:39 am »
My one forced encounter with Python left me vowing never to use it again.
 

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #65 on: October 13, 2021, 01:16:03 pm »
This is why Python becomes the most popular:
It allows an amateur like me to illustrate a physics idea about how to look over the edge of our visible Universe with an animation produced in less than 100 lines.

Note that it is not so much the Python language that allows you to do it in less than 100 lines, it is your use of the Pygame library. It doesn't stop there. Pygame would not be able to do what it does without the SDL library etc. etc:
Quote
Pygame is obviously strongly dependent on SDL and Python. It also links to and embeds several other smaller libraries. The font module relies on SDL_ttf, which is dependent on freetype. The mixer (and mixer.music) modules depend on SDL_mixer. The image module depends on SDL_image, which also can use libjpeg and libpng. The transform module has an embedded version of SDL_rotozoom for its own rotozoom function. The surfarray module requires the Python NumPy package for its multidimensional numeric arrays.

https://github.com/pygame/pygame

Pip and the other package managers available in the python environment have had an important impact on its popularity. They simplify using libraries and create a more integrated ecosystem. It would be nice to have something like them in the C/C++ word
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6381
  • Country: ro
Re: Python becomes the most popular language
« Reply #66 on: October 13, 2021, 02:43:40 pm »
One of my major concerns about python (and in general about scripting languages) is how difficult is to distribute programs made with it. Not being able to generate an executable (or a similar package to a Java .jar) using just the official tools makes it hard for users without any knowledge about computers to install and run them.
Additionally, as it does not have a proper standard like C or Ada, its semantics change too fast leading to a significant amount of breaking changes between versions. As a result, you end up having to install different versions of python to be able to execute each program

TRUE.


False.

You can make a standalone executable with PyInstaller:
 * https://stackoverflow.com/questions/12059509/create-a-single-executable-from-a-python-project
 * https://stackoverflow.com/questions/5458048/how-can-i-make-a-python-script-standalone-executable-to-run-without-any-dependen

Yep, that's another reason for people to like Python:  programs and their dependencies can all be encapsulate in a single portable executable file.   :-+

That's exactly what I used this weekend to "compile" a small Python program into a standalone and single file Linux executable:  https://www.eevblog.com/forum/testgear/sniffing-the-metrix-mtx3283-dmm-modbus-protocol/msg3740053/#msg3740053

The executable is to be used from a terminal, it reads a handheld DMM Metrix MTX3283 over its optical to serial port cable adapter.  The instrument uses the Modbus protocol over RS232.  Used the MinimalModbus module to do that, and just to be sure some future updates won't broke the DMM reader program, packed it all in a small 8MB single file, which is compressed, standalone, executable and portable.

Though, each OS type will need the executable to be built for it, the single file is not multi-platform like Java.

Apart from PyInstaller and alike, there are non compiled tools and techniques like virtual environments, pip or miniconda that can install or reproduce all the Python development requirement on another machine, but working with those will require some discipline from the developer.
« Last Edit: October 13, 2021, 02:48:59 pm by RoGeorge »
 

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Python becomes the most popular language
« Reply #67 on: October 16, 2021, 04:32:44 am »
Why is it that, one this site, there are discussions that devolve into identity politics, and there's always an individual, or two, whose posts consist of spastic thoughts just vomited out.

 
The following users thanked this post: alexnoot

Offline Mattjd

  • Regular Contributor
  • *
  • Posts: 230
  • Country: us
Re: Python becomes the most popular language
« Reply #68 on: October 16, 2021, 04:40:43 am »
... [Python] has its own weirdnesses (why invent a whole new string-formatting scheme, FFS?)....

The last time I checked, Python had five different ways to format strings, three more than when I first started using it!

EDIT: Make that four. It appears the fifth formatting scheme, using an i- rather f-prefix is still a work in progress. (It is really just a deferred variant of the latter.)

% formatting is old style that is there because its what was used in python2. f-strings and str.format are new style, one evalulates immediately. The second is at call and allows you to create templates. str.format also has the benefit that it can allow positional or named templating.

i.e.

"{foo}=1".format(foo="foo") or "{}=1".format(foo). This can be done after an assignment s = "{foo}=1" ... s.format(foo=1)

Then the 4th you speak of is the actual Template module which just provides extra functionalities but isn't actually necessary.
 

Offline Duygu

  • Newbie
  • Posts: 3
  • Country: 00
Re: Python becomes the most popular language
« Reply #69 on: October 21, 2021, 10:35:11 am »
I've been using Python since I started college and I'm making progress on it. .It seemed more understandable to me than other languages. :)
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6419
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #70 on: October 21, 2021, 12:02:21 pm »
Why is it that, one this site, there are discussions that devolve into identity politics, and there's always an individual, or two, whose posts consist of spastic thoughts just vomited out.
Have you ever had a discussion in identity politics, or in plain politics, that didn't eventually devolve into spastic thoughts just vomited out?

I've found that applies to just about everything concerning opinions in general.

The opinions themselves, in my opinion (HA!), are basically worthless.  What is interesting and important, is the reasons and experiences behind those opinions, because only by analyzing and comparing those, can one constructively build and rationally/logically examine ones own opinions.  I do that all the time, and I've found it extremely useful and helpful in various aspects of my own life.

That's why I asked why anyone should concern themselves with programming language popularity in any way –– except possibly when learning ones first programming language, or desperately seeking employment as a programmer.  I don't, but I know almost nothing about anything anyway, so I'm interested if anyone has some reasons I don't know about.

When the discussion devolves into combating opinions, I only participate when I believe the opinions are based on incorrect or non-factual or incomplete reasoning, and try to explain the issue, and ask how people think that affects their opinion.  (However, I only do "technical" English, and have basically zero skill in such social subtext and niceties, so I fail English often here.)  Especially opinions that differ from mine interest me, because their basis could be something I'm not aware of.

But when the opinions devolve (like in a recent Devuan thread) into "I'm a master in this, and I don't see the problems, so you must be wrong" without even checking the facts, I too get so irate I start spewing poor spastic counteropinions.  Sorry about that, but we're all only human.  Besides, online the bandwidth is too small to properly express the emotional content and context that would defuse/inhinit such emotive reactions and spastic outbursts.  Even sarcasm and jokes are easily misunderstood.
 
The following users thanked this post: Just_another_Dave

Offline Just_another_Dave

  • Regular Contributor
  • *
  • Posts: 192
  • Country: es
Re: Python becomes the most popular language
« Reply #71 on: October 21, 2021, 01:31:19 pm »
Why is it that, one this site, there are discussions that devolve into identity politics, and there's always an individual, or two, whose posts consist of spastic thoughts just vomited out.
Have you ever had a discussion in identity politics, or in plain politics, that didn't eventually devolve into spastic thoughts just vomited out?

I've found that applies to just about everything concerning opinions in general.

The opinions themselves, in my opinion (HA!), are basically worthless.  What is interesting and important, is the reasons and experiences behind those opinions, because only by analyzing and comparing those, can one constructively build and rationally/logically examine ones own opinions.  I do that all the time, and I've found it extremely useful and helpful in various aspects of my own life.

That's why I asked why anyone should concern themselves with programming language popularity in any way –– except possibly when learning ones first programming language, or desperately seeking employment as a programmer.  I don't, but I know almost nothing about anything anyway, so I'm interested if anyone has some reasons I don't know about.

When the discussion devolves into combating opinions, I only participate when I believe the opinions are based on incorrect or non-factual or incomplete reasoning, and try to explain the issue, and ask how people think that affects their opinion.  (However, I only do "technical" English, and have basically zero skill in such social subtext and niceties, so I fail English often here.)  Especially opinions that differ from mine interest me, because their basis could be something I'm not aware of.

But when the opinions devolve (like in a recent Devuan thread) into "I'm a master in this, and I don't see the problems, so you must be wrong" without even checking the facts, I too get so irate I start spewing poor spastic counteropinions.  Sorry about that, but we're all only human.  Besides, online the bandwidth is too small to properly express the emotional content and context that would defuse/inhinit such emotive reactions and spastic outbursts.  Even sarcasm and jokes are easily misunderstood.

I find interesting to hear people’s opinion on programming languages, especially on those ones that are not widely used but have a strong niche application. For example, there is a strong hate towards COBOL in the academic world of computer science. However, if you talk to someone that works with it in some niche application, its ability of easily parsing complex file formats is usually pointed out as an important advantage to other language, making it a good choice for that over more general purpose languages like C. Additionally, it is not as archaic as it is usually seen, supporting OO programming.

Another example is Java. It is often criticized, but having an extensive standard library that supports making GUIs, internet connections, etc made it a good choice for cross platform programming. The same thing is happening nowadays with flutter (nobody likes having to rewrite the same application to support IOS, Android, desktop operating systems and web browsers nor using different languages for the same project).

I think those opinions can be useful to understand what can be improved. C and C++ where designed to be cross platform, yet the preference for Java and Futter for developing applications that need to run in several operating systems my show that there’s room for improvement. The same thing happens with electron apps the sacrifice performance and native GUIs to simplify development, showing that native GUIs might not be so important for the end user
 

Offline PicuinoTopic starter

  • Frequent Contributor
  • **
  • Posts: 975
  • Country: 00
    • Picuino web
Re: Python becomes the most popular language
« Reply #72 on: October 21, 2021, 01:52:07 pm »
I have known Python for almost 20 years and I am very surprised that a small macro language has reached such a level of popularity. Especially with the rapid moves of the ecosystem of programming languages.
That is what I wanted to comment on and learn from the opinions of others. I have read fanboys and haters and I think I have a more informed opinion now.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6419
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #73 on: October 21, 2021, 04:43:04 pm »
If it matters, I too use Python, mostly for the (graphical/windowed) user interface using Qt toolkit.

The reason there is that it lets end users tweak the user interface without having to recompile anything.  All the heavy lifting is done in C; Python is surprisingly easy to interface to C libraries using pure Python, via the built-in ctypes Python library.  It makes it simple to provide one UI Python script, and for each operating system and hardware architecture a set of native C libraries doing the heavy lifting.

Python is by no means perfect.  Python I/O is slow (compared to eg. C, awk, sed), and currently the most widely used interpreters only execute a single thread of Python code within the same process.  For my use cases, that's okay; the GUI toolkit event loop is actually quite lightweight.

This is one case where 'popularity' matters.  However, not popularity among developers, like Tiobe attempts to measure, but ease of use and gentle learning curve for end users.  My reason for picking Python for this, is for end users to be able to adjust anything annoying in the UI themselves, and hopefully describe those changes upstream, so that the UI would hopefully evolve into something better, perhaps even diverge into multiple different but functionally compatible UIs.  I've even looked into how to let users use completely different UIs, even let them switch the Python UI at run time without changing any settings or having to save open documents.  Not just "skins", but fully customizable UIs you could select from a menu, populated from both system and user-private locations.

Also, when the UI is so easily scriptable, it makes it much easier to experiment with it.  I particularly like the ID10T tests, where you observe how a (nontechnical) user tries to use the interface, when first introduced to the application.  I've found such observations extremely interesting.
 

Offline blacksheeplogic

  • Frequent Contributor
  • **
  • Posts: 532
  • Country: nz
Re: Python becomes the most popular language
« Reply #74 on: October 21, 2021, 09:08:01 pm »
I have known Python for almost 20 years and I am very surprised that a small macro language has reached such a level of popularity. Especially with the rapid moves of the ecosystem of programming languages.
That is what I wanted to comment on and learn from the opinions of others. I have read fanboys and haters and I think I have a more informed opinion now.

Negative feedback of any kind = hater I guess. Thing is I'm just as interested in the why not's as the why's.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf