Skip to main content

Programmer's Editor Vs Normal Editor


“Nine people can’t make a baby in a month.”
—Fred Brooks
Have you ever used Notepad or some other text editor to write code? Then you might already have felt the pain of writing code in them. Although using text editor for coding will make you a better programmer in the long run but it'll cost you productivity.
Programmer's Editors on the other hand are becoming mainstream because of two reasons; the features they provide, and they make code look fu*king awesome, I mean man, who doesn't like those colorful lines(Syntax Highlighting). And there are endless choices with each having some uniqueness in it while providing general features of programmer's editor which sadly makes it harder to select one.
Problem with normal editor:
  • No clear identification of various components of code.
  • You have to write(or type) long sequences of code again and again.
  • Code's alignment becomes head ache of programmer(more time is wasted in aligning code then actually writing it).
  • Dull look, trust me this makes coding look boring.
  • Because it doesn't provide in house features(compiling, running, inbuilt console), extra time is wasted on jumping between different programs.
  • They are not made for coding.
Programmer's editor to help:
Syntax Highlighting:
Syntax highlighting as name itself says highlights the syntax. It colorizes the code(look at featured image of this blog post). It colors different elements of code with different colors for example current color scheme(rule for highlighting system) of any X editor might paint function name with red color, class names with blue and string with purple while leaving variables black. This makes its easy to identify parts of code(even if you name your classes and functions poorly, ‘class igh{...}’ Or ‘function animal(arg1,arg2){...}’, which doesn't give clear hint of their usage, I would have fired you for this).
Code Completion:
Code Completion is code suggesting feature. When you are typing code, it(if it finds something relevant) will give code suggestion and then all you have to do is tap Enter or Space and voila! Code is written for you automatically. As an example, in java to print a message we have to type System.out.println(arglist...) and then pass message to be printed as argument. Imagine typing whole thing(18 characters!) again and again and in different sections of code, it would be a huge waste of time and,“Long sentences or statements posses a high risk of typos”. Hence, Code Completion comes into handy in this kind of situations.
Code Snippets:
After writing code for more than 6 years, I can assure you that Some boilerplate code tends to repeat several times. For every function and class same code has to be wrote again and again. Code snippets consist of templates of such boilerplate code. And even some IDE's auto suggest to insert code through snippet. For example Getters and Setters in Java.
Themes and Misc. Features:
Aha! Let's make editor look awesome. Themes are actually different color schemes that give that aesthetic look to the editor. There are a lot of them and you can choose the one which soothes your eyes. However, some editors do not allow you to add additional themes so support for Themes vary from editor to editor. Other than them some editors provide inbuilt console to carryout tasks such as compiling, running and testing the code and facility to extend features through plugins. Availability of these features also vary from editor to editor.
Pros of using programmer's editor:
  • First and foremost it saves time.
  • You don't have to use multiple programs, it's all inbuilt.
  • Awesome look and feel.
  • Anti-Distraction mode.
  • Advanced ‘Find & Replace’ with regular expression(string matching patterns).
Cons of using programmer's editor:
  • Consume larger memory than normal editor.
  • Makes you too dependent on external help.
  • Sometimes when editor crashes it might fu*k your whole code up and then you might have to write it all over again(always take backup of your code).
I think most productive way of using a programmer's editor is when there's a deadline hanging like a sword over your neck in that case, do whatever the hell you can do to get the work done. Let me put that in this way, When speed is requirement use it but for normal small programs(usually experimentation and practice) use normal editor because those big IT companies they ask you to write code on Whiteboards, which doesn't provides all thus funky features of programmer's editor(it doesn't even provide text editor's features). What? unh-unh I am not going to list some awesome Programmer's Editors here. Why? 'cause every other blog based on programming has already done that(I'm lazy programmer). Google “Programmer editor for {your OS}” and choose whatever editor you like. That's all for this. Do comment if you have any questions. Follow, Like and Share(show some love naa ❣). Have a nice time.

Comments

Popular posts from this blog

Kotlin Coroutines : A Comprehensive Introduction

Photo by Fleur Treurniet on Unsplash “Redesigning your application to run multithreaded on a multicore machine is a little like learning to swim by jumping into the deep end.” —Herb Sutter, chair of the ISO C++ standards committee, Microsoft® In this article What are coroutines? Blocking vs. Non-Blocking Kotlin Coroutines Suspending functions CoroutineScope Coroutine builders Coroutine dispatcher Coroutine start Conclusion What are coroutines? Coroutines have been around for quite a time now. They are in-fact one of the ideas which helped develop multitasking operating systems. A coroutine in trivial most is a subroutine or function generalisation which in non-preemptive environment (operating system or OS in short) can voluntarily yield the CPU time so that other such sub-routines can use it for themselves without losing the results of previous computations and then can conti

Programmer? A Computer Programmer?

“Programming is like sex. One mistake and you have to support it for the rest of your life.” —Michael Sinz Well, to start with, “A programmer is someone who writes computer code, which tells computer what to do? and how to do it?” . Computing machines are dumb, trust me they are. They have enormous processing power but they don’t have hardware to direct this power to any productive use. And thats exactly where programmer kicks in. Programmers however are not the wizard depicted in the movies. They are humans like me and you. Its just that they think much more rationally than average human does. Types of programmers: The System Programmers: First of all a great tribute to these guys. They are the one who deal with software at the lowest level. They have veteran low level languages (languages which closely resemble with the hardware) —Assembly Language, Machine language in their arsenal. A typical system programmer works closely with hardware engineers bec

Kotlin : An introduction

Photo by wu yi “A language that doesn't affect the way you think about programming is not worth knowing.” ―Alan J. Perlis World was nice and there was only assembly(“real programmers code in assembly”) but then one day out of blue he (hey! don't look at me like that I too don't know his name) came and said let there be compilers and interpreters(line by line) that will translate languages easy to read(uh! nah not really) and write into assembly to make programming fun again and that gave birth to an era of exotic new programming languages called procedural programming languages. Procedural programming languages were doing fine but after some time lot's of programmer started loosing their objects because of stateless functions which globally caused chaos. Seeing all this made him angry. So he said, “Procedural languages, I command you to treat everything as an ‘Object’ which will have it's own properties(attributes) and behavior(methods)”. They respond