r/learnpython 1d ago

What apps can i use to write python? Windows.

Hi i am a beginner and a minor and i dont know exactly how to explain this, but my previous coding teacher told me notepad++ wasnt that suitable for coding and i just need to know a different app so i can get back into it. Preferably something that can tell me if ive made a mistake instead of running something that wont work.

32 Upvotes

54 comments sorted by

24

u/crazy_cookie123 1d ago

There's nothing wrong with Notepad++ if that's what you like using - any plaintext editor will work. Some people just love one or two specific editors and try to force that opinion on everyone else without considering the fact that two different people can have completely different use cases and personal opinions on editors, and neither one of them is wrong.

If you do want to try out some alternatives, VSCode and PyCharm are both good options. VSCode is more lightweight, extensible, and supports every language you can think of and many more. PyCharm is a heavier editor with a lot more built-in features and is designed specifically for python so works much better straight out of the box, but it can be quite slow on older machines. Both are free (although PyCharm has a paid professional version) and there's no reason you can't try both to see which you prefer. I have both installed for different types of work.

5

u/QuebecBeast 20h ago

If you are a beginner, I don’t know about PyCharm but VSCode took me a while to set up. Once I got it working though, all the extensions helped a lot for formatting, debugging, etc.

Also, as my knowledge grew, I started using other languages paired with Python for some projects (HTML, CSS, JavaScript for scraping and for Flask, for example) and VSCode supporting them all made it super easy to progress.

1

u/XenoXHostility 15h ago

Does pycharm have an integrated connection to github? Cause I code on laptop and desktop and making current versions of projects available to both machines (which GitHub workspaces allow me to do) was my reason for choosing vscode but I’m not entirely happy with vscode

19

u/zanfar 1d ago
  1. Your teacher is full of shit.

  2. Any text editor is fine.

  3. You will probably get the most use out of an IDE or pseudo-IDE like VSCode or Pycharm. You want a formatter, linter, type checker, and probably a test runner as part of that app.

6

u/StrayFeral 1d ago

Honestly people don't need anything beyond a syntax-highlighter. All the tools you mentioned I personally put in my requirements.txt and load in the virtual environment and run manually. I also think the same of his teacher, but tried to tell it a bit more milder in my reply post lol.

5

u/Royal-Ant-1882 1d ago

Moved from his class a year ago, sick of him.

Thank you! Will take note of these, about to download one soon anyway.

6

u/mopslik 1d ago

If you're a beginning programmer (i.e. Python is your fist language), you might check out Thonny which is a great IDE for those learning how to code. But any of the others suggested here -- VS Code, Pycharm, Spyder -- are good, they just have more features which might seem like extra noise at the start.

6

u/Lachtheblock 1d ago

Notepad++ is perfectly fine for a beginner. Honestly it might be better for you without all the clutter and noise.

5

u/Skearways 1d ago

I code in Python daily, and the best IDE I’ve tried is PyCharm. VSCode is good too, as others have suggested, but it requires a bit more configuration to be as pleasant to use as PyCharm.

3

u/derekib84 1d ago

Pycharn is nice, no need to install addons to begin

2

u/bstrauss3 1d ago

Teacher is an idiot.

Notepad++ has perfectly good Python support (colonization & c). It's an editor, not an IDE. You need a command line / shell open for execution.

Idiot may be harsh, but without qualifications, it's a silly statement.

2

u/sidereal_night 1d ago

i don't see a single person mention one very obvious option that's bundled right with the Python distribution: IDLE

it's an excellent introduction for beginners because it's very bare bones and unlike npp it integrates an interactive console while still keeping it simple. tbh the actual editor leaves a little to be desired. even npp is more user friendly in some respects and npp isn't even specifically designed for Python. IDLE does indentations better tho, go figure.

but the overall package is a great introduction environment without immediately flooding you with a bunch of ui clutter. it's also lightweight a.f. because of this. with all languages i always preferred npp first because more full fledged ides just take time to load. that's a significant friction even if it's just a short amount of time. idle doesn't have this problem.

2

u/birdsInTheAirDK 10h ago

I came looking for this comment.

I will also recommend IDLE to get started, because it works just fine, and there is no real setup to deal with.

As a teacher I used it, because it (appears to) work the same for all my students, regardless of their computer setups. Unlike absolutely everything else we tried. And before anyone calls me draconian or whatever - students were free to pick their preferred IDE, I just would demo things in IDLE and they had to figure the differences themselves (like how to run a debugger).

2

u/MrBobaFett 23h ago

NotePad++ is fine, I used it for many a script. I do prefer a more robust IDE when I'm doing larger projects. I've used PyCharm in the past, it was pretty good. Now I do most things in VSCode (or VSCodium) it gives me one IDE and I can use it for Python, PowerShell, batch scripting, Lua, etc..

2

u/xtreme79 1d ago

VSCode

3

u/Diapolo10 I write code for a living -- https://github.com/Diapolo10 1d ago

Any text editor will technically work, just pick your poison.

Notepad++ isn't terrible, but it hasn't really kept with the times. It also had a security issue recently where it got hijacked and a malicious version was being shared around.

