Live data from Hacker News

Ask HN: What new or hot technology do you recommend learning?

news.ycombinator.com

101–110 of 138 posts

Re: Ask HN: What new or hot technology do you recommend learning?

#101

Earlier quoted context omitted.

If only they were advances rather than regressions. Far too much overhyped technology actually sets back progress by decades rather than advances it. Unfortunately, "the new student", never having learned the lessons of the past doesn't know any better and is condemned to repeat mistakes and reinvent and rediscover poor imitations of older technologies while calling them new.

Ok, learning to code and learning to design languages are different tasks. Those writing 'new' languages would be well-served to study the history and progression of languages. Those learning to code have enough on their plate, learning a mental model of computation and how to construct software for given tasks. History lessons are a case of 'too much information'

Developers can benefit from learning classic languages.

By learning the classics, especially those that are radically different from what you already know, you expand your mind and your sense of what is possible. It helps you get a different perspective on any given problem you may run in to, having seen radically different approaches to similar problems in the past. It puts another tool in your toolset and lets you select the best tool for the job.

Not that the above is not possible to get with exposure to hot new technologies, but whatever's hot in the market tends to be much more of a monoculture and popular due to being not too different from what most developers already know (Clojure and Scala being perfect examples).

Re: Ask HN: What new or hot technology do you recommend learning?

#103
post #91

Earlier quoted context omitted.

Racket is so different it's basically a different language, so I'm not really talking about that. I do know Chicken and Guile have more advanced library support than the Scheme I worked with on SICP, but neither has as advanced concurrency features or advanced immutable collections, which is why Clojure seems to me a big advance on Scheme. Plus that you can leverage existing libraries on the JVM, plus its excellent c…

I view lack of dependency on the JVM as an advantage of Schemes over Clojure. The last thing I want to do when developing in Scheme is learn or have to deal with Java or the JVM. Chicken compiles down to C, so gets C's speed, size, and portability advantages. Chicken can also access C, Python, and Perl libraries, which aren't exactly lacking compred to those of Java. Not to mention that Chicken comes with a respectab…

How can you access Python and Perl libraries?

However you feel about the JVM, it has led to adoption of Clojure, meaning if you're in a big city you have a chance of finding a job doing it. Not many jobs exist where you can use Scheme as your primary language.

But the main reason I wouldn't go back to Scheme is that it doesn't have a rich array of immutable data structures built in. Too quickly the implementations I've seen capitulate to mutation, which makes code harder to reason about, harder to parallelise, and just less fun to write IMO.

I'm looking forward to Emacs implementing Guile, as Elisp is yucky. But realistically that's not going to happen very soon.

Re: Ask HN: What new or hot technology do you recommend learning?

#104
post #96

I'd pick a type of project then pick a language/framework to learn. I'm not a big believer in learning something something just to learn it. You only get so far. I've got my own library of Haskell, Scala, and Lisp books but until I have something interesting to build, it's hard to maintain momentum. My two current projects are a Go web app hosted on Digital Ocean: http://thespanishsite.com And I'm learning Swift to i…

Your site seems to be down temporarily.

Re: Ask HN: What new or hot technology do you recommend learning?

#105

Earlier quoted context omitted.

>Give Lua some love. Pun intended? LÖVE ( https://love2d.org/ ) happens to be a great way to learn Lua.

So are MOAI, openresty, luvit .. Kademlua, elua, busted .. Penlight .. lapis, luarocks .. luamongo .. and last but not least, snabbswitch. All projects from which I have learned a great deal of Lua. ;)

Is Luvit fit for production use? Which Lua web stack would you say is the most mature in general?

Re: Ask HN: What new or hot technology do you recommend learning?

#106

Earlier quoted context omitted.

I view lack of dependency on the JVM as an advantage of Schemes over Clojure. The last thing I want to do when developing in Scheme is learn or have to deal with Java or the JVM. Chicken compiles down to C, so gets C's speed, size, and portability advantages. Chicken can also access C, Python, and Perl libraries, which aren't exactly lacking compred to those of Java. Not to mention that Chicken comes with a respectab…

