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

0 Members and 8 Guests are viewing this topic.

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4533
  • Country: nz
Re: Python becomes the most popular language
« Reply #425 on: February 18, 2022, 10:41:17 pm »
Therefore, I agree with explicit typing, and I find "easy" languages with automatic typing more difficult to use. I did struggle with PHP typing after having some years of limited experience in C++ and C, even though the automatic type system was supposedly "easier".

I find it very annoying to read other people's code in languages where functions are declared with just a list of names of arguments, with no indication of what actual type is expected. Comments aren't enough, and of course aren't always present.

I don't much care whether the type declaration is a concrete type, or a base class, or a protocol/interface.

Often just knowing the argument types is enough for both the reader and the compiler to figure out the types of local variables in the function, so I don't mind so much if those aren't explicit.

Quote
I would like to see even more explicit control and writing down assumptions in formal ways; for example, add ranges to variables in C (pretty much like Ada/VHDL does).

Pascal has of course had this since 1970.

Code: [Select]
type ASCII_digit = 48..57;
var digit_char: array[ASCII_digit] of char;

It's bounds-checked too.

(Yes, yes, there's the chr() function ... this is just an example)
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8177
  • Country: de
  • A qualified hobbyist ;)
Re: Python becomes the most popular language
« Reply #426 on: February 20, 2022, 02:32:34 pm »
Energy Efficiency across Programming Languages
How Do Energy, Time, and Memory Relate?
https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
 
The following users thanked this post: Siwastaja

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6790
  • Country: ro
Re: Python becomes the most popular language
« Reply #427 on: February 20, 2022, 03:02:43 pm »
Looks like Javascript is the greener programming language.  ;D

I'm tempted to call bollocks on such a study.  They started with half page of emails and visit cards, and to quote their conclusion:
Quote
In this paper, we first present an analysis and comparison of
the energy efficiency of 27 well-known software languages
from the popular software repository The Computer Lan-
guage Benchmarks Game. We are able to show which were the
most energy efficient software languages, execution types,
and paradigms across 10 different benchmark problems.

Look how many stuffing/emphasizing words are there:
"we first present" - make it "we present"
"an analysis and comparison of" - either "analysis" or "comparison" would be enough
"27 well-known software languages" - remove well-known
"from the popular software repository" - popular
"We are able to show" - glad they weren't unable, "We show"
"10 different benchmark problems" - 10 benchmarks

"So", "basically" such wording put me off of considering their research.   :-\
« Last Edit: February 20, 2022, 03:31:54 pm by RoGeorge »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8177
  • Country: de
  • A qualified hobbyist ;)
Re: Python becomes the most popular language
« Reply #428 on: February 20, 2022, 05:20:58 pm »
Expression is just a pretty wrapper - the content matters! That study doesn't reveal anything new, it simply confirms old programming basics. Anything interpreted is fine for tasks rarely performed but sucks when run all the time. One can ignore the greybeards but no new and fancy programming language will change that. Instead of improving programming some 'geniuses' create another new language which is meant to change things, but actually it doesn't. It's just another new language. Better learn to deal with memory management and security than wasting resources on yet another fancy language. It's easy to become a script kiddy, but hard to become a software developer.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15423
  • Country: fr
Re: Python becomes the most popular language
« Reply #429 on: February 20, 2022, 06:33:04 pm »
It's easy to become a script kiddy, but hard to become a software developer.

Indeed.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6952
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #430 on: February 21, 2022, 01:21:59 am »
Expression is just a pretty wrapper - the content matters! That study doesn't reveal anything new, it simply confirms old programming basics. Anything interpreted is fine for tasks rarely performed but sucks when run all the time. One can ignore the greybeards but no new and fancy programming language will change that. Instead of improving programming some 'geniuses' create another new language which is meant to change things, but actually it doesn't. It's just another new language. Better learn to deal with memory management and security than wasting resources on yet another fancy language. It's easy to become a script kiddy, but hard to become a software developer.
Well put.

