I’m seriously considering transitioning into software development. I wanted to be a programmer in high school and my final project was to create an android app, but I didn’t pursue it after high school because I didn’t want to go to college.

Now I’m getting back into it and using free resources to learn. I’ve always loved programming (the little bit I’ve done).

What other languages might be useful for Nostr dev?

Reply to this note

Please Login to reply.

Discussion

It really depends what you want to develop for. Js for web, python/rust for backend, kotlin android /swift iOS, I would say. (Rust-nostr has bindings for all of these)

Awesome, thanks!

Learning Rust is pretty hard.

That's why I didn't suggest to use rust, but any language supported by the sdk

Unpopular opinion: Rust would be great, maybe even the best first language if it had a really really good tutorial/course/... for complete beginners. The reason is the compiler is your free mentor. Without a great compiler newbies are left alone to solve confusing bugs.

Anyway, I know of no such good resource. Still, some people tried anyway and succeeded.

Doesn't have Rust a very good compiler? -> So it is perfect for beginners, isn't it?

And I think, the problem with a good tutorial/ course/ ... could be solved with a real mentor.

I'm literally 1mm away from learning Rust as my first in-depth language, because it doesn't matter if I learn TS/ JS + Framework for a year or I learn Rust for a year.

Yes, I haven't seen anything producing better error messages than Rust. (Well, nushell is close but that's kinda obvious.)

Sure, give it a shot. Worst case you can try a different one and return to Rust later. I don't think the time wasted doing "context switch" will be large.

Nobody writes JavaScript anymore. Learn TypeScript.

Should you first learn JS and then TS? Or can I skip JS and directly start wit TS?

You do need to know the mechanics of JS to write TS, but you could probably gain that skill simply by learning TS. TS adds strict static type checking to modern ECMAScript, aka JS.

I taught someone JavaScript. It was absolutely crappy experience because there's no compiler and dynamic typing makes the error messages confusing at best and non-existent at worst. As an example, if you accidentally subtract a number from a text instead of getting an error pointing at that exact errorneous line the error silently propagates and messes up code down line. You'll get super confusing bugs that will take a lot of effort to debug which for begginer might be close to impossible.

Strongly statically typed languages don't have this issue. You have a compiler that checks if your code makes sense and tells you the exact line where a problem is. In great languages like Rust it even suggests a solution that is often correct.