JavaScript, PHP Top Most Popular Languages, With Apple's Swift Rising Fast 192
Nerval's Lobster writes Developers assume that Swift, Apple's newish programming language for iOS and Mac OS X apps, will become extremely popular over the next few years. According to new data from RedMonk, a tech-industry analyst firm, Swift could reach that apex of popularity sooner rather than later. While the usual stalwarts—including JavaScript, Java, PHP, Python, C#, C++, and Ruby—top RedMonk's list of the most-used languages, Swift has, well, swiftly ascended 46 spots in the six months since the firm's last update, from 68th to 22nd. RedMonk pulls data from GitHub and Stack Overflow to create its rankings, due to those sites' respective sizes and the public nature of their data. While its top-ranked languages don't trade positions much between reports, there's a fair amount of churn at the lower end of the rankings. Among those "smaller" languages, R has enjoyed stable popularity over the past six months, Rust and Julia continue to climb, and Go has exploded upwards—although CoffeeScript, often cited as a language to watch, has seen its support crumble a bit.
Interesting pattern (Score:5, Interesting)
Below the line are languages that are more popular on GitHub. Above the line are languages that are more popular on Sewer Overflow. There's a distinct difference. The "GH" languages tend to be systems languages (Go/Rust/D) and CS favorites (Haskell/OCaml/Erlang). The "SO" languages tend to be more lightweight and application-specific - Visual Basic, Matlab, ColdFusion. "Assembly" seems to be an outlier, but other than that the pattern seems pretty consistent. Conclusions about the audiences for the two sites are best left as an exercise for the reader.
Re: (Score:2)
The Github languages are those that people who use Github generally like to use. The Stack Overflow languages are those that people who frequent Stack Overflow generally ask questions about. Those are not the same things.
not really the whole story (Score:3)
Sure, lots of interest in javascript, php. What is the longevity of that code (beyond libraries)? Weeks? Months? And not sure public github or stack overflow are really as representative as they want to believe
Re:not really the whole story (Score:5, Insightful)
More critically, the question I always ask about this is: "Used for what?"
Without that context, why does popularity even matter? For example, I'm a game developer, so my programming life revolves around C++, at least for game-side or engine-level code - period. Nothing else is even on the radar when you're talking about highly-optimized, AAA games. For scripting, Lua is a popular contender. For internal tools, C# seems to be quite popular. I've also seen Python used for tool extensions, or for smaller tools in their own right. Javascript is generally only used for web-based games, or by the web development teams for peripheral stuff.
I'll bet everyone in their own particular industry has their own languages which are dominant. For instance, if you're working on the Linux kernel, you're obviously working in C. It doesn't matter what the hell everyone else does. If you're working in scientific computing, are you really looking seriously at Swift? Of course not. Fortran, F#, or C++ are probably more appropriate, or perhaps others I'm not aware of. A new lightweight iOS app? Swift it is!
Languages are not all equal. The popularity of Javascript is not the measure of merit of that particular language. It's a measure of how popular web-based development is (mostly). C/C++ is largely a measure of how many native, high-performance-required applications there are (games, OS development, large native applications). Etc, etc.
Raw popularity numbers probably only have one practical use, and that's finding a programming job without concern for the particular industry. Or I suppose if you're so emotionally invested in a particular language, it's nice to know where it stands among them all.
Re:not really the whole story (Score:4, Informative)
C/C++ is largely a measure of how many native, high-performance-required applications there are (games, OS development, large native applications)
And embedded things. it remains perenially popular there since the firmware tends to be native and of course high performance within the tiny constraints of something like an 8051.
Re:not really the whole story (Score:5, Insightful)
... And not sure public github or stack overflow are really as representative as they want to believe
Yeah.. why is this any better than: ... those are all from the past year on slashdot, and there's loads more.
TIOBE index: http://www.tiobe.com/index.php... [tiobe.com]
This story about python surpassing java as top learning language: http://developers.slashdot.org... [slashdot.org]
Or this about 5 languages you'll need to learn for the next year and on: http://news.dice.com/2014/07/2... [dice.com]
Next "top languages" post I see, I hope it just combines all the other existing stats to provide a weightable index (allow you to tweak what's most important). Maybe BH can address that :-)
Re:not really the whole story (Score:4, Funny)
What is the longevity of that code (beyond libraries)? Weeks? Months?
Simple. Just peek one of the available functions/vars
$longevity = PhpGetLongevity_days();
$longevity = php_get_long_evity( IN_DAYS );
$longevity = $_SERVER['longevity_days_from_server_variable'];
$longevity = $OBJ.__what_isMyLongevity();
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
68th to 22nd and there are many to go (Score:5, Insightful)
All new languages start out at the bottom, as Swift did.
In time, the ones that don't get used fall down.
Swift has gotten up to 22nd, but the rest of the climb past the stragglers won't ever happen.
However, to be "the most popular language" is clearly no contest worth winning.
Paris Hilton and Kim Kardashian are most popular compared to Steven Hawking and Isaac Asimov.
Being popular doesn't mean better, useful, or even of any value whatsoever. It just means
someone has a better marketing-of-crap department.
There's a time to have popularity contests. It's called high school.
E
Re: (Score:2)
PHP runs facebook, yahoo, wordpress, and wikipedia. Javascript runs everything on the internet. Yup, no value there.
Re: (Score:2)
Hasn't that ridiculous rant been debunked to death yet? It's like the homeopathy of blog posts.
Re: (Score:2)
Re: (Score:3)
Swift has gotten up to 22nd, but the rest of the climb past the stragglers won't ever happen.
Well, since Objective C is currently at #10, it seems apparent Swift is still nowhere near its potential ceiling.
Re: (Score:3)
Swift has gotten up to 22nd, but the rest of the climb past the stragglers won't ever happen.
I'm really interested in why you think Swift will not make it much higher. I have my own opinions but I'm interested in hearing yours.
There's a time to have popularity contests. It's called high school.
The point of popularity contests in programming languages makes the difference between having to write all the libraries yourself, or being able to use work others have done. Also it's interesting to see what other people think is good.
Re: (Score:2)
I don't think it'll really catch on until you have access the entire iOS API.
Re: (Score:2)
Genuine question: don't you?
No iOS API to enumerate nearby SSIDs (Score:2)
I don't think it'll really catch on until you have access the entire iOS API.
Genuine question: don't you?
No, the public doesn't have access to the entire iOS API in any language. Apple reserves large chunks of the iOS API for itself, not for apps on the App Store. For example, Mozilla Stumbler [mozilla.com] is an app to help contribute to a free database of local positioning beacons [slashdot.org]. It watches your GPS and Wi-Fi and reports locations associated with SSIDs that your device can see. But it's Android exclusive because the public subset of the iOS API lacks any way to enumerate nearby SSIDs.
Re:68th to 22nd and there are many to go (Score:4, Informative)
You can get at pretty much the whole thing now. The only thing you can't do in Swift is create a C function pointer to a Swift code block, so some of the callback-based tasks in CoreAudio and CoreMIDI can't be used. But apart from that calling into C and using C data structures pretty much just works.
The existing APIs aren't very idiomatic to Swift, you gotta do more casts than you probably should have to and there are some really common patterns in Cocoa that are a pain.
Re: (Score:2)
The point of popularity contests in programming languages makes the difference between having to write all the libraries yourself, or being able to use work others have done. Also it's interesting to see what other people think is good.
Surely there's a saturation point for libraries where trying to see the wood for the trees is less convenient than just getting on with the job.
Re: (Score:3)
The fact that Swift *only* targets iOS and OSX makes it a non starter for most companies. Companies are not in the game of building an app twice from the ground up. Cross platform frameworks for apps and games are ESSENTIAL - even if the app has a different skin between iOS and Android, the internals all need to be cross-platform. Otherwise you are spending 2x the cost for none of the benefit.
FWIW, this is also why this survey is incredibly flawed. The vast majority of iOS and OSX apps are not open source s
Re:68th to 22nd and there are many to go (Score:5, Funny)
Paris Hilton and Kim Kardashian are most popular compared to Steven Hawking and Isaac Asimov. Being popular doesn't mean better, useful, or even of any value whatsoever. It just means someone has a better marketing-of-crap department.
Thanks, now I'm imagining Stephen Hawking yelling at his marketing team from that wheelchair. "Why is Kim Kardashian more popular than me? You think her space-time is more curvy than mine?"
Re: (Score:2)
Well, maybe not yelling, anyway...
Re: (Score:2)
Re: (Score:2)
I'm trying to imagine Asimov doing something like that, but in reality he was a materialist and didn't believe in ghosts.
Re: (Score:2)
More popular ... wiping your ass with toilet paper, or wiping your ass with fir boughs?
More popular ... vacation on Maui, or vacation in Damascus?
More popular ... Green means proceed / go, or red means proceed / go?
You define popularity as an amount of noise generated by media about a given consumer product. I prefer to think of popularity as the choice of the masses due to utility.
Are you trying to imply that Swift would be better served by being less popular? I mean, maybe among you and your Swift cod
Re: (Score:2)
Swift popularity is just due to the ability to make iOS apps. As iOS is a popular platform for apps.
Before swift you had objective C. So you really didn't have much of a choice.
Unless Apple opens their api a bit more so we can use swift in non-apple land and make cross platform apps. I will classify it in fad status.
Because there could be many things that can disrupt it now.
1. Cell plans get reasonable with their data plans and have better coverage. So we can go towards web apps again.
2. Cross platform mob
Re: (Score:2)
Paris what?
Kardainsky?
Sorry, I've never heard of those scientists.
Re: (Score:2)
As they complete exclusively with each other, I'd say that swift taking the 10 spot is unlikely without Objective C vanishing from use completely.
"SITED as a language to watch"? (Score:2)
If only one of these languages would let me write a spell-checker that puts a red underline beneath words that are misspelled, and a 5KV pulse under the kiester of any "editor" who passes the wrong homophone...
Re: (Score:2)
...or under the keister of anyone who doesn't double-check the correct spelling of a word, even though the existing spell-checker flags the correct spelling as wrong as well.
Guess it wasn't German-derived.
Re: (Score:2)
Popularity != Quality (Score:5, Insightful)
McDonalds may serve billions, but no one is trying to pass it off as gourmet food.
Kind of like PHP and Javascript. The most fucked up languages are the most popular ... Go figure.
* http://dorey.github.io/JavaScr... [github.io]
Re:Popularity != Quality (Score:4, Interesting)
McDonalds may serve billions, but no one is trying to pass it off as gourmet food.
But if you want to learn a skill that will almost certainly get you a job somewhere, then learning to flip burgers is a pretty safe way to ensure a job (quality of job not considered).
This type of popularity *does* have a purpose and implications and value. It's good to know. You still need other factors before you make your decisions, but it's a valuable one. It'd be nice if the various indexes had a page that also allowed them to be cross referenced and weighted to produce new calculated scores (ex. pay scaled by a factor of 1.5; lines of code in the wild scaled by factor of 0.5; most growth in past N years scaled by factor of 1.2; job postings for it scaled by 1; etc etc; combine them and calculate new scores). I don't know if I'd actually get any more usable value out of that, but it'd be (arguably) better than these stats we've been given lately.
Re: (Score:2)
Not really. In 2009, you were more likely to get into Harvard then to get a job at McDonalds... and McDonalds was hiring tens of thousands of new employees. And that's one of the many new part time jobs they opened up, not one that pays the bills.
JS and PHP are a lot like that. A lot of jobs, but so many people competing fo
Re: (Score:2)
I think this is the SO distortion effect.
Effectively the more warts a language has and/or the more poorly documented it is, the more questions that are bound to be asked about it, hence the more apparent popularity if you use SO as a metric.
So if companies like Microsoft and Oracle produce masses of great documentation for their respective technologies and provide entire sites of resources for them (such as www.asp.net or the MSDN developer forums) then they'll inherently see reduced "popularity" on SO.
Simi
Re: (Score:2)
The most fucked up languages are the most popular ... Go figure.
That's because they took their stats from StackOverflow. So basically this is a list of the languages people have the most trouble with.
Re: (Score:2)
That's not an uncommon story...
typos in summary (Score:2)
has anyone else noticed that typos have become much more prevalent in slashdot articles in the past year, and that they are less-often corrected? sited, it's, and many more.
Slashdot 101 (Score:5, Funny)
that they are less-often corrected?
If you've noticed that, it means that you often read those articles more than once. That's not how Slashdot is supposed to work.
Here is a tutorial:
1) Have a quick look at the new articles. If you manage to read an entire title, click on it, otherwise scroll.
2) Check if the submitter is Bennett. If it's the case, go back to #1.
3) Read the first 2 lines of the summary, and if those contain hyperlinks, move your mouse over the first one to see if it's a reputable domain (but don't click - the idea is just to see if the story is bullshit). If there are many hyperlinks in the first two lines, especially if there is a series of 1-word hyperlinks, go back to #1. In any event don't read more than 2 lines.
4) If there are 10 comments or less, post a Frist! comment. If there are more than 10 but less than 50 comments, post a comment without reading the existing ones. If there are 50 comments or more, find the first 5 Interesting and try to find a weakness in the comment (that's your best way to a 5 Insightful). Don't worry if you don't know the details of what is in the article (or even in the summary), most people don't read those either, and those who do will provide you with the tldr version at some point if you're terribly wrong.
5) If you are bored, scroll to 2/3 of the page and find the first -1 Flamebait. Odds are that it's one of the most interesting comments in the page.
6) If you are still bored and there's nothing left but yro or "answers your questions" stories on the homepage, pick any article, remove the moderation filters and try to find those long rambling homophobic/racist erotica comments, or why not treat yourself to a full read of one of the posts from Mr Hosts file.
There you go. There's plenty to do on Slashdot besides keeping statistics about how often typos are fixed.
Re: (Score:2)
This is fascinating, and I think it gets to a lot of the gripes I see in comments here. Basically, the longed-for slashdot of old was designed for rapid consumption of low-density news data at a fast pace. The slashdot we all experience now provides that, but the complaint is that the superficial browsing you describe yields less of a fix for data-hungry readers than it used to.
Frankly, I think the level of discussion has gone up as the level of satisfaction has gone down. I come here for the comments.
Thank
Re: (Score:2)
7) Try to work in something about the layout being totally fucked. Even if it's not, it probably will be again by the time anyone reads it.
Re: (Score:2)
I think Slashdot should make this their official site tutorial.
methodology (Score:3)
Essentially they measured the popularity of the language on github, then measured the popularity of the language on stack overflow. The rank is an average of the two.
Swift is right there next to assembly, in case you're wondering how popular it is.
Re: (Score:2)
It looks like a logarithmic or ranked scale as well, as some obscure stuff is way too high compared to the top contenders.
Shell is the best (Score:5, Funny)
I don't know why "Shell" is in only 11th place. It's such a powerful language, it has the whole shebang.
"CoffeeScript, often cited as a language to watch" (Score:2)
CoffeeScript is almost tied to Ruby. Its Javascript for people who like Ruby syntax, even if it costs them real debuggability (sourcemaps are meh with it, and the output code is terrible, no matter how much they argue until they're blue in the face that its beautiful... I had 20 lines of CS code get compiled to a single line of nested ternary operations before...that was fun...not).
While on that index Ruby went up, non-ruby people rarely hit CoffeeScript (they do, but in a significantly smaller ratio), and
Re: (Score:2)
I had 20 lines of CS code get compiled to a single line of nested ternary operations before...that was fun...not).
You have to admit it's pretty cool, though.
Re: (Score:2)
For me it was classes and inheritance that drew me to coffeescript
Bad start, considering classical inheritance is a downgrade from prototypical... CS is just sugar over the built in stuff, but it basically does it worse than how a library could using the full power of javascript prototypal inheritance (ES6 has that same issue though, it was a big source of debates...). Now you have the issue where ES6 and CS inheritance are incompatible in very subtle ways...for most purpose they work together fine, but the super behavior is different, which can be awkward at best.
Personally, I don't see it as a dead-end
Its a
Stats are irrelevant (Score:5, Insightful)
You have to use the right tool for the job, even if that means learning something new to you. Competent programmers don't make their decisions based on what tools they already know; they make them based on what is the best fit for the requirements of the system or component.
Yes, component. It's not at all uncommon for a well-designed system to be implemented using multiple technologies and languages, each best suited to their piece of the puzzle.
Re: (Score:2)
It's not at all uncommon for a well-designed system to be implemented using multiple technologies and languages, each best suited to their piece of the puzzle.
Which is why it's a nuisance that a single file can only be in one language. I've been saying it a lot of late, but the reason that most multiparadigm languages fail is that they add keyword upon keyword in order to hack a single syntax into multiple different paradigms, rather than simply having syntax defined by context.
The most extreme example I can think of would be SQL queries. When I last needed to database queries from Servlet Java (over a decade ago), you had to build everything up as strings and th
To interpret Swift rank properly (Score:2)
From the chart they have presented:
- Swift is less popular on github that Emacs Lisp and Lua and considerably less popular than VimL
- Swift is about same popular on stack overflow as Assembly, ColdFusion, Dephi and Powershell
Too bad they don't provide raw numbers. Currently Swift is ranked at '75' while Javascript is ranked as '100'. What it really means that there are 1,161,994 repositories marked as javascript, and 17,413 repositories maked as Swift. Pascal, which has '50' in that axis has 4348 projects.
Coffeescript (Score:2)
Many coffeescript devs when asking questions in stackoverflow or making public libraries in github use Javascript for increased visibility. Also I don't know how they measure data in github, but for each .coffee file there is a .js file as well which could distort the results.
Top most popular language for learnings (Score:2)
JavaScript, PHP Top Most Popular Languages
Not just most popular, but top most popular!
Comment removed (Score:3)
*Not* the most popular (Score:2)
They took their list from the languages GitHub and StackOverflow. GitHub is an online source code repository service, and StackOverflow is a technical Q&A site. So this is essentially some combination of the languages used most by folks for Open Source (typically non-paying) work and the languages that are causing people the most grief.
That's an interesting way to define "popular".
Re: (Score:2)
why is coffee script then less readable? it's not training wheels, it's something else.
it's more like blocking the handlebars from going one way, locking the seat to super low position and removing one of the pedals and saying that makes it easier to instruct new bicyclists.
Re: (Score:2)
CoffeeScript has too much in common with JavaScript, with too many of its own esoteric compromises, to be a good compile-to-JS contender. It also has the disadvantage of being fucking awful.
If we're picking languages that compile to JS, we have a lot of options. Why would we pick something that is such a derivative work? If I'm going to be that close to the metal, I'd rather just write on the metal.
Re: (Score:2)
ms just released a high quality outlook app on ios. works pretty good.
Re: (Score:2)
I know, that LINC is an underground sensation...
Re: (Score:2)
Your message is partially right. iPhones market share is heading down true but unit sales were still rising and have just taken a boost from China.
In the long term, your provocative heading may well turn out to be correct but that is years away. Businesses want their development done now on machines that are "out there" at present, not years away.
I would like it If Windows phones actually caught on but that one may be even further away. Their market share is so low that it could be hugely changed by a ro
Re: Is this a joke? IPhones are dying. (Score:3, Funny)
This could be the year of the windows des.. umm, ph... err thing.
Re:bleh (Score:5, Funny)
Most used piece of furniture in large households is the toilet.
Re: (Score:2)
I hope that depends whether you're counting sittings versus time spent.
Re: (Score:2)
that's because you're lazy.
I'd wager that even then the bed would win.
Re: (Score:3)
Since JavaScript is increasingly also a compilation target, the fact that it continues to dominate is a good indicator that the competition among compile-to-JS languages is strong.
One of those biggest companies on earth promotes both Go and Java as compile-to-JS languages with less success than I would expect.
Granted I'd prefer to see ClojureScript grow, but I am not placing any bets there.
Re:Who's surprised by this? (Score:5, Interesting)
Frankly, the only thing that's going to upend the JS dominance of client-side web programming is a functional language. There isn't a compelling reason to trade OOP horses on the web. There's a good reason to choose a better paradigm for the problem. A functional paradigm with a good immutability story is going to have a much better time convincing people to rethink how they program web apps with a focus on user interaction over time.
There isn't much point in vying for who can do the best at mixing data and behavior. Separating those will be a good way to compel people to consider alternatives.
Re: (Score:2, Informative)
Nonsense. I like functional programming more than most of the people I know, but JS itself is becoming a pretty decent functional language. It's not as "pure" or academically-sanctioned as some of us might want, but it's hardly as bad as a lot of other popular languages. It fact it's already half-decent, and ES6 will even have proper tail recursion. Other popular languages struggle mightily with that concept, while JS is trying to actually make it standard. JS is basically just C++-like in that it has a lot
Re: (Score:2)
Nothing you said makes my point nonsense. The only thing that is going to go head-to-head with JS is a properly functional language. The fact that JS adopts more functional concepts and encourages more functional approaches only underscores that.
Re: (Score:2)
JS is not a functional programming language. It has a lot of functional attributes, but it is very heavily skewed toward imperative approaches to problems, and it's a stateful mess.
The syntax is far from JS's only problem.
Re: (Score:2)
Tail vs head recursion is a result of the imperative programming paradigm. FP is supposed to be an analogue of mathematics, which logically implies that it should be declarative. FP has been hamstrung by people fixating on ML, Lisp etc, and forgetting that much of how they do things is determined by the memory and processor constraints of machines 40 or 50 years ago. Yes, on one level it's good that programming language codebases are kept more stable and predictable than other code (given how much other sof
Re: (Score:2)
I find the above more readable than
Sure, I can see that. But both are infinitely less readable than a for loop.
Re: (Score:2)
I find the above more readable than
Sure, I can see that. But both are infinitely less readable than a for loop.
I disagree with that, except in the trivial sense that you need to know what a list comprehension is before you can recognise one, and that Python FOR loops are reasonably similar across different languages.
my_list = [] for x in list : if x>0 : my_list.append(x*x)
The problem with most imperative programming is that the meaning of the program is broken up between multiple statements. The semantics of an individual statement are purely technical, and carry little meaning in terms o
Re: (Score:2)
Oops... wrong button. I was trying to sort the formatting on the code.
Anyway -- as I was saying... With a for loop, you have to understand each step individually then construct the relationship between lines. The more experience you have, the easier this becomes, but it is still a more difficult cognitive task than reading a single statement. The list comprehension syntax isn't perfect, and you still need to break it down, but once you know about list comprehensions, it's impossible not to recognise what yo
Re: (Score:2)
The more experience you have, the easier this becomes, but it is still a more difficult cognitive task than reading a single statement.
my_list = [ x*x for x in input_list if x > 0 ]
my_list = [] for x in list : if x>0 : my_list.append(x*x)
I strongly disagree. As you said: "you still need to break it down" which, adds to the cognitive load. The for loop is not only neatly broken down for you, but includes additional information to help you understand each part and the relationships between each part.
Further, the components themselves are also "in order" making it read more "naturally". The order in the list comprehension example might as well be completely random. Consider the same example using list comprehensions in C#:
my_list = from x
Re: (Score:2)
I strongly disagree. As you said: "you still need to break it down" which, adds to the cognitive load.
You either have to break down or build up, and either is a cognitive load. What I like about the Python list comprehension is that having the statement in brackets basically screams THIS IS A LIST and it's very hard to miss the intended meaning. The C# list comprehension doesn't have any similar visual indicators, and the readability relies more on meaningful variable names
The for loop is not only neatly broken down for you, but includes additional information to help you understand each part and the relationships between each part.
No, the thing that's most sorely lacking in imperative programming is structures that explicitly encodes relationships between statement
Re: (Score:3)
FP has been hamstrung by people fixating on ML, Lisp etc, and forgetting that much of how they do things is determined by the memory and processor constraints of machines 40 or 50 years ago.
we have a hell of a lot more resources to play with, so we can do things a bit more clever, surely?
So you're really just saying performance be damned, functional programming is great, right?
I'm not opposed to FP, but I disagree that performance doesn't matter. High-performance is a great thing for in-browser scripting. It's an enabler. It means neat things like WebGL (against which there are many valid complaints, but I'll ignore those for now) might actually be useful, and not just an interesting gimmick. Asm.js is exciting precisely because it enables really fast code to run in the browser, within the
Re: (Score:2)
So you're really just saying performance be damned, functional programming is great, right?
Did I say we should all be using FP? No. I said that FP doesn't work right in an imperative paradigm. Now a declarative language would need to be compiled, because yes, an interpreted declarative language isn't going to be able to optimise itself on the fly. But a compiler should be able to handle performance for us. One of the reasons compiler optimisations are so difficult is down to the multitude of ways imperative programming can be hacked about, so there is very little that is predictable in its behavi
Re: (Score:2)
a compiler should be able to handle performance for us. One of the reasons compiler optimisations are so difficult is down to the multitude of ways imperative programming can be hacked about
But this simply isn't true. Here in the real world, C, C++, and FORTRAN are incredibly fast. Faster than Haskell or OCaml.
This isn't a theoretical question. Real C code can generally be expected to outperform real Haskell code. (Yes, carefully tuned Haskell code can be fast too.)
Re: (Score:2)
OCaml is an imperative language -- I was talking about FP as declarative. Haskell may be described as "pure" functional, but it still allows monads with side-effects, which means it still has order-of-execution issues and is therefore not declarative. So clearly I was not talking about OCaml or Haskell. This is a theoretical question, because "here in the real world", there is no declarative functional language to benchmark against.
My personal belief is that the problem with FP is the same problem as every
Re: (Score:2)
This is a theoretical question, because "here in the real world", there is no declarative functional language to benchmark against.
Then I really don't care. You're talking about such a narrow set of language - so narrow that you concede no such languages even exist - that it's really not worth our time to reason about them from a practical, software engineering perspective.
What 'concessions' Haskell makes are in the name of practicality, and it's still nowhere near a practical language, really, at least not judging by its uptake.
If you're seriously going to argue for adoption of ultra-pure functional programming languages, you've got y
Re: (Score:2)
Re: (Score:2)
Groovy? I know it looked hot back in 2013, but that was the result of some foul-play [jaxenter.com]. It has since dropped off the radar.
I honestly didn't know that anyone still cared about it.
Re: (Score:2)
Forget percentage of use, how do they pay compared with each other?
These: http://developers.slashdot.org... [slashdot.org]
Re: (Score:3)
I never got why employers are so obsessed about people having worked in language whatever.
In my experience, this is because "employers" in this context means the people who are either doing the hiring process, or are the top management. That is, they are people who have no concept of what a programming language is. So they make the obvious connection based on the terminology: It's like a (written, probably) human language. This means that it's so complex, inconsistent, and full of special cases that it takes years for anyone to become fluent.
I've experimented in a few interviews, and trie
Re: (Score:3)
Re: (Score:2)
There are plenty of languages you learn in half a day, e.g. as a C++ developer it should not take you much to learn Java/C#
But perhaps you mix up 'language' with 'libraries' comming with that language.
Re: (Score:2)
If you stick to the "See Spot Run" of "I can compile a sort algorithm" or similar, sure. But, just randomly based on my experiences, that's bullshit. The quirks of any language are fundamentally important. I've spent a couple of days looking for a bug in my code, that turned out to be a subtle difference in how templates/generics are handled between C++ and C#, where I was used the C
Re: (Score:2)
And I'd rather hire a smart C++ programmer for a c# position than a dumb C# programmer.
Well, I guess picking up a new language quickly is a skill good programmers/software engineers have.
Regarding your template/generics issue, did you blog it somewhere? Would be interesting to see such examples.
Understanding when C# is passing by reference and by value is slightly diffferent.
I thought that was a property of the C# class?
Anyway, similar like with natural languages there are always smaller and bigger nich
Re: (Score:2)
Sure. If the language concepts are familiar, you can learn it enough to do monkey coding over the weekend. You won't know how to use the language effectively or idiomatically, or where the dark corners are, or be able to easily read code written by somebody else that has a language construct you just skimmed over on Sunday afternoon. If it has concepts you aren't familiar with, you're going to have to learn the concepts to be truly proficient, and that can take years. Many languages nowadays have larg
Re: (Score:2)
I explicitly excluded libraries :D
However I believe it depends on the libraries anyway. Is it framework like (Swing vs. WindowsForms -- which are both not frameworks, btw.), ofc you need some time to dig into it.
Is it just a library of collection classes, think about java.util.* then the IDE does most of the work. Can't be so difficult to figure if a method add() or put() is used to add to a container class.
I once wrote an XML parsing and binary file writing program in C# with out knowing much about C#.
The
Re: (Score:2)
Speaking as an excellent C++ developer, it's easy to learn to read and write parts of Java and C#. Actually learning the languages is going to take a lot more than half a day.
Re: (Score:2)
Its not about the language, its about the ecosystem. ie: .NET may be somewhere in between java and scala, and the basic of the framework is the same, but if you do high end stuff, JVM languages and CLR languages are totally different. Different in how you debug it in production, different in what the standards are, different in what patterns people expect you to use when they build a library, different gotchas. And while you can pick up the basics in an afternoon, it can take years to really push it.
Doesn'
Re: (Score:2)
I don't know why the marketing weenies that hire idiots don't just hire competant C programmers and make them transition to the language they want.
Because they're hard to find.
Also, just an FYI, if you're having trouble finding a job right now, it's not because of your skill it's because of your personality.
Re: (Score:2)
Because they're hard to find.
Unfortunately a lot of the incompetent ones are experimenting with programming and proudly offer their babies as open source (e.g. a lot of the camera, multimedia stuff on Ubuntu).
Re: (Score:2)
if you're having trouble finding a job right now, it's not because of your skill it's because of your personality.
So do people with personality disorders or mild autism deserve to starve?
Re: (Score:2)
Re: (Score:2)
printf(1+2+"3+4+5");
You missed something:
// Insightful
printf(1+2+"3+4+5");
Re: (Score:2)
I think you mean /* Insightful */