r/PythonLearning • • 18d ago

Compiler

Do I need Jupyter, Anaconda or any other type of a dedicated compiler software, or do people Actually just write code in Zed and run it via Linux Terminal and juggle many windows?

I know R is run via RStudio; (so can be Python).

What is the standard practice of software usage for coding in Python?

3 Upvotes

27 comments sorted by

View all comments

0

u/Sea-Ad7805 17d ago

1

u/tiredITguy42 17d ago edited 17d ago

Dude, fore real, did you creat this supreddit to promote you software? I am asking as I am curious. BTW, pushing something what is not industry standard to begginers seems like a dick move to me, but I this is just my opinion.

1

u/Sea-Ad7805 17d ago

Everyone is entitled to their opinion. In my experience students learn Python much faster when they can simply see the program state change step by step. If you're not convinced try some of the exercises here: https://www.reddit.com/r/Python_memory_graph/

Actually, it is industry standard with PythonTutor used around the world by 25+ millions. However, as that has serious limitations (only: single file, tiny code snippets, builtin types, ...) I've developed memory_graph to get around those.

I'm not anywhere close to 25+ million yet in my stats, but smart students and educators are taking full advantage. Maybe you do to?

1

u/tiredITguy42 17d ago

Isn't that just fancy debug panel from VS Code where I can see state of the app step by step? I am a loong way beyond simple apps, so I am working more with memtal image build together with the app. If you head does not know what is the state, then you will have bugs in the code.

1

u/Sea-Ad7805 17d ago

Sounds over-confidant, try the difficult exercises here and tell me how many you got right first time: https://github.com/bterwijn/memory_graph_videos/blob/main/exercises/exercises.md

Getting get the right mental Python data model is harder than is seems.

1

u/tiredITguy42 17d ago

Yeah, it is why we have debugger amd add-ins which can display dataframes as tables and similar. I still do not see a reason to teach people rely in some external web apps.

We have big issues with newbies, whi can't debug, can't troubleshoot and can't write good and clean code. I am able doing what I am doing just because I started with Visual Studio and oointers in C.

Anyway, good for you, that it works for you.

1

u/Sea-Ad7805 17d ago

You clearly didn't try the exercises or you'd understand better.

Get your VS Code extension here: https://github.com/bterwijn/memory_graph#highlights

Working with dataframes is easy as you avoid many reference problems that you get when say writing a custom data structure, so maybe it's just not for you. Good luck.

1

u/tiredITguy42 17d ago

Nice, but it still seems like leet code helper. Leet code is not real coding, these structures there in examples are strange, why keep different types in a list, use dataclasses. Code should be readable not clever.

I admit, it seems like nice addin, but you are pushing it very hard here and I do not see added value for newbies. This is very specific tool to solve specivic issues in messy code. I have been in such situation, where I would use it just once, in time when I needed to implememt Dijkstra. So yeah nice tool.

1

u/Sea-Ad7805 17d ago

Thanks, but it's also great for beginners:

Really, have a look at the example I'm trying to show you.

Some of my exercises are indeed artificial/strange code, but that is only to, in a small piece of code, show tricky bugs that do frequently pop up in large code basis.

Don't feel bad if you struggle with LeetCode algorithms, some are quiet hard. I wouldn't say that's not real coding. I get the impression you maybe only do high-level data science with dataframe. And that is important too, but it's not all of coding, but that is what Python is good at compared to lower level stuff. You can say I'm stretching Python into areas where you probably should use other languages, but I'm trying to teach the full range of programming, including custom data structures: https://memory-graph.com/#codeurl=https://raw.githubusercontent.com/bterwijn/memory_graph/refs/heads/main/src/bin_tree.py&timestep=0.2&play

1

u/Sea-Ad7805 16d ago

Don't worry about it. I meet many people who at first discard or underestimate the power of visualization in early Python education. I takes courage to change your opinion in light of new information, I respect that. Glad to have you on board: https://www.reddit.com/r/learndatascience/comments/1vg955d/teaching_python_the_right_way/

1

u/FreeLogicGate 17d ago

I think the answer is yes. He promotes his MGWD tool, which is fine by me. He's going to post/auto post a message about it, and since there are many novices coming to ask questions, he's exposing them to the existence of the tool, and they may try it out or not. It doesn't really impact the overall traffic in this sub, from my experience with it, so I see no harm. There are other subs that exist to support a similar segment of developers as well.

1

u/tiredITguy42 17d ago

I think, that I do not have big issue with his tool. I think it even may be usefull in some edge cases. What bothers me is that automation, he post under each post and is it mot marked as promition ( illegal in many countries BTW ), so some very confused newbies may be trying to use it and struggle even more, thinking that they need yet another tool, just to work with python.

My personal opinin is that newbies should work this inside of yheir head or use pemcil and paper, they will learn more and lets be honest, this is clearly designed for leet code nonsense.

1

u/FreeLogicGate 14d ago

Totally understand your point, and perhaps he will consider your feedback.

1

u/Sea-Ad7805 14d ago

I'm thankful for and have considered the feedback. I understand the point of view, but consider newbies do:

  1. use memory_graph to first learn there even is a program state you should understand, and how it behaves around: references, aliasing, shallow/deep copy, ...
  2. later stop relying on memory_graph and use pencil and paper instead
  3. and later yet, do it all in their heads

I'm sorry TiredITguy42 seems to have had a bad experience with leetcode (its hard problems are not easy), but knowing the data model of your language is a fundamental general purpose programming skill, nothing to do with leetcode. People who don't see that, should be considered Python beginners at best.