Python Passes C++ on TIOBE Index, Predicted To Pass C and Java (infoworld.com) 266
Python reached another new all-time high on the TIOBE index, now representing 8.5% of the results for the search query +"<language> programming" on the top 25 search engines. Python overtook C++ this month for the #3 spot, now placing behind only Java (#1) and C (#2).
That's prompted TIOBE to make a bold prediction: If Python can keep this pace, it will probably replace C and Java in 3 to 4 years time, thus becoming the most popular programming language of the world.
The main reason for this is that software engineering is booming. It attracts lots of newcomers to the field. Java's way of programming is too verbose for beginners. In order to fully understand and run a simple program such as "hello world" in Java you need to have knowledge of classes, static methods and packages. In C this is a bit easier, but then you will be hit in the face with explicit memory management. In Python this is just a one-liner. Enough said.
InfoWorld reports: Also on the rise in the June Tiobe index, Apple's Swift language is ranked 11th, with a rating of 1.419 percent. Swift was ranked 15th at this time last year and 18th last month, while its predecessor Objective-C language ranked 12th this month with a rating of 1.391. Tiobe expects Objective-C to drop out of the top 20 within two years.
InfoWorld also notes that Python is already #1 in the Pypl index, which analyes how often language tutorials are searched for on Google. On that list, Python is followed by Java, JavaScript, C#, PHP, and then C/C++.
Python was also TIOBE's fastest-rising language in 2018 -- though in 2017 that honor went to C, and in 2015 to Java...
That's prompted TIOBE to make a bold prediction: If Python can keep this pace, it will probably replace C and Java in 3 to 4 years time, thus becoming the most popular programming language of the world.
The main reason for this is that software engineering is booming. It attracts lots of newcomers to the field. Java's way of programming is too verbose for beginners. In order to fully understand and run a simple program such as "hello world" in Java you need to have knowledge of classes, static methods and packages. In C this is a bit easier, but then you will be hit in the face with explicit memory management. In Python this is just a one-liner. Enough said.
InfoWorld reports: Also on the rise in the June Tiobe index, Apple's Swift language is ranked 11th, with a rating of 1.419 percent. Swift was ranked 15th at this time last year and 18th last month, while its predecessor Objective-C language ranked 12th this month with a rating of 1.391. Tiobe expects Objective-C to drop out of the top 20 within two years.
InfoWorld also notes that Python is already #1 in the Pypl index, which analyes how often language tutorials are searched for on Google. On that list, Python is followed by Java, JavaScript, C#, PHP, and then C/C++.
Python was also TIOBE's fastest-rising language in 2018 -- though in 2017 that honor went to C, and in 2015 to Java...
python et al (Score:5, Insightful)
are not replacements for c++. They're the reason software today is so bloated and slow.
captcha: lowered (expectations)
Re: python et al (Score:5, Insightful)
I'm not surprised that Java will be passed considering that Oracle do their best to kill it.
C will always be relevant though.
There is no suitable heir to Java for large teams (Score:5, Interesting)
Most modern languages beat Java if you're a 2 person job writing a prototype and have no real users or revenue. Once you have double or triple digit teams, they become very painful, victims to the creativity and idiosyncrasies of individual developers who left the project long ago for various reasons. Oracle isn't really much of an influence in Java, so their actions are harmful, but largely inconsequential. All of us just switched to OpenJDK and didn't notice a difference. Really, look at how terrible theri RDBMS is and how long it's been around. Java will be around just as long.
Python is a great perl replacement, but I haven't seen it make much of a dent in the server side yet. Most devops people love it and I find it a great scripting language....scripting is not business development. NodeJS is 10 years old now and took a chunk out of PHP, but nearly every Java project I have seen ported to node failed. It really hasn't lived up to the hype. Productivity hasn't increased, reliability hasn't decreased. Most of the project get rewritten back into Java once it is handed off twice.
Honestly, Python does a lot of things right, but I think the next super language is still unknown. Python is a scripting language and everything that will make it a Java killer will make alienate it's fans. JavaScript is the worst language I've ever worked with (sure, it's great when it's just you...try dealing with collaborators in 8 timezones and 6 countries and see how your project goes).
Java can do everything and I can quickly get up to speed on any Java project I've ever downloaded. It is very uniform and has a strong culture of consistency and well known, documented, best practices. It has the industry's best development, release, and management tools. It has mature professional-grade libraries for anything you want to do. It is easy to find adequate developers all over the world, including from low-end offshoring firms (I hate that, but it is a benefit). It's performance is better than most of it's competitors on the server side. Java just makes the most sense if you want to invest money in a server-side application and want to get a return on your investment.
Python has won the scripting world. It won in the scientific community. If competes in a different world that Java, though. Comparing Python to Java is like comparing ebikes to delivery trucks.
Re: There is no suitable heir to Java for large te (Score:4, Interesting)
C++ is still there my friend. It was there before java and itll still be there when everyone has got sick of javas long windedness, endless wheel reinvention and the hassle of maintaining JVMs. Ive developed in both and java is and always was just a poor mans C++.
Re: (Score:2)
I prefer a poor mans C++ over a poor mans Java any time. ...
The first one runs nearly everywhere without a recompile.
The second one does not even have a standard GUI library
Your pick.
Re: (Score:2)
ITYM you'd prefer java over C++?
ANd why would C/C++ have a standard GUI library? They're system programming languages and will support whatever GUI and graphics system the OS supports. They're not a managed language with some slow as fuck lowest common denominator GUI and graphics translation layer sitting on top of the OS's graphics system.
Re: (Score:2)
Re: (Score:3)
high total cost of ownership
TCO is and always a bullshit metric. A house brick has a trivial TCO. It costs a dollar to buy and requires essentially no ongoing maintenance. Sure it's worthless, but that's the point: TCO is way to narrow. The metric of use is return on investment.
Re: (Score:2)
Re: (Score:2)
"It has had good support for things like threading from the early days."
Green threads weren't even real threads, the JVM was timeslicing. And C has had threads whenever the OS supported them and C++ inherited that. On top of which C/C++ also handles multiprocess code (on OS's that support it properly , ie everything except Windows) well. Java , errr, doesn't.
Re: (Score:2)
Re: (Score:2, Interesting)
"No other language has the mature set of libraries" == 50 ways of doing the same thing. This is my biggest gripe with Java, other than enormous resource consumption. Yes it's easy. Yes it gets the job done. But man is it big and slow. Swing is far outclassed by packages like Qt. JavaFX tried to go the WPF route (which is terrible).
At the moment my team is considering moving large parts of our codebase to JNI and using C/C++ because it will be faster and more efficient.
Re: (Score:2)
Yes, I agree with the proper threading issue - that's why Go is catching on replacing Python in certain areas.
However, its whitespace rules are what makes it so readable.
Re: (Score:2)
However, its whitespace rules are what makes it so readable.
True, and that was fine when whitespace was the rule. Then, they changed to prefer spaces. Which is wasteful, and silly. A byte can represent indentation when using a tab, it's always only one keystroke, and it's appearance can be tailored to preference by adjusting tab stops. Not so with spaces. Without context, you have to guess how many spaces there are (or should be.)
Re: (Score:2)
Yes, spaces are dumb. But there isn't anything in Python that prefers spaces over tabs, except one PEP that you can just ignore.
Re: There is no suitable heir to Java for large te (Score:3)
I have been building server side Enterprise Java systems for 20 years. I agree that Python is no Java killer. However, your assertion that there is no heir to Java I think is incorrect.
For the last two years I've been building large scale back end services in Kotlin and am convinced it is finally a solid replacement for Java on the JVM.
It is similar enough to Java that it's very easy for Java developers to pick up quickly. It has a pragmatic balance of newer languae features. It works absolutely seemlessly
Re: (Score:2)
And then there is Scala and the successor of it Dotty: https://dotty.epfl.ch/ [dotty.epfl.ch] ...
On the other hand for private stuff I mostly use Groovy
BTW, this is funny: https://www.scala-lang.org/blo... [scala-lang.org]
Re: (Score:2)
I spend a lot of time replacing Java nonsense with C99 libraries plus JNI bindings.
Companies are frequently replacing their Java prerequisites even when the application itself is intended to remain in Java. This allows more consistent business logic across a variety of related software parts.
Java used to fill that role, but it is just too hard to hire productive senior programmers to work on the hard bits. You can hire thousands of code drones to fiddle-faddle the user interfaces, but what about the parts t
Re: (Score:2)
Those programmers can do it in any language, will charge more and leave sooner if they have to do it in Java, and they can provide a better solution in C. Or Golang.
Care to post some code examples? I can not believe that in your country are no competent Java programmers.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
C will always be relevant though.
Indeed. And it will always have a lot of enemies, because it requires actual skill to use it well and it makes incompetence obvious.
Re: python et al (Score:5, Insightful)
And C++ isn't as predictable as C when it comes to the behavior, especially when it comes to memory management, therefore C will still be relevant.
There's a reason why the Linux kernel is written i C and not C++.
Re: python et al (Score:4, Interesting)
There's a reason why the Linux kernel is written i C and not C++.
The reason is not because C is superior in any way.
The reason is called "Linus Torvalds" and he's demonstrated many times that he doesn't even know C++.
Re: (Score:3)
Does anyone know C++?
Re: (Score:2)
Does anyone know C++?
Yes. What's bizarre about C++ is it causes people to brag vociferously about their own ignorance.
Re: (Score:2)
The reason is called "Linus Torvalds" and he's demonstrated many times that he doesn't even know C++.
And of you believe that, then you are really stupid. If C++ was a better choice, it would be used. It is not. It is a bloated, intransparent mess that has a wannabe OO model and performance and other issues. C does not support you in many things, but at least it does not stand in your way.
Re: (Score:2)
There's a reason why the Linux kernel is written i C and not C++.
Linux is not written in C it's in GNU C with extensions. This "non standard" C is needed and it add some things that are free in C++ like comment, inline, asm, atomic, thread local, lot of extended types... and even some non C++ but non C standard anyway.
Re: (Score:2)
Linux is not written in C it's in GNU C with extensions.
This is a deceptive observation because all the major compilers support these extensions.
Also, the C standard does not claim it stops being C if you use compiler extensions, so who voted you Keeper of the True Scotsman?
Re: python et al (Score:5, Informative)
And C++ isn't as predictable as C when it comes to the behavior, especially when it comes to memory management
C++ can be predictable and deterministic in its use of memory, just like C is, but you have to use a subset of C++ (e.g. no exceptions, custom memory manager, limited use of libraries, etc). You still get the benefit of features like RAII, better encapsulation, better type safety, and so on. Most C++ features adhere to the "zero overhead" principle, so this additional safety doesn't impact performance at all.
The tradeoff is that you're using a partial set of a much more complex language, and that can create cognitive burdens of its own. Technically speaking, there's no reason C++ can't do anything C can - by definition, C++ is mostly a superset of the C language. But you can (and Linus does) make an argument that there's an advantage to using a much simpler language like C.
Re: (Score:3)
The main problem is when you have to read code written by others. Then you (usually) cannot be sure it sticks to sane subset of C++. Just from looking at some code snippet it is then often impossible to infer what the code does due to overloading,inheritance, templates, etc...
Re: (Score:2)
C++ can be predictable and deterministic in its use of memory, just like C is
Yep!
but you have to use a subset of C++ (e.g. no exceptions, custom memory manager, limited use of libraries, etc).
No. Yes ish, but no. Exceptions are predictable in terms of memory use. You don't need a custom memory manager any more than C: under the hood new[] just calls malloc anyway. And libraries, I mean sure, but that applies to literally everything including C and even raw machine code.
You still get the benefit of features
Re: (Score:2)
And C++ isn't as predictable as C when it comes to the behavior, especially when it comes to memory management, therefore C will still be relevant.
In both languages you can write 100% predictable code. After all: they are programming languages.
Standard C is not predictable at all.
char *c = malloc(100); // how long does the call take? And why is it sometimes longer than other times? Hu?
Re: python et al (Score:3)
And ? The code is still C with the occasional bit of C++ syntax (eg function pointer calling)
Re: (Score:2, Interesting)
And ? The code is still C with the occasional bit of C++ syntax (eg function pointer calling)
Only because Linus is in charge of all kernel code commits and doen't know C++, not because C makes the code smaller/faster/safer (it doesn't).
Re: (Score:2)
And ? The code is still C with the occasional bit of C++ syntax (eg function pointer calling)
Only because Linus is in charge of all kernel code commits and doen't know C++, not because C makes the code smaller/faster/safer (it doesn't).
When I first saw these words, I thought you were trolling the GP by saying something sarcastically stupid, but then I looked and was both disgusted and amused to see that you're actually serious, and flogging on C in the rest of the thread. Like, dude... that's just... ROFL!!!
Re: (Score:3)
flogging on C in the rest of the thread. Like, dude... that's just... ROFL!!!
There is nothing to ROFL about. C is an extremely primitive language. Which makes crafting complex software systems hard. And on top of that you have to know many many things to avoid common mistakes you simply can not make in other languages or cause an exception in the first test case.
Primitive + requirement for a huge deal of knowledge and discipline is a main reason for a disaster. Sailing a primitive sailing boat is simply mo
Re: (Score:2)
+1 Informative.
Re: (Score:2)
Yes it it. It's completely predictable. It's easy to mentally translate any C++ program into an equivalent C one
The second claim totally undermines the first claim.
To make the second claim true, you'd have to be claiming to be some kind God of Memorizing Standards or something. It implies you don't actually understand the problems.
You're waving your hands to dismiss a mainstream claim that nearly all embedded programmers already agree with; it is highly unlikely that they're wrong in a way that can be dismissed that easily.
Re: (Score:2)
To make the second claim true, you'd have to be claiming to be some kind God of Memorizing Standards or something.
It's not that complicated. Take any C++ structure that would be vaguely good practice in deep embedded and I'll happily translate it to C code. It's not hard. C++ started out as a not very complex C transpiler.
You're waving your hands to dismiss a mainstream claim that nearly all embedded programmers already agree with;
Bullshit, mate.
Let's look at the embedded toolchains.
Well, there's gcc which
Re: (Score:2)
exceptions aside, but that's because that trick is something C can't really do efficiently
If you would want to do that in C, you would use longjmp()
Re: (Score:2)
If you would want to do that in C, you would use longjmp()
Ish: it doesn't go and call destructors so it doesn't do resource cleanup for you. Using setjmp/longjmp is very hard to get right.
Re: python et al (Score:3)
Who thinks that? People who write to the metal, thats who when you possibly have limited memory and CPU and all code must be explicit - no disappearing off down some constructor rabbit hole thats doing who knows what and with an end result that cant be mapped where you want it. I suppose you think theres no use for assembler either.
Re: (Score:3)
Who thinks that? People who write to the metal, thats who when you possibly have limited memory and CPU
I program my Arduino (32k flash, 2k RAM) using C++.
I've programmed smaller chips than that, too.
Re: (Score:2)
Your parent does not grasp that you have "full" control over the metal the same way you have in C ...
Re: (Score:3)
The Arduino dev enviroment is a modified version of C, not C++.
It's a complete C++ compiler.
I've got one.
I've got hundreds. I know the guy who invented them.
C++ can be used in limited memory microcontrollers
Correct.
STL and RTTI are usualy thrown out the window
So is malloc()/free(). Most data is statically allocated.
leaving little reason to use it over plain C.
Gathering a load of functions into a "Serial" class and using function overloading so you don't have to remember/type a lot of different function names to use it (and pollute the global namespace with them) isn't even a tiny advantage?
eg.
Serial.begin(9600);
Serial.print("ABC");
Serial.print(123);
Serial.print(123, HEX);
Re: (Score:2)
PS: Yes, Arduino "Serial" is 100% C++ and so are most other Arduino libraries (Servo, SPI, I2C, etc).
Anybody who thinks Arduinos are somehow programmed in C and not C++ is living in a dream world.
Re: (Score:2)
Anybody who thinks Arduinos are somehow programmed in C and not C++ is living in a dream world.
Mr. Viol8 is on every thread here spewing the most bizarre misinformation about C++. It's like his personal identity is wrapped up in C or something.
Re: (Score:2)
You don't even seem to know the difference between the platform you're programming (AVR) and the IDE you're using (Arduino).
Probably because the carrier board that the AVR is on is also Arduino-branded.
I use these frequently for all sorts of things, even just as external deboucers for ARM micros.
Most serial is provided by the hardware peripherals. You think you're using C++, but you're actually using a wrapper for the ASM.
There are also C wrappers. They come with your compiler. The compiler you don't see be
Re: (Score:2)
You can put a function pointer into a struct and get exactly same result in C. In fact, this is just what the C++ does behind your back.
Cleanly written C code can very nice and good. Yes, C code can be messy. But I have the choice between messy C and C++ I would always take C. It is usually relatively simple to understand what is happening and refactor it into something useful. In C++ it can be very arbitrarily difficult because the code you see may actually do a lot of rather complicated things behind your
Re: (Score:2)
You can put a function pointer into a struct and get exactly same result in C. In fact, this is just what the C++ does behind your back. :P
No it is not. It is a pointer to an array of function pointers
And depending what you are actually doing, you might have many of them.
And then again, perhaps you don't use virtual member functions but just non virtual ones? Then: there are no function pointers, facepalm.
Re: (Score:2)
"It's a complete C++ compiler."
It is not. At least not in the IDE that came with mine. Its an object based version of C in the same way that VB was an object based but not OO language.
Re: (Score:3)
The Arduino dev enviroment is a modified version of C, not C++
No it's not. It's G++ running as an AVR cross chain. You are simply flat-out mistaken about this.
I've got one.
Then try it. Write a small template class and put it in a namespace. You will see that it still compiles and runs just fine.
And yes, C++ can be used in limited memory microcontrollers but the STL and RTTI are usualy thrown
The STL is specified as not being part of the standard for non-hosted implementations sadly. Fortunately some brave s
Re: (Score:2)
I've programmed ATTiny85 chips using the Arduino IDE, with room to spare.
I don't think the "enormous penalty" is as enormous as you imagine.
Re: (Score:2)
no disappearing off down some constructor rabbit hole thats doing who knows what
There's nothing in C++ that prevents you from knowing exactly what a constructor is doing.
(there's not even anything in C++ that forces you to use constructors...)
Re: (Score:2)
"There's nothing in C++ that prevents you from knowing exactly what a constructor is doing."
Hidden conversions and copy constructor calling catch out even experience programmers. Its really not something you want to have to worry about in a limited enviroment.
Re: (Score:2)
Learn to declare constructors as "explicit" and disable the copy constructors. It's not rocket science.
Re: (Score:2)
If it's something that people should always do, then why isn't it the default?
Instead of writing "Foo(const Foo& other) = delete" for almost every class, why can't we have "Foo(const Foo& other) = default" for those that do want a shallow copy constructor? Same with "explicit". Why can't that be default and leave "implicit" for those who need it? And I can't think of a single header file I've touched that should not have include guards.
Re: (Score:2)
When you divide the security problems into categories, it seems that one language is better or worse than others because of the resulting category counts.
However, when you take away the categories, applications written in different languages seem to have similar numbers of security problems.
I agree with base sentiment, but that doesn't imply that you've solved the problem, or that others have solved the problem. It is a known problem, with lots of proposed solutions, all of which are claimed to be working f
Re: (Score:2)
C++ certainly wasn't created because of these two things.
Nobody needs to pass around array sizes and pointer separately. It is easy enough to put both into a struct.
Automatic memory management in C++ only came much later with RAII. es, C lacks the tools to do this. But I am still not sure whether it is good thing to make resource deallocation implicit as in C++. So I am still not sure whether or how we should support something like this in C.
Re: (Score:2)
Whenever you're using the word "deserves" in a technical conversation, you're wrong. It doesn't even really matter what you say after that.
Pro tip: If you use a library that provides memory management, you're not longer doing it manually. Don't wave your hand at false differences where the only thing that changed is that you got to the edge of one word and the beginning of the next word. It doesn't mean that you crossed a substantive technical difference.
And nobody "pass[es] around array sizes separately fr
Re: (Score:2)
C++ was created to write OSes with it. It failed at that. Now its fans cannot let it die. It is pretty much the worst language I know, with Java a close second. C is fine though.
Re: (Score:2)
512KB? Luxury!
I've programed chips with 512 bytes of RAM in C++.
Re: (Score:2)
And it if had stuck to that reason it wouldn't be the mess it is today. Seriously. It's a huge mess.
The only "mess" in C++ comes from keeping backwards compatibility with C.
Re: (Score:2)
Embedded software engineers.
Tell that to all the Arduino owners out there.
Serial.begin(9600);
Serial.println(123);
Does that ^ look like C code to you?
Try to be less narrow minded when you grow up.
LOL!
Re: (Score:2)
Embedded software engineers.
Tell that to all the Arduino owners out there.
Serial.begin(9600);
Serial.println(123);
Does that ^ look like C code to you?
Try to be less narrow minded when you grow up.
LOL!
Well, you sure as fuck won't find that in the AVR datasheet where it tells you how the serial interfaces work.
Re: (Score:2)
C++ is a write only language. You cannot read it. Why? Well say you wrote a C++ program in 2003. Now a new guy comes in to fix a bug. He doesn't get that garbage collection is a new feature.
Um, C++ doesn't have garbage collection. It manages resources (not just RAM!) in a much more timely and predictable way.
Re:python et al (Score:4, Insightful)
I didn't know Chrome was written in Python. Or things like Windows.
Python is a great tool if you know when and where to use it. I do pretty heavy realtime graphics processing in Python, but only because the heavy lifting is done on a GPU. Numpy also helps, it facilitates more efficient I/O with the GPU among other things. I have no reason to write the management/glue code in some super fast compiled language.
Re: (Score:3)
[python et al] are not replacements for c++
And BASIC was not a replacement for Assembly, FORTRAN, COBOL, PL/1 (and later Pascal, C, Forth) and others.
Yet the ability to type 10 PRINT "Hello, World!" on their 1980 home computer and see it run got countless kids into programming.
Re: (Score:2)
Another great thing about BASIC is that when you start to bump up against the edges of what it can do, you end up writing a bunch of PEEK and POKE stuff, which prepares you for ASM.
Re: (Score:2)
nobody said python will replace C/C++. Every language has its uses. Use the right tool for the job
Re: (Score:2)
Re: (Score:2)
Not if you use it right. C modules for the heavy lifting (C++ is pretty bloated itself these days) and Python as glue. That is not something the typical present day cretin-level coder can do though.
Re: (Score:3, Insightful)
Enterprise Software will never be written in Python.
You can bet plenty of people will try though.
All this survey really shows is that more wannabe programmers are trying to dabble in code. Python ticks several boxes for beginners, just like Microsoft BASIC used to. It's easy to type 10 PRINT"HELLO" 20 GOTO 10 and think you know something.
Progress beyond that and you'll find major brick walls, leading to all sorts of WTFs. A language is only as good as the concepts it allows you to express, and Python fails miserably there compared to the competitors.
Re: (Score:2)
Enterprise Software will never be written in Python.
When I turn down those clients, they don't switch to a better infrastructure language, they just hire somebody else.
I hate it as much as you, but it really is a thing. And it works fine. It just isn't my thing. This is an important distinction to make.
More than that (Score:2)
You are about ten years behind the times.
I was altering Python server programs at a large company about fifteen years ago, at least...
Python has had a huge upswing in recent years and there are a lot of companies that use it internally now.
Re: (Score:2)
I've always said, I normally turn down Python contracts, but if your goal is to mix some Python into your COBOL, send me an email.
I'll laugh so hard, I'll give you a discount. It will be like a working vacation.
keyboard/os + slashdot (Score:5, Informative)
actually, no.
Firefox is about the only part of the equation that doesn't screw them up. ( - see me).
The problem comes from the "intelligent" on-screen keyboard used by your OS that auto replace regular apostrophes with "smart quotes" (depending on your language settings, " might get transformed into stuff like or “ ” and same for ' )
Then this combines with the fact that these "smartquote" symbols aren't regular ASCII, and /. is quite crappy at handling UTF-8 encoded unicode. (it only correctly support a tiny fraction of them).
Both together lead to things typed on smartphone to get infested with mojiobake.
Python Passes C++ (Score:2)
On what?
Number of lines of code in git repos?
I don't give such an evaluation a damn.
Re: (Score:2, Informative)
No. It's worse than that.
Python now has surpassed C++ on number of searches containing both the words "Python" and "programming".
The idea is, that's a leading indicator of interest in programming languages.
Though, I think it's actually a lagging indicator -- people do those searches because of job postings requesting a specific programming language.
Re: (Score:2)
READ THE FUCKING SUMMARY (Score:2)
P>On annual summation of search terms across a basket of search engines. If you had read the FUCKING SUMMARY, you would have known that.
Slashdot, please give me a mod option (-1, Did Not Read What User Is Responding To).
Why does anyone care? (Score:3)
This is something that I have wondered for some time having seen a dozen or more articles like this one. Oboy a horse race and Python is up and coming its gonna win!
When you are working on a job writing software does it matter to you at all how "popular" the language you are using is? What difference does it make? For some people it seems to be a matter of life and death but I just can't see it.
In the past 10 years I have used probably 10 or so languages for major projects and what I find most important is the efficacy of the available libraries and frameworks that need to be used. The language choice is made from that not the other way around. At least it should be.
libraries and popularirty (Score:2)
Yes, I agree that the availability of libraries is one of the main point in chosing a language for your project.
(And I mean real libraries. Not the "pull half of github's worth of repositories, each bringing 1-2 useful functions, and be damned it the author of one of this decided to pull out his repo out of your jenga pile of dependencies" kind that has been going on on recently popukar labguages)
BUT if your project is going to need longterm maintenance, it would be good if it is written in a language for w
Re: (Score:2)
When you are working on a job writing software does it matter to you at all how "popular" the language you are using is? What difference does it make?
If you have to give presentations to business types, then it makes a big difference.
It doesn't make a difference which language you use or how popular it is. The difference it makes is that you have to be able to speak coherently about the choice of language, and to make confident, non-dismissive statements about the choice when people are criticizing the choice based on perceived popularity.
So it doesn't matter directly, but it matters that you can talk about it as if it is important to choose the right to
VB.Net Javascript (Score:5, Informative)
Remember this before writing anything about Python or other languages rankings.
And the Idiocracy is here (Score:2)
Re: And the Idiocracy is here (Score:3)
And then he went and added in algebraic type annotations to Python.
Guido is brilliant because his only horse in the race is building a better langauge, even if that means fundamentally changing how it works as we all collectively gain experience through the decades.
I started when there wasn't even "structured" programming, and watched the industry at large learn new ways of thinking and working, taking from academia and other industry as needed. It's a sure sign of a good human being when they can reflect o
Re: (Score:2)
Why all the hate (Score:2, Interesting)
It was once cool on slashdot as well as Ruby on rails. Is it losing it's hip factor or all these comments written by bitter old gray neck beard c++ coders who feel threatened?
Re: (Score:2)
I think it's the Rust crowd. ;) </joke>
I do think it's newer developers though, not older ones. I've been doing this far too long, I still love C, still write various assembly languages, and I also love Python. In my day job, I'm writing Ruby and CoffeeScript mostly.
Tooling is often fungible from the perspective of an experienced dev. It's the new kids on the block that see more differences than similarities, IMNSHO.
Re: (Score:3)
I still try hard to avoid writing Python, but when it happens I can't even feel the hate anymore, it is just a tool whose packaging I find ugly.
I still manage to feel deep revulsion to cmake, though. I'm not saying that autotools is fun, I'm just saying I'd rather write a Makefile by hand for a dozen platforms than get stuck figuring out wtf cmake is actually doing this time.
That's a really idiotic metric (Score:2)
Re: (Score:2)
That tells you everything about community and nothing about adoption.
Well, it depends what you need to know.
Adoption is hard to measure in general you could look at github, but that only tell you about public open source.
Looking at the TIOBE index gives you some idea of how popular/used languages are. If you have a new fancy tool and you want to know to which language to write your bindings; if it is in the top 5 of TIOBE, it is probably useful (and I say say with visual basic.net being number 5). If it is not even top-15, you may be wasting your time, and you may need addit
Re: (Score:2)
That tells you everything about community and nothing about adoption.
Well, it depends what you need to know.
They asked Larry Wall what 5 languages a manager should know about, and he included Haskell because a manager needs to understand that Haskell is mostly popular with "really smart people" and if you get stuck with some software written in Haskell, changes are going to be really expensive.
I heard that and learned Haskell, and I discovered that almost nobody is actually stuck with software written in Haskell. Worthless skill. Fun language, though. Build system was modified from a medieval torture device.
Not a Python fan (Score:2)
Started poking at Python back in 2006. Back then, half the planet was Python 2 and half was Python 3. I left it for Ruby for my own personal projects. Work was still using C (for device drivers... anyone written a device driver using Java? Yea... I didn't think so.
Changed jobs and now I'm stuck with Python but its the same. Half the plant is Python 2 and half is Python 3. Oh, yea, sure. Python 2 is not supported but that never stopped people from using it.
Its just a total piece of shit language. I
A language without switch/case (Score:3, Interesting)
Re: (Score:2)
Python has a good, comprehensive standard library
On embedded platforms?
Re: (Score:2)
Depends on what you consider an embedded platform and what you consider to be comprehensive. Things like Raspberry Pi's run regular Python with no restrictions. Things like MicroPython will run in 16 K of RAM but do shave off bits of the standard library.
Re: (Score:2)