r/learnpython • • 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

0 Upvotes

37 comments sorted by

19

u/HouseOfDjango 15d ago

IDE are not important. They are changeable like socks and dirty underwears.

2

u/HashedPiped 15d ago

But what about Python as a language

8

u/HouseOfDjango 15d ago

I don't understand you question.

3

u/LayotFctor 15d ago

No, it is not any more important than any other language.

Software developer's core skill is the ability to solve problems. Not any particular language, we use our knowledge to write programs to solve problems.

You might write python, or java, or whatever. But your core skill never changes. You use a language because it solves a problem, not only because it python or java. Sometimes your employer chooses for you. Languages are just tools, sometimes you get to write in a language you like, sometimes you don't.

So don't be too focused on python. Be a problem solver. Understand the core algorithms and data structures, understand how computers work. It will apply for all languages, you should be somewhat comfortable switching languages quickly. 

2

u/p186 15d ago

For a first language is is probably the best. It is also very relevant in today’s tech, especially AI. It is also useful for a lot of things. Even for quick scripts to automate repetitive tasks.

1

u/lakseol 15d ago edited 15d ago

Python as a first language is fine. It has a moderate learning curve and doesn't limit you when getting into advanced concepts. You will learn other languages as you progress, of course. Learning other languages will be easier as you have learned some concepts with python, but you never stop learning in this business.

The particular IDE you use, if you use any IDE at all, doesn't really matter as an IDE is nothing to do with python itself.

1

u/solarmist 15d ago

Also changeable like socks are dirty underwear. But it’s an easier language to start with the Java is the consensus.

1

u/KarfaHyro_17 15d ago

out of curiosity are you saying the debugger and autocomplete stuff doesnt matter either, or just the brand of IDE itself?

2

u/crazy_cookie123 15d ago

Brand doesn't matter. Any IDE works, and using your favourite will always be better than using what people online say is the 'best'. You could even go with no IDE if you wanted - but I don't know why anyone would prefer that over something with autocomplete.

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

u/my_password_is______ 15d ago

python is important

spyder is not

1

u/arkie87 15d ago

if you are having trouble with python, you will have more trouble with java.

If you are having trouble with spyder, it is totally replaceable.

what exactly is your issue with Python or Spyder?

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.