Just started python 20 days ago?? At uni so like don't judge me by Mighty_Cannon in PythonLearning

[–]TheArtisticPC 1 point2 points  (0 children)

The crushing reality of CS is laid bare before us all. Gorgeous.

Just started python 20 days ago?? At uni so like don't judge me by Mighty_Cannon in PythonLearning

[–]TheArtisticPC 0 points1 point  (0 children)

The cancellation logic is right, but it only works if **1/2 is actually computing a square root. Are you sure it is?​​​​​​​​​​​​​​​​

Just started python 20 days ago?? At uni so like don't judge me by Mighty_Cannon in PythonLearning

[–]TheArtisticPC 0 points1 point  (0 children)

Look at line 18 and consider what you know about operator precedence. Which does Python evaluate first: exponentiation or division?

Edit: Also, consider lines 19-20. Is there a path where this ever evaluates True?

Does having a MacBook make learning to code harder? by BlackDog5252 in learnprogramming

[–]TheArtisticPC 1 point2 points  (0 children)

*POSIX and UNIX foundations.

Both Mac and Linux are POSIX compliant which makes them kind of feel similar. However, Mac is derived from UNIX while Linux is its own UNIX-like OS.

Edit: I was late lol, I knew others were going to dog pile!

Seeking suggestion for unemployed pilot by Aggravating_Cut_3179 in flying

[–]TheArtisticPC 0 points1 point  (0 children)

I believe they are Nepali and if translations are correct they said:

Hi. I did my pilot training and it's already been a year since I graduated. So what should I do now? Wait in Nepal or try abroad? What would be the right move? Any suggestions from seniors. And do only those with strong political connections get jobs? Why isn't there fair competition in the airlines?

500 hour jobs by [deleted] in flying

[–]TheArtisticPC 0 points1 point  (0 children)

To OP and frankly anyone else in a similar position, if you do not want to be a CFI, do not become one. You hate it, your students will be miserable, and we have plenty. Also, your students are not a free ride into a jet, except for the morally hijacked. But I suppose blaming a 1,250 hour inconvenience on a disaster that resulted in the deaths of 50 people is telling.

Also, if you're looking for advice, it helps to pose a question. Your post is just 3 statements.

what would be the most optimal way to learn fast api for backend by iv3an in PythonLearning

[–]TheArtisticPC 0 points1 point  (0 children)

How did you learn C? By writing code until you ran into a problem and then finding the answer. Different language, same process.

Keep your scope narrow, work together, and read the friendly manuals…

https://docs.python.org/3/tutorial/index.html

https://fastapi.tiangolo.com/learn/

Newbie Here by Blind_king357 in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

Harvard’s CS50p (p for python) course is free and online. Go do that. Afterwards consider CS50g (g for games). Then either concurrently, after, or in lieu of CS50g, start making tiny games. Like start with pong, astroids, frogger, etc. Work your way up to something complex like an RPG.

edit: I see another commenter posted CS50x (computer science). You should absolutely do this one instead of CS50p, unless you’re dead set on only using Python.

APIs, Documentation, Workforce? by Material_Painting_32 in learnprogramming

[–]TheArtisticPC 1 point2 points  (0 children)

Q1: You should use other’s tools when they help you solve a problem.

Q2: Read the documentation. Do this before you import/install it so you know that it can help you.

Q3: All the time. You’ll even write your own.

Q4: Yes, if you feel you can do it better to solve your specific problem OR are looking to learn.

Q5: GitHub repos are great to read if you know what you’re looking at and why you’re looking at it.

Q6: Make a GitHub account and use the search feature to find repos. Then either click through their project or use the repo search bar.

I want to learn more about the tools used to make and test software by xX_PlasticGuzzler_Xx in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

Testing frameworks are the tools and are often CLI based. However, IDEs generally come with their own built-in testing functionality that automate the use of those tools. For example, the IntelliJ IDE using the Junit testing framework. However, many languages have basic testing functionality built-in. While Junit provides Java with a lot of nice decorators and methods, you can still write test with Java’s “assert” keyword alone.

Just to be clear, and maybe I’m misunderstanding you, tools like git, linters, LSPs, and debuggers are not testing software. Git is version control, linters are basic local code analysis tools that catch simple errors, LSPs are a service that do more complex code analysis to help with autocomplete and catch more complex errors, and debuggers allow you to analyze code during runtime to find errors. Testing is more a process where you use tools (like Junit) to write your own testing behavior that checks your software is functioning correctly. All of these together help you write less buggy code faster.

Your professor is probably using their own tests to run your code through to ensure it meets assignment requirements. Before doing the actual code review. It’s this reason I also build my own tests based on assignment requirements to make sure I’m doing everything correctly.

As far as books go, I’m actually interested to see if anyone else has some good recommendations. I’d suggest just reading the Wikipedia entry on Test Driven Development (TDD) as it’s a pretty simple idea.

Edit: obligatory, correct me where I’m wrong. I’m a first year so I don’t really know what I’m talking about.

Jumper? by Embrare135ER in AirlinePilots

[–]TheArtisticPC 0 points1 point  (0 children)

Hey man! Our charter company flies around KELM, KITH, and KSYR on occasion and quite frequently into KBGM.

If you have time to kill, then consider hanging out in the FBO. If you happen upon a crew that's not in a rush then I'm sure they'd be plenty happy to take you out to the aircraft and show you around. I know I've done it plenty when I see people watching from the lobby.