This is also exactly why I personally am not interested in creating a new programming language, and instead concentrate on making small useful incremental changes instead.  Like pushing some of the useful POSIX C library interfaces onto C learners, like using getline() instead of fgets(), nftw() instead of opendir()/readdir()/closedir(), and so on.  The biggest being trying to find out what kind of programming interfaces (replacing the standard C library) would make C an even better systems programming language, noting that basically all C compilers support compiling freestanding code, i.e. not using the standard C library, so in a very real sense it is just a different library interfacing to OS services, as well as useful structures and algorithms.

Also, using the imperfect but somewhat useful tools available right now, including Python 3 and C, to implement applications in a way that makes long-term maintenance easy, but fulfills "business requirements" regarding proprietary source code as well.  I'm not looking for "the Best", just using the tools that have the least drawbacks in a given scenario.
« Last Edit: February 21, 2022, 01:23:59 am by Nominal Animal »
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1033
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #431 on: April 12, 2022, 06:50:36 pm »
Tiobe April headline.
Python replacing Matlab?

"April Headline: MATLAB about to drop out of the top 20

Good old MATLAB is about to drop out of the top 20 for the first time in more than 10 years. The MATLAB programming language is mainly used in the numerical analysis domain. It is often combined with Simulink models, which are from the same MathWorks company. Although MATLAB has a biannual release cycle, the language doesn't evolve that much. And since MATLAB licenses are rather expensive, alternatives are catching up quickly now. Its main competitors are Python (currently number 1) and Julia (moving from position 32 to position 26 this month). --Paul Jansen CEO TIOBE Software "
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15423
  • Country: fr
Re: Python becomes the most popular language
« Reply #432 on: April 12, 2022, 08:11:15 pm »
Yeah. :D

 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4533
  • Country: nz
Re: Python becomes the most popular language
« Reply #433 on: April 12, 2022, 10:14:45 pm »
Its main competitors are Python (currently number 1) and Julia (moving from position 32 to position 26 this month).

And R, Shirley?
 

Offline eti

  • Super Contributor
  • ***
  • !
  • Posts: 1801
  • Country: gb
  • MOD: a.k.a Unlokia, glossywhite, iamwhoiam etc
Re: Python becomes the most popular language
« Reply #434 on: April 18, 2022, 01:56:02 am »
Python is a slow, confused mess. It's REALLY slow. Introducing Python to people saying "It's easy to learn" is NOT a good reason for them to learn it. Using whitespace to demarcate program flow, is, well, laughable. Having X number of incompatible versions across Y number of platforms... ugh. STOP it. Google used Java for Android because "Developers will already know Java" (or words to that effect) - yeah - the same logic applies with Python - because something is EASIER, that is not a decent reason to teach it as the mascot language for an OS. Raspberry Pi chose it as the pivotal part of their "Let's recreate the BBC Micro, and the 80s bedroom coder" spiel, too  :palm: ... yeaaaah... so taking that into account is enough to make me want to stay as far away from it as possible.

Programming IS HARD. You only get out of something what you're willing to put into it. ASM is hard, C is hard, but they run SOOOOOOOOO fast, and having huge amounts of RAM and multiple cores and fast disks is NOT a good reason to be lazy.

Let's see what Dave Plummer has to say - you know - the chap who wrote the WGA (XP licencing) code, and the Task Manager - I trust his viewpoint:

« Last Edit: April 18, 2022, 01:57:37 am by eti »
 
The following users thanked this post: DiTBho

Offline eti

  • Super Contributor
  • ***
  • !
  • Posts: 1801
  • Country: gb
  • MOD: a.k.a Unlokia, glossywhite, iamwhoiam etc
Re: Python becomes the most popular language
« Reply #435 on: April 18, 2022, 01:59:45 am »
I refuse, given the choice, to use a programming language that imposes "structure" by "number of invisible characters". That is stupid on a level only challenged by "one type of invisible character is to be interpreted different than another invisible character".

Here are some hints on characters that without ambiguity can impose structure:

{} () ;

Apart from that fundamental stupidity, I'm sure Python is a nice language.

Abso-bloomin-lutely. It's idiotic. I read this a few weeks ago, makes a LOT of points that resonate with me: https://www.hackerfactor.com/blog/index.php?/archives/825-8-Reasons-Python-Sucks.html
« Last Edit: April 18, 2022, 02:04:50 am by eti »
 
