Be careful with PyCharm. It is very good when you are working with projects that involve lots of files. If you thought VS Code is too complex then PyCharm will be worse.
If you are starting out, I recommend WingIDE. It has all the features you will need when starting out, while also remaining simple to use and doesn't get in your face too much. I use this when testing things out in python, and then switch to VS Code as it starts to build into a project with multiple files
> Unfortunately there's no dark UI.
There is one. Maybe not in the trial (though I doubt it). The one I like is called Monokai. https://wingware.com/images/doc/en/intro/monokai.png
> WingIDE is missing many features like database support, live templates and many small cool things that PyCharm has, like the ability to test regex on the fly.
I don't use those things, but I know it definitely supports Django, web2py, Flask, and Plone
I suggest reading through the list of how tos: https://wingware.com/doc/howtos
Nobody likes a new UI if they haven't used it. I used PyCharm for a year on my open source project. Even after a year I didn't like it.
> Sure, it only takes 100mb in ram, while PyCharm takes 500-700mb, but I have plenty of ram and honestly don't care about that.
I care about that because it's a sign of bloat. The search is slower. The refactoring is slower. If it was just 700 MB, but faster, they I'd agree. My question is what do I get for that?
I use AWS, so I just rdp in. Additionally, for some of the more exotic multiprocessing stuff, wingIDE can connect to multiple machines. See https://wingware.com/doc/debug/remote-debugging
Honestly, the most used IDE among physicists is probably something like vim, because physicists in general can't code. Real programmers use emacs :-P ... nah, just kidding.
As someone who does code a lot, I don't think it's all that useful to take IDE recommendations from other people too seriously. Try out the free versions of a bunch of different ones and see which you like. IDE preference is a very personal thing, and each person will value different attributes. What I would recommend is making sure your IDE offers code completion and debugger integration and that they work well for you, because those are two of the key features that separate IDEs from glorified text editors.
My IDE of choice is Wing, although you need to get the pro version to get the debugger integration. If you can afford the cost I think it's worth it, but if you're on a tight budget, probably not.
You should definitely check out the Jupyter (formerly IPython) notebook, even though I wouldn't quite call it an IDE, because it's well suited to the kind of coding you're likely to do in physics. Scientific coding involves a lot more "one-time-use" code - that is, you write a code snippet and run it immediately just to calculate something once or twice, rather than writing a script or program that you're going to be running over and over again - and the notebook workflow is optimized for that. "Proper" IDEs like Wing, PyCharm, Spyder, etc. are more targeted at the kind of development where you write a program that you're not going to be running until later, probably in a separate environment.
Ah okay I see the problem, you're best bet is to get an editor. Since you're new with python I suggest downloading this - https://wingware.com/downloads/wing-101
You can open the file, enter the values you want into that list and then click the green 'play' button at the top, the output should appear in the 'Python shell' down the bottom.
Then to get each section of code, triple click on the output for each line and make sure it gets highlighted, then you can copy and paste into your svg editor.
Thanks Anddam. Sorry for lack of info! I hope to redeem myself and to pass on info for future novice linux users that use Crostini and want to use python. The fonts sizes are perfect, no low density nonsense. Just click on the wing ide icon you are all set.
Download Wing Personal: Ubuntu/Debian Package 64-bit at https://wingware.com/downloads/wing-personal/7.1.3.0/binaries&os=linux64
copy the .deb file to your inux drive and double click to install. If you just want python you are done. If you want pygame or turtle see below: pygame:
open penguin terminal and: sudo apt-get install python3-pygame turtle:
back to terminal and: sudo apt install python3-tk
wing ide open wing ide and import pygame or turtle
I hope this helps someone - Cheers, HD
i installed python3-tk/import turtle - everything came right up. I am using wing ide right out of the box - crostini + wing ide works
I don't all of them, so my opinions are quite short ranged.
These days I just use Jupyter Notebook (plus extensions) from a server, Google Colab works as well, anyone with a Google account can simply use it. Any PC should be able to handle these.
I used Wing IDE on my old laptop from 2009: https://wingware.com/downloads/wing-personal It allows some customization too.
PyCharm is the most demanding of what I tried but also has more features.
never heard of it, found the official site, pricing seems a bit bad to me.
The pro version costs money, the personal version missing features compared to pro, so far so good.
Looking at list of features:
https://wingware.com/wingide/features/personal
Things that are not included that seem odd to me since other free IDEs do have them, and some are just arbitrary:
If you plan to use scientific Python libraries like numpy, scipy, etc, then there is nothing wrong with using Anaconda. I personally used IDLE when I was learning Python. Today I would probably start with ipython + IDLE. I really like having a good debugger, so I use Wingware's IDE. They have a community edition: https://wingware.com/
A lot of people like VS Code and PyCharm though.
If you haven't found a good editor yet, try Wing!
You don't need the paid version. :)
If by "tips" you mean pitfalls, maybe the following experiences may be of value:
1/ try to be careful about python2 versus python3 It's easy to look up a definition on the net, or to install with pip or pip3, but better do check that you don't expect version 2.7-code to work well with higher versions. It may work. But not well.
2/ acceptance. Python can be used for object oriented programming, for functional programming, or for writing code that looks more like C, Basic, javascript, or some other popular language. If you aren't into, for instance, functional programming, you'll every now and then bump into python scripts that are quite hard to understand. Just leave them...
3/ but prioritize list-comprehensions! They may be overlooked in some tutorials, and may look outlandish to the unaccustomed eye, but they are rather important to understand, if you read scripts written by experienced python coders.
These are the three most ...ehem... painful experiences I've made. ;)
Then it's only practicing and even more practicing that helps. But python is a very friendly language to study. It's a bliss to write code interactively.
$ python3
3.4.3 (default, Nov 17 2016, 01:08:31) [GCC 4.8.4] Python Type "help", "copyright", "credits" or "license" for more information.
help()
Is the section about Forward X11
in this:
https://wingware.com/doc/proj/remote-hosts
describing a way to run your ide on the remote machine?
I have often used emacs over a forwarded X connection.
I use Wing IDE, and i love it, I bought the Personal edition of it.
I also tried Sublime Text, its a great general editor, includes other languages if you choose to expand.
Well, best IDE I've found for Python is Wingware IDE, but it's not free. Though they do give it away to open source projects.
That said, am with everyone else on Vim bandwagon. I switched some years ago and never looked back. I don't even use any sort of auto-complete. Snippets and few other plugins, and am good to go.
Copying my comment from above >It could then be counter argued that if you are creating something using those tools and then expect to make a profit off of said thing then you owe the original developer a portion. Granting a license to use those tools for personal or free use is one thing. Trying to make a business using someone elses tools has always been another beast altogether.
>Look at IDE's for example. WingIDE is a popular Python development environment. If you intend to use the software to in a commercial environment the license costs you 2.5x what the exact same piece of software costs for a non commercial license. Everyone get's their cut when profits are involved.
It could then be counter argued that if you are creating something using those tools and then expect to make a profit off of said thing then you owe the original developer a portion. Granting a license to use those tools for personal or free use is one thing. Trying to make a business using someone elses tools has always been another beast altogether.
Look at IDE's for example. WingIDE is a popular Python development environment. If you intend to use the software to in a commercial environment the license costs you 2.5x what the exact same piece of software costs for a non commercial license. Everyone get's their cut when profits are involved.
If you have no experience whatsoever in programming, start with python until you get the gist of programming. It's very simple syntax, you can get a free IDE here, and it's a well known language so online support is only a search away. It'll help you get that "systematic thought process" habitually formed into your brain, which is what is necessary for programming.
Once you are thinking sequentially, and can envision the flow of a program in your head, move on to C++. That is what bitcoin was originally written in.
Also, don't hold yourself to one language. They all have different strengths, and there is no single right answer that can solve every problem. A good programmer can hop into any language, get acquainted, and get to work; bad programmers, or inexperienced programmers, are the ones telling you to study [a single language] because they were able to find a job doing it and haven't needed anything else, so they disregard all other languages.
Also, you'll find what you want to specialize in once things have "clicked" for you, and you have been working a while. It's like the age old question "What do you want to be when you grow up", don't stress it or try too hard on a single language, pay more attention to what's going on behind the scenes of your code, and you will be as versatile as Java ;) [without the ball and chain of course...cuz youre human....not code]
I started out learning how to program a few years ago and I started with WingIDE, it gave me a huge boost to learning with its syntax highlighting and other crazy tools. Check it out, it's got a little console right in the bottom of the screen where you can use your program and edit at the same time.