Definitely Kotlin. I had a meeting with my team and talked about the advantages of Kotlin and why I believe we should start writing a proportion of the new modules in Kotlin and have asked for their input. This is one of the cases where it needs to be unanimous decision, but so far everyone seems in favour of it and looks like we'll be writing a good amount of Kotlin in the coming months. The reason why I believe Kot…
Ask HN: What “new” programming languages will you be using in 2017
51–60 of 85 posts
Re: Ask HN: What “new” programming languages will you be using in 2017
#52Re: Ask HN: What “new” programming languages will you be using in 2017
#53Re: Ask HN: What “new” programming languages will you be using in 2017
#54New things I plan to pay attention to: * Rust, for it's a sane replacement for C and C++. * Elixir, for it's more consistent than Erlang, running on the same battle-tested VM. * Clojure, because any JS code I write now gets transpiled anyway, so why not use a nicer language with a nice standard library? * Crystal, because it might be a faster and safer Python replacement.
I think that's not quite right. Elixir is a subset (nay, it's a language within it's own right language now, the method chaining syntax is very readable) of Ruby running on the BEAM vm from Erlang.. not Erlang itself Crystal is a native compilation of Ruby (or a subset at least), not Python btw.
Re: Ask HN: What “new” programming languages will you be using in 2017
#55Definitely Kotlin. I had a meeting with my team and talked about the advantages of Kotlin and why I believe we should start writing a proportion of the new modules in Kotlin and have asked for their input. This is one of the cases where it needs to be unanimous decision, but so far everyone seems in favour of it and looks like we'll be writing a good amount of Kotlin in the coming months. The reason why I believe Kot…
>one of the reasons we could not switch to Scala was the steep learning curve which would be a big problem for new developers joining us I think this is overblown. Yes, the language has a deep learning curve, but you're really trading off language complexity for lack of framework complexity. Because the language is so powerful, you'll see a lot less 'magic' frameworks (no need for a DI framework, no need for AOP, etc…
NoRedInk (among other companies) use non-mainstream FP languages and hire juniors all the time. Turns out that people can learn things quickly if they're smart (which is why you hired them, I hope) and are given mentorship.
Re: Ask HN: What “new” programming languages will you be using in 2017
#56Nim as mentioned by @beagle3.
Re: Ask HN: What “new” programming languages will you be using in 2017
#57I recently got into TypeScript, if that counts. I'm really enjoying it so far, but I'm running into some annoying things as a beginner: * For many third-party libraries, needing to write `import * as Something from 'some-package'` instead of `import Something from 'some-package`. * Not being able to import non-TypeScript files, further fragmenting my import style by needing to write stuff like `const styles = require…
For non-js imports, you can create global module declarations (like the below snippet):
declare module "*.css" { const value: any; export { value }; export default value; }
But you will still need to use some bundler tool like webpack. It will just stop TypeScript from complaining.
Type definitions are the biggest issue even today, but things are much better now. Most popular npm packages already have type definitions, but if you need some exotic package, then you can write your own defnitions (probably only necessary bits).
Re: Ask HN: What “new” programming languages will you be using in 2017
#58Earlier quoted context omitted.
I think that's not quite right. Elixir is a subset (nay, it's a language within it's own right language now, the method chaining syntax is very readable) of Ruby running on the BEAM vm from Erlang.. not Erlang itself Crystal is a native compilation of Ruby (or a subset at least), not Python btw.
Elixir is in no way a subset of Ruby.
Re: Ask HN: What “new” programming languages will you be using in 2017
#59However, I think Rust went overboard with the line noise; the combination of very terse keywords, and a decision to rely on punctuation more so than keywords, means that it's a very dense, gnarly language.
Rust is also notoriously slow to compile, which worries me.
---
Swift: For the above reason, I really want to explore Swift. For me, Swift has pretty much the ideal syntax. As with Rust, you have Pattern matching, abstract data types and generics, but its designers has also spent a lot of time on ergonomics, and aren't afraid of making backwards-incompatible changes (which, this early in a language's life, I think is a good thing).
But I'm worried that the ecosystem and standard libary are not there yet for general-purpose development outside the realm of iOS/macOS GUI apps.
---
Nim: It's particularly interesting in that it's managed to retain a superb level of performance with a minimal, highly expressive, highly readable, fairly unintrusive syntax that combines the best of Turbo Pascal and Python. I'm less concerned about the fact that it's garbage-collected.
I'm admittedly less enamoured about some of Nim's {.weird syntax choices.}, and there are clear signs, in Nim's suprisingly huge feature set, that it was designed by a single person who had sudden ideas, implemented them about 80% of the way, and ended up with everything but the kitchen sink, without really considering the complexity or bewildering array of semantics that were incurred along the way — so many pragmas! Nim could do with a cleanup. I'm also disappointed that classical OO inheritance was kept.
That said, Nim looks terrific, and I hope to find a project to use it with.
---
I'm also hoping that Jonathan Blow's Jai language sees a release this year, because it looks quite exciting.
Re: Ask HN: What “new” programming languages will you be using in 2017
#60Nim. Main: http://nim-lang.org NES emulator (compiled to JavaScript, runs in the browser): https://hookrace.net/nimes/ Simple 2D game: https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-... More examples: https://nim-by-example.github.io/ Nim has pythonesque syntax, with Pascal/Delphi roots, fast compile times, portability (compiles down to C, JavaScript, LLVM), strong metaprogramming support, seamless FFI,…
Nim is one of the few 'new' languages with nice syntax. (others being Haskell, which could use less confusing 'operators', LiveScript and Elm) Somehow language designers seem to cling to old syntaxes. I mean s-expressions have their beauty. But C or VB like syntaxes always feel clunky to me.
Though I guess ML syntax is a tiny bit less ancient than either s-expression or Algol syntax, which seems to be what you are complaining about.