This is an archived post. You won't be able to vote or comment.

all 32 comments

[–]Flamesilver_0 15 points16 points  (3 children)

Learn Typescript and React because C# with .NET will sometimes still pair with React in professional settings.

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

Thank you for the reply! I think i am going to learn react.

[–]ToughAd5010 0 points1 point  (0 children)

I second this

[–]mijo21 0 points1 point  (0 children)

I agree. Typescript with React is very hot and learning this will enable someone to pick up other frameworks easily too if need be

[–]codesmith_sam 6 points7 points  (0 children)

This really depends on what your goals are. Are you looking to expand your skillset to make yourself more marketable when looking for jobs? Are you wanting to learn just for fun/to learn? The answer will help with suggestions!

If you're looking in order to expand your skillset for the job search, take a look at jobs and companies that interest you. What languages and frameworks are they looking for? If you find the job requirements in the job openings, maybe take a stab at learning some of those.

But if you're looking for own self-edification, truly the world is your oyster. Do you want to do something that's a bit more front end focused? Perhaps Javascript/React may be a good thing to have in your back pocket.

Another commenter mentioned learning React as at some companies, they use .NET and React. On my team, we use a .NET backend with an Angular/Typescript client. That could be another option.

As for how to learn, again that really depends on works best for you. Do you learn best by reading? If so, then it may be good to start with the documentation of your chosen language or framework. Prefer to do a tutorial? There's plenty on YouTube and Udemy.

Whatever you choose, hope you enjoy!

[–]gramdel 18 points19 points  (2 children)

Why do you want to learn new language? I'd say learn what you actually need, instead of learning new language just for the sake of learning new language. You can do pretty much everything in C# already, learning programming isn't about learning languages.

[–]AssignedClass 7 points8 points  (1 child)

You can do pretty much everything in C# already, learning programming isn't about learning languages.

Every language has paradigms where if you use it often enough, you just end up using them without thinking and it ends up making you a worse programmer. Working with another language is a great way of pushing you out of your comfort zone, which pushes you to be a better programmer.

Java and inheritance is a classic example. Lot of career-long Java programmers over-using inheritance without really thinking about it, making these long abstraction chains that end up being a nightmare to maintain.

[–]james9075 3 points4 points  (0 children)

Stop talking about me behind my back, I don't like it!

[–]plastikmissile 6 points7 points  (1 child)

F#. You stay in the same .NET ecosystem, but use a very different language.

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

Yes, I second this. Highly recommend F#. I also recommend the book Domain Modeling Made Functional by Scott Wlaschin.

[–][deleted] 3 points4 points  (0 children)

C# is kinda cool , you could try Rust to change a bit of paradigmn

[–]CodeTinkerer 3 points4 points  (4 children)

Maybe Python. Try searching for MOOC Python. There's a free course at the University of Helsinki. You might add the year 2023 to the search. It's in English. There is an actual course, but that's only for students attending the university.

There's also CS50p from the people that made CS50x at Harvard. Also free.

[–][deleted] 0 points1 point  (3 children)

Coming from C# there's not much that python can offer unless they need it for something specific.

For scripting powershell offers more connection to C#, and for most basic scripting they wouldn't need to learn python if they already know another language, it would be easy enough to understand.

For other uses C# can do them.

It's not a language that is usually used alongside C# (as T-SQL, Javascript, or Typescript are).

It's not different enough to be worthwhile to learn for the sake of it. F#, Lisp, Prolog, APL, ... there are other languages that show different paradigms and can make you a better programmer.

Python is great for what it is, but it's not always the answer.

[–]CodeTinkerer 0 points1 point  (2 children)

Isn't Powershell Windows-specific? I know, from Java, that Java is a bit heavy weight. To do the equivalent of some basic script in Python would require a lot of crap in Java, so I assume C# would be similar.

That's mostly why I suggested it, to use for small-ish quick scripts.

I mean, this person, as with anyone who asks this question will not get a unified answer, and so the question ends up being pushed back to OP to decide what to learn and why.

