Nandakumar Edamana's Personal Website
nandakumar.org

Programming FAQ

This is the Programming section from the FAQ on nandakumar.org
Click here for the other sections.

  1. Which programmig languages do you use?
  2. Which other languages have you tried?
  3. Which programming langauges would you love to learn?
  4. Which GUI widget kits do you use? Which one do you prefer?
  5. Why don't you use Qt?
  6. Which IDEs do you use?
  7. Why do you prefer text editors over IDEs for coding?
  1. Which programmig languages do you use?

    I use C, Bash, JavaScript, Go, PHP, Python, and occasionally, Assembly.

  2. Which other languages have you tried?

    I have spent hours to months in C++, Java, BASIC and Visual Basic. In 2019 or so I spent a few days in Fortran and liked it very much (for what it is). I have tried many other languages, but the time I spent on each of them is negligible.

  3. Which programming langauges would you love to learn?

    Original answer: Lisp and Perl. Update in 2022-04: Rust, Lisp and any decent functional programming language. Not Perl anymore.

  4. Which GUI widget kits do you use? Which one do you prefer?

    I use GTK+, both its C binding and the Python binding (PyGObject). It's not a perfect choice, but it is the best I can find now.

    Update: This may not matter much in future. See my cross-toolkit GUI development solution.

  5. Why don't you use Qt?

    Because it doesn't have a C binding (Qt is C++ and above).

    Update: This may not matter much in future. See my cross-toolkit GUI development solution.

  6. Which IDEs do you use?

    None. I use a text editor to write code and a command-line terminal to compile, run and debug it. Graphical file managers help me organize the files easily.

    Once I used to work with Geany extensively, and although I don't anymore, it is still my first preference when someone asks me to recommend an IDE for them. It is comparatively lightweight, portable, and useful.

  7. Why do you prefer text editors over IDEs for coding?

    Because they are lightweight and efficient. I don't get the idea of people installing a quarter gigabyte Eclipse and waiting minutes for it to load just to run a Hello World Java program.

    Most text editors in GNU/Linux are programmer-friendly. I prefer Gedit and nano, one for graphical console and the other for the text console. Both offer features like syntax colouring and automatic indentation, making them ideal for code editing. Some editors like GNU Emacs go one step further providing compiling, execution and debugging features (in which case they become IDEs).

    Another reason for not using IDEs is their habit of insering code by themselves. I really don't like it.

    However, if you do WYSIWYG GUI programming, you'll be needing GUI designers or IDEs. I do GUI in code, and that's how I can stick to text editors even while developing GUI applications.

    I'm not saying IDEs are a total waste. They are good for beginners and they sometimes make things faster even for experienced programmers. But don't let them make you overlook what's happening behind the scenes, or you'll fail to develop efficient and portable programs.

Last compiled on Sun, 17 Apr 2022 09:22:50 +0530


Copyright © 2017–2022 Nandakumar Edamana. All rights reserved.
Give preference to the copyright notices and licenses given with individual posts (if any). Shots of movies, books or other works owned by others are included for review purpose only.