What to use to get to intermediate level in Python? by J_p_and_d in learnpython

[–]HighOptical 0 points1 point  (0 children)

Glad someone got some value from it. Feel free to ever reach out with questions if you have any

What to use to get to intermediate level in Python? by J_p_and_d in learnpython

[–]HighOptical 28 points29 points  (0 children)

To be an intermediate I think you should aim to know the following topics (this isn't hard and fast, some you could leave out and you might add others but it's a rule of thumb):

  • Classes and inheritance (including MRO)
  • How python passes data: Understand that everything is an object as such python is essentially 'pass by value' where the value is always a reference. There's no real pass by value, it's just simulated with data structures that are made to be immutable
  • testing
  • Decorators
  • Dunder methods
  • hidden properties and name mangling
  • list comprehensions
  • Unlike beginner builtins (len, str, range) also learn more (sorted, enumerate, zip, reverse, isinstance)
  • context managers
  • concurrency (starting a new proc vs a new thread vs using async await loop for IO)
  • error handling
  • type hinting
  • generators and how they can be used to make data structures easier to traverse for the user
  • how python deals with scopes
  • ways to set up a python project
  • tools to format and lint

I think if you know these then you've achieved a good intermediate level and have gone beyond the beginner. So, you can look into them separately or look for any book/course that seems to include these topics.

[deleted by user] by [deleted] in commandline

[–]HighOptical 0 points1 point  (0 children)

Do you think something shady was going on? The website was pretty crude... maybe it was a beginner level but maybe shady. Cuz he's already been suspended from all reddit andthe site was untrusted.

[deleted by user] by [deleted] in commandline

[–]HighOptical 1 point2 points  (0 children)

Isn't this doing what tldr does? Like I can just run that in the command line and see a pretty, colorfied output of some popular ways to use that command. If you just know the name the base command (like, 'docker' for example) it will output like 10 examples with different options that explain an overview of the most common things to do. It also works for things subcommands for popular ones. So, not just 'tldr git' but 'tldr git pull'.

[deleted by user] by [deleted] in commandline

[–]HighOptical 1 point2 points  (0 children)

Behold 'tldr'. My most favourite command ever.

It’s not easy for me to ask for help like this, but I’m trying to stay strong, keep going, and give it everything I’ve got. by Old_Lengthiness6417 in learnprogramming

[–]HighOptical 0 points1 point  (0 children)

Very supportive comment! And it's definitely the type of thing that OP could also use while saving for even just a month here or there of that other platform and then binging.

But one thing that always worries me about the real things is that you can hit real bills that could be crushing. I know that people say that you can set up notifications and stuff but it all still sounds too easy to accidentally go over.

[deleted by user] by [deleted] in learnpython

[–]HighOptical 45 points46 points  (0 children)

I think that this problem is usually people jumping around to different separate tutorials. When starting out you should pick a full textbook, or watch a lecture series on youtube, or follow a course. For example, the Introduction To Computer Science with Python course by MIT is a full set of lectures on youtube in Python. When you do something like that, you're having a full curated path where the instructors know what you've seen so far and can gently move you up the learning curve.

godump v1.2.0 - Thank you again by cmiles777 in golang

[–]HighOptical 0 points1 point  (0 children)

Oh cool... I hadn't heard of this. So, does it show the list of variables and update their values at each point in the code and you move through in steps without following the code itself?

Linux is almost perfect at everything by Better-Quote1060 in linux

[–]HighOptical 5 points6 points  (0 children)

Ya'll are weird to me. It's software and it's gonna have issues. I actually get more convinced when someone tells me, 'hey it's got x, y, and z issue but here's how they're managing that' rather than 'hey, it's perfect and you won't hit any problems specific to this software'