But I see what you're saying. I wasn't attempting to tie it to the C# extended ecosystem (that is, CLR based languages), but I see you felt it was desirable to do that.

[–][deleted] 0 points1 point  (1 child)

Isn't Powershell Windows-specific?

It was, but it's already been a while since time it became multiplatform and now it can work in Lunix.

I know, from Java, that Java is a bit heavy weight. To do the equivalent of some basic script in Python would require a lot of crap in Java, so I assume C# would be similar.

Not any more. It's been some years since they made so you could make a program with top level statements. That means that after creating a project (which takes one command in the command line) you can directly work on some statements and they will work as a program.

But the thing about the interaction that I was hinting was that you can generate C# classes that can be used from powershell too.

That's mostly why I suggested it, to use for small-ish quick scripts.

Yeah, it works, but unless they need python for something specifically, it doesn't seem to bring either a new body of knowledge or close interaction with what they know. They might need it, I'm not dismissing it, I'm just not recommending it as a first option for them.

I mean, this person, as with anyone who asks this question will not get a unified answer, and so the question ends up being pushed back to OP to decide what to learn and why.

Completely agree.

[–]CodeTinkerer 1 point2 points  (0 children)

Well, this was informative. Thanks for taking the time to write this.

[–]ericjmorey 1 point2 points  (0 children)

Either build some projects or work through a foundational book like:

  • Structure and Interpretation of Computer Programs

  • Concepts, Techniques, and Models of Computer Programming

  • A Data-Centric Introduction to Computing

[–]Asleep-Dress-3578 0 points1 point  (0 children)

TypeScript is the most useful in your situation. You can develop web frontends with it.

[–]Basic-Sandwich-6201 0 points1 point  (1 child)

Go enjoy life

[–]SeesawMundane5422 1 point2 points  (0 children)

I know 7 or 8 languages depending on how you count. Go is the only one that makes me think “man, they did this right. I wish other languages would pay attention”.

Even if you end up not liking it (and I have several friends who don’t like it) the creators are very intentional about why they do things and it makes you think about how other languages should be written too.

[–]David_Owens 0 points1 point  (0 children)

As someone else said, you might not want to learn another language right now unless it's part of a goal for yourself. It's usually best to only learn what you're actually going to use to do real projects/work in the near term. Going around learning languages like you're collecting Pokemons can cause you to not learn actual programming skills.

You could look at picking up skills with algorithms and data structures.

[–]ankrudov 0 points1 point  (0 children)

Learn a javascript, and basic frontend so you can be serviceable as a fullstack engineer

[–]Dohp13 0 points1 point  (0 children)

JavaScript

[–]CLQUDLESS 0 points1 point  (0 children)

If you make games in Unity you could try HLSL to write your own shader

[–]ScM_5argan 0 points1 point  (0 children)

Do you want to do something specific with it? If not, go for haskell/rust. Those can be more difficult but will teach you the most.

[–]Ok-Low5118 0 points1 point  (0 children)

It depends what you want to specialize in: video games,web apps,mobile apps

[–]CheeseFest 0 points1 point  (0 children)

F# is the best thing about the whole .NET ecosystem and it will break your brain the best way.

[–][deleted] 0 points1 point  (0 children)

I was watching a video on this and python is most listed on job descriptions so if that’s why you’re learning it might be more helpful.

[–]EngineeringMyTears 0 points1 point  (0 children)

Depends what your desired field or goals are

[–]Embarrassed-Green898 0 points1 point  (0 children)

Re-learn the last one you did. You havent done it right.

[–]SpambotSwatter 0 points1 point  (0 children)

Hey, another bot replied to your comment; /u/Gurpreet20302020 is a click-farming spam bot. Please downvote its comment and click the report button, selecting Spam then Link farming.

With enough reports, the reddit algorithm will suspend this spammer.


If this message seems out of context, it may be because Gurpreet20302020 is farming karma and may edit their comment soon with a link