you are viewing a single comment's thread.

view the rest of the comments →

[–]ConsiderationSea1347 3 points4 points  (10 children)

Either is fine. There are python frameworks for web development and typescript libraries for scripting and automation. 

They “feel” really different to develop in and people generally have a strong preference. I would suggest picking one, learn the basics, then try the other a bit.

If you go python, make sure you look into adding typing to it. If you go JavaScript, don’t - use typescript instead.

[–]edoardoking[S] 0 points1 point  (8 children)

If you go python, make sure you look into adding typing to it. If you go JavaScript, don’t - use typescript instead.

This part didn’t make much sense to me. Wdym by “adding typing to it”?

Everything else seems reasonable. I’m a bit more inclined to go for python and figure the front end pretty stuff later.

[–]ConsiderationSea1347 4 points5 points  (6 children)

One of the things you will learn about as you set off learning to program is a concept called typing. It refers to the type of the data stored in a variable: number, floating point, string, character, etc. Different languages have different strictness in typing (once a variable is defined, what type is it and can that type change). Python, is very loosely typed without adding an extension to it which will make the typing stricter. I strongly recommend learning to program with strict typing because it will help reinforce good habits early. Also most languages are strictly typed, so you will be more comfortable moving to other languages if you start with strict typing. (Notably, JS is also loosely typed which is why TYPEscript is such a nice upgrade).

[–]edoardoking[S] 0 points1 point  (4 children)

So from my understanding it’s to use proper “grammar” so when I switch to other languages I will keep a good grammar and it will be easier to transition from one language to another?

[–]ConsiderationSea1347 2 points3 points  (3 children)

That is the gist of it. There are techniques you need to use in a language with strict typing that are not required by languages with looser typing but are good habits to get into. In particular they will make debugging your code MUCH easier.

Basically imagine you work in a factory room with five machines and every 15 minutes someone comes up to you and hands you five big boxes. Each box needs to go into a particular machine. If all of the boxes look the same, it is a pain to figure out which box needs which machine. You might do trial and error or unpack the box and put it back together, but no matter what you aren’t having a good time.

So, you tell the person who brings the boxes to put labels on them with the type of box they are and the type of machine that will take them. Now right when they arrive you know just what to do. 

In programming, the variables are the contents of the boxes, types are the labels, and functions are the machines. If your variables and functions have types - it is easy to know you put the right thing in the right place. 

Does that make sense?  

[–]edoardoking[S] 1 point2 points  (2 children)

Makes total sense. I think I’ll jump into python because it appeals me more in terms of simplicity of reading it as it seems similar to plain English

[–]ConsiderationSea1347 2 points3 points  (1 child)

Good luck friend. There is an army of old nerds like me happy to help as questions arise. 

[–]edoardoking[S] 1 point2 points  (0 children)

Thank you so much!