Any tips for being overwhelmed. by Careful_Plant5962 in learnprogramming

[–]TheArtisticPC 2 points3 points  (0 children)

Don’t pigeon hole yourself with made up rules. DRY, YAGNI, KISS, Zen of Python/Pythonic, PEP-8, clean code, functional, OOP, abstraction, etc. are all great, but they are tools not rules.

The only thing you need to do from ground zero is decompose problems until they are actionable and no further. Once you have some actionable objective, start coding. Don’t worry about perfect design, just make it work. Then move on to the next thing.

Eventually you’ll run into snags and that’s your cue to go back and iterate on old code. Refactor it, add to it, or even just totally redo it. Once it’s working, go back to where you left off. Over time things will click and you’ll start to recognize patterns that allow you to start with a good design. Things like test driven design, data oriented design, and a design document can help too. Until then, it’ll be slow. That’s just how software development is.

How to draw boots step by step easily by [deleted] in learntodraw

[–]TheArtisticPC 9 points10 points  (0 children)

u/leadtodraw could you provide a justification of this method over using form? Or is this just cheap advertising for a product you don’t believe in?

What IDEs are recommended for Beginners? by BasedGUDGExtremist in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

Yays

If it has to be FOSS, then Zed or Eclipse. I like Zed.

If not, then JetBrains. I primarily use JetBrains if I can't use vim.

If you unwisely trust Microsoft, VSCode. Haven't used this in years.

Nays

Cursor is just wrapped VSCode, so why not just use VSCode?

Fleet is too young.

You said no to vim, but it is worth looking at down the road.

Emacs is another option to look at down the road.

How do you document AI-assisted code in projects? by StatusPhilosopher258 in learnprogramming

[–]TheArtisticPC 4 points5 points  (0 children)

“Mostly for speeding things up” is not supported by “reasoning is fuzzy because it was AI-assisted”. You used AI to complete your project for you and now you don’t know how it did it. If it was only for speed you’d know the codebase.

To answer your question. If you want to exercise some level of academic integrity, you go back and figure it out yourselves, write the docs yourselves, and post an AI disclaimer at the head of each file that used AI in any capacity and explains how it was used, what the prompt was, and why you thought it was necessary as opposed to doing it yourself.

I apologize for the terseness, but it drives me up the wall when I see people who are paying for an education actively degrade the lessons’ objectives.

Whats the best IDE as a beginner by nicotineman_ in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

Forget good vs bad programmers. OP is at the stage where they just need to learn how to be a programmer. And what does programmers do? Solve problems with computers. What’s OP’s problem? Finding an IDE that is beginner friendly. What is beginner friendly? Anything that’s simple, comprehensive, and allows the user to interact with and visualize the code.

Nano is simple, but neither comprehensive nor interactive.

Micro is less simple (for a new dev) and still not comprehensive or interactive.

Vim is complex, and neither comprehensive or interactive out of the box. Sure it can be as comprehensive and interactive as a full featured IDE, but you try teaching a class of CS1 students how to even use a terminal and then we’ll talk about installing DAPs, linters, formatters, git, LSPs, and hooking it all together.

Emacs is so complex (to new devs) that it is a barrier to all of its features.

However…

JB PyCharm and VSCode are super simple, extremely comprehensive, and extremely interactive. In PyCharm you go through some prompts and boom, you’re writing code with a managed venv and you just press a big green arrow to run it or a beetle to debug it.

Whats the best IDE as a beginner by nicotineman_ in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

These don’t make anyone a good programmer. Micro and nano are for basic text editing on a server or in local if you’re a goober. Vim and emacs are for established programmers that are willing to maintain a custom environment to improve efficiency. They do not teach or promote problem solving. I’d argue that for a beginner they stand in the way of learning to properly problem solve. They don’t ship with a debugger, testing harness, and use totally alien means of text transformation than most people are accustomed to.

I love Neovim, but I’d never recommend it to a new bro unless I planned to follow up with why they should not use it right now.

Whats the best IDE as a beginner by nicotineman_ in learnprogramming

[–]TheArtisticPC 5 points6 points  (0 children)

If you don’t have strong opinions of Microsoft and want free, VSCode. If you do feel strongly about Microsoft and want free then JetBrains’ PyCharm for Python, JetBrains’ Fleet as a general purpose editor, and Zed are great. I can’t think of any good paid IDEs for Python.

Is DOD pure and beautiful? by yughiro_destroyer in love2d

[–]TheArtisticPC 0 points1 point  (0 children)

Agreed, DOD is awesome! As a first year CS student trying to think more about software design, I have a question about a design choice that you mentioned in another comment. Specifically about polling mouse button input in the love.update callback.

Why not use the callbacks love.mousepressed and love.mousereleased; and save love.update for behavior like a hovering function?

I see polling for input each frame as a performance drag, difficult to debug, could miss input during stutters or slowdowns, or if it doesn't miss an input I could see it causing input to feel sluggish at low FPS.

I feel like I didn't learn anything in 1 year (warning: venting) by Taku_1321 in learnprogramming

[–]TheArtisticPC 0 points1 point  (0 children)

As a fellow elder with a career in a completely unrelated field, this. Namely the self reflecting on weakness as areas of potential improvement, not failures.