Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are the best technologies you have worked with in 2013?
29 points by domaniac on Sept 24, 2013 | hide | past | web | favorite | 44 comments
I have spent about a year away from writing code and I miss it. I want to learn something cool and fun in my leisure time.

What are your recommendations HN?

You're going to hate this answer, but after a couple of years of Node/Express development I'm really enjoying writing Asp.NET in C# using Visual Studio 2013.

I'd love to hear your reasons for this, as I've been looking at moving away from the Microsoft stack. Thanks!

I like the IDE (a lot). I'm not reinventing anything, just doing web development. Visual Studio gives you every tool you need to get the job done in one package that's frequently updated and runs stably and consistently (on my machine). The individual tools may not be better than their OSS equivalents, but as an overall ecosystem they are fairly well-tested and work together extremely well in my experience. NuGet is very cool and easy to use.

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 have been using Microsoft technologies for many years, and I don't believe I will change it. Microsoft technologies are quite mature.

Can't argue with the best set of development and debugging enterprise tools under single umbrella.

Web Forms or MVC?

He says he's enjoying it, so it must be MVC.

Yeah, MVC. WebForms look a little painful, but most of the pluses of Visual Studio still apply IMO.

Scala and Wicket. Writing web apps is a dream. And I'm worried I won't get to do it in 2014, because the world has moved over to javascript, whose type system is 10 years behind scala's.

the world has moved over to javascript

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.

My experience with Berlin startup scene is that Node.js took its niche and its popularity is not growing so rapidly now. There are more projects in Ruby and Python. I see there are couple more Scala jobs appeared and even saw 1-2 in Go.

I am wondering how you are tracking Berlin wanted technology stack?

Scala - great language with an expressive type system (many evenings and nights spent reading blogs/books/code trying to adopt its power), I also enjoyed learning functional programming with it.

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.

Go has been an absolute blast to use. It's incredibly fun to write, and manages to still be fast after that.

Answer Set Programming, specifically via the Potassco tools: http://potassco.sourceforge.net/

Combines the solver goodness of modern SAT and CSP solvers with the modeling-language richness of classic Prolog.

what are you using this for? how did you get started?

I'm using it for modeling videogame prototypes in logic, and then deriving properties of them, aimed at providing richer design support: http://www.kmjn.org/publications/Playtesting_AIIDE09-abstrac...

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/

thanks! that looks v cool. i will check out the book. [edit: oh and map tutorial v nice!]

New? I'm still going headfirst down the Emacs rabbit hole. You can never escape wonderland.

Laravel is "the PHP framework for web artisans." It's powerful, yet easy-to-use CLI makes development, testing, and deployment a breeze! Check it out at http://laravel.com

Redis. I got back into web programming this year and looked over all the NoSQL databases and it was the only one that really stood out to me. I've even read a bit of the source code and it's all very well done and nice to use.

I definitely would concur, and would add that we're using it as a queuing/messaging bus, and we like it way better than the *MQ options out there. Far more comfortable to work with, way easier to administrate, and plenty performant for our needs.

Are you using the reliable queue or circular list pattern?

Mobile Development with Objective-C (for iOS) and Java (for Android). Objective-C has already been mentioned, so I vote for Java. I know I am inviting rants writing Java here, but using Java for Android app development is a lot of fun.

Flask (Python). It's a joy to work with.

Neo4J. Graph database is awesome, it'll change how you think about data back to how you should think about data in many cases.

Check out Titan, if you get time. You are spot on about it changes how you think about data stores.

I've just started using ZeroMQ, and it's been a whole heap of fun. I really like the idea of opinionated sockets.

Vagrant, Chef, AWS CloudFormation. Writing your infrastructure as code saves you a ton of time and headaches.

Glass - It's paradigm altering and has an endless array of possibilities, most of which are new.

Scalding, Scala and Tornado

I finally made the jump from Python to Clojure when I needed to really chomp on some data.

The world is a better place for me now. Paredit is an absolute dream, and the JVM has shown itself to be truly worthy.

I just wonder why nobody hasn't mentioned C++11 yet :) ( so i'd be the one :P ) Btw, Compilers (almost all of them e.g: clang, gcc) completed all the standard.

Objective-C. I've worked with C, C++, and C#. But objective-C seems to fit my thoughts better. I like how it reads. Currently building iOS/Mac apps with it.

LuaJIT. The FFI is really, really, cool (inline low level access to memory and C in a high-level garbage-collected dynamic language? Yes please.)

I just started a stats course on Coursera and it's being taught with R. R is pretty fun, and super easy to create vectors and matrices.

Meteor.js. I'm surprised at how young it still is but its got an active community and heading in the right direction.

Titan graph db and the tinkerpop stack.

Knockout, AngularJS, NodeJS, NPM, MongoDB, Redis, Google Analytics, Github, AWS, ConcussionJS

AngularJS, Redis, Rails, ElasticSearch :)

For me it's been ElasticSearch.




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact