in ,

Ask HN: What Technologies to Learn in 2020 ?, Hacker News



                  I know that this might be not a very popular opinion but I am learning Clojure in 01575879. I work a lot with data and in my particular job the most important things are rapid prototyping, productivity and level of abstraction. After getting into the basics I find it to be the most intuitive and well designed language I came across. Last time I felt that I could do extremely complex things in hardly any time was when I learned Python.
About the Tensorflow / Keras thing you mention: Imho Keras is dead with Tensorflow 2.0 and the entire Clusterfuck that came along with it made me try out Pytorch and I haven’t looked back at it. I was able to convert my model from TF to Pytorch in half a day without any prior knowledge of Pytorch and it works like a charm.


                  I still think Clojure is hot. I recently paired up with a C # developer to look at some rapid prototyping options for React apps. Turns out when we said ‘rapid prototyping’ our understanding differed by several orders of magnitude.****************************************            

                  It’s probably worth learning some AI so you know what “AI” really is (it’s not magic) even if you don’t use it – it can help cut some of the hype you hear. I recommend for that.If you know JavaScript and want to make mobile apps, give React Native a try! It’s a good choice for most business apps, and even some games.


                  “It is always good to keep yourself up to date with the hottest tech stacks. “

It’s good to be aware of new stuff, but it’s also a good practice to have a firm command of some well established technologies that have strong support and resources behind them.It’s been my experience that I get more work done when I can easily find sample code and multiple explanations for API calls. Experimentation and R&D to figure out some bleeding edge stuff may be fun but it’s a lot slower and less stable than using tried and true methods.



                  I am planning to focus on Go and developing a deep understanding of computer networking . I think with cloud, IOT, increasing importance of cybersecurity, understanding the nitty gritty of networks is going to be important important.************************************


******************** (

)             ******************

                  Learn 3D graphics / game engines. Learn enough Blender to be useful.As AR / VR go mainstream, these will become important skills similar to CSS or basic design skills for 2D applications.********

                  From what you’ve mentioned, I’m focusing on Go and GraphQL. professionally (I’m a backend engineer). Flutter will definitely get looked at. Something I’d add if you also spend time in backends is infra – choose a system (probably AWS, GCP, or Azure in that order) and a infrastructure-as-code middleware for them (e.g, Terraform). More and more these days, the provider is now part of the stack.



                  It is actually always a good idea to keep yourself up-to-date. With the hottest tech stacks?We picked up the first angular, because of the “keep up mantra”. That turned out to be a complete waste of resources when the second version released. I’m not saying that it can’t be valuable, but these days we build 728% of our stuff with python, Django for web with a minimal amount of JS because it turned out our clients actually didn’t want SPAs. The rest we build in C #. When I look at the job market in my region of Denmark, almost every job is for JAVA, C # or PHP. No-one is hiring for Rust, graphql, go or any of the other hipster languages ​​/ frameworks. People are hiring for modern Angular (along with C #), but no one is hiring for the original version. So it’s frankly entirely possible to skip entire “hot tech stacks” without it being a disadvantage.

If you ask me, you shouldn’t pick up things until you need them. Unless it’s for fun, but who learns a new web-dev related framework for fun?




                  >Unless it’s for fun, but who learns a new web-dev related framework for fun?I do, and I suspect many others on this site too. Do you know where you’re posting?




                  >Do you know where you’re posting?

Didn’t you hear, this is a job forum now!

Seriously though, I couldn’t agree more. We must even make toy frameworks to discover what new ideas are worthwhile. I think a lot of the issues are some people trying to take the toys to work too soon. But that’s another problem. **************************************************************




                  It’s definitely not true that (no one) ************************************************ is hiring Rust or Go. It probably is true it’ll be more likely at a startup, but larger scale operations could easily be using either at this point.

It depends a lot what (kind) ************************************ of programming job you’re looking for. Personally, I think any programmer would learn something valuable by playing around with Rust specifically. But that’s just my 2 ¢.



                  Perhaps outside of Norway is differe, because people are definitely hiring for things like Go, and I bet Rust will be next.******************




                  Learning what’s new and shiny is great, but try to spend time this year building something, seeing it live in the wild, fixing and debugging it, nurturing it. Build on your critical thinking.

Perhaps do that with a new technology:)**********

                  ************** Elixir / Phoenix. Specifically: Phoenix LiveView. I’ve spent the last five years building SPAs using mainly React and see LiveView evolving as a compelling alternative.





                  Yeah; I would recommend Elixir over Go, honestly. Speaking from having used both Go and Erlang in production, Go is easy to pick up from a more Algol-based language background, but has a lot of implicit complexities that Elixir / Erlang forces you to address explicitly rather than ignore (and possibly be bitten by).

