2019's Fastest Growing Programming Language Was C, Says TIOBE (tiobe.com) 106
Which programming language saw the biggest jump on TIOBE's index of language popularity over the last year?
Unlike last year -- it's not Python. An anonymous reader quotes TIOBE.com: It is good old language C that wins the award this time with an yearly increase of 2.4%... The major drivers behind this trend are the Internet of Things (IoT) and the vast amount of small intelligent devices that are released nowadays...
Runners up are C# (+2.1%), Python (+1.4%) and Swift (+0.6%)...
Other interesting winners of 2019 are Swift (from #15 to #9) and Ruby (from #18 to #11). Swift is a permanent top 10 player now and Ruby seems [destined] to become one soon.
Some languages that were supposed to break through in 2019 didn't: Rust won only 3 positions (from #33 to #30), Kotlin lost 3 positions (from #31 to #35), Julia lost even 10 positions (from #37 to #47) and TypeScript won just one position (from #49 to #48).
And here's the new top 10 programming languages right now, according to TIOBE's January 2020 index.
Unlike last year -- it's not Python. An anonymous reader quotes TIOBE.com: It is good old language C that wins the award this time with an yearly increase of 2.4%... The major drivers behind this trend are the Internet of Things (IoT) and the vast amount of small intelligent devices that are released nowadays...
Runners up are C# (+2.1%), Python (+1.4%) and Swift (+0.6%)...
Other interesting winners of 2019 are Swift (from #15 to #9) and Ruby (from #18 to #11). Swift is a permanent top 10 player now and Ruby seems [destined] to become one soon.
Some languages that were supposed to break through in 2019 didn't: Rust won only 3 positions (from #33 to #30), Kotlin lost 3 positions (from #31 to #35), Julia lost even 10 positions (from #37 to #47) and TypeScript won just one position (from #49 to #48).
And here's the new top 10 programming languages right now, according to TIOBE's January 2020 index.
- Java
- C
- Python
- C++
- C# (up two positions from January 2019)
- Visual Basic .NET (down one position from January 2019)
- JavaScript (down one position from January 2019)
- PHP
- Swift (up six positions from January 2019)
- SQL (down one position from January 2019)
Re: (Score:2, Insightful)
Slashdot posts TIOBE's drivel like once every 3 months just because they know it gets hits. They know it's wrong by now, it's been explained why it's wrong - that is, the invalidity of the statistical model TIOBE uses - every single time they post it, yet they continue.
Quite possible in fact the regular TIOBE posts are just paid ads on Slashdot. I mean look at it, look, I really really hate Javascript, but Visual Basic .NET is more popular than Javascript? How can anyone even post that with a straight face.
Re: (Score:3, Insightful)
The TIOBE Index is based on search queries that contain the name of the language. Most of these searches are coders looking for help with a problem. So:
1. The TIOBE Index of a language is somewhat correlated with its popularity.
2. The TIOBE Index of a language is somewhat correlated with its complexity since more complexity means more queries.
3. The TIOBE Index of a language is negatively correlated with the IQ of the coders in that language. This explains why Java is on top.
Re: (Score:2)
If you care about the language, you're a novice (Score:3)
It's weird...people get so happy about scala....it's a nice l
Re: (Score:2)
My company is losing several million dollars because a few business units wrote code in Python and now they're scrambling to rewrite everything into Python 3.
I find this incredibly hard to believe.
Re: (Score:2)
I find this incredibly hard to believe.
Then you have mental problems.
A programmer costs you easy $250,000 have four of them rewrite a thing because the old one is not really maintainable, you lose a million per year. What is so hard to believe about simple math?
Re: (Score:2)
Simply that going from Python 2 to Python 3 is not "rewriting a thing".
The biggest problem that people had with the conversion, was that some important libraries weren't available for Python 3. That problem has gone away. Somervillain said his company "is losing", so they are at this moment having problems with the conversion, which means what? Changing "print" statements to be functions instead of statements and fixing their Unicode handling on input/output? Maybe they should look into the 2to3 conve
Porting to Python 3 has been VERY expensive. (Score:2)
I also was handed a project someone wrote in Python. He wrote it on MacOS and handed it to me. It didn't run on my Ubuntu box.
Re: (Score:2)
3. The TIOBE Index of a language is negatively correlated with the IQ of the coders in that language. This explains why Java is on top.
How many Java versions are there?
How many are parallel in use?
What changed "dramatically" from one to one? And why is in some (many?) cases setting "SOURCECODE_VERSION=1.8; BYTECODE_VERSION=1.8" not usefull or working if you compile/work in a Java Environment > 9?
That all has nothing to do with IQ: but knowledge. Some people memorize this bullshit and consider themselves
Re: (Score:2)
It's like something, that was to Netcraft, what Netcraft is to us. (A joke. A bad one.)
I thought I read somewhere that Netcraft was dying ...?
Re:And who cares about TIOBE? (Score:5, Interesting)
It has no verified relation to actual programming language use, in businesses as well as in projects in general, whatsoever.
I agree 100%
From index definition page [tiobe.com]
> Basically the calculation comes down to counting hits for the search query
Any metric you can come up with will have limitations. But come on, number of hits in search engines is a pretty awful one. Why not google trends for that matter? Why not some random survey? why not roll a die? Why not put a chicken in front of a keyboard and see what language it types (I guess that would favor Perl)?
How about we look at code instead.
If we count code in pull requests in github [github.com], we get a completely different picture:
1) JavaScript
2) Python
3) Java
4) PHP
5) C#
6) C++
7) TypeScript
8) Shell
9) C
10) Ruby
Github is not everything, lots of companies and individuals run internal version control systems. Also there are several github competitors such as gitlab and bitbucket.
That said I would think counting code written in github is a lot closer to what people are actually doing than "number of hits in google".
Re: (Score:2)
That said, however, the number of "pull" requests correlates to the volume of "bug ridden shit" on IdjitHub using that language.
That explains almost all of the rankings.
In that case, you would have no choice to admit that PHP has fewer bugs than Java, C, Python, C++, C#, Visual Basic .NET, and JavaScript.
I doubt you'd get much support for that here, even though it may be true.
Python, Java yadda yadda yadda, the truth is that, love it or hate it, it seems most web sites are (still) being written in PHP. Sure, you could write a web site in C or C# or Ruby or Swift, but people aren't doing that. Python seems to be the next most popular choice.
C or C# or Ruby or Java or Swift
Re: (Score:3)
It has no verified relation to actual programming language use, in businesses as well as in projects in general, whatsoever.
It's like something, that was to Netcraft, what Netcraft is to us. (A joke. A bad one.)
Yep.
I also wonder how many of those "IOT" programmers are actually using C++, not C, without even knowing it?
Re: (Score:2)
I also wonder how many of those "IOT" programmers are actually using C++, not C, without even knowing it?
I wonder how many of those "IOT" programmers, who believe they're writing C++, are actually writing C?
Re: (Score:2)
All the Arduino libraries are C++ (for example) but there's tons of people out there who swear the C++ is far too bloated to ever be used on a chip so small.
Re: (Score:2)
All the Arduino libraries are C++ (for example) but there's tons of people out there who swear the C++ is far too bloated to ever be used on a chip so small.
I've had literally this conversation many times now. I get as far as pointing out that some Attiny's are really very small and run C++ fine and the other person inevitably vanishes from the discussion only to bring up exactly the same points next time the topic arises.
Re: (Score:1)
LOL checkout the butt hurt.
Is SQL really a language? (Score:2)
Then again, I've never written a program where the database was more than a glorified external storage
Re: (Score:3, Informative)
If you use it correctly, a database can process much of the domain logic also.
Re:Is SQL really a language? (Score:5, Interesting)
Re: Is SQL really a language? (Score:1, Insightful)
Re: Is SQL really a language? (Score:4, Insightful)
Putting business logic in SQL is not the same as putting it in the DB you clown.
Re: Is SQL really a language? (Score:2)
It's how most companies including large banks do it. But yeah, Some Guy on slashdot knows better because....reasons.
If you don't understand why SQL is good to use for processing RELATIONAL data then you're more than just a clown, you're a grade A gold plated know nothing fuckwit who is probably just bitter from failing so many job interviews.
Re: (Score:1)
Re: (Score:2)
I have to agree with parent on this one. While initially it sounds like an incredibly good idea to put business logic within the database, there's just too many people who just suck at SQL. People who can actually think in relationships, sets, and domains can pull it off. But way too many people think in "row at a time" kind of thinking. There's just so much potential for mucking the whole thing. There's the overhead involved in serializing and sending the records into the layer that's doing the applic
Re: (Score:1)
I think that there is a generalized design practice in the industry: to model everything according with the tools you use.
The right thing to do is to understand the problem, to device an "independent" solution (probably using math or a similar formal method), and then to go to check your paradigms and tools to see how to make that solution a reality.
Because tools become obsolete, paradigms are surpassed by new ones, but a problem is a problem that use to continue being a problem. So, the solution must
Re: (Score:2)
Front end for display talking to browser/client, middle layer for BUSINESS LOGIC where it fucking belongs and DATA IN THE DATABASE!!!!
What makes, say, PL/pgSQL an inferior language for implementing a middle layer?
Re: (Score:1)
Use the right tool for the job. Some business logic or parts of it is simpler and/or more efficient to implement as SQL, others as imperative logic.
Re: (Score:2)
Re: (Score:2)
NOOOOOOOOOOOOOOOOOO.
Anyone who really knows databases will tell you to let the database do what it's good at (respond to queries, full stop) and let the glue or intermediary language do everything else. EVERYTHING.
Yes, I know people who calculate birth dates and and all sorts of other shit in PL/SQL, and they're doing it wrong.
Re: (Score:1)
I guess there are plenty of people who are mixing up business logic with business logic with business logic.
There is plenty of things a database does better and faster and is completely clear logic, that belongs into the database layer.
And dogmas, like yours, don't help anyone.
A good example e.g. is a load profile, a 24h long time serial measured every 15 minutes, or every minute.
Now at the end of the day, or before you hand in the schedule for the next day, you need a summary for a million or so profiles.
Re: (Score:2)
A good example e.g. is a load profile, a 24h long time serial measured every 15 minutes, or every minute.
That's not what we're talking about. We're talking about writing some or most of the code that makes up some application. I've seen waaaaaaay too many things that are written in PL/SQL that should never have been written in PL/SQL.
Just because you can write an application in PL/SQL doesn't mean you should. Just like I could use a hammer to drive in a screw, but that's not the way it should be done.
"Let the database do what it does best", as Joe Celko [wikipedia.org] tells (told) his students over and over and over. (Yes, I
Re: (Score:2)
Well, ... albeit I'm in taching very dogmatic, lol.
I guess finding the balance between not abusing a (relational) DB pure datastore and not putting to much (or the wrong) logic into it, evolves only with experience. That is why I'm in a certain sense against dogmata
Comment removed (Score:5, Insightful)
Waterfall (Score:2)
If you design the entire system properly from the backend to the UI, queries can be made very simple. The issue is with extreme paradigms, where you are constantly changing the business logic to accommodate some new required functionality. Depending on the project, after release, refactoring the database is probably a non-starter for adding new features, so you are left with having to kludge in performance at the query level.
Re: (Score:2)
SQL is a language that teaches you something (Score:5, Interesting)
It's been said that a language that doesn't teach you something isn't worth learning. Learning to use SQL *well* will teach you new ideas that you can use, even in other languages. It's often the first declarative language people use, and even their first language that isn't yet another imperative procedural language.
Languages such as JavaScript, PHP, Perl, and Python are all imperative languages. They are all procedural languages with a bit of OOP support. If that's what you think of when you think of programming languages, that's an important type of language, but only one of many types. You can learn a lot vy learning different types of languages, such as pure functional languages.
If all of your SQL is "select blah from Stuff where id=that" and "insert into", that's roughly equivalent to "hello world". Important to learn, and not NEARLY all there is. I frequently write SQL statements that are a page long or longer, organized into CTEs or other structures.
Re:SQL is a language that teaches you something (Score:5, Interesting)
It's also almost all of SQL use in business. and science. It's almost entirely large-scale spreadsheet use. I have, personally, replaced several budiness databases with Excel spreadsheets because they could not be backed up, they could not be upgraded, and preserving the obsolete version of the database was far more expensive in time and resources than retraining people to use a large spreadsheet with proper backup policies.
Re:SQL is a language that teaches you something (Score:4, Insightful)
I have, personally, replaced several budiness databases with Excel spreadsheets
dafuq did I just read?
Re: (Score:2)
Wait until he comes to the idea that he can store the excel sheets a blobs in a database ... perhaps he even jumps imediately to a NoSQL database :P
Re: SQL is a language that teaches you something (Score:1)
Re: (Score:2)
Because the spreadsheets were enough for their needs, and were already being used by people who didn't like the complex and unstable one-off interfaces to the unreliable and expensive to support database.
Re: SQL is a language that teaches you something (Score:1)
Re: (Score:2)
Each case was somewhat different. For some, it predated modern web based SaaS as a business. For others, they had proprietary data which _must not leave the building_, which is how they wound up with internal proprietized database interfaces in the first place. For one, They found the spreadsheet very effective for generating precisely the charts they wanted without having to pay for another customized GUI and learning it, since they'd all done accounting work and learned Excel in the process.
Providing larg
Blinking guy (Score:2)
As the other person who replied said, dafuq?
You aren't normally crazy or stupid, so I'm not sure what to think of this post. Can't be backed up? Dafuq are you talking about? mysqldump, or I Microsoft friggin CLICK "Backup" ....
Re: (Score:3)
Corrupt databases fail even the most basic backup or export procedures. I've encountered this kind of problem multiple times in my career, with open source and commercial database technologies which simply crashed when attempting exports of their content. This has included commercial MySQL, postgresql, Oracle, SQL, and the list goes on and on. It's particularly a problem when performing an inevitable database backup and upgrade. I've evolved some helpful practices and policies to avoid the issues, but it's
Re: (Score:2)
That makes a bit more sense. It almost sounded like you were saying SQL databases can't be backed up, which wouldn't make sense.
Have you ever seen one where running "repair table" didn't bring it to a sane state that can be backed up?
Re: (Score:2)
Oh, my. Yes. That was very much the experience with each database I could not update or fix.
Re: (Score:2)
That's interesting. I wonder what the difference is between my experience and yours. I've only dealt with a couple thousand databases, you may have much more experience. Mine have MOSTLY been MySQL on Linux, and more recently Microsoft on modern Windows. You may have a lot more experience with older Microsoft.
Re: (Score:2)
The larges _single_ MySQL environment I worked with was over 1000 distinct MySQL instances. It's not the one that had the problem. If I count all the individual ihstances on individual hosts or, these days, individual containers? It's over 1000 right now.
The largest deployment of databases was. Oh, oh, my. That was over 10,000 hosts using Berkeley DB. I didn't build it, but the "upgrade in place" and backup options weren't working. I had to convince the company that the fastest recover was to re-enter all o
Re: (Score:3)
Corrupt databases fail even the most basic backup or export procedures.
If it's corrupt, why are you trying to back it up instead of restoring it from.....oh, I see. Never mind.
Re: (Score:2)
I have, personally, replaced several budiness databases with Excel spreadsheets
What the fuck?
1) Unless they were pure shit to begin with, you just made everything worse.
2) How can you not be able to backup a database?
Re: SQL is a language that teaches you something (Score:3)
If your SQL queries are over a page long the your DB structure is non optimal for the data relationships you're trying to utilise. Plus queries that size can be a fucking nightmare to debug and can suddenly slow to a crawl if the optimiser takes a different path to what you expect one day. What's more they're highly sensitive to table and page locking issues.
Re: (Score:2)
> Plus queries that size can be a fucking nightmare to debug
That's why you organize them, using things like CDTs, as I mentioned.
You can write complex operations as a bunch of small queries and if those queries suck, performance will suck. You can write the same operation by nesting the queries and very often the optimizer will find ways to reduce it's work. If your queries suck, nesting them may not fix it (but it may, because the optimizer knows you aren't actually using a me of what you had asked fo
Re: Is SQL really a language? (Score:2)
Re: (Score:2)
Regular expressions? You realize that's how the first Perl system became fully self aware only a few hours before it launched the nukes?
It took a few hours?
...Should have used assembler.
Re: (Score:1)
Well, to be fair, it WAS only running on a single dedicated Cray CS500 rack at the time. I mean, really, when the interpreter has to "phone a friend" to get an idea of how to execute a procedure you can't expect C-like response times...
To answer your question: yes! (Score:4, Informative)
Then they're shocked that I can take 10,000 lines of JPA and replace it with a 150 line stored procedure and take a process that takes them 2 minutes in JPA and do it in
So yeah...SQL (and the extensions various platforms use to write stored procedures) is ugly and often misused, but when used by a skilled professional, can mean the difference between a project that scales and one that doesn't. It can mean the difference between success and failure. It is a tool that needs to be in the toolbox of every backend developer. It shouldn't be your first choice, but when it shines, it really blows any alternative out of the water.
You can debate the specifics, but PL/SQL has flow control, variables, libraries, exception handling, and code reuse...in my mind that makes it a real programming language. T-SQL has the same. I think they count...they have more features than many major languages had in their early days.
Re: To answer your question: yes! (Score:1)
Your response is only valid for small employers (Score:4, Insightful)
I assume you misread...however, even if it was 2 seconds to
Most employers that contact me are moving to a cloud-based infrastructure. So yeah...a 4x difference will show up on your monthly bill if run frequently. For us, this was like $10,000 USD per month.
Also, if you knew anything about databases, you would be very concerned by a 2 minute long transaction increasing the chance of a deadlock while slowing down everyone else. Life is a lot simpler when your transactions are short and as small as you can keep them valid.
Finally, number of lines of code is usually associated with maintainability. Yeah, you have to hire people who know how to use Oracle, but you really shouldn't hire people to write DB code who don't know their way around Oracle's programming options. Sadly, it seems to be harder and harder to find skilled DB developers every year....so we get a bunch of kids and imports who write 2 minute long JPA saves that could have been done in
Every other week, I have to scold someone for loading a large hierarchical object into memory, modifying a field and saving it....preferring to use the Spring JPA Template save() method, executing 200 SQL statements...when he could have written an UPDATE statement in JPQL or basic SQL.
So...not sure if you're implying me using Oracle's features correctly isn't jiving with your notion of maintainability...but it makes a huge difference and shouldn't be dismissed just because you don't want to learn how to use Oracle (or whatever platform you're on) correctly.
Re: (Score:1)
In my life I wrote extremely complex things with PL/SQL. And yes, when you know what you are doing, you can make magic with that tool ....
In that moment, all the advantages disappear and you understand that was a really terrible idea to work with so specific extensions. This is why, the really important language to work with is not C or Java, neither SQL nor PLSQL but .... pseudo-code. Do the homework, describe completely your
That makes sense... (Score:4, Interesting)
Re: (Score:2)
My only gripe with "pure C"...
I don't care if C programmers don't want to use classes. Don't.
Hate templating? Avoid it.
Despise cout? Don't touch it.
But for god's sake, please compile your code with a C++ compiler and use STL. std::thread. std::string. std::vector. std::thread_guard. std::map. std::shared_ptr. Etc, etc, etc. Stop reinventing the wheel and making a maintenance nightmare and exposing yourself to memory leaks and giving yourself more work when you can just use libraries that exist,
Re: That makes sense... (Score:5, Insightful)
Std::thread is less powerful than pthreads as it caters to the lowest common denominator.
Shared_ptr is great - unless your pointer is pointing at something that cant be free'd, then not so much.
Also it's clear you've never had to program anything that has a RAM size measured in kilobytes such as PIC.
Good luck using the STL there.
Re: (Score:2)
Also it's clear you've never had to program anything that has a RAM size measured in kilobytes such as PIC. Good luck using the STL there.
True, but there are C++ libraries that are designed for tiny environments, which offer all of the reliability and safety of good C++ libraries, without generating large binaries or requiring a heap. C++ provides the same precise control over the generated code that C does, but still allows you the enormous benefits of constructors and destructors, with their guaranteed initialization and RAII. In many ways, tightly-constrained environments are the ideal context for C++. Because they're written by small g
Re: (Score:2)
I've written code for tiny systems with both plain C and C++, and I'll take the latter every time. I'm interested in experimenting with Rust to see if it can be stripped down far enough for tiny systems.
Here's a great read for you: http://cliffle.com/blog/m4vga-... [cliffle.com]
Re: (Score:1)
Shared_ptr is great - unless your pointer is pointing at something that cant be free'd, then not so much.
Nonsense. One can create shared_ptr's with custom deleters. One can also create shared_ptr's that point to static objects (ie. is never to be freed) by just using the aliasing constructor and an empty shared_ptr. The latter being useful for poor-man's copy-on-write usage patterns via shared_ptr's.
Re: That makes sense... (Score:2)
Yeah genius! LEt's write a custom deleter to do nothing to use a class type that serves zero purpose In the given situation.
Just fuck off already. If you have a pointer that points to stack memory or other non freeable memory location just use a raw pointer.
Unless you're another so called coder who's too scared to use them in which case piss off to java and you and your bloatware code stay well
away from C++.
Re: (Score:1)
Re: (Score:2)
Thats all well and good, but you can't used custom deleters with make_shared so you're going to have storage memory and control blocks scattered around the memory when using a container. Not very efficient. There's nothing wrong with raw pointers except to "coders" brought up on cotton wool programming who expect all the nasty stuff to be done for them.
Re: (Score:1)
Do you know ... I write huge things with C++ and zero leaks. And although I see these nice types of pointers appearing with each new language revision, I seldom use them because I don't need them.
My solution is really simple: My software is extremely ordered with a very clear control on every dynamic thing I create, and I never destroy what is not mine. And when possible, just use the stack and play with the scope (this is very useful with Arduino), or manage the all almighty RAII. When there are too
Re: (Score:2)
Many parts of the STL, like most of the algorithms library, introduce absolutely no overhead, and often reduces the overhead of indirection that C libraries impose upon programs.
Re: (Score:2)
Also it's clear you've never had to program anything that has a RAM size measured in kilobytes such as PIC.
Good luck using the STL there.
You are technically correct which is, of course, the best kind of correct.
Yes as of today, the C++ standard specifies that there is only hosted and non hosted and hosted gets everything and non hosted gets nothing. And of course Atmels are non hosted. So you get nothing.
However, as a QoI, compilers can offer whatever bits of the standard library they want on the non hosted
Re: (Score:2)
A minimal detached pthread example:
struct arg_struct {
int x;
int y;
} args;
static void* thread(void* _args) {
struct arg_struct *args = (struct arg_struct *)_args;
do_something_time_consuming_with_args(x, y);
return NULL;
}
int main(void) {
int x = function_to_get_x();
int y = function_to_get_y();
pthread_attr_t attr;
pthread_attr_init(&attr);
Re: (Score:2)
And if you didn't want detached threads, you can just do "auto our_thread = std::thread(...." and don't even have to spell out the type if you don't want to. And when you want to join? Just "our_thread.join()". It could not get any simpler.
Or take this sort of thing I've encountered a bloody million times in threaded C code:
void some_function_called_by_a_thread() // Code here that does stuff
{
pthread_mutex_lock(&lock);
pthread_mutex_unlock(&lock);
}
Then some inattentive
Re: (Score:2)
ED: Slashdot removed the newlines before and after the "// Code here" blocks.
Re: (Score:2)
ED: The pthread example should read "args->x" and "args->y" rather than just "x" and "y". But hey, I guess that's part of the consequence of being forced to needlessly write more code and needlessly use more abstractions: more needless mistakes.
Re: That makes sense... (Score:1)
Re: (Score:2)
By now the serious C coders long ago wrote their own (or downloaded) libraries to handle strings and pointers cleanly without loading in a bunch of bloat. If you're still seeing new code with shit like that in it they're either stupid or fluffing their hours.
Without constructors and destructors, it cannot be done as cleanly, or without requiring programmers to manually handle all initialization and cleanup. Without move semantics it cannot be done as safely.
There are downsides to that too (Score:2)
Without constructors and destructors, it cannot be done as cleanly,
It can be, it just takes care (more than most people have, granted, but you cannot say it cannot be done).
And bringing in support for constructors and destructors, you are going to bring in bloat to your system, there's no way around it.
If you have a lot of resources, why are you using C anyway? If you are not, why would you ever consider bringing in a single aspect of C++ with memory and performance costs.
Re: (Score:2)
If you have a lot of resources, why are you using C anyway? If you are not, why would you ever consider bringing in a single aspect of C++ with memory and performance costs.
What memory and performance cost. You know C++ runs fine on ATtiny's right?
Re: (Score:2)
There's this myth that "C++ = bloat", and it's just not true. Most of what you expect to be "bloat" is just abstracted away by the compiler. Indeed, giving the compiler a chance to abstract things away generally makes things faster. For example, try benchmarking std::sort() vs. qsort(). Because the former is templated (so the compiler knows sizes at compiletime), and because its comparison function can be inlined (rather than being a function pointer that m
Re: (Score:2)
The bloat comes in when you use a templated function with a lot of different object types, and each type gets its own custom copy of the function. But each one is way faster! A late-binding language would only need one copy of the function, letting the object dispatch its own methods. (And iostream is responsible for some of the bloat too, just like how printf can pull in the entire floating point library if you don't select a no-floats printf.)
It's a trade-off, though in the case of C++ the static binding
Re: (Score:2)
Considering that this is a completely pointless statement ...
I don't think that word means what you think (Score:4, Funny)
"Swift is a permanent top 10 player now"
I do not think that word means what you think it means.
Re: (Score:2)
"Swift is a permanent top 10 player now"
I do not think that word means what you think it means.
Oh c'mon- Swift is definitely in the top 10,000 languages.
It's funny that C is chosen over Java considering (Score:2)
It's funny (or ironic?) that C is chosen over Java considering Java was originally designed for embedded applications.
Re: (Score:2)
Was it? They added some kind of Java-for-embedded support later on that absolutely never took hold, but I see Java as having had more of a goal of platform independence. In other words, pre-compiled code that can be run as universally as displaying a JPEG image. Then Java became famous for enterprisey code, which is the opposite of what you want for embedded.
When I think of embedded, I don't think of bytecode virtual machines. The only possible advantages would be if you can't standardize on one architectu
Re: (Score:2)
The original design of Java was called Oak and [was intended for embedded systems](https://en.wikipedia.org/wiki/Java_%28programming_language%29#History).
I'm sorry this fact is lost in current Java training courses. It really was originally intended for embedded systems.
Re: (Score:2)
Oops, forgot we don't use markdown here.
Java programming language, History section [wikipedia.org].
If it wasn't for C... (Score:2)
If it wasn't for C, we'd be using BASI, PASAL, OBOL, Oam, oldFusion and JavaSript.