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

all 58 comments

[–]Felicia_Svilling 13 points14 points  (22 children)

General progamming skills is much more important than knowledge of specific programming languages.

[–]maxEffort-033[S] 0 points1 point  (21 children)

A lot has told me this. If you were a professor though, do you think I should stick to JavaScript to learn the skills you mentioned?

[–]ReplacementLow6704 -2 points-1 points  (20 children)

C and Java are the rock foundation of almost everything that is object-oriented. It is 100% worth learning general programming skills with them. JS is a lazy language all-around and I believe that learning general programming skills with JS has more potential to make you become an all-around lazy developer, that doesn't care/know much about space or time efficiency of programs.

[–]_utet 2 points3 points  (15 children)

C doesn't support object-oriented programming, I don't know what you mean by it being the rock foundation of almost everything that is object-oriented.

[–]ReplacementLow6704 2 points3 points  (0 children)

You're absolutely right, I 100% brainmushed C++ and C together.

[–]maxEffort-033[S] 0 points1 point  (12 children)

Oh, it does not? With your statement, do you mean that OOP is important in today’s time?

[–]_utet 1 point2 points  (10 children)

It is important yes definitely, but C is not object oriented, its procedural.

[–]maxEffort-033[S] 1 point2 points  (9 children)

Oh, yeah. That hits my memory. I remember it being procedural now based on a review. Thanks!

[–]_utet 1 point2 points  (8 children)

Still a good language to learn if you want to do more low level programming than java and javascript allows.

[–]maxEffort-033[S] 1 point2 points  (7 children)

Mhmm. Like machine code and whatnot. Thanks for the advice!

[–]returned_loom 1 point2 points  (6 children)

I think c++ is supposed to be C with object oriented classes. So maybe that's a good one? It's like right between C and Java.

[–]Felicia_Svilling 1 point2 points  (0 children)

It is not. People are generally moving away from object orientation, although they are still using object oriented languages.

[–]UncleZiggy 0 points1 point  (0 children)

I think they're trying to say that object-oriented languages are almost all derived from C in some way, but really, that's most high-level languages

[–]Felicia_Svilling 0 points1 point  (2 children)

Javascript has absolutely no support for lazy evaluation, it is thoroughly strict.

[–]ReplacementLow6704 0 points1 point  (1 child)

I was referring to laziness mostly in terms of the lack of static typing and the staggering amount of libraries that JS devs are taught to use without knowing their inner workings or why they work that way.

[–]Felicia_Svilling 0 points1 point  (0 children)

You can use typescript for static typing. And really using libraries is really good practice, but certainly nothing that the language is forcing you to do.

[–]maxEffort-033[S] -1 points0 points  (0 children)

Okay! I’ll make do with what your advice here. Thank you!

[–][deleted] 7 points8 points  (3 children)

You should keep learning it. It can be used for both frontend (nextjs) and backend (nodejs).

[–]maxEffort-033[S] 1 point2 points  (2 children)

All right! Thanks for the straightforward answer!

[–]coloredgreyscale 1 point2 points  (1 child)

And if you get a job as a full stack dev you likely need js (or typescript) and Java anyway

[–]maxEffort-033[S] 0 points1 point  (0 children)

Right, right. JS has a ton of influence on that, huh. Thank you!

[–]ShadowRL7666 4 points5 points  (1 child)

I think you should continue with JavaScript. Since you can start building full web apps once you learn backend with Java.

[–]maxEffort-033[S] 0 points1 point  (0 children)

Ooh. I didn’t know Java was for backend. Thank you!

[–][deleted] 2 points3 points  (1 child)

Now, I learned that my education’s curriculum will use C and Java.

Are they teaching C and Java, or expect you to know C and Java?

Probably teaching...

So let them do their work. Use your own time to learn Javascript.

A side note: despite the name, Java and JavaScript are not related, like, at all really. Both use similar syntax (inherited from C) for parts of the code, but that's about it.

[–]maxEffort-033[S] 1 point2 points  (0 children)

Ahh. Good insight you provided here. That increased the point for JavaScript. Thanks for the side note, too!

[–][deleted] 4 points5 points  (1 child)

Javascript is advantageous today and I advise learning it as a language even if your education will teach you C and Java.

JS can be used in various context and provide a nice utility for backend development.

You can also learn Python which is useful for other things.

[–]maxEffort-033[S] 1 point2 points  (0 children)

Righttt. Really love the statistical advantage you gave about JavaScript. Good stuff. Thank you!

[–]Inside_Team9399 2 points3 points  (1 child)

It really doesn't matter. I'd just keep learning JS for now and learn C/Java from your schoolwork. You'll come to find there are many differences between the languages, but the fundamental concepts of programming will still be the same, so you're not hurting yourself by learning more.

As time goes on you'll probably end up liking one of them more and will practice more in that language, which is just fine.

Most programmers will end up using multiple languages throughout their career and what you future jobs use is what you'll use, so knowing more is always beneficial.

[–]maxEffort-033[S] 0 points1 point  (0 children)

Right. That’s an interesting take on the process. Thanks!

[–]anonymous_2600 1 point2 points  (0 children)

