Ask HN: What are the best technologies you have worked with in 2013?
What are your recommendations HN?
What are your recommendations HN?
The end result for me has been that I spend significantly less time wondering why things aren't working (almost none, really) and more time actually writing and improving my code.
If you are doing something groundbreaking or way-out-of-the-box, Visual Studio is probably not a great choice. But for workaday web developers like me it's reliable, easy, and has objectively made me more productive compared to Node/Express/Backbone.
I'm not so sure about this. Python and Ruby seem to be just as popular as Node (if not more) for new projects, and as far as older projects go, PHP is still king.
Akka - Scala/Java actor framework for better concurrency.
Angular.js - very powerful js framework with dependency injection, 2-way bindings. I am more a backend guy so I haven't dived deeply into its Tao yet.
Combines the solver goodness of modern SAT and CSP solvers with the modeling-language richness of classic Prolog.
The longer-term goal is something CAD-like, where you get immediate feedback on design changes, analogous to how architectural CAD systems will highlight things like "lacking structural support" or "violates building code". With games simple versions could be "unreachable areas", "item never needed", etc. More involved versions could be generation of basically the kind of log data you would get from playtesting, only instead of empirical log data, it's analytically generated logs of possible playthroughs exhibiting requested properties: http://www.kmjn.org/notes/analytical_metrics.html
Many of the above can also be done with software-verification systems, which in some cases might be a better choice for efficiency reasons. However, the stuff coming out of the AI community is a lot more flexible as a modeling language, feels less like writing a fixed specification. It's also designed to be editable, e.g. you can add or remove game mechanics without re-formalizing the whole domain (a property John McCarthy calls "elaboration tolerance"), due to being based on a nonmonotonic logic. I was also already familiar with Prolog, and ASP's syntax is heavily modeled on Prolog's, even though they work entirely differently under the hood.
As far as getting started with it, the Potassco people have a pretty good book: http://potassco.sourceforge.net/book.html
As a much shorter way in, a colleague of mine wrote a tutorial on using ASP for generating game maps that are guaranteed to have certain properties: http://eis-blog.ucsc.edu/2011/10/map-generation-speedrun/
The world is a better place for me now. Paredit is an absolute dream, and the JVM has shown itself to be truly worthy.