loading...
Cover image for What language or tool are you curious about, but have not found the time to use or learn?

What language or tool are you curious about, but have not found the time to use or learn?

ben profile image Ben Halpern ・1 min read

Discussion

markdown guide
 

Rust and WASM. I did a Rust tutorial and then just haven’t made the time yet to dive in more.

Also Swift. I’ve never done any iOS dev and I keep hearing great things about Swift.

 

I recently wrote an article about Rust + WASM for processing pixel data from a video feed. We plan to use it at Streem streem.pro/. You can read a bit more about it here.
dev.to/fallenstedt/using-rust-and-...

 

Rust, WebAssembly and Crystal here

 

Same I wanna try our Wasm preferably with Rust

 

I know it's old school (and probably torture) but I'd love to learn C and x86 Assembly πŸ˜…
Why? Because I want to build my own operating system from scratch! πŸ˜„

 

I want to build my own operating system from scratch! πŸ˜„

That's such a cool endeavor to push for.

 

A friend wrote an OS in JavaScript for fun.

 

I’m learning this right now! Prepping for the OSCP

 
 

Whoah, thank you so much! I'll definitely take a look at that!!

 
 

I assume you're already familiar with the core React library? Just for my curiosity, what parts of the React ecosystem do you currently know well and what makes you choose these as being on your radar?

 

Basic concepts of react like components, state, props and hooks. I have done a few small projects with react. But I never felt the need for global state I kept App.js component as the main comp and passed the state down as props, maybe that's because these projects I worked on, are small. I was happy with useReducer and useContext, so far. I still need to work on more intermediate level projects before touching any third party state management tool. I read a few articles about what problems does GraphQl solves and I also want to build a portfolio/blog with gatsby and since gatsby uses GraphQl, so I chose these.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

It just means you're a noob. Or <noob. I know you would criticize me, but that's not a joke,

Ok Thanks for pointing out that. It will be nice if you could share some resources or ideas to expand my knowledge. Thanks 😊. Have a nice day.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

I would. But only after next 10 hours. Check the time, its 0016 in India

As promised, here is my tweet for a successful web developer: twitter.com/Abhigya53544714/status...

 

+1 for Gatsby !

Yes that's definitely on my radar as well ... and GraphQL then comes naturally, Gatsby depends heavily on it ... React and (to a lesser extent) Redux as well.

I was also thinking about Rust, dabbled with it a bit but never found a practical application. Funny enough it seems that most people are interested in using Rust as a sort of frontend language (via WASM) while I associate it more with the backend.

Oh and Flutter maybe.

Gatsby however looks more of direct practical interest.

 

Redux is like taking the core part of react like hierarchy of components, state lifting and thigs like that and throw it away by the window

 

I saw on twitter most people saying that redux has become redundant with the introduction of hooks and Context. Also there is a new state management library recoil by facebook themselves.
I should have said any third party state management library.
This article by Kent C Dodds gives more insights on using one.

Good article, thx for sharing!
As a redux user, I have to add the "useReducer/Provider" approach to my to-try list. This JS fashion is changing so fast.. πŸ˜“

Just wanted to add: never feel bad because you haven't tried something yet. There always will be something new to try. And that new thing probably will have it's downsides either. Give it a chance when you feel it's time, don't push yourself πŸ™‚
GL

 
 

What's most appealing about Flutter?

 

For me, the experience of developing is what sold it to me. Having used Ionic and React Native, I can say it's the seamless development experience so far.

Some other good points:

  • Great docs
  • Loads of out-the-box widgets (components)
  • Quite a big community
  • And UI warnings, for example, if your text overflows the screen, it will show a warning in the app showing where the issue is and explaining the problem.
 

Hot reload, extensive widget support, close to native experience with support for cross-platform.
Having some experience with Android using Java, those are some features that seem quite appealing to me.

 

I second flutter. I think it feels fun and promising as an ecosystem. Also as a game developer I found it closest to the workflow of Unity 3D on application domain, which is a great convenience and fun to work with. Also both are well documented (Yes I’m looking at you php).

I hope to do some hobby projects in the future, perhaps when kids start school in 6-7 years lol:D

 

Even my startup switched from Capacitor to Flutter.

 

I love flutter, unfortunately I haven't done much with it myself yet but I'm super intrigued.
A little fun fact: Flutter implements the whole material design guideline while the official native android sdk doesn't.

 
 

Woah, that's quite a mind-blowing fact! πŸ”₯

 

I love Flutter. We are moving from Ionic to flutter at our company.

I imagine there are downsides to using it, but for now, it has only improved our stack.

 
 

My short list:

Langs

Libs

  • Ramda & whole Fantasy Land
  • MonetJs
  • SWR/react-query

