DEV Community

Discussion on: (POSSIBILITIES) what languages are good to learn?

Collapse
 
jamesroyston profile image
James

Echoing what others have said -- just pick something. It doesn't matter what. JavaScript is a great first language and you'll be productive with it quick. Python is, too. At this stage, I'd try to ignore the allure of prioritizing job opportunities and requirements and just learn the basics (being consistent and whatnot).

If you HAD to pick based on job market (idk why you would right now, but let's humor the thought), either pick based on what's in demand in your area + what you are interested in or (better) pick based on what you are interested in, with small consideration for ease of learning.

Languages that typically get referred to as easy to learn:

  • Ruby
  • Python
  • JavaScript

Why? Because they require less setup to get your first programs built.

Languages that typically get referred to as harder to learn (but still fine, especially if you are interested in specific platforms/types of products):

  • C#
  • Java or Kotlin
  • Swift

Why? Because these languages have more rules to follow, that (in my opinion) aren't necessary for learning the basics of programming.

I chose JavaScript back in the day because it is one of those "easier to learn" languages AND it had job opportunities for me in my area and around the country.

Collapse
 
yobretyo profile image
Bret

Thank you! Ive had a tough time with JavaScript. Untill I started using React, JS didn’t make sense on how to truly use it, but React adds a “structure” to the vanilla JS.

I’ve been concentrating on python, because I want to narrow down the “need”, so it’s not as up in the air, like how html/css is. JavaScript is a bit more directed to what your going to do, but there’s still allot of syntax to think of, and different ways to do one thing.

Java and Kotlin interests me,
do you basically style at the same time? It seems like swift does that.
I like making objects in React, and the props to dynamically change it.

Collapse
 
jamesroyston profile image
James • Edited

do you basically style at the same time?

In what context? In React, you could style your components at the same time via CSS-in-JS or you could use traditional css files and class names.

While I definitely believe that "liking the language you work with" brings joy as a developer, it's less about that and more about what you like to build.

React is a library used primarily for making user interfaces in the browser. Does that interest you? Building things like Netflix, or eBay, or even internal tools that companies may use to manage assets and employee benefits, etc.

Java is primarily used for backend development, but that doesn't mean you won't run into HTML and CSS while using Java.

Kotlin is used for building Android apps. Java can do this too.

Swift is used for building iOS/macOS/tvOS/watchOS apps. It has it's own way of styling components (but this implementation shouldn't be at the forefront of your mind, tbh).

One way to think about it is this: do you want to SEE what your changes look like as you work? If yes, maybe JavaScript, Kotlin, or Swift is for you. Does the sound of making the rectangles that a user will see on their screen not interest you? Maybe choose Java, JavaScript (Node, specifically), or stick with Python.

There will be "tough times" with every language. Consistency and effort over time is what gets you passed them, not language features.

Thread Thread
 
yobretyo profile image
Bret

Thank you, I like to see what I’m doing yes. I like python, but maybe more data because it goes into allot of typical css/HTML. I like making interactions more, some styling to define what I’m doing.
I saw swift code can define objects and colors as you go?
It looked like Java was similar, I like to see some visuals.... but also I want to do something that is more narrowed down to what I’m going to do.
So between Python and Java,
Which is better for what?

THANK YOU

Thread Thread
 
jamesroyston profile image
James

These languages aren't my wheelhouse. Keeping that in mind, I generally see that python is great for ML and data science, while Java is chosen for enterprise applications. That said, they both apply to "backend" applications, and they both allow you to build HTML templates that you can serve to your users from the backend.

Again, Java can also be used to build Android apps- python cannot.

I saw swift code can define objects and colors as you go?

I don't know, honestly. Could you elaborate more on why this is concerning/important to you?

Thread Thread
 
yobretyo profile image
Bret

This is a picture of some of the Swift I’ve seen

Thread Thread
 
yobretyo profile image
Bret

I tried to upload a picture but it didn’t work. I guess it might be Xcodes Visual way. If you search for “Xcode swift” it seems like there’s a better visual of when your writing code.... I like that. It seems like things are better displayed or defined. Is Java like that?

Thread Thread
 
jamesroyston profile image
James

Sounds like you’re referring to the text editor/IDE’s syntax highlighting?

so like this?

const hey = hey;

function sayHey(){
  console.log(hey);
}

If that’s the case, it’s not a language thing. Swift and Xcode are two peas in a pod, but there are great IDEs and editors out there for all of the other languages (Jetbrains has one for nearly all the popular languages, VS Code is good too). The IDEs have options to change your theme to your liking.

Thread Thread
 
yobretyo profile image
Bret

If you search for Xcode Swift:, a example is:

Struct FeatureCard: View{
var Landmark.FearureImage

then there’s other code like

.resizable
.overlay

is Java like that?

Again, I don’t want to learn swift and be limited to Apple

Thread Thread
 
jamesroyston profile image
James • Edited

Those look like either methods on the object or some naming convention specific to Swift. I have no idea if Java is exactly like that, no. But I know that Java (and lots of other languages) uses dot notation to access methods on objects, like in your example.

Again, may I ask why this specific language feature is important or concerning for you?

In all honesty, it’s a very small detail that shouldn’t have much weight in your decision to learn something. I’m not sure I can help you much further than the advice I’ve already given, unfortunately.

Just pick something and stick with it long enough to be able to build stuff without needing to always follow a tutorial (reading examples and asking questions in google is fine and normal). Good luck!

Thread Thread
 
yobretyo profile image
Bret

Thank you! I’ve watched swift videos and it seemed like allot of object making and then directing what you want to do with it. That’s what i like (as far as I’ve seen) with swift. I’ve watched some samples of Java, and it seems to be like that, but more of the info that you don’t “see”, then there’s Kolin, that looks like that as well.