9 ms·
Advent of Code Surveys: Results
- johnchristopher 5y agochuckles at vim having 3 times more usage than emacs :].
- Dowwie 5y ago... By those who visit the advent of code subreddit.
- rich_sasha 5y agoThey are probably people who tried it once and still can’t exit.
- falcor84 5y agoI'll just leave this here - https://github.com/hakluke/how-to-exit-vim https://github.com/hakluke/how-to-exit-vim
- keyle 5y agoYep. 3 times more key presses! /s
- dharmaturtle 5y agoI'm simultaneously learning neovim (by embedding it in VS Code) and emacs (primarily for magit - might learn org-mode later). Not sure why, but previously I never considered the possibility of being able to use both - I thought they were mutually exclusive. I don't have many good things to say about vim or emacs's window/frame/buffer management... too used to VS Code/Chrome style tabs. Let me see what I have open damnit. ...turns out I just need to google it. Its `set showtabline=2` for vim and `M-x tab-bar-mode` (or `M-x tab-line-mode`) for emacs. Derp.
- ducharmdev 5y agoHave you tried spacemacs with vim keybindings? That may be right up your alley. Personally I still prefer VSCode + vim, but I did use spacemacs for it's org mode for a bit.
- johnchristopher 5y agoI just use, hmmm: `tt` binds to `:tabnew` `gt` binds to `:nexttab` `gT` bindts to `:prevtab` I can `vsplit` (yeah diff!) and `vsplit` again and I can do `split` and I can do hmmm, `ctrl shift hjkl` to cycle. Anything more I can't. I am bad at managing and mentally mapping buffers. Ditto for `tmux`. It's easier for me to manage multiple windows (yeah tiling manager!) than vim/tmux's buffer. Aaaand I can recycle that knowledge for any apps.
- fulafel 5y agoCool that Clojure (1.2%) is this high up, between Ruby and PHP. Scala and F# also make it to ~ 1%. TypeScript scored lower than I would have thought - used by 3.3%. Scala and F# also make it to Also that the long tail of languages makes up 22%!
- jeroenheijmans 5y agoExcel+Sheets taken together even >1.2% :-) And 3 respondents answered they use their own custom language :O
- tluyben2 5y agoYes, this year I redid all my solutions in our own language (been working on it for 2 years with a friend) after submitting; to test how will it works for these cases. I must say, next year we'll definitely do it fully in our language.
- jeroenheijmans 5y agoThat's absolutely amazing!!
- llimos 5y agoI used TypeScript one year, and found that for this kind of problem there are basically no benefits over JavaScript, and because of that it's also not a great way of learning TypeScript.
- tluyben2 5y agoFor this kind of thing JS is actually good as you can do messy things fast without worrying. Like a few of the problems this year benefitted from being able to mutate structures while iterating over them; I would never do that in production code but for fast hacking/golfing it is an excellent footgun. I did a lot last year in Rust and k (the polar opposites?); Rust was really annoying for this kind of thing.
- swyx 5y agosurprised to see Windows users so high in the survey. any selection bias going on here?
- aero-glide2 5y agoI'm surprised to see Linux usage so high.
- simion314 5y agoWhy so surprised? I never had a colleague ever using Linux like myself,everyone uses Windows and one time a person also owned a OSX machine. It is obvious that there is a big bias, people that have the time and still enjoy coding puzzles and probably some other groups of people that I don't know about(I never participated).
- matsemann 5y agoIs the bias perhaps on your side? There is a big world outside the US west coast.
- IshKebab 5y agoThe selection bias is in the task itself. Windows is far more popular among non-developers.
- flohofwoe 5y agoGame development also happens almost exclusively on Windows. Linux and macOS seems to be more popular with the backend- and web-dev crowd though.
- flohofwoe 5y agoI'm rather surprised that Linux and macOS are so high. Different bubbles I guess.
- nickjj 5y agoWindows with WSL 2 is really good for general development. You can essentially use Windows as a shell of an OS to run certain tools that don't work great on native Linux while spending a majority of your time in a terminal treating the experience as native Linux. Docker is also extremely fast with no volume performance issues. We all know the "other" issues with Windows but besides privacy (which feels disgusting to even say btw), it's really solid, fast and feels ok to use. I do a ton of dev / ops related work on it and don't have too many complaints from a technical standpoint -- lack of a first class tiled window manager is the only big one that comes to mind.
- not2b 5y agoI've gotten through the first 16 problems, haven't had a lot of time to work on it. Mostly used python 3, for a couple of the easy ones at the beginning I just solved them with shell tools (I think it was simple sed or awk one liners). And Emacs.
- jeroenheijmans 5y agoOoh <3 to whomever posted my AoC pet project here :-) Tip: the datatable for "Reasons to participate" contains some of the most heartwarming stuff you'll read all day. Happy holidays y'all!
- petargyurov 5y agoInteresting to see VS Code gain more users each year whilst other popular editors/IDEs lose users. Not necessarily an indication of actual user base; could just be that more/less devs of each "group" are deciding to participate. Side note; I decided to move from PyCharm to VSCode and honestly, I am starting to miss PyCharm. Yes, it's sluggish to boot but it handles Python so much better: better inspection, highlighting, better Git integration (3-way merge!) and better tooling all round. I find myself having to mess around in VSC's settings.json for far too long, scrambling to find the relevant extensions documentation because god forbid you include all the keywords somewhere easy to find in the IDE! And to top it all off, there's currently some annoying bugs with error highlighting in VSC that make it a pain to use.
- matsemann 5y agoOr that using an editor instead of an IDE doesn't matter as much for these small tasks where everything fit in one file? I'm a big JetBrains fan, and now use PyCharm at work. But there is something about Python making IDEs not as useful as it is in other languages. Too much magic and weirdness in the language makes it harder for tools to do a good job.
- the_duke 5y agoThe whole "VS Code is an editor, not an IDE* argument doesn't hold water anymore. There are decent to great LSP clients for many languages. VS Code has git integration. And by far the richest plugin ecosystem of any editor/IDE. Yes the Intellij solutions are often better and top notch for languages like Python/PHP/Go/... And everything feels more integrated and coherent. But VS Code is still very far beyond a dumb text editor.
- strogonoff 5y agoI’ve started using VS Code with Python recently. There was an unpleasant surprise in that Pylance silently pulls unvetted third-party typings with not even an opt-out—resulting in typing mismatches across versions, in addition to generally exhibiting too implicit of a behavior for my taste. (Coming from Python pre-typings originally, I have grown to appreciate TypeScript’s model where user is asked to install typings explicitly if missing.) So I ended up using VS Code with Python extension but Pylance overridden as disabled, and with mypy and flake8 installed in your environment (and enabled in VSC) it actually works fairly well, showing errors and warnings from both. Can’t remember whether I had to edit settings.json or not, but it took some time to hunt down relevant settings.
- yodelshady 5y agoCompared to last year: I moved from Python to Rust, VSCode to neovim, and having no work or social life to having some. I suspect the latter is the primary reason I only got to day 14 this year. That said, it is definitely easier, by a mile, to throw away an approach that turns out to be faulty in Python, which means it's easier to try it in the first place. It's easier to simply write down the approach and figure out the implementation when you need to as well. Interested in getting more out of vim, so far I'm quicker for some things, but I'm not convinced I'm quicker overall.
- deleted 5y ago[deleted]
- ducharmdev 5y agoI also switched from python to rust, and it sure was rough haha. The compiler is a stern but effective teacher; I felt like I was constantly fighting the language, but primarily because of my lack of understanding of ownership (not rust's fault!). The Dijkstra stuff on day 15 is what ended it for me; like you said, python makes it easier to prototype stuff, so if you need to learn/relearn algorithms you never use day to day, it's so much more forgiving.
- culi 5y agoDeveloper Survey 2021: • (url) https://insights.stackoverflow.com/survey/2021 https://insights.stackoverflow.com/survey/2021 • (num) 80,000+ • (by) StackOverflow State of the Developer Ecosystem 2021: • (url) https://www.jetbrains.com/lp/devecosystem-2021/ https://www.jetbrains.com/lp/devecosystem-2021/ • (num) 31,743 • (by) JetBrains State of the Octoverse 2021: • (url) https://octoverse.github.com/ https://octoverse.github.com/ • (num) 12,000+ • (by) GitHub State of CSS 2021: • (url) https://2021.stateofcss.com/ https://2021.stateofcss.com/ • (num) 8,714 • (by) Sacha Greif Advent of Code 2021: • (url) https://jeroenheijmans.github.io/advent-of-code-surveys/ https://jeroenheijmans.github.io/advent-of-code-surveys/ • (num) 4,245 • (by) Jeroen Heijmans Awaiting: State of JS 2021, any other major ones?
- rich_sasha 5y agoI’m surprised Python is so high and ahead of everything else. The problems in AoC are quite easy, broadly speaking. So to me the appeal is to use a novel toolset. New language, new platform, etc. Someone on HN mentioned org-mode+CL. Python is great, but not very novel. Are there that many people learning it on AoC? Or am I missing the point?
- iovrthoughtthis 5y agoi think for many, they are not easy
- jstx1 5y agoEvery AoC problem boils down to the task of "read and parse this text file, write a small script with an algorithm to compute something with the input (maybe doing this for time) and you aren't bound by the performance of your machine or your language". Python is one of the best languages for that task. If you had to do anything similar in the real world, you wouldn't I also don't think that the problems are that easy. With Python I can focus more on solving the problem instead of trying to fight a new language (or to force a language into a task for which it isn't all that great).
- sokoloff 5y agoI’m using AoC to learn Clojure this year. I found Day 14 part 2 to be performance-bound (the naive solution that worked fast for part 1 didn’t for part 2). I have to cycle back to it to use a smarter algorithm for part 2.
- jstx1 5y agoRight but you aren't performance bound by the language - rewriting the brute force for day 14 part 2 in C won't get you anywhere. I think that Eric tries to design the puzzles and the inputs in a way that - a well implemented smart solution runs in a reasonable time even in a slow language on a slow computer (this is what I meant by not being performance bound) - some of the exponential growth puzzles can't be realistically brute-forced even with a fast machine and a performant language (like the example you mentioned)
- jstx1 5y agoFor me this year AoC was a lot less fun that last year. As soon as the problem required reading it multiple times to figure out what it's even asking of me, I just gave up. Might be my own state of mind or the puzzles being more tedious, I don't know.
- wdroz 5y agoI gave up at the day 03, trying to quickly understand the wall of convoluted text at 6 a.m. without coffee as "hobby" was too much for me. Then As I were no longer in the tops of our internal leaderboard, I just leaved it and move on. At least I wasn't sleep deprived the whole month like my coworkers.
- Waterluvian 5y agoExact same for me. That’s fine. It’s just not for me I guess.
- keyle 5y agoIt might have been your state of mind? I spoke to a couple of other people that did the previous years, and I found it myself, it was significantly "easier" this year. Let me be clear, not "easy", but "easier" :) I agree about reading it twice or thirce or quadrutrice (ice, ho ho ho), sometimes you're reading it and all you want is "just tell me what to do!"
- rakejake 5y agoUpto Day 16 or so I would have agreed, but the difficulty really ramped up in the last week. Part 2 of Days 21, 21 were much harder than anything I did last year IIRC.
- sundarurfriend 5y agoI agree with both these observations. The problems felt easier this year than the last (which is the only other one I've done), but the last week or so they got not just difficult, but complex in a not-so-fun way. I do plan to tackle them slowly over the next few months though, when I have time (and after I'm finished with [Rosalind](http://rosalind.info/problems/list-view/ http://rosalind.info/problems/list-view/)).
- fgblanch 5y agoThanks for posting it. Nice stats, it would be great to see the stats by country and developer ternure.
- DickieStarshine 5y agoI love Julia for AoC, especially for matrices. It's just that good and I'm surprised more python people don't use it.
- ellisv 5y agoEvery language has their own conveniences but, I agree, Julia is well-suited for these types of problems. I’ve used Julia previous years but I didn’t use Julia this year because it’s been more difficult to gain traction with it professionally.
- heinrich5991 5y agoPython's numpy has great support for matrices and all kinds of matrix operations.
- mikewarot 5y agoThe problems heavily push towards a REPL oriented environment if you want to finish in a reasonable time frame. Python comes out on top because that's how you get complex data structures spun up in a few seconds.