The following users thanked this post: Ed.Kloonk

Offline madires

  • Super Contributor
  • ***
  • Posts: 8177
  • Country: de
  • A qualified hobbyist ;)
Re: Python becomes the most popular language
« Reply #436 on: April 18, 2022, 11:09:29 am »
Executive summary: Python is the Windows of programming languages. >:D
 

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: Python becomes the most popular language
« Reply #437 on: April 18, 2022, 11:21:16 am »
Programming IS HARD. You only get out of something what you're willing to put into it. ASM is hard, C is hard, but they run SOOOOOOOOO fast, and having huge amounts of RAM and multiple cores and fast disks is NOT a good reason to be lazy.

I hear you  :o

I have been working since May 2001 on an integration between a-tile-Windows Manager and some sort of exposure tool, and guess what? I have to *remove* tons and tons of bloody python scripts because there is a thin C layer and everything else is written in Python, which, not only is slow on a 400Mhz machine, but it's also a mess to compile and install with an embedded-diet profile.

Ultimately, computing is getting more frustrating with more and more lazy dudes hanging around, I don't know why those guys have to play with electronic and computer science instead of watching a manga, cooking, doing something else  :-//
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 
The following users thanked this post: madires

Offline PlainName

  • Super Contributor
  • ***
  • Posts: 7293
  • Country: va
Re: Python becomes the most popular language
« Reply #438 on: April 18, 2022, 01:44:58 pm »
Quote
computing is getting more frustrating with more and more lazy dudes hanging around

I think they serve a purpose in pushing the frontiers. Sure, the result may not be production ready but they achieve things that possibly wouldn't happen for a long time otherwise. Often, some things aren't invented because they don't seem possible or sensible, whereas those lazy dudes creating stuff by just snapping together lots of other stuff show that things can work, and when you get to use them they are useful (if still not necessarily sensible). Just knowing something can be done often allows it to be done 'properly' and better.
 
The following users thanked this post: DiTBho

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: Python becomes the most popular language
« Reply #439 on: April 18, 2022, 03:29:15 pm »
those lazy dudes creating stuff by just snapping together lots of other stuff show that things can work, and when you get to use them they are useful (if still not necessarily sensible). Just knowing something can be done often allows it to be done 'properly' and better.

yes, good point, you are absolutely right, in fact now I know that the MacOS functionality  "expose" can *somehow* be implemented even for a tile-windows-manage on Linux, which is the the great news of the whole story.

It's a great news  :D

Just ... no one has even thought of a design, there is not even a draft of design, and it's like someone wakes up in the morning and puts a lot of other things together ... which is nice, but also a problem when you have to think about
- error handling, there is nothing in their scripts, the code simply hangs
- code test
- maintainability of the code

I cannot simply re-implement their Python-scripts in C, first I have to think about the skeleton, and other sensible inner stuff like error-propagation, which is why I haven't yet completed the project.