Tools

  • GhostCMS
  • Svelte
  • Nx
  • NestJS

Other

  • some ML
  • AWS and other cloud services/platforms

Plus a ton more I don't remember now β€” people create new cool stuff daily!

And what is on your list, @ben ?

 

And what is on your list, @ben ?

Rust/WASM definitely near the top. I also played around with Flutter when it was new but sort of put it on the shelf to let it mature. I'd love to revisit that.

But gaining a better understanding of containers/VMs/etc. is higher on my listβ€” because that would help me contribute better ideas to the infrastructure side of DEV.

 

I've found that often it takes a few hours to try some new lang/tool/technique

While postponing it in my list lasts for months or even years πŸ˜“

I remember when I learned new cool kid's words "repository" and "git".
Kept hearing that all around, but couldn't find courage to check em out.
Took me years to finally sit down & try πŸ˜€

 

Nice πŸ˜„, How you are planning to get better understanding of containers/VMs/etc ? Do you have any course in mind or learning by reading documentation ?

 

Did someone said fantasy land? Some time ago I found a series of posts that talked in great detail about that stuff: Fantas, Eel, and Specification.

 

Thank you, Heiker! Bookmarked it.
Have you started using it after reading this?
Where you doing FP before that?

Have you started using it after reading this?

Yes. But funny enough we (all of us) already use some of that stuff, we just don't know it.

Where you doing FP before that?

A little bit. Not too much because "hardcore" FP looks very weird in javascript.

I've been writing about FP in javascript for quite a while now, I put everything I know here.

 
  • Kubernetes – I actively use Docker and have also played around a bit with Docker Swarm to create a cluster (for serverless functions), but the leap to k8s scares me πŸ˜ƒ
  • GraphQL – I know more or less how it works and can write very basic queries and mutations, but am very far away from being able to use it for a real project. Fragments, caching...
  • GSAP – I've seen all the amazing animations people create using it and it looks so cool. But my knowledge there ends after a simple timeline.to('selector', { opacity: 1 })...
 
  • Erlang
  • Rust
  • Roamresearch
  • Shortcuts
  • Swift
  • OCaml
 
  • Roamresearch
  • Figma
  • Apollo GraphQL
  • Hasura
 

I now use Figma regularly as a pretty ignorant consumer. Actually learning it seems like a steep hill to climb! 😭

 
 

C++ and Rust are definitely at the top of my list. I really wish I could integrate them into my JavaScript applications, but the build systems are so cumbersome that I often find myself too bothered to find the time to properly use and learn them.

 

The Rust WASM toolchain is pretty much at the point where it's usable, provided you know a little about both Rust and WASM. You could also check out Parcel bundler which supports Rust out of the box.

 

Wow. How convenient! I would love to learn more about how this all works under the hood.

Does Parcel compile Rust so that it directly binds with V8, or does it use some fancy foreign function interface (FFI)? Please do correct me if I'm wrong, but I figured that it might be the latter due to the presence of the no_mangle directive in the Rust example. Moreover, does Parcel provide the option to compile Rust into native Node add-ons instead?

Say, if I wanted to write a performance-critical application, this would be critical information for me in my tool belt.

Parcel compiles the Rust code to a WASM (WebAssembly) bundle. This is basically the Javascript standard equivalent of FFI, and should work in modern browsers and in Node.

If you specifically want to write native Node add-ons, I've heard pretty good things about neon but I haven't tried it out myself and it seems more involved than loading a WASM bundle with a bundler.

Nice! Parcel is more attractive now that you mentioned WebAssembly. Thanks for the nod in the right direction. I'll definitely look into it.

Also, I've tried Neon once. It was an overall good experience, but tooling support is desperately lacking. In particular, Rust support in VS Code was a huge pain to deal with. Tooling aside, Neon is a neat alternative to FFI. It's best to give it a few years to mature before a proper judgement can be made.

Lack of IDE support is definitely one of, if not the biggest obstacle for Rust right now. I haven't used VS Code in a while so I can't compare, but I'm using IntelliJ with the IntelliJ-Rust plugin and it works fairly well (some minor annoyances but no major issues).

You can also check areweideyet.com for an overview of Rust plugins & support in various IDEs.

It's very unfortunate, too, because Rust is a great language with promising ideas and paradigms to offer. I'll do some further research on IntelliJ's IDE capabilities. With that said, thank you very much for your advice.

 

From my experiences with C++, cmake is the de facto standard build system. And wrapping C++ as node module can be done using swig. Pretty good.

 

I am definitely open to making use of CMake. However, my biggest issue with it is the additional amount of knowledge required to set it up. The tedium of configuring a build system is the curse of compiled languages that discourages me from playing and hacking away. I do have some fault in that regard, but it is admittedly a cumbersome task.

 