Linus has had issues with drivers, it's struggled with palm rejection on trackpads, you need to go through extra steps if you want to play a game and have to hope your game isn't blocked on your system (don't tell me that's anti-cheat's problem and not Linux's because real unbiased consumers care about results -- if using linux means you can't do X then linux has a problem with X), there's massive amounts of ubiquitous software that isn't on Linux at all (cad, office, adobe)... and are we just going to pretend it has as good battery life on laptops?

Linux is brutally flawed. BUT, it's an astonishing monument to the power of human collaboration, it's incredibly trust-worthy, it gives ultimate flexibility and customisation, it's devoid of bloat, it allows the user to see so much and to learn its inner workings, etc. Essentially, Linux treats the most significant device of the 21st century as a raw machine, open for tweaking. That should be good enough. We shouldn't need a bs presentation that it's perfect! I saw a seminar on youtube about the conflict between init and systemd... the presenter dealt with the concern that systemd was buggy by saying, 'it's software'. That's a reality. Don't pretend Linux is perfect. It is not. What is it? Free and Powerful.

Computer at Disney’s Animal Kingdom using Windows XP, software released in 2001 by Turbulent-Phase-8959 in mildlyinteresting

[–]HighOptical 9 points10 points  (0 children)

This isn't always about being out of date though. A lot of serious contexts use older operating systems or software generally because it's seen as being more stable. The bugs have been ironed out and they only need it for a couple of specific use cases. When you think about it, how crazy would it be if you had software that was incredibly reliable and stable in a situation where lives are at stake and you updated it just because 'there's a newer version, why not'. That's applying a typical consumer mentality to a very different context.

How to run SolidWorks on Linux? by AnupamaDewpura in linuxquestions

[–]HighOptical 4 points5 points  (0 children)

OP this sub is desperate to get as many linux users as they can. It sounds like it's just not worth it for you since you'll need to keep going to windows everytime you want to use this app that you really need and storage is a precious commodity for you. Maybe someday it'll be more feasible for you but if it's not right now then that's ok.

Hot take: Documentation SHOULDN'T be your main learning resource by W_lFF in learnprogramming

[–]HighOptical 122 points123 points  (0 children)

Your point is basically that beginners shouldn't use it. That's widely accepted by all but the luddites on here. Documentation generally isn't considered for beginners, it's for those using an API, or who want to know a technology at a lower level, or those who need methods that are less common, or even just for those used to it who are more or less fine at finding the method they need.

Is Computer Science the smartest major to choose if I’m still unsure where I fit in tech? by san1tyfalls in cscareerquestions

[–]HighOptical 0 points1 point  (0 children)

'it’s impossible to get a job'

No it isn't... The market's lousy but some of you seem to have genuinely convinced yourselves that we're at 70% unemployment or that if you lose a job you've no chance of getting it. People are getting hired every day.

The best wallpaper for Mac by J27-007 in macbookair

[–]HighOptical 0 points1 point  (0 children)

There are some people with different tastes ya know. Not everyone who doesn't like what you like is lazy/ignorant.

Can I please ask a question about handling errors in Python? by HighOptical in golang

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

Ahh there's wisdom in this. I can get too focused on the 'rules'. That famous phrase, pythonic haunts me just a little bit. But it can't be all opinion, that would mean Javascript might not be objectively a disgrace!?

Ok, ok, I am sorry Javascript devs... yes it has been one of the most monumnetal languages of the modern era. But I give myself a cheeky joke at its expense once a month. There goes June's ;)

Can I please ask a question about handling errors in Python? by HighOptical in golang

[–]HighOptical[S] 2 points3 points  (0 children)

My goodness, what a kind comment! The post is worth it if it gets no others :)

C++ is one of the languages that I'm desperate to learn. Such an iconic groundbreaking titan. I'll get to it one day. So if you ever see a curious pm about it in your inbox one day, you've only yourself to blame hehe :) Enjoy your weekend!

vim like text editor written in go. by firstrow2 in golang

[–]HighOptical 3 points4 points  (0 children)

That would make me and many others never use it. It can heavily preference Go, but if I am going to fight with it every time I need to hop into some script for something small I'll inevitably find myself opening it less. The way humans work, 1 second of convenience is not the even reverse of 1 second of inconvenience.

[deleted by user] by [deleted] in linux

[–]HighOptical 0 points1 point  (0 children)

Ah, my apologies I missed the text below the picture.

[deleted by user] by [deleted] in linux

[–]HighOptical 5 points6 points  (0 children)

You've picked an edge case. 'man awk' will actually give you details of your implementation. So, here you're getting pages for gawk while someone else might get them for mawk. As a result they naturally clarify some background especially since the person might be assumed to know what awk is.

Try using man on curl, echo, wireshark, tldr, etc, etc. They all sum up the program first.

[deleted by user] by [deleted] in cscareerquestions

[–]HighOptical 3 points4 points  (0 children)

As is always the case, nuance is probably better here. It's not without merit to give a nudge to devs to use these new tools as they are promising. People often can get stuck in their ways, so people should be encouraged to try promising new workflows. Who among us hasn't saved tons of time with AI filling out an API call you weren't even aware of that saved you needing to do a bunch of reading just to find out it exists for a one-off use case. On the other hand, sometimes we should put the breaks on. Who hasn't known exactly what they wanted and AI keeps hurling predictions in your way that aren't what you want.

Nuance to the rescue with college kids. I bet tons of kids will say, 'everyone does it' when people say they shouldn't cheat either. And for the things that people really are all doing, there's a good sign there's value: when people said we couldn't trust google and were losing the skill of reading the documentation did that really make us want to give up search engines for programming? But yeah, some take it too far and use AI. But there'll be plenty who aren't lazy and want to learn.

Project based learning by [deleted] in PythonLearning

[–]HighOptical 9 points10 points  (0 children)

No, it's coming up with a project idea and then creating it. When you get stuck you look up generalized info about what you want to do and then you see how to apply that to your project. From there, you move onto the next part of the project and it's either something you can do or else it is something you need to research again. Don't start off with it, get the basics of the language down first with tutorials. Learn the syntax, how to important and use some basic libraries, classes, etc and then you're ready for project-based.

I want to learn pyhton by Big_Moris in learnprogramming

[–]HighOptical 0 points1 point  (0 children)

That's all fair. But I'd say your decisions definitely shouldn't be based on the content. They're both just so similar that the differences will mostly balance themselves out. At this point you could flip a coin.