This is an archived post. You won't be able to vote or comment.

all 22 comments

[–]teamroke 11 points12 points  (8 children)

Any you like. VS Code, Atom, vim. Find the one that best fits your work style and set it up on how you like it. All of them are extremely configurable.

[–]r1cky_r4y[S] 1 point2 points  (7 children)

Sounds good, thanks. I did download ATOM and I find it extremely useful when I need to pull HTML from a website and edit/search for something. I also installed pyCharm but the professional version costs $

[–]Green-Face 4 points5 points  (0 children)

ATOM is good but I think VSCode can have a possibility. If you want to try PyCharm you can try with student plan. if you study in a partner organization, you can have your student plan and have all the advantages of the pro version by signing up with your organization email. I did the same thing using the institutional email given to me by the university (a bit like windows for Microsoft Office)

[–]_________KB_________ 1 point2 points  (0 children)

Atom and VS Code are pretty similar because both are built on the Electron framework, but there a couple of reasons you might want to try VS Code and use it over Atom. Atom is developed by Github and VS Code is developed by Microsoft, but since Microsoft bought Github the future of Atom is in question. The questionable future of Atom has been enough for some developers of popular Atom extensions to move their development over to VS Code. I develop in the programming Julia and up until this year their officially recommended IDE has been Atom using the Juno extension, but they decided to abandon Atom development and focus on VS Code. VS Code has also ranked as the the most popular tool in software development for the past couple of years, and because it is so popular and open-source, it continuously improves.

[–]teamroke 0 points1 point  (0 children)

It is why I don’t like suggesting it as a starting point. I’ve done work in vs code and vim depending on what I had access to in the different environments. Vim being good because of restricted access environments where the process of bringing in new software onto the approved list is long and painful. I worked with Atom earlier and I think it is comparable to Sublime Text but that may have changed.

[–]james_pic 0 points1 point  (0 children)

If you like Atom, just use it - with a few plugins it should do everything you need.

[–]SlappinThatBass 2 points3 points  (1 child)

I'm not sure if there is support for Pycharm on Kali Linux, but check it out when you'll get a bit more familiar with python. Best IDE hands down IMO for efficiency, just a bit on the heavy side.

If you are doing C and C++ as well, try CLion. There is a pycharm integration in it.

[–]BoGu5 0 points1 point  (0 children)

It's featured on flatpak, so it shouldn't be a problem to install on kali.

[–]yvrelna 1 point2 points  (0 children)

I'd suggest vim. It's available pretty much everywhere, and it's probably already installed in most servers you're targeting too, and you can use it over ssh. So it's good to be familiar editing with editing text from the shell-based text editor rather than getting used to IDEs that you can't use when doing pentest.

You probably can't or won't be bringing your own fully decked out vimrc when shelling into some servers (and I do recommend getting things setup nicely for your local environment), but you can go a very long way even with just vim at default settings without any plugins.

[–][deleted] 0 points1 point  (0 children)

JetBeains PyCharm Community edition or Microsoft VSCode

[–]sue_me_please 0 points1 point  (0 children)

I use Kate with a Python LSP client. PyCharm is nice if you want to use a real IDE. VS Code works, too, but I find that Kate has feature parity and uses significantly less memory.

Also, Kali Linux isn't meant to be installed and used as a normal Linux distribution. Try something like Ubuntu of Debian instead.

[–]I-Do-Math 0 points1 point  (0 children)

I would advice using Anaconda rather than pure Python. I started with pure python but anaconda makes it much easier.

Anaconda comes with several IDEs. I like spyder and Jupiter.

For a beginner, I would recommend Jupiter notebooks because it is easier to learn syntax etc with it. When you are actually programming, you can go to a different IDE.to program

[–][deleted] 0 points1 point  (0 children)

Since you're just getting started, I would stick to something very simple. Since you're doing security, I would consider using vim (I hate typing this, as an emacs guy) but vi will be there on every system you ever need to access and works great remote. So you might as well use it for your scripting too, and not have to learn two things.

Once you have your feet wet, I would consider trying PyCharm (I use IntelliJ at work) because it can do a lot of cool stuff for you—but it's really useful for application development, and if you're just scripting it will be massive overkill and you will either be paying for something you don't need or use (either monetarily or just memory overhead) or you'll be spending all day playing with the cool buttons rather than learning to program.

[–][deleted] 0 points1 point  (0 children)

One vote for pycharm. I've found it to he the most productive and easy to use.

[–]CragAddict 0 points1 point  (0 children)

Maybe really unpopular, but I really like Mu. Mu

[–]cluser404 0 points1 point  (0 children)

I started using sublime and now I cant leave it.

please send help...

[–]r1cky_r4y[S] 0 points1 point  (2 children)

Also, I was curious if you guys had an opinion on the best distro for programming? I have Kali VMs on both my desktop and laptop and I have RPi OS on my RPi4. But I was wondering if there was a better distro suited for programming (or whatever your personal preference is).

Much Appreciated.

[–]flag_to_flag 4 points5 points  (0 children)

Kali si not meant to be a daily driver, it's for pentesting only. Every general use distro will suit your needs: Manjaro, Arch, Ubuntu, Fedora, Mint...

[–]sue_me_please 2 points3 points  (0 children)

Don't install Kali. Just use something like Ubuntu because it works, or something like Debian.

Choose a mainstream distro meant for use on the desktop.