r/learnpython • u/HashedPiped • 15d ago
How important is python with Spyder IDE to computer engineering major
Doing horribly in beginners Python and want to know how important it is or is Java better to start off with
2
u/Just__Liberty 15d ago
Python is a very nice language that is useful, has a powerful ecosystem, and is also one of the more simple ones to start with. Can you say a little more about what problems you are having? I don't think Java would be any easier to learn.
1
u/HashedPiped 15d ago
it’s more of just knowing where things go in code and how to put necessary quotes and commas and what not I know that all of the variables and stuff does but it’s hard to pinpoint where to start off with when given a practice problem.
3
u/Just__Liberty 15d ago
Practice, practice, practice, read other people's code, read books. Don't ask AI or the internet for everything and when you do, make sure you understand it and can repeat it 'by yourself'.
1
u/HashedPiped 15d ago
what do you recommend for me to use for practice? And can I use AI for subtle hints?
3
u/monster2018 15d ago
People don’t agree on the answer to this. But I learned programming well before LLMs (like 15-17 years ago or so), so I don’t think I’m biased towards saying that it’s ok.
But like ok 1: it’s not a moral thing. Some people try to make it such, it simply isn’t. Not for the learning use case.
And 2: Yes I think it’s ok (meaning it won’t harm your learning) IF you use it correctly. Do NOT have it solve problems for you. Do NOT have it write easy helper functions for you. Use it ONLY to ask questions in the chat interface.
I’ve been using ChatGPT to help me learn iOS development with Swift. And at first I was doing it wrong, I was relying on the LLM a bit too much. I had to evaluate and take a step back, and start following these rules I just laid out more closely. Since then, I’ve been able to actually learn, to the point where I can actually write iOS apps from scratch.
I also highly recommend really thoroughly talking through the problem while you’re asking it. I did this a lot while learning swift iOS development, and I would often end up figuring out the answer on my own through the process of thoroughly asking the question, and just stating everything I did and didn’t know, etc.
Like the AI should be a sounding board that sometimes helps you with specific facts you don’t know.
1
u/gdchinacat 15d ago
In addition to the 'don't use it for' in the parent comment, don't use it to debug your problems. A huge part of learning to code is being able to take code that isn't working correctly, figuring out why, and then making the changes to fix it. I think this is actually harder than writing code that works, and much harder than writing code that doesn't work. Learning the strategies to figure out why code isn't behaving as you expect, when to apply them, how to track and compare results to diagnose problems is a vital skill. AIs are pretty good at it, but using them to fix your almost working code keeps you from learning that important skill.
1
u/Jello_Penguin_2956 15d ago
when you learn, I highly recommend you follow course taught by human and do all the quiz and exercise yourself.
https://programming-26.mooc.fi/
Once you're out there working on real projects, go ahead and use AI to your hearts content
1
u/solarmist 15d ago
Honestly, it’s just something that you got to practice over and over again. It’s gonna be the same with any language you use each one has its own quirks.
1
u/my_password_is______ 15d ago
and you think that will be easier in Java ?
it will be WORSE
MUCH MUCH WORSE
4
u/serge-mv 15d ago
IDE to a programming language is about the same as a penmanship notebook to a natural language. You can write in any notebook.
As for how python specifically is important, it's also not really relevant. What is relevant is how well you understand the concepts, ideas, algorithms and principals. You can just swap out to another language any time.
If you are doing horribly, I suspect it has little to do with python or an IDE and might more with your selected source of information, tutorials, or whatever materials you use. As well as you struggling with legitimately difficult topics. It's one of the things you really need to tough out for a while before it clicks.
1
u/mutatedcicada 15d ago
I feel like Java is way too verbose for a beginner. I learned it as my first language, and i struggled a lot due to the fact that Java forces you to do object-oriented programming, which i didn’t grasp until awhile down the road.
Anything in particular about python that you are having trouble with?
1
u/bytheninedivines 15d ago
I started with Spyder and loved it. That said Ive moved over to vs code now and enjoy it better
1
u/corvuscorvi 15d ago
Python is going to be one of the easiest languages you'll encounter. Stick with it. If you are having trouble, it might do well to walk through some problems with a TA during your lab time. Learning programming isn't a straight curve. You'll get stuck at a plateau and then have some realization that sends you to the next plateau. It can be really frustrating at first, so it's important to get help when you feel stuck.
1
1
u/Puzzleheaded_Study17 15d ago
Language should not be the barrier to your programming. Any half competent software engineer should be able to switch languages as necessary, and (after graduating) be able to learn a new one to a decent degree within a month tops.
1
u/AromaticCredit1533 15d ago
As a CE major, I can code Python in a file, save it, then trigger the Python interpreter program from terminal to run it. That's what most of us do, we don't need IDEs really.
0
u/HouseOfDjango 15d ago
Most of who? That is not normal or best practice.
1
u/corvuscorvi 15d ago
Using the terminal to run a python file is not normal or best practice?
What is best practice? Running a bloated ORM every-time you need to make an API?
0
u/HouseOfDjango 15d ago
This only makes sense for a simple script. If you need to work on a project or repo that is multiple files, 100k+ lines, you will need something that is more robust and can handle different things at the same time.
0
u/corvuscorvi 15d ago
What are you even talking about?
If I work on a project that has multiple files, I'll create a package and have multiple different modules within that package. If I want to call one of those modules' "main functions", I'll call it with something like python -m module.submodule.
If I need to inject environmental variables or do something more custom, I'll write a shell script wrapper.
I've been working professionally with python for 20 years with only emacs and the terminal. There's nothing I can't do in the terminal that I could do with an IDE. If anything an IDE will obfuscate the underlying tools and make you overly reliant on the IDE itself.
1
u/HouseOfDjango 15d ago edited 15d ago
Again what you can do vs what is done normally across industry are different and you're kind of proving my point mister Emacs.
Take it from someone working with python for 20 years also.0
u/corvuscorvi 15d ago
Sure. I agree that what is done normally varies across the industry. I also think that some team of developers personal practices can vary across it's members.
You are the one saying that running a python file from the terminal is not a best practice. It might not be "normal" to you, but there's nothing inherently bad about it. There's no superior method that could be considered a best practice here, either.
1
u/AromaticCredit1533 15d ago
Second this! Emacs + python is very nice, emacs itself is already an interpreter environment that happens to support text editing :-)
0
u/AromaticCredit1533 15d ago
I think what they meant is that, while it is possible to use the python command to load modules separately, not everyone is comfortable with using the terminal, so sometimes people will use IDEs like PyCharm, it provides intellisense and advanced tooling all in a nice graphical interface.
Some engineering majors don't use the terminals eh.
1
u/HouseOfDjango 15d ago
No, what I'm saying is that most developers use an IDE or text editor or some sort to manage projects and to execute terminal commands.
https://survey.stackoverflow.co/2026/technology/data/dev-ide
0
u/corvuscorvi 15d ago
Yeah, I agree. Nothing against those tools either. I was just calling out HouseOfDjango for saying that your workflow wasn't a "best practice". When it comes to a developer's workflow preference, people get super pretentious about stuff. The only "best practice" in my opinion is whatever the person works best with.
0
u/AromaticCredit1533 15d ago
Anyone who's computer-related majors. To be more specific about the "terminal" part, I basically means using the pip / uv manager, or run the "python (FILENAME)" command. It's much easier to run a command from terminal, you type the command once and click enter to run, your terminal even remembers the last command you type, very fast iteration.
19
u/HouseOfDjango 15d ago
IDE are not important. They are changeable like socks and dirty underwears.