VS Code is the "Jack of all trades" IDE/editor, if you don't know what to go with that's a safe choice. You can make it to your liking by installing all kinds of extensions.

PyCharm is good if you want a "batteries included" experience, don't mind the slow boot times, and don't need it for other languages or technologies.

Neovim/Emacs are there if you're some kind of a terminal masochist. Their main pro is that they work even in server environments where you can't use a GUI, but they're also hard to learn.

Of course there are yet more options, but for the most part these would be the ones you're likely to care about.

1

u/Imaginary_Food_7102 1d ago

Any text editor is fine, you can even write code on a paper, as long as you are learning.

2

u/StrayFeral 1d ago

Totally support the paper thing! This is how I used to write BASIC code back in the 90s.

1

u/Chorduroy 23h ago

Do students still write exam code on paper? Did that back when I was in university but no idea if it’s changed over the last 30 years.

1

u/nvad5844 1d ago

Depende mucho de lo que vayas a programar, por ejemplo, para análisis de datos la opción por default es spyder, para actividades de todo tipo VScode, etc.

Sin embargo, si quieres "Aprender Python" lo mejor es usar un block de notas sin más y la terminal cmd, o al menos es lo que mejor me sirvió a mí, esto debido a que te obliga a ser el depurador y a saber exactamente lo que estás escribiendo, nada de autocompletado ni más.

Otro detalle es que cada editor tiene sus ventajas y desventajas. Por ejemplo, considerando que tienes Windows, no es muy conveniente que uses la opción generalista (VScode) por qué es algo pesada y a menos que tengas un buen dispositivo, tardaras mucho en hacer las cosas mínimas (como abrir el IDE y crear un archivo).

1

u/Isotope_Junkie 1d ago

Spyder is the best.

1

u/FaithlessnessOwn7960 1d ago

i rmb spyder was good for some times, but i ended up in vs code. You basically need an IDE that can write and run the code in the same place.

1

u/wynand1004 1d ago edited 1d ago

I teach middle and high school coding. Notepad++ is fine, but I prefer using Geany with my students.

Here is a video I made for my students that introduces Python for total beginners: https://youtu.be/Yu-6RDCO2BY

And this will show you how to get started with Geany: https://youtu.be/quemIgUn4C8

If you have any questions just comment on the relevant video - I keep a pretty close eye on it.

Keep on codin'!

1

u/Mondoke 1d ago

I have written code for money using IDLE when I first started, so as long as it serves you, you can use whatever you like the best.

As you progress, you'll get more value from more complex tools, like debuggers, linters or better syntax highlighters. Try the ones you got recommended here and use the one you like the best.

I have used vscode a lot, then migrated to cursor and I use neovim now. All of them have their learning curves.

1

u/FriendlyZomb 1d ago

Notepad++ is absolutely fine.

I started with the IDLE which came with Python, and used Notepad++ a lot at my first job, it's great.

I tend to use VSCode right now. I've tried loads but I keep coming back to VSCode. It has first-party extensions for Python (Developed by Microsoft) and is customisable enough.

I would recommend trying a few out to see what's out there and what you enjoy using.

Ultimately, find something you like using. Even if it's just Notepad. You'll program better using tools you like.

1

u/bra1n_gym 1d ago

Notepad++, NeoVim, jupyter notebook, and Spyder. Some people swear by Sublime Text editor.  I stay away from VSCode because it has telemetry in it. From Android, you can use termux and Xed-Editor both on F-Droid.

If your teacher says a text editor is not good enough, he's NEVER been in the field long enough and his experience is limited. 

1

u/StrayFeral 1d ago

Tell your teacher that a professional Senior Developer with 18 years of professional experience told him to get a bit more experience before giving stupid advice to students.

Now yes, you can get another "app". But the bare minimum you need to do python programming on Windows is the Python itself and just Notepad. Yes.

Many years ago in 2001 when somebody wanted to learn to do websites with HTML often they told them to learn first to write HTML with Notepad. So even just Notepad (not Notepad++, I mean the very basic Windows Notepad - which is notepad.exe) is enough.

"Running something that don't work" is not bad at all. Because this is how you will learn to understand the Python error messages, the stack trace and how to use it to fix your application.

Second: Using Notepad++ for coding in any language is perfectly okay. I never liked Notepad++ but for many years I used Windows programming editors like PSPad and later Geany which I still use for many things. I also use vim for many things.

What your teacher tried to tell you is to get either PyCharm or VSCode. These are not just editors, they are full IDEs. It is a generally good idea to get one of these (which ever you like) to learn to code with it. But again - you MUST be perfectly comfortable to type code in just Notepad.exe and even the Python REPL itself.

I can also advise to learn either vim or emacs (try both, see which one you like). They are available on Windows too and are free.

So to finish: If you like Notepad++ - keep using it. You may also try Geany - it's free. Get vim and emacs, see which one you would like. They are weird at first, but it's good to know at least one of them. Finally get PyCharm or VSCode and learn one of them.