It's probably all a matter of time: designing robust and reliable software takes a lot of time, and those dudes just don't like (they can't?) spend so much time on the dev-console.
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1033
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #440 on: April 18, 2022, 04:54:28 pm »
I think you are confusing the purpose of an interpreted language (Python, PHP, Matlab, Lua, etc) with the purpose of a compiled language (C, ASM). Both have their niche and are not directly comparable.

Although Python is often used as a scripting language, it is also used for large, difficult to program and complex programs.
Nor should a script be confused with a program with more than 1000 lines of code.

Examples:
   https://github.com/django/django/tree/main/django
   https://github.com/matplotlib/matplotlib
   
« Last Edit: April 18, 2022, 05:00:35 pm by Picuino »
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1033
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #441 on: April 18, 2022, 05:03:58 pm »
Tiobe April headline.
Python replacing Matlab?

"April Headline: MATLAB about to drop out of the top 20

Good old MATLAB is about to drop out of the top 20 for the first time in more than 10 years. The MATLAB programming language is mainly used in the numerical analysis domain. It is often combined with Simulink models, which are from the same MathWorks company. Although MATLAB has a biannual release cycle, the language doesn't evolve that much. And since MATLAB licenses are rather expensive, alternatives are catching up quickly now. Its main competitors are Python (currently number 1) and Julia (moving from position 32 to position 26 this month). --Paul Jansen CEO TIOBE Software "

The issue I proposed above is that Python (and Julia and R) are probably replacing Matlab.
In my opinion a good replacement for simulink would still be missing for Python to take the cake.
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1033
  • Country: es
    • Picuino web
Re: Python becomes the most popular language
« Reply #442 on: April 18, 2022, 05:22:43 pm »
Executive summary: Python is the Windows of programming languages. >:D
Perhaps this is true in terms of popularity.
But it is definitely not true in terms of licensing. Python is free and open-source.
 

Offline eugene

  • Frequent Contributor
  • **
  • Posts: 496
  • Country: us
Re: Python becomes the most popular language
« Reply #443 on: April 18, 2022, 05:33:41 pm »
Its main competitors are Python (currently number 1) and Julia (moving from position 32 to position 26 this month).

And R, Shirley?

For years I have been using Octave as an affordable (free) replacement for Matlab. Thanks you GNU.

I can't speak directly to the popularity of Matlab, but if it's waning that is likely due to very high cost.

Meanwhile, Python is not too slow when most of the work is done by compiled libraries like NumPy. I know several physicists that can program in C but choose to code simulations in Python. They use large math libraries, some of which are available for both C and Python. They report that the Python code runs almost as fast as C code, but requires much less of their time to write. I'm in no position to tell them they should be programming in asm.

Meanwhile, I know enough Python to use it without ever using it. I do use Octave for some numerical code, especially data analysis. Ain't nobody got time to duplicate NumPy or Matlab (Octave) matrix stuff by hand. I do know one guy that insists on writing his own pixel level image processing code in C, but he's too old to learn anything new.
90% of quoted statistics are fictional
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6952
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #444 on: April 18, 2022, 05:55:21 pm »
Meanwhile, Python is not too slow when most of the work is done by compiled libraries like NumPy. I know several physicists that can program in C but choose to code simulations in Python. They use large math libraries, some of which are available for both C and Python. They report that the Python code runs almost as fast as C code, but requires much less of their time to write. I'm in no position to tell them they should be programming in asm.
To be precise, Python is slow, but in many valid use cases it does not matter (affect the overall run time much), because all the hard work is done in compiled machine code, and only the glue logic –– or in my case, user interface event handlers –– runs in the Python interpreter.

In other words, in these kinds of workloads, only a fraction of the CPU time used, is used in interpreting Python code, and the vast majority is spent running compiled machine code.

There are a lot of physics problems that boil down to relatively simple linear algebra, plus transformations.  Since most of the run time is in all cases taken by the linear algebra routines in BLAS or LAPACK (or their Intel MKL or AMD ACML optimized implementations), what matters more is how much time and effort is needed for the glue logic.  Not so much because of time taken per se, but because of the cognitive load and error probability.

I do know one guy that insists on writing his own pixel level image processing code in C, but he's too old to learn anything new.
Hey!  >:(  So do I!  On microcontrollers, that is, interfacing to small ILI9341 and similar display modules.  It's fun.  Reminds me of the early nineties, creating all sorts of pixel effects...
 

Offline eugene

  • Frequent Contributor
  • **
  • Posts: 496
  • Country: us
Re: Python becomes the most popular language
« Reply #445 on: April 18, 2022, 06:51:23 pm »
I do know one guy that insists on writing his own pixel level image processing code in C, but he's too old to learn anything new.
Hey!  >:(  So do I!  On microcontrollers, that is, interfacing to small ILI9341 and similar display modules.  It's fun.  Reminds me of the early nineties, creating all sorts of pixel effects...

I get that. This particular application uses a monochrome camera to capture an image that contains a bunch of bubbles, some of which are fluorescing, some not. The software runs on an embedded Raspberry Pi. It needs to identify the bubbles, determine the size of each, characterize any defects, then characterize the degree to which it is fluorescing.

The customer provided sample code using OpenCV that worked perfectly and could easily be used on the quad core RPI. But, this particular person is afraid to use C++ classes in their C programs. I explained that using them does not require a complete change in programming paradigm; he just needs to think of classes as structs that hold functions as well as data. No, he's sure his hand coded C routines are faster.

As long as everyone is having fun.
90% of quoted statistics are fictional
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6952
  • Country: fi
    • My home page and email address
Re: Python becomes the most popular language
« Reply #446 on: April 18, 2022, 07:28:39 pm »
No, he's sure his hand coded C routines are faster.
Yeah, that is silly.  I don't think it is an age thing, though; I think it is a "this is my favourite hammer, and I love it; all problems are nails, and suggesting otherwise is an affront to my person" thing.

I do sometimes write specialized functions in inline assembly (typically using GCC/Clang extended assembly), but whenever I do so, I also have a plain C or "naïve" implementation of the same function also.  It is necessary for unit testing, but it also makes the code easier to maintain and to port to different architectures.  Simply put, it is an optimization thing.

(For a few years now, I haven't needed to write inline assembly for SIMD functions, as the intrinsics (<intrin.h> etc.) and built-ins that GCC and Clang provide, suffice to write equally performant code in C/C++.  The key is to not target the absolute optimum, but a way that never behaves horribly bad: aim to avoid the pitfalls, not towards an unreachable 'optimum'.  One can get surprisingly good results that way.)

As long as everyone is having fun.
Well, you (and I assume your employer) definitely aren't, so it's not working in this particular case.  It is not okay to have fun on somebody elses cost.
 

Offline eti

  • Super Contributor
  • ***
  • !
  • Posts: 1801
  • Country: gb
  • MOD: a.k.a Unlokia, glossywhite, iamwhoiam etc
Re: Python becomes the most popular language
« Reply #447 on: April 18, 2022, 09:19:53 pm »
Executive summary: Python is the Windows of programming languages. >:D
Perhaps this is true in terms of popularity.
But it is definitely not true in terms of licensing. Python is free and open-source.

The whole "FOSS" baloney is meaningless, people parrot it like it's magic sauce.

 I'd rather pay for a product that WORKS, than have a "community" (hah!) of freetards that shrug and say " :-// It's free, you're free to fix it and modify the source code" - yeuccch. I'd rather a CLOSED system that is working because the company behind it are motivated to fix it due to it being a paid product, company image, shareholders etc. Money is a GIGANTIC motivator.
 
The following users thanked this post: cfbsoftware

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15423
  • Country: fr
Re: Python becomes the most popular language
« Reply #448 on: April 18, 2022, 09:51:05 pm »
As a general thought regarding programming languages, and not specific to Python (although it definitely is concerned), I have a problem with languages that are tightly coupled with their implementation. This is wrong on many levels.

We need open specifications and diverse implementations (some free, some paid, whatever...). A bit like the RISC-V ISA. Especially for general-purpose languages.

Languages plagued with being indistinguishable from their reference (and most often, only) implementation are unfortunately common with the more "modern" languages. We can list a few: Python, Rust, Swift, Go, ... Java was also one, and even though I think there are some alternative implementations, the reference one is still king AFAIK.

That is problematic on a number of levels that would take some time to elaborate on. One is that, whether the implementation is "free" (beware of licensing details though) or not, that still "locks you in" in some way.
 

Offline eugene

  • Frequent Contributor
  • **
  • Posts: 496
  • Country: us
Re: Python becomes the most popular language
« Reply #449 on: April 18, 2022, 11:09:35 pm »
The whole "FOSS" baloney is meaningless, people parrot it like it's magic sauce.

 I'd rather pay for a product that WORKS, than have a "community" (hah!) of freetards that shrug and say " :-// It's free, you're free to fix it and modify the source code" - yeuccch. I'd rather a CLOSED system that is working because the company behind it are motivated to fix it due to it being a paid product, company image, shareholders etc. Money is a GIGANTIC motivator.

I suspect that everyone prefers things that work over things that don't. The great thing about the world we live in is that each of us can choose for ourselves which tools we use - or use whatever our employer wants us to use. We can buy commercial products and rightly feel good about. Or we can find other solutions.

I feel no compulsion to justify the choices that I've made (unless someone specifically asks) but neither has anyone here tried to influence your decisions. So what exactly are you ranting about?
90% of quoted statistics are fictional
 
The following users thanked this post: newbrain


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf