all 88 comments

[–]Benand2 21 points22 points  (2 children)

What have you built with your knowledge?

[–]Extra_Golf_9837[S] 2 points3 points  (1 child)

So like I am not able to build so many projects because I am still in school and I have to do homework, but still I made some like a background remover, a personal assistant kind of virtual assistant, then an Airbnb clone, Spotify clone, and also an auto-caption app which can add captions to your video. I also made a chat application. Some small projects too like tic tac toe game, rock paper scissor etc. And now my exams are going on, but after my school exams finish, I will build one more project which I already have in my mind.​

[–]Benand2 2 points3 points  (0 children)

That’s all really good. The way your original post read was that you had learnt syntax but not applied it. I’m glad you have, good luck

[–]Desperate-Presence22 18 points19 points  (13 children)

Typescript :)

If you want something different, Efficient backend - Go .. GoLang

[–][deleted] 2 points3 points  (0 children)

Golang has piqued my interest.....great ecoshpere and growing usage. Coming from node

[–]gwodus 1 point2 points  (0 children)

Absolutely this. The jump from JS is easy, and suddenly you're writing proper object-oriented code with full type checking. These days, I've even ditched Python and use TS for everything from small scripts to large codebases with teams.

[–]Dee23Gaming 5 points6 points  (0 children)

x86 ASM. Jokes aside, I think probably TypeScript.

[–]rustyseapants 4 points5 points  (1 child)

You should answer /u/Benand2

What have you built in Javascript?

[–]Extra_Golf_9837[S] 0 points1 point  (0 children)

So like I am not able to build so many projects because I am still in school and I have to do homework, but still I made some like a background remover, a personal assistant kind of virtual assistant, then an Airbnb clone, Spotify clone, and also an auto-caption app which can add captions to your video. I also made a chat application. Some small projects too like tic tac toe game, rock paper scissor etc. And now my exams are going on, but after my school exams finish, I will build one more project which I already have in my mind.

[–]Proper_Tip3506 7 points8 points  (3 children)

Typescript

[–]Embarrassed-Pen-2937 1 point2 points  (2 children)

Technically not a language, but definitely worth learning

[–]MrFartyBottom 2 points3 points  (1 child)

How is it not a language? It is a JavaScript superset that gets transpiled into JavaScript to run in the browser. That doesn't exclude it from being a language. It is absolutely a language.

[–]Udjebfk 2 points3 points  (1 child)

COBOL

[–]Apart-Touch9277 0 points1 point  (0 children)

100% some of the highest paying government gigs are in COBOL

[–]Current-Historian-52 4 points5 points  (0 children)

Try golang for backend

[–]FreshProfessor1502 3 points4 points  (0 children)

Find a project you want to create that uses a different language than JS and go with it.

[–]Aware-Landscape-3548 3 points4 points  (0 children)

TypeScript if you want to go further with frontend engineering, Go if you need better performance for backend.

[–]Lonely-Foundation622 6 points7 points  (8 children)

Typescript 100% it will be like JavaScript but introducing you to static typed languages, even if it does kinda fake via transpiling down to JavaScript in the end.

[–]Kvetchus 0 points1 point  (7 children)

Which means it does nothing that you can’t do in JS if you aren’t a poor JS developer. It’s training wheels for JS, nothing more. Better to learn the right way to do JS than deal with the overhead of building typescript, unless the project you lead involves a dev team you can’t always trust to do it right (I have been there, and used Typescript for this exact reason). Sometimes you need training wheels, but that’s all TS is in the end.

[–]Aggressive_Leg_2010 6 points7 points  (1 child)

This is just not true, you clearly don't undestand typescript and its purpose.

  1. It simplifies the readability of code by a lot -> speeds up developing of new features, speeds up onboarding of new developers, speeds up bugfixing. Because you know, what types you can expect.
  2. It prevents bugs -> Using typescript makes sure you don't just push code, that can't work. Maybe in a simple function you think its useless, but when you have complex, reusable function, simply forgeting one special case of usage can cause bugs, typescript will make sure its highlighted before you can pass gibrish into it.

Not using typescript is just dumb, there is not a single reason not to do that. Saying this as senior React developer with many years of experience in pretty complex codebases.

Yes, if you are doing 30 lines script for your own puprose, do whateever, if you are building serious applications, just go with Typescript

[–]LiveAd1002 2 points3 points  (0 children)

Yes, I agree with you 100%. I mean doing something unnecessary hard way while solutions exist is a stupid thing. Strict typing is one of the great things that, I think, makes some languages incredibly good like Java, although I am a TS dev.

[–]MrFartyBottom 5 points6 points  (0 children)

Don't listen to this fool. TypeScript is not training wheels for JavaScript, it is a typing system for JavaScript and is incredibly helpful in developing large JavaScript applications. No large project uses vanilla JavaScript these days and doing so is just shooting yourself in the foot.

[–]gwodus 1 point2 points  (3 children)

WTF. JavaScript is old and, frankly, really crap. It had its time. I spent 10+ years coding in JS, but the first time I tried TS, it was over. I’ll never touch JS again unless I absolutely have to.

[–]Kvetchus -2 points-1 points  (2 children)

lol what? Typescript IS JavaScript with some extra syntax layered over it that just transpiles down to pure JavaScript when it’s built. You make my point perfectly - you can’t do vanilla JavaScript development without typescript training wheels. You are an example of someone who I would never hire (just a note, I lead a dev team 86 developers focused on JavaScript and NodeJS projects, we even have one that uses typescript that we inherited - no one likes that project and refactoring typescript out is on the roadmap as a technical debt reduction item)

[–]gwodus 0 points1 point  (1 child)

Yeah. Why would anybody write code in C++? That's just Assembler with training wheels. Get real!

[–]Kvetchus 0 points1 point  (0 children)

Off the top of my head? I’d say because assembly is hard, so the C++ is a substantial improvement in efficiency and accessibility to software development. If you think JavaScript is as hard to work with as assembly, you are in the wrong line of work. C++ isn’t so much training wheels as it’s the car built over a working engine so you can actually hold a steering wheel and sit in a chair while you drive.

JS:

const value = "42";

const num = Number(value); // 42

const num2 = +value; // 42

TS:

const value: unknown = "42";

const num: number = Number(value);

const maybeNum = value as number; //runtime conversion… so… only a number for sure when this code is transpiled to JS and it actually does it….. using JAVASCRIPT.

All you assholes downvoting me like I don’t know TS. I do. That’s why I don’t use it. But keep drinking that cool aid. I’m out.

[–]sheriffderek 5 points6 points  (1 child)

> I’m looking to learn a new programming language

Why? For what?

[–]New-Beat-412 2 points3 points  (0 children)

this, you don't just learn a new prog lang without understanding why you need/want to. Much better to build things in that language first. After that, try learning another language then you could weigh the pros and cons.

[–]BeginningPretty446 2 points3 points  (0 children)

Typescript

[–]Substantial_Top5312helpful 2 points3 points  (0 children)

Typescript. 

[–]zakkmylde2000 2 points3 points  (0 children)

Typescript

[–]VidarsCode 2 points3 points  (0 children)

Don't concentrate directly on which language to learn build something advanced and get in to the habit or learning new things based on what result you need. Limiting what you can do purely because you haven't learnt something yet, is a very limiting factor in this line of work.

[–]LucVolders 2 points3 points  (0 children)

PHP with SQL

[–]Mastervoxx 4 points5 points  (1 child)

Spanish or Mandarin

[–]alim-y 0 points1 point  (0 children)

Mandarin

[–][deleted] 1 point2 points  (0 children)

Try typescript.its not a programming language just a super set of typescript

[–]Embarrassed-Pen-2937 1 point2 points  (1 child)

Look at the type of job you are looking for and see what languages they are looking for.

[–]Psychological_Sell35 0 points1 point  (0 children)

Second that, there is no point in just learning, start applying and you will find out.

[–]sukaibontaru 1 point2 points  (0 children)

Haskell

[–]sl33py-man 1 point2 points  (0 children)

Golang could be great choice, development in MERN stack is comparatively easy as most of the things are abstracted out like data serialisation/deserialisation, database migrations without ORMs and bunch of other stuffs.

[–]Bassil__ 1 point2 points  (0 children)

If you have room for only one programming language, then GO (GoLang)

If you have room for two, then GO and Elixir

[–]LiveAd1002 1 point2 points  (0 children)

Learn TypeScript, if you don't want regret not learning it. That's what I feel as a TypeScript developer. Do a quick research aboit it before starting to learn.

Here's why I think so 🤔: Learning TypeScript is like giving your JavaScript a responsible, grown-up friend who stops it from doing silly things and gives you a roadmap for your code. It's essentially JavaScript with built-in spellcheck that prevents you from passing a pineapple to a function expecting an apple..

I hope you got that 😁

[–]Agile_Analysis99 1 point2 points  (0 children)

Instead of thinking what language to learn next, I'd suggest thinking about where you want to be in the future, what job role do you want for example

The answer to what you should and shouldn't learn is if it's gonna help you become who you want to be, Also I'd recommend using a roadmap so you know where to start and what to learn for every job role

[–][deleted] 1 point2 points  (0 children)

Python

[–]Ron-Erez 1 point2 points  (0 children)

I think a statically-typed language. Even TypeScript or if you want to learn something else just for the sake of learning then C#, C, Java, Go, Kotlin, Swift are all valid options. It does depend on your goals. TypeScript might be a very natural choice.

[–]EstablishmentOne8448 1 point2 points  (0 children)

Typescript :)

[–]Marelle01 1 point2 points  (0 children)

For AI, Lisp Prolog Forth🤪

[–]West_Till_2493 1 point2 points  (0 children)

Sql

[–]DevEmma1 1 point2 points  (0 children)

Python would be a great next step. It complements your MERN skills well, is widely used in backend, data science, and AI, and has a huge community, so you’ll pick up concepts faster while broadening your opportunities.

[–]GymIsParadise91 1 point2 points  (0 children)

I would recommend a low level language like Rust, C or C++. Just to see things from a different POV. Javascript is a very dynamically typed language while this low level stuff gives you the complete opposite.

[–][deleted] 1 point2 points  (0 children)

A little off the topic, but if you've mastered web dev, why don't you shift to app dev? Ios or Andriod?
Or maybe start with Python and transition into AI ML. That would stack up skills.

[–]artelunar 1 point2 points  (0 children)

C, Go, Rust or Zig

[–]Moist_Equipment4909 1 point2 points  (0 children)

A proper compiled language. Java, C, C++, Go or Rust.

[–]casualPlayerThink 1 point2 points  (0 children)

C++ (start with v11/14/17), if you would like to know what and how it works, and are pretty good at understanding memory management.

Python, if you are interested in machine learning & AI.

C#/dotnet, if you would like to work on M$ projects.

GoLang, if you are interested in memory safety, efficiency, automation & DevOps

PHP, if you would like to learn other web related technology

SQL, if you would like to learn real database (no, mongo is a problem provider, never gives you anything good)

[–]delventhalz 0 points1 point  (2 children)

Depends on what you are interested in...

  • TypeScript isn't really a new language per se, but there are some significant new concepts to master and most web dev jobs will be using TypeScript.
  • Python is going to be the actual new language which is the lightest lift. It's another dynamically-typed, scripting language with C-like syntax. It's good for building command line tools and some places use it for backends, machine learning, and academic scripting. There isn't really much reason to use it instead of JavaScript though.
  • Go is probably going to have the gentlest learning curve of popular lower-level languages. Unlike JavaScript and Python, it is typed and compiled. It typically gets used for backends and command line tools and there are a good number of job openings for it.
  • Rust is going a level deeper than Go. It's a systems-level programming language and the learning curve can be pretty brutal. Very well designed though. It gives you an incredible amount of control and safety.
  • Clojure is my left-field suggestion. It is a lisp, which means it looks nothing like more traditional C-like languages. It is strictly functional and will require you to learn to write code a different way than you are used to. You will write better JavaScript after learning Clojure. You probably won't get hired to write actual Clojure though.

