Live data from Hacker News

Ask HN: What cool development languages/tools changed your career?

news.ycombinator.com

281–290 of 315 posts

Re: Ask HN: What cool development languages/tools changed your career?

#281
post #130

Earlier quoted context omitted.

What have been your impressions with Elm so far? I started playing with it recently since I enjoy Haskell but I'm coming from it with no prior web experience so it's hard for me to gauge it in most aspects.

I have only limited experience with web development, but my impression of elm is that it purposefully throws a lot of the standard HTML/CSS/JS paradigms out the window on purpose, in exchange for an extremely clean set of functional-friendly abstractions. The downside to this is that there is a lot of "magic" going on behind the scenes, and I don't know exactly how fragile that magic is.

> I don't know exactly how fragile that magic is.

It's reasonably robust for the HTML/JS part. The majority of current generation Javascript frameworks are built on similar techniques and the main thing Elm adds is the type system and guaranteed purity.

For CSS, all bets are off. I expect Elm to put more effort into styling when scoped CSS becomes widely deployed enough to rely on.

Re: Ask HN: What cool development languages/tools changed your career?

#282
Gonna keep this short.

My biggest moment was when I finally learned and understood how artificial neural networks (ANNs) - and specifically back-propagation - actually worked.

It happened in the fall of 2011 - I took on the challenge of the Stanford University sponsored AI Class (Thrun, et al) and ML Class (Andrew Ng). I wasn't able to complete the AI Class due to personal issues, but I did complete the ML Class. In 2012 I took Udacity's CS 373 Self-Driving Vehicle course (and completed it) to "make up" missing the rest of the AI Class.

But it was the ML Class that really drove things home; learning and using Octave was a revelation for me (vectors as a primitive? COOL!) - and learning to think on how to parallelize problems for that (and then later learning that an ANN was just such an application) - woke up a lot in me. Finally - a practical use for a home Beowulf cluster!

These experiences have led me to this year, where starting on November 28th, I'll be participating in Udacity's Self-Driving Car Engineer nanodegree program. I believe that as we move forward in the future as software engineers, knowing and understanding ML and AI algorithms, etc will be something employers will increasingly want and expect of developers. I'm keeping my skills current - you should too.

/43 years old, been professionally coding since I was 18 - and coding in some manner or another since I was 11 (yep - TRS-80 Color Computer w/ 16k FTW!)

Re: Ask HN: What cool development languages/tools changed your career?

#283

Vim. I was first introduced to this text editor back in college. It has super weird navigation rules and editing modes that would easily deter many beginners. 70-80% of my course mates gave up on it and chose something else that worked more like a normal text editor such as Sublime/Atom. It took me several months to develop that muscle memory to increase my productivity. Today, I can log in remotely to my AWS instanc…

how do you feel about Vim plugins for external code editors (particularly, I'm thinking VS Code)? I somehow end up developing on new Windows machines all the time, and getting all the Unix emulation tools just so I can use Vim seems a bit over the top. Are there any enormous advantages to using Vim vs. a Vim emulator?

> Are there any enormous advantages to using Vim vs. a Vim emulator?

There are lots of vim commands and most emulators do not implement the entire set. Macros, register recording, text objects, correct repeat, recursive keymappings, bookmarks/jump history, and ex mode are the most frequent casualties. Because everybody has a different subset of vim commands they use an emulator that works fine for one person will be unacceptable for others. I personally can't stand any of the VS Code vim plugins, which is a shame because I really would prefer to migrate from vim to vscode for the rest of the vscode ecosystem. The best emulator I've used is Evil (the emacs one, install spacemacs if you want to give it a go) and I find the InteilliJ and Atom emulators to be okay.

There's also plugins that are almost never carried over to emulators (though surround is in Evil):

EasyMotion [0] - Lets you jump around in complicated ways. I use the following config to be able to jump around in a minimal number of keystrokes:

    let g:EasyMotion_keys = 'jfkdlghtyuievnbsa'
    let g:EasyMotion_smartcase = 1

    nmap  (easymotion-bd-W)
    nmap  (easymotion-s)

Surround [1] - Lets you surround text objects and delete surrounding stuff easily. I use the following to save keystrokes, since I find `sw"` considerably easier to type than `ysiw"`.

    nmap s      ysi
    nmap S      ysa
    nmap s$     ys$
    nmap sv     gvs
[0] https://github.com/easymotion/vim-easymotion [1] https://github.com/tpope/vim-surround

Re: Ask HN: What cool development languages/tools changed your career?

#284

Building (certain) applications using in-memory persistent objects instead of using a stateless web app + database server, somewhat similar to a multiplayer game. Made programming fun again. Don't seem to get to use it at client sites as it's too extreme an approach :(

Have you tried Elixir?

Please have a look at the following presentation. I was also interested in the same, watched this presentation[0] & many other, made some prototypes by myself & I'm still amazed by OTP/Elixir & Phoenix later on.

[0] - https://vimeo.com/171317253

Re: Ask HN: What cool development languages/tools changed your career?

#285
post #21

Go recently, and Clojure previously. Clojure forced me to think in a radical different way than I was used to. I started with massive functions that easily became unreadable, and slowly adapted purity and wrote side-effect free code. The paradigm shift affected me so much that even in other languages, I started writing pure code and use function composition more and more often. Coming from an imperative background, f…

So, what stack would/do you use/recommend? Elixir + Go + ???

I would almost always use Elixir these days, the advantages are just that good. I don't see anything python or ruby can give me in a server context that Elixir doesn't bring. If I need to go for speed or write a CLI tool, then I'd probably pick Go.

For frontend work, clojurescript. So Elixir+CLJS for almost all web-based apps (or, you know, react native).

Re: Ask HN: What cool development languages/tools changed your career?

#287
post #87

Earlier quoted context omitted.

You design the functional building blocks. So a non-halting program would likely use a single stack, and never grow. But more than that, you can use continuations to abort the moment the calculation is too large.

Any examples of using continuations to abort when the calculation is too large? Still grappling with continuations, familiar with coroutines/csp/fibers much more for concurrency, but trying to get call/cc fully under the belt.

I'd probably nest a named let inside a continuation. Raise an exception when an iterator goes too long. Something like that.

I tend to avoid continuations in production code, because how it reacts very much depends on what you're accomplishing. Most exception handling frameworks use continuations, which you can accidentally turn into infinite loops if you don't abort the loop properly.

Re: Ask HN: What cool development languages/tools changed your career?

#288
post #212

Earlier quoted context omitted.

I have. He's a good programmer and a nice chap.

But he is in Romania. It would be a lot nicer if the Romania guy was in my timezone or, better yet, my office.

Or what if you were replaced with another Romania guy/gal then that would also solve that problem.

Re: Ask HN: What cool development languages/tools changed your career?

#289

For me: https://d3js.org/ Once i learned how to use d3 i was like: This is what i want to do.

+1 for d3.js and the sentiment.

After about a year of using highcharts, for a specific custom chart project, I was given the opportunity to learn and implement it in d3. I built my first line chart by hand which took me little more than a week and then the custom chart project in about two weeks. It was definitely the most exciting project I have worked on so far.

Learning d3.js also made me rethink my 'use javascript as necessary' policy. I also came to appreciate what other charts libraries like highcharts do, but I won't be using those other libraries anytime soon if I can help it.

Post reply on HN