News: 1683185227

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Python still has the strongest grip on developers

(2023/05/04)


Python is still a top choice for software developers, beating out other programming languages, according to a widely respected industry poll.

CodeSignal's 2023 State of Engineer Hiring Survey [1]report found that Python (specifically Python 3) dominated as the most frequently used language, and highest paying, among the more than 2,800 devs surveyed, with a 16-point lead over the second most popular language, Java.

JavaScript/NodeJS ranked as the third most frequently used language, followed by C++, C and MySQL. Python retained the top spot across multiple job roles, with only front-end developers expressing a preference for a different language: 82.9 percent said they most commonly coded in JavaScript/NodeJS, followed by Java at just 51.2 percent.

[2]

Those statistics don't differ too much from other sources that rank language popularity, with the IEEE finding last year that Python [3]topped its list for the second year in a row. TIOBE software, which releases indexes of the most popular languages, has also [4]placed Python on the top for some time, where it still sits as of April's [5]monthly index .

[6]

[7]

Like CodeSignal's data, those previous reports put Java, JavaScript, SQL and the various flavors of C in the other top slots in various orders.

What about that hiring data?

Most of CodeSignal's respondents (14.3 percent) reported a salary in the $100k (£79k) to $119,999 (£95.5k) range, with the highest paying roles being back-end developers, full stack and front-end developers, and data scientists.

As for the programming languages that brought in the most cash, those were Python 3, TypeScript, React and Bash, followed by Java, JavaScript/NodeJS, C, C++ and MySQL. Engineers using newer languages are more likely to be paid more – but that's not an absolute.

"By and large, however, what coding language a software engineer uses isn't the best predictor of their salary – their level of coding skill is," CodeSignal wrote in the report.

[8]WASP malware stings Python developers

[9]Python head hisses at looming Euro cybersecurity rules

[10]Worried about the security of your code's dependencies? Try Google's Deps.dev

[11]Three quarters of UK tech pros are ready to leave their jobs

On that note, CodeSignal didn't find any relationship between education level and assessment scores; the correlation was instead found between self-reported years of experience and assessment score.

That means "having a college degree doesn't make a difference in whether candidates have strong coding skills," CodeSignal explained.

[12]

Here's where [13]burned-out and/or underpaid developers should pay attention: CodeSignal compared reported years of experience and salary and found that, for each additional year of coding experience, salary increases by around $5,250 (£4,181). In other words, developers getting ready to face their yearly review now have a bar by which to measure that raise against looking for [14]another job . ®

Get our [15]Tech Resources



[1] https://codesignal.com/2023-state-of-engineer-hiring/

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/devops&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZFOCQ8z3ew@UCuildxsWZgAAAAE&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[3] https://www.theregister.com/2022/08/24/ieee_python_language/

[4] https://www.theregister.com/2022/12/10/java_slips_behind_c_in/

[5] https://www.tiobe.com/tiobe-index/

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/devops&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZFOCQ8z3ew@UCuildxsWZgAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/devops&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZFOCQ8z3ew@UCuildxsWZgAAAAE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[8] https://www.theregister.com/2022/11/16/wasp_python_malware_checkmarx/

[9] https://www.theregister.com/2023/04/12/python_management_eu/

[10] https://www.theregister.com/2023/04/13/google_api_security/

[11] https://www.theregister.com/2023/04/11/three_quarters_of_uk_tech/