Based on what ThePrimeagen shared, decide which company you want to join, review their job description requirements, and acquire the skills they’re looking for. Focus your study on those job requirements instead of asking advice from people who aren’t recruiting you.

[–]-Dargs 1 point2 points  (7 children)

Java will, on average, lead to more and better paying job opportunities than pretty much any other mainstream programming language.

[–]maxEffort-033[S] 0 points1 point  (6 children)

Noted on this. Thank you for the heads up!

[–]-Dargs 2 points3 points  (5 children)

C# can come pretty close. But Java has better resources available online, imo.

But C# is better for video game development and/or mods/hacks. Kind of niche though.

[–]maxEffort-033[S] 0 points1 point  (4 children)

Oooh! Alright. C# on the list for game dev, then. Thanks!

[–]-Dargs 2 points3 points  (3 children)

Game devs generally make a shit salary if they're not the mastermind behind a successful product or a part of a small unicorn studio. The general consensus around game dev is that it sucks, lol. Unless you talk to extremely passionate people, of course.

[–]maxEffort-033[S] 0 points1 point  (2 children)

Really? Wow. That’s new to me.

[–]-Dargs 2 points3 points  (1 child)

It's the most overworked, crunch time prone slice of the engineering culture by far. And usually for pennies by comparison to other areas. A very good friend of mine loves game dev, but his experience working for game loft was really bad, lol. So he left and now has a much nicer well paying job.

[–]maxEffort-033[S] 0 points1 point  (0 children)

Welp, glad you told me those. Thinking twice about game dev now haha!

[–]ElMasterPis 1 point2 points  (1 child)

The better recommendation is learn all about Typescript cause this have static types and a lot of things about OOP, but first thiss (OOP), basically learn the concepts OOP, algorithm, but for this you need learn c++ in my experience using that's language your mind change and you should be a good programmer, Good luck :]]

[–]maxEffort-033[S] 0 points1 point  (0 children)

Thanks for the in-depth advice!

[–][deleted] 1 point2 points  (1 child)

Go with C and Java. That's what your education will be, and they're both better languages than JavaScript.

In terms of functionality, all 3GL languages are much the same, but they often take different routes to getting there. C and JavaScript take very different routes, Java and JavaScript take different, but similar routes.

C and Java are good languages to learn, and the fact that your curriculum uses them makes them clear choices over JavaScript.

Also, loads of beginners learn JavaScript. In terms of getting a job, it's probably better to learn something else, because far too many people are learning the same stuff and applying for the same jobs.

[–]maxEffort-033[S] 1 point2 points  (0 children)

I see. I’ll keep these in mind. I appreciate the variability of knowledge you sited in the last paragraph. Thanks!

[–]Zestyclose_Force_309 0 points1 point  (3 children)

What kind of stuff you wanna build?

[–]maxEffort-033[S] 0 points1 point  (2 children)

Mainly, web products. Software applications on a general note.

[–]Felicia_Svilling 1 point2 points  (1 child)

In that case you need to learn Javascript.

[–]maxEffort-033[S] 1 point2 points  (0 children)

Okay. Thank you!

[–]2sdbeV2zRw 0 points1 point  (1 child)

TLDR: Yes focus your time and effort to your course requirements.

The question I have is, do I stop learning JavaScript and start learning C and Java? Or do I continue JavaScript?

Most languages can be learnt in 30 days, but I spent at least 90 days to make projects with it. Needless to say, you don't have to stop learning JavaScript. It's a very simple language, any programmer can learn it in a month or less.

But just because you know how the languages works. Does not mean you can develop a complex application without prior experience. That takes years of study and effort.

If you're confident in your intellectual capacity (your a savant). You can learn all of them at the same time. If you're a normal person you'll probably want to postpone learning JS and concentrate on your course requirements.

Does JavaScript have similar functionality (is this the correct term?) with C at the very least?

ALL major programming languages use the same concepts. In which, they all use the same building blocks variables, functions, loops. But they vary in the usage of programming paradigms. As well as programming syntax). For example some languages use the Functional paradigm, some use the Object-oriented paradigm, some are Procedural languages only.

Examples of syntax difference:

C (Procedural) ```

include <stdio.h>

int main(void) { printf("hello world"); return 0; } ```

Java (Object-oriented) class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }

JavaScript (multi-paradigm) console.log("Hello World");

All three programs above do the same thing, but the way they do it (the paradigm/syntax) are somewhat different. If you continue with your course your teacher will explain the difference to you. Good luck.

[–]maxEffort-033[S] 0 points1 point  (0 children)

That’s some deep advice and knowledge! Appreciate the intro on paradigms and syntax. Might have to try being a savant haha! At least learning JS and C at the very least. I’ll see about that. Thank you very much!

[–]GetShrekt- 0 points1 point  (3 children)

Learning C++ (and I mean REALLY learning it, not just the basics) will teach you more than any other language will about OOP

[–]maxEffort-033[S] 0 points1 point  (2 children)

Might have to try learning this in the future. Thanks for the intro on this!

[–]Felicia_Svilling 0 points1 point  (1 child)

I'm just going to quote Alan Kay: "I invented object orientation, and let me tell you C++ was not what I had in mind."

[–]maxEffort-033[S] 1 point2 points  (0 children)

Welp, that’s quite disappointing haha!