How can you access Python and Perl libraries? However you feel about the JVM, it has led to adoption of Clojure, meaning if you're in a big city you have a chance of finding a job doing it. Not many jobs exist where you can use Scheme as your primary language. But the main reason I wouldn't go back to Scheme is that it doesn't have a rich array of immutable data structures built in. Too quickly the implementations I'…

Here's Chicken's interface to Python: [1]

It also has bindings for R, C/C++, Lua, Matlab, Objective C, and even Java.[2]

I could have sworn it had a Perl interface too, but maybe that was just my fevered imagination, or an older version of Chicken.

You can actually build Guile-Emacs right now: [3]

  "As of the end of GoogleSummerOfCode 2014, the Elisp engine of Emacs
  is fully replaced with that of Guile, and most things Just Work™."
Though it's true that it'll probably take some time for Guile to be fully integrated in to mainstream Emacs, and for all the wrinkles to be ironed out. But the future is here.

I do have to give credit to Clojure for exposing more people to a Lispy language, even if the language does not measure up to my ideal of what a Lisp/Scheme should be. And I do grant that there are many more Clojure jobs than Scheme jobs. So if work with a Lispy language is your goal, Clojure is probably your best bet.

However, many people work on open source and personal projects using languages that they are interested in and actually like rather than those they are forced to use at work. There's also much value to learning classic languages very different to what you're used to, which I elaborated on in another post in this thread. For all of those reasons and the ones mentioned above, I'd still much rather use a Scheme than Clojure.

[1] - http://wiki.call-cc.org/eggref/4/pyffi

[2] - http://wiki.call-cc.org/chicken-projects/egg-index-4.html#ca...

[3] - http://www.emacswiki.org/emacs/GuileEmacs

Re: Ask HN: What new or hot technology do you recommend learning?

#107

Earlier quoted context omitted.

The only problem with Lua is how slow it is. I'm quite fond of LuaJIT, though, because it isn't slow.

This is the first time I've read this sentiment, Lua is purported to have one of the leanest, fastest interpreters around (not talking about luajit of course). Can you talk about your experience?

The Grit Engine [1] and Love2D [2] are fun, useful engines that make making games easier, in Lua. Except they're slow as all get out; the only cap on the framerate is literally Lua. If you don't use spritesheeting to its maximum degree, you can't even squeeze out 60fps for a moderate size game.

[1]: http://www.gritengine.com/

[2]: https://love2d.org/

Re: Ask HN: What new or hot technology do you recommend learning?

#108

Cloud Foundry. (I'm biased, I'm currently seconded from Pivotal Labs to Cloud Foundry development in the buildpacks team). It's an opensource PaaS. A full, all-the-stuff-you-need-is-in-there PaaS. You can take it and run it in a private datacentre. For large companies, this is A Big Deal. Right now, in most F500s, deploying an application takes anything from days to months. Except if they've installed Cloud Foundry,…

Jeez, you Pivotal guys (sorry, "pivots") sure suck down that kool aid.

Re: Ask HN: What new or hot technology do you recommend learning?

#109
I've always taken the approach to decide on a new concentration to study, and then learn the languages appropriate for that. First time I did this, the concentration was databases, so I set about learning SQL and data design and relational algebra. I wanted to learn more about front end development, so I focused on JavaScript, DOM, and single page applications. Other examples abound. But having a distinct idea of an application I want to build before learning a particular language has always worked out better for me than trying to find an application after reading a language's documentation.

Re: Ask HN: What new or hot technology do you recommend learning?

#110
> that's widely applicable

Other than Laravel (PHP), Python and Erlang (then Elixir), there's not much to try that's applicable. You'll be pleasantly surprised to see that your Erlang implementations are orderS of magnitude smaller (codewise) than your Java implementations, with different performance hurdles. Try new dbs like Redis or new messaging primitives like ZeroMQ. Find a basic analytics package like Munin or RDDTool.

I'm disappointed by the suggestions on this list, which is an ear full of bad advice. elm, kernel, julia? At least Lua is something that you will run into as an option, from time to time. That being said, you don't need to practice it. It's easy to treat it like a dumber version of javascript and you're fine.

Post reply on HN