Docker. I used it sometimes in my last company and it hasn't been at the top of my list of things I want to learn - but it IS on the list. I think it's because it's not a blocker for my other projects that I never made time to understand it. But I do keep bookmarking Docker related articles I find here on DEV.

 

Elixir. I became interested in Functional Programming and started trying to do things using an FP approach in JavaScript, and tinkered with FP libs in JS. This led me to wanting to learn an FP language. I chose Elixir because Phoenix sounded interesting. I spent a few weeks with Elixir, made a couple of basic apps, and even attended a meetup. Then Covid-19 happened, AND I started working on my master's degree.

 

Sadly I don't have the energy to learn all that stuff. V actually stands a chance, it's like a really tiny language.

 

VueJS. Just don't get the time to learn it.

 

I find Clojure to be a fascinating language. A descendant of LISP it comes from a long history of language design that is very different from other, more mainstream languages.

LISP has a reputation for being somewhat cryptic to read, having terrible performance (especially compared to something like C back in the "old days") and used primarily in an academic context. Personally, I find a lot to appreciate in LISP's terse syntax because it packs a lot of punch. But I guess it's a matter of taste.

Clojure, which first appeared circa 2007 took LISP and put a practical spin on it. For one, it targets the JVM as its operating environment so as to take advantage of the huge eco-system that was built around Java in the past 20 something years.

The thing that attracts me to Clojure the most, is that it forces me to think very differently about my solution. As someone who uses mostly object-oriented languages on a day-to-day basis for the past 20 years or so, I know that most modern languages will get the work done. But there isn't any joy to it particularly. It's merely perfunctory. Clojure brings back the joy of discovery. And of thinking in a completely new way, but still remain in the realm of pragmatic programming since Clojure is meant for "real world" applications.

But convincing an engineering manager isn't exactly easy. From what I can tell a company is either a "Clojure shop" or it isn't. There isn't really much of a middle ground. So I've yet to find the opportunity to build something that I had to ship with it.

 

Python sounds very interesting to me! Also everybody recommends it as a good starting language (so it might not be difficult to pick it up), but I have yet to find a use case for it since wathever work I think I could do on it I'm already doing it in another language (i.e. server work: PHP, game development: Lua, JavaScript or GML), so I never get to it.

On web frameworks I still have a lot to learn on Angular, barely scratched the surface. There is also React which I've never used. The issue with these two is that Vue is so great for the things I need that I have not had the need to truly dive into them.

 

Rust is definitely at the top of my list.
Elm is intriguing although some of the rumblings I've heard make me worry a bit over long term viability.
Test driven design - I think it is over the top but I can definitely stand to improve my automated testing chops.
Event sourcing - with or without domain driven development. Can be hard to make the distinction at times.
CouchDB is a solution I've long wanted to use, but still looking for an appropriate problem to apply it to.

 
  • Haskell --- I like the language but it confused me. I don't really know how to use it either.
  • Rust --- It's good but I don't know what to develop with Rust.
  • Flutter --- Computer stopped thinking.
  • Kotlin --- I am not sure.

Edit 1: Fix spelling

 

Rust and Go

I have heard so much about them, but haven't had the opportunity yet to try them out. I am more of a project based learner, so please do suggest a few interesting projects to get started with either of them!

 
 

What would you say is appealing about each?

 

I am planning to replace C/C++ (mostly for systems programming targetting embedded devices) with rust. Rust looks mature enough and third party libraries are plenty now.

For Go, I’m looking for more performant languages for backend services that is easy to write and maintain.

 

I do know and write things in Rust but am not at the familiarity I wish to have. GraphQL, WASM and probably functional programming in Kotlin through Arrow.

GitHub logo arrow-kt / arrow

Functional companion to Kotlin's Standard Library

Maven Central Latest snapshot Kotlin version badge License StackOverflow

Ξ›rrow is a library for Typed Functional Programming in Kotlin.

Arrow aims to provide a lingua franca of interfaces and abstractions across Kotlin libraries For this, it includes the most popular data types, type classes and abstractions such as Option, Try, Either, IO, Functor, Applicative, Monad to empower users to write pure FP apps and libraries built atop higher order abstractions.

Use the list below to learn more about Ξ›rrow's main features.

Curated external links

If you have a blog post, talk, or upcoming event on Arrow, please considering opening an issue or…

 

I've been starting to play around with D3 and React for interactive data visualizations and would like to move more in that direction overall, but I'm not even sure where to start! I think I need to learn Python as a first step so that I can start exploring more visualization tools.

 

I've worked a little with Rust in the past, but would like to dive deeper into it for webdev.

