Skip to main content

Which coding platforms to use as a beginner?

I had tried three: Pycharm, Jupyter Notebook, Visual Studio Code and so far I like Jupyter Notebook the most. 

As part of my course with the BCG RISE programme, we made use of Jupyter notebook for all of our python codes. 
You can get your version here: Project Jupyter | Installing Jupyter
From its website, it is free and it provides a web service for interactive computing across all programming languages. 

What do I like about it? 
It runs on the browser. It is fuss-free. The directory is straightforward to navigate since it is just like windows explorer. You can create folders within the directory page and in your folder, you can upload images or files that you will be using (meaning that all items are in the same folder) so that there is no need to list the full file path in order to use the files. You can easily change the entry to a markdown to write comments or long paragraphs of notes and include images to spice up the notebook.  This makes it very easy to structure and present the work you had done so far. 
I like that I can write a small snippet of code on another cell and only run that portion to test it out instead of running all the codes from head to toe. This definitely help with debugging an error.
You also get to see the output straight away even if you did not print it however if you have more than one item, only the last item will be shown as output so it is still better to print the item to see all the output. 
It read from top to bottom so it is easy to know where you had stopped and anyone can pick up easily from there. 

What do I not like about it?
The files are stored in your local computer unless you choose a cloud-based folder to store your work, you have to make sure you bring the same device around all the time to continue with your work.
The page reads from top to bottom is a plus until you find yourself with a very long page of codes. This happens when we are doing machine learning modelling. We had cleaned up the data, did the exploratory analysis on it and did more modifications to the dataset to be used for our modelling. So every day when we go into the file, we need to run the file again from head to toe before we can continue with any further work. That is the pain... cos some codes runs very long.. but then I wonder if this is a problem that all coders will experience since it is the code and not the platform....

I did my Udemy Course: 100 Days of Code: The Complete Python Pro Bootcamp for 2022 (its new updated name) and at the start, codes were written on and subsequently by Day 15 when you are considered as moving into the intermediate curriculum, instructions were given to install and code on PyCharm.
There is a paid version as well but of course, I only tried the free version which has more than enough features. 

What do I like about it? 
Its features are really handy. It has a smart code editor that automatically colour code your codes as variables or build-in functions. It has auto code completion to help you finish that long variable name for you at a click to reduce error at typing. Another feature is refactoring. My codes are still rather short and simple but I can imagine a whole lot of usage when you decide to change the name of a variable and forget about where you use that same variable in your subsequent codes. This refactor function will solve that, renaming on your behalf with a click of the button.
You can choose a different environment to run your file each time, I read that this is useful so that you donot mess up the codes for other projects unnecessary.

What do I not like about it?
It may be my old laptop that was the problem. I find that whenever I run PyCharm while watching the Udemy videos, the videos hang very often and that created a lot of frustration. I also do not like that every project folder will result in the creation of "venv" folder that seems to contain a lot of things. I wonder if all these copies of programmes are just eating up my precious computer space. Eventually, I uninstalled it cos I cannot deal with the frustration of pausing every few minutes on my Udemy videos.

I researched online and found Visual Studio Code to be a good replacement. 

What do I like about it? 
It has a similar interface to PyCharm in that the codes run as a whole page. You can change the visual to a dark theme to make it easier for your eyes. 
It is lightweight, opening up very fast. 
You can install extensions to make up for the features that you can find on PyCharm such as Python Docstring Generator (which automatically generates docstrings to get your inputs on what the python function you created was for and what are the required inputs), Pylance which provides the colour-coding for the codes, code completion and even report errors as you type. 

What do I not like about it?
You do need to install the additional packages (eg. you donot have pandas) on your laptop since this is not automatic. PyCharm had a package installation module on the platform. Whenever it detects an import of a package that you don't have, PyCharm will prompt you on that. So far I donot have this problem with Jupyter yet since I had been working on packages that I had installed previously, but I will update here if I meet any problems. 

So far, I move through the platforms as I find problems with one. I am liking the lightweight and fuss-free part of Jupyter though I wonder if I need to load all my files on a cloud to work. I am thinking of exploring google colab next. It is another web-based kind of interface that requires very little resources from your local machine. I shall update if I used it enough to give any comments.