9 ms·
The State of the Octoverse: top programming languages of 2018
- empath75 8y agoEvery time I see something like this I’m reminded how easy it is to get into a bubble in this industry. If you were going by hacker news, you’d think Go and Rust would be way higher ranked.
- cmyr 8y agoWell they're both on the 'fastest growing'[1] list, which is about what I'd expect. 1: https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/#fastest-growing-languages-by-contributors-as-of-september-30-2018 https://blog.github.com/2018-11-15-state-of-the-octoverse-to...
- 3rdAccount 8y agoOr Lisp and Haskell :)
- sridca 8y agoWhat about languages like Haskell, which are also growing nowadays?
- 3rdAccount 8y agoGrowing sure, but still extremely niche. I think a recent report showed ~15 open jobs worldwide. A lot of Haskell users learn it for intellectual curiosity rather than any expectation of actually using it at work.
- bcherny 8y agoI get what you mean, but I bet it’s more than 15 :) Hell, I bet just FB has more Haskell openings than that.
- tyingq 8y agoThe PHP plateau, then decline in just the last 2 years in interesting.
- toyg 8y agotbh I'm surprised it took this long, PHP has been unfashionable for a very long time now. I suspect some of it might be because Django has become "the new wordpress" in many ways, and some because a lot of PHP users are one-man-bands who could already do JS and so find it natural to move onto Node.
- keldaris 8y agoAnyone have any insight on the relative popularity of C in Asia?
- golemiprague 8y agoEmbedded systems, Asia is manufacturing most of the electric goods people use these days and therefore a lot of embedded programming is required
- habitue 8y agoI wonder if something got lost in translation and the "thread safety" section should have been called "type safety"? It seems to be what the paragraph is talking about (though in the case of rust you could say the static typing lends it a measure of thread safety)
- tyingq 8y agoI agree. That paragraph is odd. They seem to be trying to use the concepts interchangeably.
- deleted 8y ago[deleted]
- brian_spiering 8y agoThe chosen visualizations are not helpful. They look like slides from a slide deck for executives. The green blobs in the corners are not related to to the data. Geographic data should be shown on a map.
- drenvuk 8y agoYou seem to be nitpicking, they were easy enough to read and displayed information as indicated by their labels.
- zamadatix 8y agoHow do you graphically show top 10s on a map without just making it into text lists with a background instead of title?
- greggyb 8y agoI actually would object that geographic data should rarely be shown on a map. A data visualization should be chosen such that it helps the viewer to better understand the information contained within. Maps are great at showing some very specific types of information, namely boundaries around areas and the positions of those bounded areas relative to one another. If you have information that is intimately related to those boundaries and areas, then by all means plot the information on a picture of those. The geographical regions in the article serve only as categories. There is no intent to educate or present the relative positions of those regions to one another. You criticize the extraneous green blobs. What benefit and clarity is gained by adding other blobs (shapes on a map) and divorcing the relative ranking from an easy-to-interpret linear scale? How does that aid in understanding the relative popularity of languages?
- vharuck 8y agoMaps can serve as a chart of data relations and/or a listing for easy lookup. But, yeah, it's disappointing most people dislike non-map charts with geographic categories.
- mcnichol 8y agoTop Programming Languages.....bit of a title there eh
- ken 8y ago> Python’s versatility and interoperability are also impressive; for example, developers can directly call Python APIs from Swift. Well, AFAICT, there's a branch of the compiler/stdlib with an "early stage research project" that lets you call Python from Swift. It's "hard-coded" to use an 8-year-old version of Python, and they say supporting anything newer would be "non-trivial". It's a pet peeve of mine to see people exaggerate the capabilities of software systems, especially already-popular ones that don't need free PR.
- ramenmeal 8y agoAnd that seems like a feature of Swift, not Python.
- Illniyar 8y ago"Rust and Kotlin are also on the rise, both of which find built-in audiences in JavaScript and Java, respectively." Is this a typo? Why is rust drawing an audience from javascript programmers? I would imagine c and c++ to have more synergy here.
- chucksmash 8y agoAgreed. I know there's been some buzz about compiling to WASM but that hardly seems as related as Kotlin's "also runs on the JVM, isn't Java and can be automatically generated from .java source files" It seems like the sentence would make more sense if it was talking about TypeScript and Kotlin instead.
- z3phyr 8y agoMaybe people who want to get into systems programming and choosing rust rather than C. Many JS devs do seem to prefer new glittering things.
- kayoone 8y agopretty sure Rust should have been Typescript in that sentence, otherwise it makes no sense.
- steveklabnik 8y agoWe're seeing a lot of interest for two reasons: * WebAssembly * "I've always wanted to try something lower-level" That said, this reads like a typo to me, I think it should be TypeScript.
- zebraflask 8y agoMaybe add TS into the mix, but I doubt it's a typo. TS is just a subset of JS. I'm a JS developer and learning Rust is one of my side projects. I've built a few hobby projects that combine both. They work well together and Rust is a much friendlier language to work with than C/C++ (IMHO).
- singularity2001 8y ago
- Illniyar 8y agoCMake is on the rise? Anyone has an explanation for that? Edit: I mean it's an old build system for C. Is there some new developments that would cause it to rise in popularity?
- gaius 8y agoCMake is “common make” not “C make”, it can make anything, and package it with CPack, test with CTest and so on. It’s still being developed too.
- chubot 8y agoIt seems like the most popular option for portable C and C+++ builds. It seems to have solved the nasty Windows build problem the best, as far as I can tell. Autoconf is another option, but it doesn't support windows. I think people perceive CMake is old and gross, but autoconf is older and grosser as far as I can tell. For example, LLVM now uses CMake. It used to use autoconf. I don't know of any new developments, but I think people do want to get off of autoconf.
- singularity2001 8y agoIt is becoming more popular because it is more powerful / advanced than Makefile: find_package( Readline ) include_directories( ${Readline_INCLUDE_DIR} )
- tines 8y ago> Rust and Kotlin are also on the rise, both of which find built-in audiences in JavaScript and Java, respectively. I would have said C and C++ for Rust. Are Java developers actually even in the same universe as Rust?
- klez 8y agoRust -> JavaScript Kotlin -> Java Which is still somewhat weird and they were probably thinking about TypeScript, not Rust
- ShamelessC 8y agoI believe there was a typo responsible for this confusion.
- sifoobar 8y agoI know for sure without looking that there's less C than could have been and no Snigl [0] in there, since I recently packed up my stuff and moved to GitLab. For my needs, the platform is fine; and they embrace remote workers, which I think is great; the only thing it's missing is users. As it stands, 1 star on GitLab is worth a thousand on the hub. https://gitlab.com/sifoo/snigl https://gitlab.com/sifoo/snigl Edit: Down voting without commenting obviously makes this a worse place for discussions. May I suggest stopping for a second and reflecting on your motivations?
- smudgymcscmudge 8y agoGitHub also embraces remote work. About 2/3 of GitHub is remote. I'm not saying move back to GitHub because of that, but it's one of the many things that GitHub and GitLab share in common.
- sifoobar 8y agoThat's cool, didn't know. We need more of that, some people just don't function very well in office environments and the talent is often somewhere else. Right now though, everything is up in the air when it comes to GitHub. I would be very surprised if it just keeps humming along under Microsoft's weight.
- sixhobbits 8y agoInteresting data but why did they show the breakdown of popularity by geographic area as a line graph and label it as a trend? It makes it look like eg python is losing popularity at first glance but the lines are actually meaningless
- cronix 8y agoI think some of these stats are a bit misleading when it comes to js, and how GH calculates it. For instance, my project is mostly php (Laravel). It uses webpack to compile a few assets, really... a FEW (Vue + a few vue components + my custom code). However, those few dependencies pull in hundreds of other dependencies, which pull in a ton more and on it goes. When all is said and done and the js (my actual code) gets compiled, it's only like 50k of js, yet github classifies my project as "javascript" purely due to the number of dependencies, when in reality it's probably more like 3-5% of the entire codebase in terms of what is actually getting executed. It would be nice if you could tell GH which dir to look at to judge. For instance (with laravel) the compiled assets are placed in /public while the uncompiled assets are in /resources. I'd like it to only count JS located in /public, as that's accurate for my app in terms of js usage.
- kibwen 8y agoLast I checked this should be possible with some contortions on your end; Linguist (the tool GitHub uses to detect repo language) has some hardcoded paths which it will ignore for the purpose of counting lines of code. See this issue where Servo managed to convince GitHub to count it as a Rust project rather than an HTML project: https://github.com/servo/servo/issues/6332 https://github.com/servo/servo/issues/6332
- james_s_tayler 8y agoGiven that Resume Driven Development is (likely) heavily influenced by surveys like these as developer look at them and think "maybe I really should make the switch to everything JavaScript?". If what you say is true then js could actually become more popular than it really is in reality in some sort of bizarre, comical, global software development "fake it till you make it" kind of way.
- rbrcurtis 8y agoAre you committing your libs? If yes, you probably shouldn't. If no, then GitHub is only calculating your actual js LOC.
- irrational 8y agoAs long as JavaScript is the only language that runs in the browser, I expect it to stay at the top. Not necessarily because its the best or the favorite language, but because it is the only language. It is like having a chart of how many women versus men give birth. Shockingly women are still at the top.
- mepian 8y agoAre you aware that one language can be compiled to another?
- krapp 8y agoWhen a language is compiled to javascript, it's still javascript that's running in the browser.
- mepian 8y agoYes, but that's not the point: you don't have to write JavaScript yourself.
- coldtea 8y agoNo, but you still have to suffer the fact that the language you do write in is translated to JS, and doesn't have first class browser support.
- mepian 8y agoThis doesn't seem to deter the users of TypeScript, one of the languages that made it to this top 10 ranking.
- WalterSear 8y agoApart from types, it is javascript. You even have to configure the flavor of javascript you are writing in, and many otherwise javascript-based packages provide typescript type definitions, to maintain interoperability.
- cortesi 8y agoI find the rank graphs in this post a bit unsatisfying - I keep wanting to see what the relative magnitudes are. I've been experimenting with a visualisation that combines rank and magnitude. It needs another few iterations but I think the direction is promising: https://netograph.io/data/stats/connections?q=all https://netograph.io/data/stats/connections?q=all
- luord 8y ago> Type Safety (?) [Used as a reason for current popularity] This is odd, specially coming from GitHub. Not only does static typing not always guarantee type safety nor dynamic typing always ensures a lack of it (python, for instance, is strongly typed) but both of them have existed for over fifty years.