• 0 Posts
  • 13 Comments
Joined 1 year ago
cake
Cake day: June 3rd, 2023

help-circle










  • The language itself is very easy to get started with (like Typescript) and it’s widely supported, but the developer experience of writing Python is hands down terrible. I thought that it was a good idea to recommend languages that take you by your hand when you get your toes wet for the first time and Python does not do that at all. For example, since it’s interpreted without any meaningful upfront processing, any kind of error in your code will only reveal itself when the interpreter actually tries to execute the portion in question. This can become annoying very quickly, especially if you’re learning by doing / through trial and error.

    In my opinion Python is an incredibly potent tool for seasoned developers, but despite its easy syntax and forgiving semantics I don’t think it is a good idea for beginners to use it for anything beyond a basic “hello world” application.


  • It enables incoming connections for devices in a NAT (i.e. for devices that all share the same IP address like in a VPN for example). Say your iPhone and your Laptop are both using your local wifi, then they both share the same public IP of your router. If I try to reach your laptop specifically, I have no way of telling your router to send my request to your laptop instead of your iPhone or the router itself. You can now tell your router to forward port 80 for example to your laptop specifically, so if I send a request to your public IP address on port 80, the router knows to forward it to your laptop.

    Without port forwarding, only your PC can open connections to servers and only then can servers send data back to your PC (because the router keeps track of open connections and “temporarily” forwards the port of your open connection to you).

    If you wish to run a website for example, you need to have ports forwarded. And torrenting works a lot better with it as well because people can contact you to send you the data you’re looking for. Otherwise you’d have to ask everybody by yourself, so to speak. And it’s more effective to “leave a note” for others to find and then contact you based on, because some of the peers might not want to be contacted or don’t have forwarded ports themselves.

    Getting a bit more technical, “ports” are a transport layer (layer 4) concept. Other protocols may use different addressing schemes on top of the IP addresses, but most common ones like TCP and UDP for example use ports.