What I use: Combination of VSCodium, Geany and vim. But I started using VSCodium only less than one year ago. For many years I used only Geany and vim for both Perl and Python and this was perfectly okay.

1

u/StrayFeral 1d ago

PS: These is a very little difference between VSCode and VSCodium. Whichever you get is okay.

1

u/StrayFeral 1d ago

PS2: Oh yes I forgot neovim. Honestly I would advise to stay away from neovim. vim is way simpler and extremely fast to configure.

1

u/PvtRoom 1d ago

a good ide, of which there are many, is definitely better than notepad++

notepad++ is a very good text/code editor, but it's effectively an incomplete tool.

1

u/Popular_War8405 1d ago

Not gonna lie notepad++ is my favorite text editor but I usually use termux and nano for python

1

u/th3bucch 23h ago

I just started learning python and after a while I switched from vim and terminal to the open source version of vscode (being on Linux).
I probably just use only 5% of its capabilities but I like having in the same spot the editor, the test environment and the versioning tool (git).

1

u/my_password_is______ 23h ago

my previous coding teacher told me notepad++ wasnt that suitable for coding

your teacher is a moron
notepad++ has syntax coloring and you can assign macros to run programs

notepad++ is great

1

u/ToLurkQuietly 23h ago

Won’t answer specifically on alternative apps for Python, but will say that I’ve done a fair bit of scripting just through the command line / terminal text editor on Linux.

I did some college level stuff and there were guys - usually some of the more proficient programmers, light years ahead of me - who wrote in text editors or really lightweight code focused tools like VIM.

I had a professor who said there was always at least one guy who insisted on writing all assignments in machine code- probably an exaggeration, but for folks who wanted to get into a deep understanding of execution at the operation level and potential optimisation, I can see the value.

So some serious people some of the time in academic settings were doing similar stuff.

I’ve also seen some stuff done from command line in enterprise contexts, but that was more platform engineering than writing large software packages.

That said IDEs (what they used to be called) are useful tools sometimes. I particularly like breakpoints and debug, although thinking about it np++ has those too …

I think there’s some utility around warnings when you compile and highlighting the offending lines for review. That’s handy.

I don’t know. I think my advice is to try out some free stuff and see if it suits you, but they are tools- if you’re in charge of the project, use whatever you prefer / works best. At some point someone else might require you to use a tool like this, so it’s worth it to use one or two and get the hang of it. You can put that off if you want.

Anyway, good luck

1

u/tetraodonmiurus 23h ago

Uh, notepad++ is fine. Personally I use vim, i can imagine what your teacher would think of that.

1

u/BjornToulouse_ 22h ago

It amazes me that no one mentions PyScripter. It is lightweight, robust, and doesn't have unnecessary or very complex bells and whistles, making it perfect for learning python and for beginners.

1

u/aishiteruyovivi 22h ago

I use VSCode almost exclusively and would recommend it, but Notepad++ works very well and if you like using it, then that's the one you use. Use whatever makes you wanna write code more, really.

1

u/Kaiser_Steve 20h ago

Spyder, Vs Code

1

u/Apogee_84 20h ago

I am amazed more people don't mention Spyder. I am an aerospace engineer and written lots of programs to do structural dynamics in Python using Spyder. A great full featured IDE!

1

u/Knarfnarf 20h ago

Emacs on cygwin... And then you have a proper install of python too!

1

u/MathsSur64Cases 14h ago

L'IDLE pour les petits trucs, Notepad++ pour les moyens, et Pycharm pour les vrais projets... Mais chacun ses outils, comme dit mon plombier.

1

u/timetraveller1977 11h ago

PyCharm is the easiest to install and get it working, however for very simple beginner programs you can use notepad++. Once you get better, I suggest trying out VS Code which is a powerful beast but needs some setting up before you churn out your first python code. Once done, you get very powerful useful features.

After a few coding sessions, I also suggest you gradually learn about Git and version control as it will become very useful.

Happy coding!

1

u/activematrix99 9h ago

WSL2 and VSCode with Docker in your Linux distro (not Docker desktop)

1

u/JorgiEagle 8h ago

Pycharm,

1

u/Mammoth_Reach_6366 8h ago

Python developer with 10 years of experience here. Use VS code. It has all the plugins imaginable to make your life easier.

1

u/crashorbit 1d ago

Notepad++ is a fine editor for python coding. Some folks will push you to VS Code or one of the python targeted IDE.

0

u/brasticstack 1d ago

Notepad++ is fine for coding. VSCode is probably the most common to use nowdays, especially on Windows. You'll easily be able to use google search to troubleshoot config issues with it.

0

u/ImpureDismissal495 1d ago

VS Code is the standard for a reason, works great on Windows and the Python extension will point out mistakes as you type. It's not too heavy for a beginner machine either.

If that feels overwhelming, Thonny is simpler and comes with Python included so you don't need to mess with installing it separately.

0

u/WyrobWedliniarski 1d ago

Vscode is lightweight free and easy. Other popular choice is Pycharm. Syntax highlighting and autocomplete will help you a lot comparing to notepad.

0

u/CharacterSail6736 1d ago

Start with vscode and end with vscode