For Javascript, I'm waiting for a stable release of AdonisJS 5 to dive into that. "Laravel for Node" is a dream come true, and the preview versions already look and work fantastic.

I was going to say something about wanting to learn Svelte but waiting for Typescript support, but it looks like there has been a lot of progress recently so I know what I'll be doing when I get some downtime!

 

JavaScript, node js, node js πŸ’›πŸŒ΄

 

I've been putting aside learning TypeScript. It's getting more and more popular in the ecosystem and almost all job openings I find has it listed as a requirement. I'm currently working on a React + TypeScript App to help me learn and get familiar with the concepts and using it in a real world app.

 

Python. Because everyone talks about how great it is! I haven't worked on any projects using it or had a specific need for it yet but it comes up a lot in the "what should I learn next?" or "what language is the best to start with?" type questions.

 

There are so many things I'd like to spend more time on, but can't find the time, like:

  • Deno
  • Svelte
  • Blitz js

Also, I'm quite interested in learning more about serverless technologies.

 
1. ES6
2. React
3. Express
4. Vue
5. GSAP
6. CSS Grid
7. Jamstack
8. Back-end Dev
 

I'd say React (it's the cool thing, right?). I'm old school (still using jQuery! and wrote my first code in Atari Logo when I was 10!) and would love to learn some of the newer JS frameworks. I'd also like to learn Python and get familiar with WebAssembly.

 

Ruby!!

I've been wanting to learn it for a long time, but I haven't had sufficient excuse. Main work involves C++ and Python, and my book is about Python.

Maybe my next job will afford me an opportunity, though.

 

I got into Swift, and took it as far I could before the tug of Xcode became too much … and then Xcode happened and I ran like a frightened child!

I need a project in mind to learn something, and Xcode β€” for me, at least β€” makes it so difficult to learn for the sake of learning.

 

I really want to learn Kubernetes starting from scratch. I have only ever jumped into projects that already have everything setup, so I want to learn it starting from a blank VM. Any suggestions on projects to implement that help in learning this?

 

Have you considered reading its source code?πŸ€”

 

C++ (and C at some point). Over the last 20+ years I've started learning it so many times and can write a "Hello Word" and basic math bins in it, but I never finished learning it. I code for myself so I've never had any time frame so I usually just learn the languages I need to do what I want and scripting languages always ended up being capable of what I needed so I end up holding it off again for another year. I finally got around to Python and Fortran in the last couple of years and been loving them, but I still go back to AutoHotkey mostly. Funny you posted this because I was truly getting ready to start learning C++ again soon. Right after I finish this AutoHotkey/Fortran project I'm working on...

 

I'd like to learn React+Redux+Firebase, but I can't grasp most of the stuff from the tutorials out there. Plus, it is really time consuming...
But I've heard it's really awesome and I want to learn it.

 

SPARK/Ada the language derived from Ada suited for formally checking your software. In my free time I am using it for small projects. Every now and then I post something about my experiences with it.

 

React and Vue.

I've spent most of my career doing development on existing software and reusing the existing components or adding new ones in the same manner. I've never had a chance to try these new things yet.

I will soon, as I'm working on a complete Greenfield project where I can try new things and use "new" tech, but I'm not fully at a front end stage yet

 

Idris and Lisp. Both have been pitched to me as "Haskell, but better". I'll probably be going for Idris first, Lisp maybe never. Also Rust, which has been pitched to me as "Go, but better". Ruby to some extent (and probably never will go after that) and oh Julia (which has been pitched to me as "Python, but better" - I'll go for that over Ruby).

 

MeiliSearch
An open source search engine, very fast too.

 
  1. Go
  2. Rust
  3. TS
  4. GraphQL
  5. Flutter
  6. Android Jetpack Compose
  7. Docker
  8. K8s
 

React Native! My work focuses on frontend web in React but I'm always questioning how much time I should spend strengthening the skills of my field or venturing out to explore an unfamiliar territory like the mobile world. πŸ€”

 

WebGL and Rust(WebAssembly). Both to me can make the web more powerful.

 

React Native, GraphQL, and Deno.

 

SwiftUI and to play more with my Raspberry Pi's (Pies? πŸ˜†)

 

In general it's not about the time but...

I'd like to be more familiar with Event Sourcing and CQRS pattern. Unfortunately, the current activities too small for them.

In other hand I have an iOS development and SwiftUI itself. I really enjoy it. Still waiting for a chance to write something for production.

 
 
 
 

Erlang. I read some articles and it looks very interesting. Every dev telling if you want an immortal server, then Erlang is the language to choose. Very curious about that.

 
 

Laravel & GraphQL, besides that nothing really.

 

Some kernel programming, I am very curious how actually things work under the hood.