

Ask HN: What are the best technologies you have worked with in 2013? - domaniac

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.<p>What are your recommendations HN?
======
JoelAnair
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.

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

~~~
JoelAnair
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.

------
lmm
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.

~~~
workhere-io
_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.

~~~
playing_colours
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.

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

------
playing_colours
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.

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

------
mjn
Answer Set Programming, specifically via the Potassco tools:
[http://potassco.sourceforge.net/](http://potassco.sourceforge.net/)

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

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

~~~
mjn
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...](http://www.kmjn.org/publications/Playtesting_AIIDE09-abstract.html)

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](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](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/](http://eis-
blog.ucsc.edu/2011/10/map-generation-speedrun/)

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

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

------
orchdork10159
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](http://laravel.com)

------
ioddly
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.

~~~
scottyallen
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.

~~~
hashtree
Are you using the reliable queue or circular list pattern?

------
goyalpulkit
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.

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

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

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

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

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

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

------
squeed
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.

------
kyrre
Scalding, Scala and Tornado

------
hamidr
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.

------
bliti
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.

------
nyan_sandwich
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.)

------
Patrick_Devine
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.

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

------
namarkiv
Titan graph db and the tinkerpop stack.

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

------
philipDS
AngularJS, Redis, Rails, ElasticSearch :)

------
AznHisoka
For me it's been ElasticSearch.

------
garenp
PostgreSQL

------
scriptstar
Javascript

------
hhimanshu
AngularJS

