Posted on 12/28/2015 9:49:47 AM PST by SeekAndFind
The Python Programming Language is rising in popularity in Tiobe's monthly language index, reaching an all-time high of fourth place this month, up from fifth place last month. The language now has a rating of 4.429 percent, an increase of more than 2 percent from a year ago, when it was ranked eighth.
"[Python is] easy to learn, available everywhere, and embraced by industry. Python is the current standard in scripting," a report accompanying the index said. Tiobe uses a formula involving searches on popular search engines to gauge language popularity.
In an email, Paul Jansen, managing director at Tiobe, said Python is in use more and more as a first language at high schools and universities. Moreover, it runs on all major platforms and is very expressive, he said. While JavaScript and PHP are used for only Web scripting, Python can serve as the general scripting language for building scripts and small algorithms, as well as serving as glue code between applications, he said.
Python also scores well in the rival PyPL Popularity of Programming Language index, again coming in second place with a share of 11.6 percent, behind Java's 24.4 percent. PyPL analyzes how often languages are searched on in Google.
Elsewhere in this month's Tiobe index, Java continues its recent rise and is expected to be Tiobe's Programming Language of the Year, a title awarded to the language with the greatest increase in popularity. Java is ranked first, this time with a 20.973 percent rating. Jansen reiterated that Java is being helped by its use in Android mobile development and by the adoption of Java 8, which was introduced last year.
Objective-C, meanwhile, continues to decline. In third place a year ago, it is now in 15th place and has seen a drop of nearly 8 percentage points, leaving it with a 1.357 percent rating. "From the moment that Apple declared that Objective-C was to be replaced by Swift, there was no demand for Objective-C anymore. Obviously nobody was interested any more in learning Objective-C after this statement," said Jansen. Swift, the successor to Objective-C, has risen from 17th place a year ago to 14th place, with a 1.405 percent rating.
C comes in second place in this month's index again, with a rating of 16.460 percent, followed by C++ (5.943 percent) and C# in fifth place (4.114 percent). Respectively inishing third, fourth, and fifth in the PyPL index were PHP, with a 10.7 percent share; C# (8.9 percent); and C++ (7.6 percent).
For next year, Jansen sees big-data-related languages like R and Julia doing well, along with JavaScript and Typescript. Scala, he added, is "a serious candidate for a permanent position in the top 20." On the downside, Jansen anticipates hard times for Objective-C, Pascal, and PHP in 2016.
Interpreted languages shine when you have multiple apps running, like in the .net environment. Sharing the interpreter program's code/resources makes this more efficient than many multiple, compiled programs, running. But since each must go through the interpreter to get to the hardware, they will still be slower than an app that accesses hardware directly. And of course, for now, all this hardware resource doesn't exist on most real-world/IOT platforms, were available memory is currently measured in kilobytes and processor speed in mhz.
The most popular arduino, the Uno has a clock speed of 16 MHz and 32 KB of flash memory! :-D
I was under the impression a interpreter executed script code as it was read.
That's correct - that is a run-time compiler. The code is interpreted and "compiled" into machine code - usually line by line - at run time. Whereas a compiled program is one that has been previously compiled and stored in executable machine code (e.g., .exe on windows OS), for a particular hardware/OS configuration.
A "compiled program" doesn't require the services of .net, or python, or etc., to be running in the background. It has everything necessary, compiled into machine code, needed to interact directly with the CPU.
This seems to produce faster running code, but imposes some "gotchas", as variable binding within script blocks happens at compile time before variables are populated. Variable types that are passed by value will be null if you don't re-close the script block over the variables at run time.
A $5 Raspberry Pi Zero has a 1GHZ clock speed, and half a gig of memory.
I not familiar with it, so maybe it’s some hybrid of the two. But I doubt it, otherwise you lose advantages of a common interpreter sharing running code between multiple apps. Then again it may use some new way of executing code I’m unaware of. Maybe someone can chime in with more knowledge of how it works?
Wow, that's a great deal! :-)
It's mainly a performance thing, from our perspective, although Microsoft gets some development benefits, and developers who are hosting PowerShell get some advantages, too. FOr us, there's a big execution performance benefit, because functions and scripts aren't interpreted each time they're run, but are now compiled and executed, resulting in faster execution. In some cases, the compiled result is cached, speeding up future execution, too, since the compilation "hit" is bypassed. So the first time you run a script it might be a wee bit slower than under v2, but future runs should be much faster. This applies to scripts and to functions contained within scripts (and modules); any ad-hoc stuff you type directly into the console doesn't benefit. So there's now a big performance gain in modularizing your functions into scripts.
Looks like new technology alright and a hybrid of the two. You're still going to need lots of hardware, and MS OS to run it - but seems like an improvement. They mention Python, so I'm wondering if .net can now run Python script?
That’s cool! I’m going to have to get one for sure. Maybe 1/2 dozen at that price! lol
You’re getting into propriety requirements with Iron Python (i.e. .net). Not sure how well it will work with existing Python libraries, if at all. I prefer open source useable across multiple platforms. But in your case, it might be the way to go.
No thanks, I built a security system using netduino and .net. I think it was the final straw for me and using .net for any future development - just too many quirks you have to find work arounds for.
It’s not everybody’s cup of tea, but they seem to be at least making an honest attempt at things that 5 years ago just about every body would have told you ain’t never gonna happen.
It’s not everybody’s cup of tea, but they seem to be at least making an honest attempt at things that 5 years ago just about every body would have told you ain’t never gonna happen.
I'm a stickler for systems that are extremely reliable. I honestly have apps that have been running for over 2 decades - albeit in virtual XP now. But who's fault is that - MS!
I've built a number of websites and other apps that required .net and all have had problems - always the fault of some .net quirk or .net upgrade. I still run both linux and MS web services. By far the most reliable, economical, and feature intensive are the linux systems. The open source community is kicking butt! Maybe that's why MS is looking at joining.
Build something using Linux, Javascript, PHP, C/C++, Perl, ..., - for the most part it works reliably with little downtime or maintenance required.
I work on mostly Windows systems, but I had an Ironport MTA appliance running a *nix derivative of some kind, and a quirk in the regex implementation of the Java version it was running drove me freaking nuts for 2 days.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.