What are you investing time in learning? I've tried to be pretty general on the top level choices -- upvote as many as apply to you; would love to see specifics in comments.
I've been learning Arc. The fact that so many got disappointed and left soon after release hasn't shaken my interest (at least not yet). It's the only language since C that I know of [1] that doesn't try to protect the programmer from themself. This means you can have more confidence that any problems you run into will be your fault and not the language's.
Arc community is small right now, but the people left are brilliant. I've learned so much by listening to what they have to say, and they've been remarkably friendly to me as a newb.
[1] Please note that I haven't tried Haskell, Erlang, OCaml and some other formidible languages yet. Am I'm totally missing out?
It's understandable why you'd say that, of course. Clojure has more libraries, more users and is probably more complete. But is the core language as elegant as Arc's?
halloway's pragmatic Clojure book is still quite worth reading, but describes a slightly pre-1.0 release (if you can borrow or browse Halloway's book in a bookstore, i would do that).
- scala: 2.8 beta is out, people want reliable eclipse, intellij and netBeans plugins, and more time to figure out type system; I think next couple years, a lot of developers are going to be "upgraded from java" via their VP's of engineering; s/b interesting;
- clojure: users are pretty happy; language, compiler and toolset evolving at warpspeed
- F#: people want Vis Stud 2010 out April 12 and 100% bug-free, ;-}
- haskell: people want lots more time to understand it
> [1] Please note that I haven't tried Haskell, Erlang, OCaml and some other formidible languages yet. Am I'm totally missing out?
It really depends on what were your prior languages.
I was C/Pascal/C++/Assembly type of programmer, and Scheme (or video lectures of Structure and Interpretation of Computer Programs) have blown my mind.
Erlang was interesting and useful, but not revolutionary (to me). I should say that hot swapping is something that no other language, as much as I know, currently has. And is cool :)
I'm now learning Haskell, and I like it. First, I understood little, mostly stuff from Scheme. And few weeks ago I had flash and most stuff was easy... (Monads/Functors/MonadicTransforms) It's probably worth the energy I have spent. IMHO some time has to pass for everything to come in place.
[edit] Bunch of other languages have hot swapping: Pike, Lisp, Smalltalk, and Java
Go follows quite closely in the spirit of C, and doesn't try to protect you from yourself (but also doesn't give you complexity just for the purpose of helping you hang yourself coughc++cough.
The breadth of topics in this poll makes me pretty sad. What do we do on Hacker News? Well, we figure out new ways to put forms on web pages, new ways to collect the things people put into those forms, new ways to get people to look at those forms --- oh, and game development and AI.
You do security stuff right? Yeah, I'm pretty ignorant about that (regretfully). But I've seen you post about hiring, saying that you are looking for smart people, and have specified Rails. OK, so if I contacted you about a job and had solid Rails skills, what else would you want me to be knowledgeable about, even if not directly related to what you do, that would convince you that I'm the sort of hacker you'd give a second look?
I'm honestly curious, not fishing for a job. It's part of why I created the poll. I have felt boxed in doing just what you're deriding, and I want to know what others here are finding interesting.
I've never hired someone who knew Rails. I'm not even sure I've hired anyone who knew Ruby. My lead product dev is a Lisper. Here's an industry pro-tip: when you want to optimize for "good programmer", don't put "must know Rails 2.3.x+ and have experience with one of Sinatra, Ramaze, or Rack". Just look for the smug lisp weenies.
The people who do best in security are the ones who understand computer science. They are:
* Very solid C programmers, or
* Understand compiler design, or
* Know a thing or two about signal processing, or
* Know how to implement compression algorithms, or
etc etc etc.
That's exactly the issue I have with this poll. The cart appears to be dragging the horse. You write web applications to solve problems. What problems are you solving? Very few people will put money up against the problem of "need a better web framework".
Signal processing is fun, and its principals crop up in unexpected ways. Grokking convolutions and auto-corelations is a nice "bump" in the way I think about data processing. Seeing data as a stream instead of discrete chunks sometimes helps a simple convolution be apparent when facing a naive implementation's taxing computation. What this would have to do with security, I don't know.
I think that tptacek's point is that he wants someone that "digs deeper".
We've had a Rails product for something like 3 years now. Everyone is expected to write in Rails. I'm not so much expecting them to come in the doors knowing it.
Well, that's a valid question to ask (what problem are you solving), but it lends itself to a poll even less than this question. This was, though, the one that I personally wanted to see answers to, and I'm just as interested in specific niche answers than my intentionally mainstream categories. I'm sorry if those made you sad -- I wasn't trying to be exhaustive or represent the totality of HN interests.
Upvoted game development, but it's not really terribly accurate for me. I'm currently in the middle of building a demo (as in demoscene demo) a week, which is requiring me to relearn a lot of 3D stuff I've forgotten over the years, and learn a lot of new things while I'm at it (e.g. how to write GLSL shaders efficiently in a very small space).
- Driving (I'm 24 and don't have a license... that has to change)
I don't know about your specific situation, but in general driving is overrated. It's a stressful activity that provides no exercise, and owning a car is expensive (more so than most people realize). I think you're best off if you can find a place to live where walking, biking and public transit are all you need. That's what I hope to do.
So if you're feeling self-conscious for going so long without a license, don't. You really haven't missed out on much.
Here in Berlin I use car sharing for that. The next car is as far away as a parking place for my own car would be. It's 1.50€/h plus 0.2€/km. The biggest problem is that I have to put the car back to where I took it.
I'm spending 2 months in the Pyrenees at a farm producing Tomme de Montagne and a variety of smaller sheep's milk cheeses and three months outside of Toulouse producing a variety of blue cheese.
I'm extremely interested what this entails; I've been thinking that I'd like to do something like this in the next few years. If you could provide any more information about what/why you're doing this and any insights you've had it'd be greatly appreciated.
I am currently reading the beta ebook version of "Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages" : http://www.pragprog.com/titles/btlang/seven-languages-in-sev...
My expectation from the book is to get a brief but fun tour of seven programming languages and the different paradigms that they embrace.
NodeJS is awesome. I love it. However, it is not a web framework. NodeJS is more like Rack than Rails. There is no default persistence engine, no template rendering and no concept of a controller. There is not even a router! These things are not "core" to writing server-side javascript. NodeJS also speaks more than http! You can do raw TCP or UDP if you please.
You can build web frameworks on top of NodeJS (and lots of people are,) but that's kind of boring to me. NodeJS is particularly good at handling lots of open connections that it can read from and write to whenever it gets around to it. This means writing chat servers is trivial, writing a "socket server" for a game is trivial, push notification for websites is easy, and on and on.
Because of how little it does, it is a lot easier to get my head around than any of the other big evented frameworks (twisted, eventmachine &etc.)
I'm trying to learn scheme with the help of SICP. (http://mitpress.mit.edu/sicp/) It's a really good book. Clearly the authors put a lot of work into it. My mind has been expanded a few times, and I'm only just into the 2nd chapter.
96 comments
[ 3.1 ms ] story [ 92.7 ms ] threadArc community is small right now, but the people left are brilliant. I've learned so much by listening to what they have to say, and they've been remarkably friendly to me as a newb.
[1] Please note that I haven't tried Haskell, Erlang, OCaml and some other formidible languages yet. Am I'm totally missing out?
It's understandable why you'd say that, of course. Clojure has more libraries, more users and is probably more complete. But is the core language as elegant as Arc's?
try the labrepl, really really nice tutorial + gentle install
http://groups.google.com/group/clojure/browse_thread/thread/...
halloway's pragmatic Clojure book is still quite worth reading, but describes a slightly pre-1.0 release (if you can borrow or browse Halloway's book in a bookstore, i would do that).
- scala: 2.8 beta is out, people want reliable eclipse, intellij and netBeans plugins, and more time to figure out type system; I think next couple years, a lot of developers are going to be "upgraded from java" via their VP's of engineering; s/b interesting;
- clojure: users are pretty happy; language, compiler and toolset evolving at warpspeed
- F#: people want Vis Stud 2010 out April 12 and 100% bug-free, ;-}
- haskell: people want lots more time to understand it
- erlang: users are pretty happy
It really depends on what were your prior languages.
I was C/Pascal/C++/Assembly type of programmer, and Scheme (or video lectures of Structure and Interpretation of Computer Programs) have blown my mind.
Erlang was interesting and useful, but not revolutionary (to me). I should say that hot swapping is something that no other language, as much as I know, currently has. And is cool :)
I'm now learning Haskell, and I like it. First, I understood little, mostly stuff from Scheme. And few weeks ago I had flash and most stuff was easy... (Monads/Functors/MonadicTransforms) It's probably worth the energy I have spent. IMHO some time has to pass for everything to come in place.
[edit] Bunch of other languages have hot swapping: Pike, Lisp, Smalltalk, and Java
Also, ocarina.
I'm honestly curious, not fishing for a job. It's part of why I created the poll. I have felt boxed in doing just what you're deriding, and I want to know what others here are finding interesting.
The people who do best in security are the ones who understand computer science. They are:
* Very solid C programmers, or
* Understand compiler design, or
* Know a thing or two about signal processing, or
* Know how to implement compression algorithms, or
etc etc etc.
That's exactly the issue I have with this poll. The cart appears to be dragging the horse. You write web applications to solve problems. What problems are you solving? Very few people will put money up against the problem of "need a better web framework".
I think that tptacek's point is that he wants someone that "digs deeper".
Looks like you will soon. :)
"We're hiring a Rails/jQ developer. NYC or Chicago."
- Computational neuroscience (I have vague ideas for a Ph.D thesis)
- World history (I've come to realize the breadth of my ignorance)
- French (I studied it in school from age 7 to 14 and still struggle to hold basic conversations)
- Driving (I'm 24 and don't have a license... that has to change)
I don't know about your specific situation, but in general driving is overrated. It's a stressful activity that provides no exercise, and owning a car is expensive (more so than most people realize). I think you're best off if you can find a place to live where walking, biking and public transit are all you need. That's what I hope to do.
So if you're feeling self-conscious for going so long without a license, don't. You really haven't missed out on much.
And being able to drive is really useful :-)
I do have a car; it's fairly cheap to run and it means I can travel at weekends etc. Freedom.
I don't enjoy _having_ to drive somewhere, however.
I am planning on getting a pilot's license this summer, however. Unlike driving, flying is actually fun.
Also my contact info is in my profile.
(which tie nicely into FP languages and doc store databases/DHT's)
You can build web frameworks on top of NodeJS (and lots of people are,) but that's kind of boring to me. NodeJS is particularly good at handling lots of open connections that it can read from and write to whenever it gets around to it. This means writing chat servers is trivial, writing a "socket server" for a game is trivial, push notification for websites is easy, and on and on.
Because of how little it does, it is a lot easier to get my head around than any of the other big evented frameworks (twisted, eventmachine &etc.)
Feel free to ask me anything if you get stuck.
Went through a long divorce and am getting to redefine how I want to be. I think it is going to be a great year.
Good luck!