[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/devops&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZFOCQ8z3ew@UCuildxsWZgAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[13] https://www.theregister.com/2021/07/14/uk_developer_burnout/

[14] https://www.theregister.com/2022/03/09/gartner_only_29pc_of_it/

[15] https://whitepapers.theregister.com/



CowHorseFrog

I pity people who work on Python projects, the bigger they get the bigger the pile or shite they become. Sure other languages are bad like java and c-sharp but at least type safety does help, but for Python and Javascript you are in a hell to try and change anything especially with the tools that are basically just a glorified notepad.

The truth is there might be a lot of Python jobs but they are for small minor things in the end compared to Java which is actually powers most of the world.

A Non e-mouse

I've been working with Java since Java 1.3 and over the past couple of years have been making more use of Python. (All my new projects are in Python)

I agree that type safety is an opt-in after thought in Python and I miss the strong type safety of Java, but I feel more productive in Python - especially for smaller projects. I also like the way packages are handled in Python by Pip & VirtualEnv.

I use the [1]Jetbrains tools for both Java & Python programming and I can assure you that [2]Pycharm is not a glorified notepad.

(NB - Not paid to promote Jetbrains, just a satisfied customer)

[1] https://www.jetbrains.com/

[2] https://www.jetbrains.com/pycharm/

Python Typing

Missing Semicolon

Python now does have typing! Mypy will do code inspection based on type decorations in your code. Done properly, it makes it much easier to catch misuse of dynamic typing.

It forces you to say "ok,l this parameter can be anything, what kind of everything do I mean" so that all of the callers are checked. And also, if you have handling a variety of types, to pull you up on "but *this* type doesn't implement 'foo'!".

Having said that, "doing it right" can be a right mare. I both hate its baroqueness and "don't-you-have-a-CS-degree"-ness (the definitions required for generics and polymorphism can get mind-bending), but love the way that code ends up with far fewer hard-to-find bugs, particularly when refactoring.

sarusa

Hahaha, I was kind of with you a little ways, because as someone who uses C#, Rust, and Python extensively, Python can get a bit unwieldy when the project gets too large, exactly because of the lack of compile time catching of type stuff.

But then you invoked Java. Yes, Python might be mostly 'minor things' if you count substantially advancing the state of scientific knowledge as minor, and then maybe Java does 'actually power most of the world', but I would rather write 10,000 things in Python rather than a single bloated, hellish, corporate piece of crap in Java (yes, I've used it, never again - sane people use C# for that now). Java is for legions of nameless corporate drones to be able to write very large corporate apps (as you said) without stepping on each others' toes too much. Which is great. But for anyone who's good at programming that corporate codepigging is just hell.

MySQL

beardman

The heck is MySQL language?

PHP (8)

andy 103

You can criticise PHP all you want but I fail to see how Python is a better choice for web applications. Although I'd be interested in hearing a rational debate to the contrary. PHP can also be used for back end processes not just limited to running in a browser. We use it effectively for both.

PHP 8 brought a lot of improvements including type safety which it was much criticised (rightly so) for not having back in the day.

Everyone knocks it but then can't seem to suggest an alternative for rapidly building a half decent web application. "It's the programmer, not the language" to re-phrase a Top Gun quote!

As for frontend I don't see any advantages of these trendy frameworks because at the end of the day rendering HTML is all that's necessary and there are a multitude of ways to do that. Yes you can do some nifty UI features with JavaScript but that's not restricted to using a framework either.

Re: PHP (8)

A Non e-mouse

PHP was designed for writing web applications, so finding it easier than languages that weren't designed from day one for witing web applications isn't surprising.

45RPM

I love Python (except the indentation which is horrible - formatting shouldn’t be confused with syntax). As I’ve said before, it’s like modern day Basic (great for teaching software development) with the added bonus that it’s also good for developing production software. Perhaps not all production software, but it definitely has its place.

I’ve taught kids how to write code in Python - and most agree that it’s no harder than Scratch once you’re used to a keyboard, and it’s a good deal less infantile.

So yes. Python FTW. Along with Java, Scala, Kotlin, Swift and whatever else you prefer. Pick the tool that works for you and your workplace.

Me? I’m going back to C.

werdsmith

People are often very emotionally attached to the language the know best and are comfortable working with. It's quite natural if you've invested a lot of yourself getting up to a level of competence then staying in your comfort zone is an attractive option. So people get a bit spiky around these discussions. The criticism of RUST for example, I am sure has some component of people from a C background concerned about the employment landscape, and not inclined to go through the effort of learning all over again.

One programmer is happy with PHP another sees it as hell on earth etc. Personally, I'll work with anything that is fits the job in hand, but then I've never achieved anything virtuoso level with any programming language. I can achieve what I want. but it probably takes me five times as long as a pro would need to do the same thing.

I love a bit of C, because I enjoy the concept of working directly with memory and not leaving it to abstracted code. Sort of reminds me of the days when it was assembler or nothing.

This land is full of trousers!
this land is full of mausers!
And pussycats to eat them when the sun goes down!
-- Firesign Theater