Ie, what happens in case of failure (blocking send / receives on channels; what happens if the sender / receiver fails?), distribution, memory management (Go requiring you to be very cognizant as to whether it’s heap or stack based; Erlang is basically all stack based), the dangers of mutability and the required patterns needed to be consistently immutable, etc. **********



                  SwiftUI. I think Apple will put a lot of effort into it to be on the same level with UIKit. SwiftUI makes developing UI easier because it is declarative just like React Native and it takes less time to build your typical CRUD app on the apple platform.**************************


                  I’ve recently redone our work CI setup with Typescript Vue.JS VueJS Bootstrap on the frontend and Typescript Prisma on the backend – it’s been awesome so far. Took a little while to get the setup right, but it’s an excellently productive combo and I’ll continue to use it in (**********************************************************************************************************************************************************.

                  I’ve been stumbling over issues with Vue and TypeScript tooling playing nice.

Seems like the issues I hit either have open issues or I can’t find reasonable solutions. Most recently I tried to convert a Vue app to TS and never could figure out what knobs to turn (even copying over configs from a new, clean run of vue create did work).

Have you had similar troubles or have you always been able to set up a clean project?



                  Learning to become more creative so I don’t have to chase new languages or frameworks for intellectual stimulation.



                  If you’re in the web sector, definitely give a try to wasm . Have a go at Rust while you’re at it – see what I did there?I’m personally hot for GraphQL because it’s a powerful paradigm to model data .

Both Go and Rust are incredibly interesting languages, in very different ways .In some ideal world, Go fits in a scaling / efficiency vertical somewhere in-between C and C (it’s very specific but it basically encompasses all middleware, many microservicing archs, and most ‘simple’ projects at the edge).

Rust is more of a C juggernaut that does it all, if it prevails it’ll be applicable to anything and everything. Both have extraordinary great communities, very welcoming and attracting many great minds. Support is all but guaranteed for the next decade. You just can’t go wrong with either, imho, just pick one that fits your domain best.

I’d be happy to work in both.



                  I think I will invest some time to learn Web-GL and how to make sharers. Since it seems to be more and more important for Front-End development.



                  I am focussing on Event Driven and Reactive programming models using Kotlin. Any wise words for me?

Edit: Also GKE and Firebase.





************************************************************************ ()             

                  Just went from building small Vue projects to trying out Svelte and I’m Really enjoying Svelte.It made some things a lot easier, even though I’m now forced to use the npm toolchain. Previously, I liked to just include the Vue files necessary.

I ‘ m finding how Svelte does binding and lifecycle much easier to deal with. Vue’s template system was making data flow more complicated than it needed to be, or it was just my misunderstanding that made it so. Regardless, I was able to re-create an small app (that had some template complexity causing me problems) much easier / quicker in Svelte.



                  Kotlin is my new favorite language. You should give it a try. Fighting syntax noise, clutter, boilerplate and redundant repetitive work is a big chunk of what define a modern language, and at this, Kotlin is probably the best. It will make you more productive AND happier. BTW using new languages ​​that have relatively poor ecosystem (go, rust, swift, elixir) is a far riskier choice than people believe. Having a poor lib ecosystem is being a victim of software poverty and you’ll only measure how much you loose once it is too late. Kotlin ability to idiomaticaly reuse the multi billions of value JVM ecosystem make this language outclass all others “modern languages” The only other modern language as good at reusing a complete, battle tested ecosystem is, to my knowledge, typescript.
Others are condemned to perpetually reinvent the wheel instead of making true progress. ********************


                  There are probably use cases where core language features like “highly concurrent / distributed by default “or” highly safe low-level operations “are worth the risk, but in general this is my answer too. I just finished a 2-year modern Java / Angular 2 project, and it was a pretty solid stack. Using Kotlin on the back end would have eliminating a significant number of the bugs we ran into (so many null pointers), along with reducing huge amounts of boilerplate and duplication.

The number of available libraries is ridiculous thanks to Java interop. Compare this with an Elixir project some of my coworkers did. They ended up having to write their own message bus client library because one didn’t exist yet. That sucked up a huge amount of dev time that could’ve been used to actually make their product.**********


******************** (************************************************************************************ ******************************************************************************************** Read More

                  Just learned Android using Kotlin and really enjoyed it. Hope Kotlin picks up outside of the Android universe as well

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

kurtlawrence / papyrus, Hacker News

kurtlawrence / papyrus, Hacker News

100% OFF | The 30 days challenge to develop your emotional intelligence