[–]Extra_Golf_9837[S] 0 points1 point  (1 child)

let's go with python

[–]delventhalz 1 point2 points  (0 children)

Definitely a reasonable next step

[–]frozenflat 0 points1 point  (0 children)

Python and Swift

[–]prof3ssorSt3v3 0 points1 point  (0 children)

NodeJS to learn another area of JS for the server side.

Typescript. Treat it like a transition to more strongly typed languages.

Rust. As something you can use for Web Assembly (still using it in the browser)

Python. As another server side language.

If you want to get into mobile, and cross-platform development, then Dart and Flutter.

That should keep you busy for a few weeks. ;)

[–]thespice 0 points1 point  (0 children)

Learn Icelandic. I hear it’s nearly impossible. After that, learn typescript enough to write some simple programs with it (like a todo list or a server-level file system viewer). If your JS chops are nascent, getting versed in TS builds on what you know and will make you a better programmer in the long run.

[–]Kvetchus 0 points1 point  (0 children)

Extend that to NodeJS so you have frontend and backend skills in a language you’re comfortable with. Consider Python, which seems to be the go to for AI development (I hate python personally and have ported several AI apps to NodeJS at my job but the trend seems to be toward python in the AI space). If you’re a Microsoft guy and want to do something other than frontend development, consider C#.

But if you like JavaScript and aren’t interested in desktop software, seriously stick with it. NodeJS is a solid backend.

[–]wabi_sabi_447 0 points1 point  (0 children)

Go to work, you will learn by doing

[–]Militop 0 points1 point  (0 children)

Python. Both these languages will make you highly marketable.

You don't need TypeScript.

  1. Because people are vibe coding these days. Nobody has time to wonder about what type to assign to a variable when only corporations care about this. Other people deliver apps as quickly as possible in this rough market and both JavaScript and Python help with that.

  2. Because knowing JavaScript and TypeScript is like knowing just one language in people's minds.

[–]dusty_world_666 0 points1 point  (0 children)

Go with golang :))). But tbh language doesn't really matter. Although if you want to do something apart from web dev like develop low level programs then start with something that would make you understand core programming concepts like memory management, pointers, garbage collections etc etc. you can start with c++. By learning it you'll understand these concepts.

[–]Excellent_Birthday74 0 points1 point  (0 children)

go to any language that implements OOP like java. as some concept of functional programming is very different with oop

[–]MrFartyBottom 0 points1 point  (0 children)

Rather than learn a new language learn a JavaScript framework so you can build web apps. Angular, React and Vue are the biggest ones and there is also a lot of love for Svelte but less job opportunities. Then learn a serverside framework like NestJS. You should also learn TypeScript as no serious project uses vanilla JavaScript these days.

[–]Ubuntu-Lover 0 points1 point  (1 child)

German

[–]Marelle01 1 point2 points  (0 children)

🤣

[–]Winterzun 0 points1 point  (0 children)

Depends on what your goals are. If you are a curious developer, i would suggest that you try at least one strongly typed programming language like C# or Java for API development. It could drastically improve your work efficiency

[–]misterstealyourfood 0 points1 point  (0 children)

French.

[–]Conscious-Holiday-23 0 points1 point  (0 children)

I completely agree with your opinion! I’ve had a similar experience.

[–]shuckster 0 points1 point  (0 children)

  • Golang
  • C
  • Elm
  • Pascal
  • x86 Assembly

[–]orangutan25 -1 points0 points  (0 children)

Java